mirror of
https://bitbucket.org/Ioncannon/project-meteor-server.git
synced 2025-04-21 20:27:47 +00:00
59 lines
1.8 KiB
Lua
59 lines
1.8 KiB
Lua
![]() |
--[[
|
||
|
|
||
|
Common Retainer Stuff
|
||
|
|
||
|
Retainer Say Codes:
|
||
|
|
||
|
1: Hired
|
||
|
2: When called
|
||
|
3: Error when cannot call retainer
|
||
|
4: Dismissed
|
||
|
5: ??
|
||
|
6: Sold X items report.
|
||
|
7: Nothing got sold.
|
||
|
8: Retainer payed???
|
||
|
9: Retainer dismissed due to not paid.
|
||
|
10: Retainer dismissed by player.
|
||
|
|
||
|
|
||
|
--]]
|
||
|
|
||
|
function doItemTrade(player, retainer)
|
||
|
callClientFunction(player, "eventTalkRetainerItemTrade", 1);
|
||
|
|
||
|
while (true) do
|
||
|
resultCode, item, un1, quantity, itemId, quality = callClientFunction(player, "eventTalkRetainerItemTrade", 2);
|
||
|
|
||
|
player:SendMessage(0x20, "", "" .. tostring(resultCode));
|
||
|
player:SendMessage(0x20, "", "" .. tostring(un1));
|
||
|
player:SendMessage(0x20, "", "" .. tostring(quantity));
|
||
|
player:SendMessage(0x20, "", "" .. tostring(itemId));
|
||
|
player:SendMessage(0x20, "", "" .. tostring(quality));
|
||
|
|
||
|
--Retreieve
|
||
|
if (resultCode == 31) then
|
||
|
retainer:GetItemPackage(item.itemPackage):RemoveItemAtSlot(item.slot, quantity);
|
||
|
retainer:GetItemPackage(item.itemPackage):SendUpdatePackets(player, true);
|
||
|
player:GetItemPackage(item.itemPackage):AddItem(itemId, quantity, quality);
|
||
|
--Entrust
|
||
|
elseif (resultCode == 32) then
|
||
|
player:GetItemPackage(item.itemPackage):RemoveItemAtSlot(item.slot, quantity);
|
||
|
retainer:GetItemPackage(item.itemPackage):AddItem(itemId, quantity, quality);
|
||
|
retainer:GetItemPackage(item.itemPackage):SendUpdatePackets(player, true);
|
||
|
end
|
||
|
|
||
|
callClientFunction(player, "eventReturnResult", resultCode, false);
|
||
|
|
||
|
if (resultCode == 100) then
|
||
|
break
|
||
|
end
|
||
|
end
|
||
|
|
||
|
callClientFunction(player, "eventTalkRetainerItemTrade", 3);
|
||
|
end
|
||
|
|
||
|
function doBazaar(player, retainer)
|
||
|
callClientFunction(player, "eventTalkRetainerItemList", 1);
|
||
|
callClientFunction(player, "eventTalkRetainerItemList", 2);
|
||
|
callClientFunction(player, "eventTalkRetainerItemList", 3);
|
||
|
end
|