Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- tradeResponse.OnServerEvent:connect(function(player, clientScript, sender, decision)
- if checkScript(clientScript) then
- if decision and players:FindFirstChild(player.Name) and players:FindFirstChild(sender.Name) then
- local swap = true;
- local tradeData = tradeDataDictionary:get(sender, player);
- if tradeData then
- local giving = tradeData.Giving;
- local receiving = tradeData.Receiving;
- local senderData = playerDataDictionary:get(sender);
- local targetData = playerDataDictionary:get(player);
- local senderAssets = senderData.Assets;
- local targetAssets = targetData.Assets;
- for index = 1, #giving do
- if not checkTrade(senderAssets, giving[index].AssetId) then
- swap = false;
- break;
- end
- end
- for index = 1, #receiving do
- if not checkTrade(targetAssets, receiving[index].AssetId) then
- swap = false;
- break;
- end
- end
- if swap then
- for index = 1, #giving do
- local item = giving[index];
- local fakeItem = {}
- for key, value in next, item do
- fakeItem[key] = value;
- end
- fakeItem.Amount = 1;
- addItem(targetAssets, fakeItem);
- removeItem(senderData, item, sender);
- end
- for index = 1, #receiving do
- local item = receiving[index];
- local fakeItem = {}
- for key, value in next, item do
- fakeItem[key] = value;
- end
- fakeItem.Amount = 1;
- addItem(senderAssets, fakeItem);
- removeItem(targetData, item, player);
- end
- messageClient:FireClient(sender, "Trade successful.");
- messageClient:FireClient(player, "Trade successful.");
- else
- messageClient:FireClient(sender, "Error with trade.");
- messageClient:FireClient(player, "Error with trade.");
- end
- else
- messageClient:FireClient(sender, "Trade declined.");
- messageClient:FireClient(player, "Declined trade.");
- end
- end
- updatePlayer(sender);
- updatePlayer(player);
- updateClient:FireClient(player);
- updateClient:FireClient(sender);
- tradeDataDictionary:remove(sender);
- else
- punish(player);
- end
- end);
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement