Inventory rework done (WIP)
This commit is contained in:
@@ -422,7 +422,7 @@ function wegwerfen() {
|
|||||||
drawToPage();
|
drawToPage();
|
||||||
drawToHandel();
|
drawToHandel();
|
||||||
moveItemsInv();
|
moveItemsInv();
|
||||||
mp.events.callRemote('invThrowItem', playerInventory[currentSelected].itemId);
|
mp.trigger('CEF:invThrowItem', playerInventory[currentSelected].itemId);
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -48,6 +48,10 @@ export default function inventory(globalData: GlobalData): void {
|
|||||||
itemAmountArr = itemAmountArr1;
|
itemAmountArr = itemAmountArr1;
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
mp.events.add("CEF:invThrowItem", (itemId) => {
|
||||||
|
mp.events.callRemote('invThrowItem', itemId);
|
||||||
|
});
|
||||||
|
|
||||||
|
|
||||||
mp.events.add("CEF:BrowserLoaded", () => {
|
mp.events.add("CEF:BrowserLoaded", () => {
|
||||||
invBrowser.execute(`setItems("${JSON.stringify(itemIdArr)}","${JSON.stringify(itemAmountArr)}");`);
|
invBrowser.execute(`setItems("${JSON.stringify(itemIdArr)}","${JSON.stringify(itemAmountArr)}");`);
|
||||||
|
|||||||
@@ -59,17 +59,32 @@ namespace ReallifeGamemode.Server.Managers
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
[RemoteEvent("invThrowItem")]
|
||||||
|
public void ServerEvent_invThrowItem(Client client, int itemId)
|
||||||
|
{
|
||||||
|
User user = client.GetUser();
|
||||||
|
|
||||||
|
using (var context = new DatabaseContext())
|
||||||
|
{
|
||||||
|
UserItem item = context.UserItems.Where(u => u.UserId == user.Id && u.ItemId == itemId).FirstOrDefault();
|
||||||
|
context.UserItems.Remove(item);
|
||||||
|
context.SaveChanges();
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
[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)
|
||||||
{
|
{
|
||||||
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() || target == client)
|
||||||
{
|
{
|
||||||
ChatService.PlayerNotFound(client);
|
ChatService.PlayerNotFound(client);
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
if(client.Position.DistanceTo(target.Position) <= 20)
|
if(client.Position.DistanceTo(target.Position) >= 5)
|
||||||
{
|
{
|
||||||
ChatService.ErrorMessage(client, "Spieler ist zu weit entfernt.");
|
ChatService.ErrorMessage(client, "Spieler ist zu weit entfernt.");
|
||||||
return;
|
return;
|
||||||
@@ -118,7 +133,7 @@ namespace ReallifeGamemode.Server.Managers
|
|||||||
Timer tradeTimer = new Timer(30000);
|
Timer tradeTimer = new Timer(30000);
|
||||||
TradeTimer[user.Id] = tradeTimer;
|
TradeTimer[user.Id] = tradeTimer;
|
||||||
tradeTimer.Start();
|
tradeTimer.Start();
|
||||||
tradeTimer.Elapsed += (s, e) => { SendBackToSender(sender); client.SetData("inTrade", false); };
|
tradeTimer.Elapsed += (s, e) => { SendBackToSender(sender); client.SetData("inTrade", false); sender.SetData("inTrade", false); };
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
@@ -160,6 +175,11 @@ namespace ReallifeGamemode.Server.Managers
|
|||||||
[RemoteEvent("declineTrade")]
|
[RemoteEvent("declineTrade")]
|
||||||
public void ServerEvent_declineTrade(Client client)
|
public void ServerEvent_declineTrade(Client client)
|
||||||
{
|
{
|
||||||
|
if (!client.GetData("inTrade"))
|
||||||
|
{
|
||||||
|
ChatService.ErrorMessage(client, "Das Handelsangebot ist abgelaufen.");
|
||||||
|
return;
|
||||||
|
}
|
||||||
string name = client.GetData("trade");
|
string name = client.GetData("trade");
|
||||||
Client target = ClientService.GetClientByNameOrId(name);
|
Client target = ClientService.GetClientByNameOrId(name);
|
||||||
if (target == null || !target.IsLoggedIn())
|
if (target == null || !target.IsLoggedIn())
|
||||||
@@ -186,6 +206,12 @@ namespace ReallifeGamemode.Server.Managers
|
|||||||
[RemoteEvent("acceptTrade")]
|
[RemoteEvent("acceptTrade")]
|
||||||
public void ServerEvent_AcceptTrade(Client client)
|
public void ServerEvent_AcceptTrade(Client client)
|
||||||
{
|
{
|
||||||
|
if (!client.GetData("inTrade"))
|
||||||
|
{
|
||||||
|
ChatService.ErrorMessage(client, "Das Handelsangebot ist abgelaufen.");
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
client.SetData("inTrade", false);
|
client.SetData("inTrade", false);
|
||||||
|
|
||||||
User user = client.GetUser();
|
User user = client.GetUser();
|
||||||
|
|||||||
Reference in New Issue
Block a user