gatno

Untitled

Nov 8th, 2017
54
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.94 KB | None | 0 0
  1. removeEventHandler("acceptItemTrade", root, getEventHandlers("acceptItemTrade", root)[1])
  2. function InventoryManager:Event_acceptItemTrade(player, target)
  3. if not self:validateTrading(player, target, client) then return end -- Todo: Report possible cheat attempt
  4.  
  5. local item = player.sendRequest.item
  6. local amount = player.sendRequest.amount
  7. local money = player.sendRequest.money
  8. local value = player.sendRequest.itemValue
  9.  
  10. if (player:getPosition() - target:getPosition()).length > 10 then
  11. player:sendError(_("Du bist zuweit von %s entfernt!", player, target.name))
  12. target:sendError(_("Du bist zuweit von %s entfernt!", target, player.name))
  13. return false
  14. end
  15.  
  16. if player:getInventory():getItemAmount(item) >= amount then
  17. if target:getMoney() >= money then
  18. player:sendInfo(_("%s hat den Handel akzeptiert!", player, target:getName()))
  19. target:sendInfo(_("Du hast das Angebot von %s akzeptiert und erhälst %d %s für %d$!", target, player:getName(), amount, item, money))
  20. player:getInventory():removeItem(item, amount, value)
  21. WearableManager:getSingleton():removeWearable( player, item, value )
  22. target:getInventory():giveItem(item, amount, value)
  23. target:takeMoney(money, "Handel")
  24. player:giveMoney(money, "Handel")
  25. StatisticsLogger:getSingleton():itemTradeLogs( player, target, item, money, amount)
  26.  
  27. if item == "Osterei" and money == 0 then
  28. target:giveAchievement(91) -- Verschenke ein Osterei
  29. end
  30. else
  31. player:sendError(_("%s hat nicht ausreichend Geld (%d$)!", player, target:getName(), money))
  32. target:sendError(_("Du hast nicht ausreichend Geld (%d$)!", target, money))
  33. end
  34. else
  35. target:sendError(_("%s hat nicht mehr ausreichend %s!", target, player:getName(), item))
  36. player:sendError(_("Du hast nicht mehr ausreichend %s!", player, item))
  37. end
  38. end
  39.  
  40. addEventHandler("acceptItemTrade", root, bind(InventoryManager:getSingleton().Event_acceptItemTrade, InventoryManager:getSingleton()))
Add Comment
Please, Sign In to add comment