Advertisement
Guest User

Untitled

a guest
Mar 27th, 2017
40
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.28 KB | None | 0 0
  1. tradeResponse.OnServerEvent:connect(function(player, clientScript, sender, decision)
  2. if checkScript(clientScript) then
  3. if decision and players:FindFirstChild(player.Name) and players:FindFirstChild(sender.Name) then
  4. local swap = true;
  5. local tradeData = tradeDataDictionary:get(sender, player);
  6.  
  7. if tradeData then
  8. local giving = tradeData.Giving;
  9. local receiving = tradeData.Receiving;
  10.  
  11. local senderData = playerDataDictionary:get(sender);
  12. local targetData = playerDataDictionary:get(player);
  13.  
  14. local senderAssets = senderData.Assets;
  15. local targetAssets = targetData.Assets;
  16.  
  17. for index = 1, #giving do
  18. if not checkTrade(senderAssets, giving[index].AssetId) then
  19. swap = false;
  20. break;
  21. end
  22. end
  23.  
  24. for index = 1, #receiving do
  25. if not checkTrade(targetAssets, receiving[index].AssetId) then
  26. swap = false;
  27. break;
  28. end
  29. end
  30.  
  31. if swap then
  32. for index = 1, #giving do
  33. local item = giving[index];
  34. local fakeItem = {}
  35.  
  36. for key, value in next, item do
  37. fakeItem[key] = value;
  38. end
  39.  
  40. fakeItem.Amount = 1;
  41.  
  42. addItem(targetAssets, fakeItem);
  43. removeItem(senderData, item, sender);
  44. end
  45.  
  46. for index = 1, #receiving do
  47. local item = receiving[index];
  48. local fakeItem = {}
  49.  
  50. for key, value in next, item do
  51. fakeItem[key] = value;
  52. end
  53.  
  54. fakeItem.Amount = 1;
  55.  
  56. addItem(senderAssets, fakeItem);
  57. removeItem(targetData, item, player);
  58. end
  59.  
  60. messageClient:FireClient(sender, "Trade successful.");
  61. messageClient:FireClient(player, "Trade successful.");
  62. else
  63. messageClient:FireClient(sender, "Error with trade.");
  64. messageClient:FireClient(player, "Error with trade.");
  65. end
  66. else
  67. messageClient:FireClient(sender, "Trade declined.");
  68. messageClient:FireClient(player, "Declined trade.");
  69. end
  70. end
  71.  
  72. updatePlayer(sender);
  73. updatePlayer(player);
  74.  
  75. updateClient:FireClient(player);
  76. updateClient:FireClient(sender);
  77. tradeDataDictionary:remove(sender);
  78. else
  79. punish(player);
  80. end
  81. end);
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement