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

View File

@@ -22,25 +22,7 @@
mp.events.add("CEF:atmAction", (site, inputField1, inputField2) => { 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); 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.add("SERVER:WORLD_INTERACTION:ATM_ERROR", (errorId, p2) => { 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); 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")] [RemoteEvent("CLIENT:ATM_MANAGER:ATM_ACTION")]
public void AtmAction(Client client, int site, int inputField1, int inputField2) public void AtmAction(Client client, int site, int inputField1, int inputField2)
{ {
@@ -117,25 +98,49 @@ namespace ReallifeGamemode.Server.Managers
{ {
//GELD EINZAHLEN in1 //GELD EINZAHLEN in1
case 0: case 0:
var checkPlayer = dbContext.Users.FirstOrDefault(u => u.Id == user.Id);
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 updateHandMoneyIn = dbContext.Users.FirstOrDefault(u => u.Id == user.Id);
var updateBankMoneyIn = dbContext.UserBankAccounts.FirstOrDefault(b => b.UserId == user.Id); var updateBankMoneyIn = dbContext.UserBankAccounts.FirstOrDefault(b => b.UserId == user.Id);
var updateATMBalanceIn = dbContext.ATMs.FirstOrDefault(a => a.Id == nearATM); var updateATMBalanceIn = dbContext.ATMs.FirstOrDefault(a => a.Id == nearATM);
updateHandMoneyIn.Handmoney -= inputField1; updateHandMoneyIn.Handmoney -= inputField1;
updateBankMoneyIn.Balance += inputField1; updateBankMoneyIn.Balance += inputField1;
updateATMBalanceIn.Balance += inputField1; updateATMBalanceIn.Balance += inputField1;
client.TriggerEvent("SERVER:WORLD_INTERACTION:UPDATE_HANDMONEY", updateHandMoneyIn.Handmoney); client.TriggerEvent("SERVER:SET_HANDMONEY", updateHandMoneyIn.Handmoney);
}
break; break;
//GELD AUSZAHLEN in1 //GELD AUSZAHLEN in1
case 1: case 1:
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 updateHandMoneyOut = dbContext.Users.FirstOrDefault(u => u.Id == user.Id);
var updateBankMoneyOut = dbContext.UserBankAccounts.FirstOrDefault(b => b.UserId == user.Id); var updateBankMoneyOut = dbContext.UserBankAccounts.FirstOrDefault(b => b.UserId == user.Id);
var updateATMBalanceOut = dbContext.ATMs.FirstOrDefault(a => a.Id == nearATM); var updateATMBalanceOut = dbContext.ATMs.FirstOrDefault(a => a.Id == nearATM);
updateHandMoneyOut.Handmoney += inputField1; updateHandMoneyOut.Handmoney += inputField1;
updateBankMoneyOut.Balance -= inputField1; updateBankMoneyOut.Balance -= inputField1;
updateATMBalanceOut.Balance -= inputField1; updateATMBalanceOut.Balance -= inputField1;
client.TriggerEvent("SERVER:WORLD_INTERACTION:UPDATE_HANDMONEY", updateHandMoneyOut.Handmoney); client.TriggerEvent("SERVER:SET_HANDMONEY", updateHandMoneyOut.Handmoney);
}
break; break;
//GELD ÜBERWEISEN in1 = Kontonr // in2 = Betrag //GELD ÜBERWEISEN in1 = Kontonr // in2 = Betrag