Fix Handmoney | Fix ATM checkin / checkout

This commit is contained in:
VegaZ
2019-05-08 19:33:12 +02:00
parent bbd40c329c
commit 2c63278aa3
3 changed files with 48 additions and 61 deletions

View File

@@ -8,16 +8,16 @@ export default function handMoney() {
mp.events.add("SERVER:SET_HANDMONEY", (amount) => {
difference = currentMoney - amount;
if (difference != 0 && currentMoney != null) {
showMoneyChange = 1000;
showMoneyChange = 600;
}
currentMoney += amount;
currentMoney = amount;
});
mp.events.add("render", () => {
if (currentMoney != null) {
var numberFormat = moneyFormat(currentMoney);
var numberFormat = moneyFormat(Math.abs(currentMoney));
if (currentMoney >= 0) {
mp.game.graphics.drawText("+$" + numberFormat, [0.96, 0.1],
mp.game.graphics.drawText("$" + numberFormat, [0.95, 0.1],
{
font: 7,
color: [115, 186, 131, 255],
@@ -27,7 +27,7 @@ export default function handMoney() {
})
}
else {
mp.game.graphics.drawText("-$" + numberFormat, [0.96, 0.1],
mp.game.graphics.drawText("-$" + numberFormat, [0.95, 0.1],
{
font: 7,
color: [255, 0, 45, 255],
@@ -39,11 +39,12 @@ export default function handMoney() {
if (showMoneyChange > 0) {
showMoneyChange--;
if (difference > 0) {
var alpha = 255;
if (showMoneyChange <= 70) {
alpha = (showMoneyChange * (255 / 70)) | 0;
}
mp.game.graphics.drawText("- $" + moneyFormat(difference), [0.96, 0.145], {
mp.game.graphics.drawText("-$" + moneyFormat(Math.abs(difference)), [0.95, 0.145], {
font: 7,
color: [255, 0, 45, alpha],
scale: [0.65, 0.65],
@@ -51,13 +52,12 @@ export default function handMoney() {
centre: true
})
} else {
var nDef = difference * -1;
} else {
var alpha = 255;
if (showMoneyChange <= 70) {
alpha = (showMoneyChange * (255 / 70)) | 0;
}
mp.game.graphics.drawText("+ $" + moneyFormat(nDef), [0.96, 0.145], {
mp.game.graphics.drawText("+$" + moneyFormat(Math.abs(difference)), [0.95, 0.145], {
font: 7,
color: [115, 186, 131, alpha],
scale: [0.65, 0.65],

View File

@@ -22,25 +22,7 @@
mp.events.add("CEF:atmAction", (site, inputField1, inputField2) => {
switch (site) {
//GELD EINZAHLEN in1
case 0:
mp.events.callRemote("CLIENT:ATM_MANAGER:ATM_ACTION", site, inputField1, inputField2);
break;
//GELD AUSZAHLEN in1
case 1:
mp.events.callRemote("CLIENT:ATM_MAN:CHECK_BALANCE", inputField1);
break;
case 2:
break;
}
});
mp.events.add("SERVER:WORLD_INTERACTION:UPDATE_HANDMONEY", (balance) => {
mp.events.call("SERVER:SET_HANDMONEY", balance); //GEHT NACH HANDMONEY.TS
mp.events.callRemote("CLIENT:ATM_MANAGER:ATM_ACTION", site, inputField1, inputField2);
});
mp.events.add("SERVER:WORLD_INTERACTION:ATM_ERROR", (errorId, p2) => {

View File

@@ -85,26 +85,7 @@ namespace ReallifeGamemode.Server.Managers
{
player.TriggerEvent("SERVER:ShowAtmUi", atmId);
}
[RemoteEvent("CLIENT:ATM_MAN:CHECK_BALANCE")]
public void CheckATMBalance(Client client, int inputField1)
{
var user = client.GetUser();
int nearATM = client.GetData("nearATM");
using (var dbContext = new DatabaseContext())
{
var checkATM = dbContext.ATMs.FirstOrDefault(a => a.Id == nearATM);
if(checkATM.Balance < inputField1)
{
//TODO im CEFBrowser anzeigen client.SendChatMessage("Nicht genügend Geld im Automaten. Maximal Verfügbar: " + checkATM.Balance);
client.TriggerEvent("SERVER:WORLD_INTERACTION:ATM_ERROR", 0, checkATM.Balance);
}
else
{
AtmAction(client, 1, inputField1, 0);
}
}
}
[RemoteEvent("CLIENT:ATM_MANAGER:ATM_ACTION")]
public void AtmAction(Client client, int site, int inputField1, int inputField2)
{
@@ -117,25 +98,49 @@ namespace ReallifeGamemode.Server.Managers
{
//GELD EINZAHLEN in1
case 0:
var checkPlayer = dbContext.Users.FirstOrDefault(u => u.Id == user.Id);
var updateHandMoneyIn = dbContext.Users.FirstOrDefault(u => u.Id == user.Id);
var updateBankMoneyIn = dbContext.UserBankAccounts.FirstOrDefault(b => b.UserId == user.Id);
var updateATMBalanceIn = dbContext.ATMs.FirstOrDefault(a => a.Id == nearATM);
updateHandMoneyIn.Handmoney -= inputField1;
updateBankMoneyIn.Balance += inputField1;
updateATMBalanceIn.Balance += inputField1;
client.TriggerEvent("SERVER:WORLD_INTERACTION:UPDATE_HANDMONEY", updateHandMoneyIn.Handmoney);
if (checkPlayer.Handmoney < inputField1)
{
//TODO im CEFBrowser anzeigen client.SendChatMessage("Nicht genügend Geld im Automaten. Maximal Verfügbar: " + checkATM.Balance);
//client.TriggerEvent("SERVER:WORLD_INTERACTION:ATM_ERROR", 0, checkATM.Balance);
client.SendNotification("~r~Nicht genügend Geld auf der Hand!");
}
else
{
var updateHandMoneyIn = dbContext.Users.FirstOrDefault(u => u.Id == user.Id);
var updateBankMoneyIn = dbContext.UserBankAccounts.FirstOrDefault(b => b.UserId == user.Id);
var updateATMBalanceIn = dbContext.ATMs.FirstOrDefault(a => a.Id == nearATM);
updateHandMoneyIn.Handmoney -= inputField1;
updateBankMoneyIn.Balance += inputField1;
updateATMBalanceIn.Balance += inputField1;
client.TriggerEvent("SERVER:SET_HANDMONEY", updateHandMoneyIn.Handmoney);
}
break;
//GELD AUSZAHLEN in1
case 1:
var updateHandMoneyOut = dbContext.Users.FirstOrDefault(u => u.Id == user.Id);
var updateBankMoneyOut = dbContext.UserBankAccounts.FirstOrDefault(b => b.UserId == user.Id);
var updateATMBalanceOut = dbContext.ATMs.FirstOrDefault(a => a.Id == nearATM);
updateHandMoneyOut.Handmoney += inputField1;
updateBankMoneyOut.Balance -= inputField1;
updateATMBalanceOut.Balance -= inputField1;
client.TriggerEvent("SERVER:WORLD_INTERACTION:UPDATE_HANDMONEY", updateHandMoneyOut.Handmoney);
var checkATM = dbContext.ATMs.FirstOrDefault(a => a.Id == nearATM);
var checkBankAccount = dbContext.UserBankAccounts.FirstOrDefault(b => b.UserId == user.Id);
if (checkBankAccount.Balance < inputField1)
{
client.SendNotification("~r~Nicht genügend Geld auf dem Bankkonto!"); //TODO Im Automaten anzeigen lassen
}
else if (checkATM.Balance < inputField1)
{
client.SendNotification("~r~Nicht genügend Geld im Automaten vorhanden!"); //TODO Im Automaten anzeigen lassen |||| oder OUT OF ORDER anzeigen wenn leer
}
else
{
var updateHandMoneyOut = dbContext.Users.FirstOrDefault(u => u.Id == user.Id);
var updateBankMoneyOut = dbContext.UserBankAccounts.FirstOrDefault(b => b.UserId == user.Id);
var updateATMBalanceOut = dbContext.ATMs.FirstOrDefault(a => a.Id == nearATM);
updateHandMoneyOut.Handmoney += inputField1;
updateBankMoneyOut.Balance -= inputField1;
updateATMBalanceOut.Balance -= inputField1;
client.TriggerEvent("SERVER:SET_HANDMONEY", updateHandMoneyOut.Handmoney);
}
break;
//GELD ÜBERWEISEN in1 = Kontonr // in2 = Betrag