mirror of
https://bitbucket.org/Ioncannon/project-meteor-server.git
synced 2025-04-20 11:47:48 +00:00
59 lines
No EOL
1.8 KiB
Lua
59 lines
No EOL
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 |