Add Money Exchange. Fix Handmoney.ts Event param
This commit is contained in:
@@ -279,8 +279,9 @@ export default function playerInteraction(globalData: GlobalData) {
|
||||
} else if (tradeSelectHover === "decline") {
|
||||
tradeSelection = "decline";
|
||||
}
|
||||
mp.events.callRemote('tradeDecision', tradeSelection, JSON.stringify(receivedTradeItems), tradeRequester);
|
||||
mp.events.callRemote('tradeDecision', tradeSelection, JSON.stringify(receivedTradeItems), tradeRequester, receivedTradePrize);
|
||||
tradeRequest = false;
|
||||
receivedTradePrize = null;
|
||||
mp.gui.cursor.show(false, false);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -25,26 +25,22 @@
|
||||
switch (site) {
|
||||
//GELD EINZAHLEN in1
|
||||
case 0:
|
||||
mp.events.call("SERVER:SET_HANDMONEY", inputField1 * -1); //GEHT NACH HANDMONEY.TS
|
||||
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);
|
||||
//mp.events.call("SERVER:SET_HANDMONEY", inputField1); //GEHT NACH HANDMONEY.TS
|
||||
//mp.events.callRemote("CLIENT:ATM_ACTION", site, inputField1, inputField2)
|
||||
break;
|
||||
|
||||
//GELD ÜBERWEISEN in1 = Kontonr // in2 = Betrag
|
||||
case 2:
|
||||
|
||||
break;
|
||||
}
|
||||
|
||||
});
|
||||
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:UPDATE_HANDMONEY", (balance) => {
|
||||
mp.events.call("SERVER:SET_HANDMONEY", balance); //GEHT NACH HANDMONEY.TS
|
||||
});
|
||||
|
||||
mp.events.add("SERVER:WORLD_INTERACTION:ATM_ERROR", (errorId, p2) => {
|
||||
|
||||
@@ -101,7 +101,6 @@ namespace ReallifeGamemode.Server.Managers
|
||||
}
|
||||
else
|
||||
{
|
||||
client.TriggerEvent("SERVER:WORLD_INTERACTION:UPDATE_HANDMONEY", inputField1);
|
||||
AtmAction(client, 1, inputField1, 0);
|
||||
}
|
||||
}
|
||||
@@ -125,6 +124,7 @@ namespace ReallifeGamemode.Server.Managers
|
||||
updateHandMoneyIn.Handmoney -= inputField1;
|
||||
updateBankMoneyIn.Balance += inputField1;
|
||||
updateATMBalanceIn.Balance += inputField1;
|
||||
client.TriggerEvent("SERVER:WORLD_INTERACTION:UPDATE_HANDMONEY", updateHandMoneyIn.Handmoney);
|
||||
break;
|
||||
|
||||
//GELD AUSZAHLEN in1
|
||||
@@ -135,6 +135,7 @@ namespace ReallifeGamemode.Server.Managers
|
||||
updateHandMoneyOut.Handmoney += inputField1;
|
||||
updateBankMoneyOut.Balance -= inputField1;
|
||||
updateATMBalanceOut.Balance -= inputField1;
|
||||
client.TriggerEvent("SERVER:WORLD_INTERACTION:UPDATE_HANDMONEY", updateHandMoneyOut.Handmoney);
|
||||
break;
|
||||
|
||||
//GELD ÜBERWEISEN in1 = Kontonr // in2 = Betrag
|
||||
|
||||
@@ -1,10 +1,12 @@
|
||||
using GTANetworkAPI;
|
||||
using Newtonsoft.Json;
|
||||
using ReallifeGamemode.Server.Extensions;
|
||||
using ReallifeGamemode.Server.Models;
|
||||
using ReallifeGamemode.Server.Services;
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Text;
|
||||
using System.Linq;
|
||||
|
||||
/**
|
||||
* @overview Life of German Reallife - Managers Interaction (InteractionManager.cs)
|
||||
@@ -39,16 +41,40 @@ namespace ReallifeGamemode.Server.Managers
|
||||
}
|
||||
|
||||
[RemoteEvent("tradeDecision")]
|
||||
public void TradeDecision(Client player, string tradeSelection, string tradeItemArray, string tradeRequesterName)
|
||||
public void TradeDecision(Client player, string tradeSelection, string tradeItemArray, string tradeRequesterName, int tradePrize)
|
||||
{
|
||||
var tradeItems = JsonConvert.DeserializeObject<string[][]>(tradeItemArray);
|
||||
Client tradeRequester = ClientService.GetClientByNameOrId(tradeRequesterName);
|
||||
if (tradeSelection == "accept")
|
||||
{
|
||||
InventoryManager.GetUserItems(player);
|
||||
tradeRequester.TriggerEvent("clearTradeItems");
|
||||
player.TriggerEvent("showTradeItems", tradeItemArray);
|
||||
//TODO: Geld abziehen
|
||||
if(player.GetUser().Handmoney < tradePrize)
|
||||
{
|
||||
tradeRequester.TriggerEvent("unlockTradeItems");
|
||||
tradeRequester.SendNotification("~y~" + player.Name + " ~r~hat nicht genügend Bargeld! ~s~Handel abgebrochen.");
|
||||
player.SendNotification("~r~Du hast nicht genügend Bargeld! ~s~Handel abgebrochen.");
|
||||
}
|
||||
else
|
||||
{
|
||||
InventoryManager.GetUserItems(player);
|
||||
tradeRequester.TriggerEvent("clearTradeItems");
|
||||
player.TriggerEvent("showTradeItems", tradeItemArray);
|
||||
|
||||
using (var dbContext = new DatabaseContext())
|
||||
{
|
||||
var playerUserId = player.GetUser().Id;
|
||||
var tradeRUserId = tradeRequester.GetUser().Id;
|
||||
var playerUser = dbContext.Users.FirstOrDefault(u => u.Id == playerUserId);
|
||||
var tradeRequesterUser = dbContext.Users.FirstOrDefault(u => u.Id == tradeRUserId);
|
||||
|
||||
playerUser.Handmoney -= tradePrize;
|
||||
player.TriggerEvent("SERVER:WORLD_INTERACTION:UPDATE_HANDMONEY", tradePrize * -1);
|
||||
|
||||
tradeRequesterUser.Handmoney += tradePrize;
|
||||
tradeRequester.TriggerEvent("SERVER:WORLD_INTERACTION:UPDATE_HANDMONEY", tradePrize);
|
||||
|
||||
dbContext.SaveChanges();
|
||||
}
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
|
||||
Reference in New Issue
Block a user