1
Fork 0
mirror of https://bitbucket.org/Ioncannon/project-meteor-server.git synced 2025-04-25 14:17:46 +00:00

Scripts for retainers. Adds item storage functionality.

This commit is contained in:
Filip Maj 2017-09-09 14:12:38 -04:00
parent 64006d2351
commit 4160622556
3 changed files with 15 additions and 9 deletions

View file

@ -39,9 +39,9 @@ function onEventStarted(player, npc, triggerName)
while (true) do
choice = callClientFunction(player, "eventTalkRetainerMenu", false, true);
if (choice == 1) then
doItemTrade(player, npc);
doItemTrade(player, retainer);
elseif (choice == 2) then
doBazaar(player, npc);
doBazaar(player, retainer);
elseif (choice == 7) then
callClientFunction(player, "eventTalkRetainerMannequin", 0);
elseif (choice == 8) then

View file

@ -24,6 +24,10 @@ function init(npc)
return false, false, 0, 0;
end
function onSpawn(player, npc)
npc:SendFullRetainerInventory(player);
end
function onEventStarted(player, retainer, triggerName)
while (true) do

View file

@ -22,16 +22,18 @@ function doItemTrade(player, retainer)
callClientFunction(player, "eventTalkRetainerItemTrade", 1);
while (true) do
resultCode, type7Param, un1, quantity, itemId, unk2 = callClientFunction(player, "eventTalkRetainerItemTrade", 2);
resultCode, type7Param, un1, quantity, itemId, quality = callClientFunction(player, "eventTalkRetainerItemTrade", 2);
--Retreieve
if (resultCode == 31) then
--UpdatePlayer
--UpdateRetainer
if (resultCode == 31) then
retainer:GetInventory(type7Param.inventoryType):RemoveItemAtSlot(type7Param.slot, quantity);
retainer:GetInventory(type7Param.inventoryType):SendUpdatePackets(player, true);
player:GetInventory(type7Param.inventoryType):AddItem(itemId, quantity, quality);
--Entrust
elseif (resultCode == 32) then
--UpdatePlayer
--UpdateRetainer
elseif (resultCode == 32) then
player:GetInventory(type7Param.inventoryType):RemoveItemAtSlot(type7Param.slot, quantity);
retainer:GetInventory(type7Param.inventoryType):AddItem(itemId, quantity, quality);
retainer:GetInventory(type7Param.inventoryType):SendUpdatePackets(player, true);
end
callClientFunction(player, "eventReturnResult", resultCode, false);