Add check of ATM Balance

This commit is contained in:
VegaZ
2019-04-04 18:37:48 +02:00
parent 03b12aa004
commit be7b96584a
3 changed files with 66 additions and 28 deletions

View File

@@ -26,14 +26,14 @@
//GELD EINZAHLEN in1 //GELD EINZAHLEN in1
case 0: case 0:
mp.events.call("SERVER:SET_HANDMONEY", inputField1 * -1); //GEHT NACH HANDMONEY.TS mp.events.call("SERVER:SET_HANDMONEY", inputField1 * -1); //GEHT NACH HANDMONEY.TS
mp.events.callRemote("CLIENT:ATM_ACTION", site, inputField1, inputField2); mp.events.callRemote("CLIENT:ATM_MANAGER:ATM_ACTION", site, inputField1, inputField2);
break; break;
//GELD AUSZAHLEN in1 //GELD AUSZAHLEN in1
case 1: case 1:
//mp.events.call("CLIENT:CHECK_ATM_BALANCE", inputField1); mp.events.callRemote("CLIENT:ATM_MAN:CHECK_BALANCE", inputField1);
mp.events.call("SERVER:SET_HANDMONEY", inputField1); //GEHT NACH HANDMONEY.TS //mp.events.call("SERVER:SET_HANDMONEY", inputField1); //GEHT NACH HANDMONEY.TS
mp.events.callRemote("CLIENT:ATM_ACTION", site, inputField1, inputField2) //mp.events.callRemote("CLIENT:ATM_ACTION", site, inputField1, inputField2)
break; break;
//GELD ÜBERWEISEN in1 = Kontonr // in2 = Betrag //GELD ÜBERWEISEN in1 = Kontonr // in2 = Betrag
@@ -43,4 +43,17 @@
} }
}); });
mp.events.add("SERVER:WORLD_INTERACTION:UPDATE_HANDMONEY", (inputField1) => {
mp.events.call("SERVER:SET_HANDMONEY", inputField1); //GEHT NACH HANDMONEY.TS
});
mp.events.add("SERVER:WORLD_INTERACTION:ATM_ERROR", (errorId, p2) => {
switch (errorId) {
//Nicht genügend BALANCE im ATM
case 0:
atmBrowser.execute(`noBalance();`);
break;
}
});
} }

View File

@@ -79,32 +79,33 @@
</div> </div>
<div class="site3 hidden"> <div class="site3 hidden">
<div class="header"> <div class="header">
<div class="title">BANKAUTOMAT - SAN ANDREAS</div> <div class="title">BANKAUTOMAT - SAN ANDREAS</div>
<div class="sub-title"> <div class="sub-title">
Geld Auszahlen Geld Auszahlen
</div>
<input class="input" name="auszahlen" type="number" placeholder="Betrag">
</div> </div>
<input class="input" name="auszahlen" type="number" placeholder="Betrag">
</div>
<div class="back2">Zur&uuml;ck</div> <div class="back2">Zur&uuml;ck</div>
<div class="circle"></div> <div class="circle"></div>
<div class="circle2"></div> <div class="circle2"></div>
<div class="helper"> <div class="helper">
<div class="button"> <div class="button">
<div class="b-left"> <div class="b-left">
<div class="b"></div> <div class="b"></div>
<div class="b" onclick="tosite(3)"></div> <div class="b" onclick="tosite(3)"></div>
<div class="b"></div> <div class="b"></div>
<div class="b"></div> <div class="b"></div>
</div> </div>
<div class="b-right"> <div class="b-right">
<div class="b2"></div> <div class="b2"></div>
<div class="b2"></div> <div class="b2"></div>
<div class="b2"></div> <div class="b2"></div>
<div class="b2"></div> <div class="b2"></div>
</div>
</div> </div>
</div> </div>
</div> <div id="auszahlen_error"></div>
</div> </div>
<div class="site4 hidden"> <div class="site4 hidden">
@@ -385,7 +386,9 @@
playClick(); playClick();
mp.trigger("CEF:closeATM"); mp.trigger("CEF:closeATM");
} }
function noBalance() {
document.getElementById("auszahlen_error").textContent = "Fehler";
}
function action(ac) function action(ac)
{ {
mp.trigger("atmAction", ac); mp.trigger("atmAction", ac);

View File

@@ -85,34 +85,56 @@ namespace ReallifeGamemode.Server.Managers
{ {
player.TriggerEvent("SERVER:ShowAtmUi", atmId); player.TriggerEvent("SERVER:ShowAtmUi", atmId);
} }
[RemoteEvent("CLIENT:CHECK_ATM_BALANCE")] [RemoteEvent("CLIENT:ATM_MAN:CHECK_BALANCE")]
public void CheckATMBalance(Client client, int site, int inputField1, int inputField2) 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
{
client.TriggerEvent("SERVER:WORLD_INTERACTION:UPDATE_HANDMONEY", inputField1);
AtmAction(client, 1, inputField1, 0);
}
}
} }
[RemoteEvent("CLIENT: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)
{ {
var user = client.GetUser(); var user = client.GetUser();
using (var dbContext = new DatabaseContext()) using (var dbContext = new DatabaseContext())
{ {
int nearATM = client.GetData("nearATM");
//SITE //0 Geld einzahlen //1 Geld auszahlen //2 Geld überweisen //SITE //0 Geld einzahlen //1 Geld auszahlen //2 Geld überweisen
switch (site) switch (site)
{ {
//GELD EINZAHLEN in1 //GELD EINZAHLEN in1
case 0: case 0:
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);
updateHandMoneyIn.Handmoney -= inputField1; updateHandMoneyIn.Handmoney -= inputField1;
updateBankMoneyIn.Balance += inputField1; updateBankMoneyIn.Balance += inputField1;
updateATMBalanceIn.Balance += inputField1;
break; break;
//GELD AUSZAHLEN in1 //GELD AUSZAHLEN in1
case 1: case 1:
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);
updateHandMoneyOut.Handmoney += inputField1; updateHandMoneyOut.Handmoney += inputField1;
updateBankMoneyOut.Balance -= inputField1; updateBankMoneyOut.Balance -= inputField1;
updateATMBalanceOut.Balance -= inputField1;
break; break;
//GELD ÜBERWEISEN in1 = Kontonr // in2 = Betrag //GELD ÜBERWEISEN in1 = Kontonr // in2 = Betrag