improved Inventar System
This commit is contained in:
@@ -379,6 +379,7 @@ namespace ReallifeGamemode.Server.Events
|
|||||||
if (player.HasData("inTrade") && player.GetData("inTrade") == true)
|
if (player.HasData("inTrade") && player.GetData("inTrade") == true)
|
||||||
{
|
{
|
||||||
ManagerOfInventory.OpenTradeAccept(player);
|
ManagerOfInventory.OpenTradeAccept(player);
|
||||||
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (player.IsInVehicle && player.VehicleSeat == -1)
|
if (player.IsInVehicle && player.VehicleSeat == -1)
|
||||||
|
|||||||
@@ -62,8 +62,6 @@ namespace ReallifeGamemode.Server.Managers
|
|||||||
[RemoteEvent("tradeItem")]
|
[RemoteEvent("tradeItem")]
|
||||||
public void ServerEvent_tradeItem(Client client, int value, string nameOrId, string itemIdArrStr, string itemAmountArrStr)
|
public void ServerEvent_tradeItem(Client client, int value, string nameOrId, string itemIdArrStr, string itemAmountArrStr)
|
||||||
{
|
{
|
||||||
int[] itemIdArr = JsonConvert.DeserializeObject<int[]>(itemIdArrStr);
|
|
||||||
int[] itemAmountArr = JsonConvert.DeserializeObject<int[]>(itemAmountArrStr);
|
|
||||||
User user = client.GetUser();
|
User user = client.GetUser();
|
||||||
Client target = ClientService.GetClientByNameOrId(nameOrId);
|
Client target = ClientService.GetClientByNameOrId(nameOrId);
|
||||||
if (target == null || !target.IsLoggedIn())
|
if (target == null || !target.IsLoggedIn())
|
||||||
@@ -71,6 +69,14 @@ namespace ReallifeGamemode.Server.Managers
|
|||||||
ChatService.PlayerNotFound(client);
|
ChatService.PlayerNotFound(client);
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
if(client.Position.DistanceTo(target.Position) <= 20)
|
||||||
|
{
|
||||||
|
ChatService.ErrorMessage(client, "Spieler ist zu weit entfernt.");
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
int[] itemIdArr = JsonConvert.DeserializeObject<int[]>(itemIdArrStr);
|
||||||
|
int[] itemAmountArr = JsonConvert.DeserializeObject<int[]>(itemAmountArrStr);
|
||||||
|
|
||||||
if (target.HasData("inTrade") && target.GetData("inTrade") == true)
|
if (target.HasData("inTrade") && target.GetData("inTrade") == true)
|
||||||
{
|
{
|
||||||
ChatService.SendMessage(client, $"~r~[FEHLER] ~w~{target.Name} befindet sich bereits in einem Handel.");
|
ChatService.SendMessage(client, $"~r~[FEHLER] ~w~{target.Name} befindet sich bereits in einem Handel.");
|
||||||
@@ -94,6 +100,7 @@ namespace ReallifeGamemode.Server.Managers
|
|||||||
context.SaveChanges();
|
context.SaveChanges();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
ChatService.SendMessage(client, $"~b~Du hast eine Handelsanfrage an {target.Name} gesendet.");
|
||||||
TradeItems[user.Id] = (itemIdArr, itemAmountArr);
|
TradeItems[user.Id] = (itemIdArr, itemAmountArr);
|
||||||
TradeValue[user.Id] = value;
|
TradeValue[user.Id] = value;
|
||||||
target.SetData("tradePartner", user.Id);
|
target.SetData("tradePartner", user.Id);
|
||||||
@@ -106,7 +113,7 @@ namespace ReallifeGamemode.Server.Managers
|
|||||||
client.SetData("inTrade", true);
|
client.SetData("inTrade", true);
|
||||||
sender.SetData("inTrade", true);
|
sender.SetData("inTrade", true);
|
||||||
ChatService.SendMessage(client, $"~b~ Du hast eine Handelsanfrage von {sender.Name} bekommen.");
|
ChatService.SendMessage(client, $"~b~ Du hast eine Handelsanfrage von {sender.Name} bekommen.");
|
||||||
ChatService.SendMessage(client, $"~b~ Drücke '~w~N~b~' um die Handelsanfrage zu akzeptieren.");
|
ChatService.SendMessage(client, $"~b~ Drücke '~w~X~b~' um die Handelsanfrage zu akzeptieren.");
|
||||||
User user = sender.GetUser();
|
User user = sender.GetUser();
|
||||||
Timer tradeTimer = new Timer(30000);
|
Timer tradeTimer = new Timer(30000);
|
||||||
TradeTimer[user.Id] = tradeTimer;
|
TradeTimer[user.Id] = tradeTimer;
|
||||||
@@ -118,7 +125,7 @@ namespace ReallifeGamemode.Server.Managers
|
|||||||
public void SendBackToSender(Client client)
|
public void SendBackToSender(Client client)
|
||||||
{
|
{
|
||||||
User user = client.GetUser();
|
User user = client.GetUser();
|
||||||
ChatService.SendMessage(client, "Dein Handelpartner hat die Anfrage nicht angenommen.");
|
ChatService.SendMessage(client, "Dein Handelspartner hat die Anfrage nicht angenommen.");
|
||||||
(int[] itemIdArr, int[] itemAmountArr) = TradeItems[user.Id];
|
(int[] itemIdArr, int[] itemAmountArr) = TradeItems[user.Id];
|
||||||
Timer timer = TradeTimer[user.Id];
|
Timer timer = TradeTimer[user.Id];
|
||||||
timer.Stop();
|
timer.Stop();
|
||||||
|
|||||||
Reference in New Issue
Block a user