@@ -108,6 +109,12 @@
}
}
+ $("#tf_acceptTrade").unbind('click').click(function () {
+ if (anfrageInv.length > 0) {
+ mp.trigger("CEF:acceptTrade");
+ }
+ });
+
$("#tf_submitTrade").unbind('click').click(function () {
if (handelInv.length > 0) {
var handelItemID = [];
@@ -116,7 +123,7 @@
handelItemID.push(handelInv[i].ID);
handelItemAmount.push(handelInv[i].Amount);
}
- mp.trigger("CEF:tradeItem", 0, JSON.stringify(String($('#fname').val())), JSON.stringify(handelItemID), JSON.stringify(handelItemAmount))
+ mp.trigger("CEF:tradeItem", 0, JSON.stringify(String($('#tf_nameorid').val())), JSON.stringify(handelItemID), JSON.stringify(handelItemAmount))
}
});
$("#tf_cancle4").unbind('click').click(function () {
@@ -872,7 +879,6 @@
Litem.setAttribute("name", "List" + item.Category);
Litem.appendChild(document.createTextNode(quantity + "x " + item.Name));
Litem.appendChild(pictureElement);
- Litem.appendChild(blueButton);
list.appendChild(Litem);
}
diff --git a/ReallifeGamemode.Client/inventory/inventory.ts b/ReallifeGamemode.Client/inventory/inventory.ts
index eb36a3e0..eca035f9 100644
--- a/ReallifeGamemode.Client/inventory/inventory.ts
+++ b/ReallifeGamemode.Client/inventory/inventory.ts
@@ -45,16 +45,28 @@ export default function inventory(globalData: GlobalData): void {
invBrowser = mp.browsers.new("package://assets/html/inventory/inventory.html");
}
});
+ var offer = 0;
+
+ var tradeItemID;
+ var tradeItemAmount;
+ var tradeItemName;
+ var tradeItemWeight;
mp.events.addDataHandler("tradeOffer", (entity, value) => {
if (entity.type === "player") {
- let offer = parseInt(value);
- invBrowser.execute(`changeTradeStatus('${JSON.stringify(offer)}')`);
+ offer = parseInt(value);
+ if (invBrowser != null)
+ invBrowser.execute(`changeTradeStatus('${JSON.stringify(offer)}')`);
}
});
mp.events.add("addTradeItems", (itemId, itemAmount, itemName, weight) => {
- invBrowser.execute(`setAnfrage('${JSON.stringify(itemId)}','${JSON.stringify(itemAmount)}','${JSON.stringify(itemName)}','${JSON.stringify(weight)}');`);
+ tradeItemID = JSON.stringify(itemId);
+ tradeItemAmount = JSON.stringify(itemAmount);
+ tradeItemName = JSON.stringify(itemName);
+ tradeItemWeight = JSON.stringify(weight);
+ if (invBrowser != null)
+ invBrowser.execute(`setAnfrage('${tradeItemID}','${tradeItemAmount}','${tradeItemName}','${tradeItemWeight}');`);
});
mp.events.add("CEF:saveVehicleTransfer", (val, jsonOrigin, jsonInvID, jsonInvAmount, jsonVehAmount) => {
@@ -75,6 +87,11 @@ export default function inventory(globalData: GlobalData): void {
});
mp.events.add("CEF:InventoryLoaded", () => {
+ if (offer == 1) {
+ invBrowser.execute(`changeTradeStatus('${JSON.stringify(offer)}')`);
+ invBrowser.execute(`setAnfrage('${tradeItemID}','${tradeItemAmount}','${tradeItemName}','${tradeItemWeight}');`);
+ }
+
invBrowser.execute(`setItems('${JSON.stringify(itemNameArr)}','${JSON.stringify(itemIdArr)}','${JSON.stringify(itemAmountArr)}','${JSON.stringify(Players)}');`);
invBrowser.execute(`setWeight('${JSON.stringify(invWeight)}');`);
});
diff --git a/ReallifeGamemode.Server/Managers/InventoryManager.cs b/ReallifeGamemode.Server/Managers/InventoryManager.cs
index 18064c90..2109077e 100644
--- a/ReallifeGamemode.Server/Managers/InventoryManager.cs
+++ b/ReallifeGamemode.Server/Managers/InventoryManager.cs
@@ -514,7 +514,7 @@ namespace ReallifeGamemode.Server.Managers
User user = client.GetUser();
string nameOrId = JsonConvert.DeserializeObject
(jsonNameOrId);
Client target = ClientService.GetClientByNameOrId(nameOrId);
- if (target == null || !target.IsLoggedIn() || target == client)
+ if (target == null || !target.IsLoggedIn() )
{
ChatService.PlayerNotFound(client);
return;
@@ -586,12 +586,12 @@ namespace ReallifeGamemode.Server.Managers
client.SetData("inTrade", true);
sender.SetData("inTrade", true);
ChatService.SendMessage(client, $"~b~ Du hast eine Handelsanfrage von {sender.Name} bekommen.");
- client.SetSharedData("tradeOffer", 1);
+ client.SetSharedData("tradeOffer", JsonConvert.SerializeObject(1));
User user = sender.GetUser();
Timer tradeTimer = new Timer(30000);
TradeTimer[user.Id] = tradeTimer;
tradeTimer.Start();
- tradeTimer.Elapsed += (s, e) => { SendBackToSender(sender); client.SetData("inTrade", false); sender.SetData("inTrade", false); client.SetSharedData("tradeOffer", 0); };
+ tradeTimer.Elapsed += (s, e) => { SendBackToSender(sender); client.SetData("inTrade", false); sender.SetData("inTrade", false); client.SetSharedData("tradeOffer", JsonConvert.SerializeObject(0)); };
}
public void SendBackToSender(Client client)
@@ -632,7 +632,7 @@ namespace ReallifeGamemode.Server.Managers
[RemoteEvent("declineTrade")]
public void ServerEvent_declineTrade(Client client)
{
- client.SetSharedData("tradeOffer", 0);
+ client.SetSharedData("tradeOffer", JsonConvert.SerializeObject(0));
if (!client.GetData("inTrade"))
{
ChatService.ErrorMessage(client, "Das Handelsangebot ist abgelaufen.");
@@ -670,7 +670,7 @@ namespace ReallifeGamemode.Server.Managers
ChatService.ErrorMessage(client, "Das Handelsangebot ist abgelaufen.");
return;
}
- client.SetSharedData("tradeOffer", 0);
+ client.SetSharedData("tradeOffer", JsonConvert.SerializeObject(0));
client.SetData("inTrade", false);
User user = client.GetUser();