mirror of
https://bitbucket.org/Ioncannon/project-meteor-server.git
synced 2025-04-23 13:17:45 +00:00
57 lines
1.9 KiB
Lua
57 lines
1.9 KiB
Lua
![]() |
--[[
|
||
|
|
||
|
RetainerFurniture Script
|
||
|
|
||
|
Functions:
|
||
|
|
||
|
eventPushStepOpenRetainerMenu() - Opens menu to choose retainer
|
||
|
eventRingBell() - Plays the bell ring animation
|
||
|
eventPushRetainerCallCaution() - Shows warning that a open bazaar will be closed if retainer chosen
|
||
|
eventTalkRetainerMenu(hasPossessions, showDispatchChoice) - Opens retainer menu.
|
||
|
eventTalkRetainerDismissal(hasPossessions) - Show dismiss confirmation.
|
||
|
eventTalkRetainerMannequin(0:Enable/1:Disable) - Shows dialog to enable/disable modeling.
|
||
|
eventTalkRetainerItemTrade(operationCode) - Operate RetainerTradeWidget. Codes: 1 - Open, 2 - Select Mode, 3 - Close.
|
||
|
eventTalkRetainerItemList(operationCode) - Operate Bazaar Widget. Codes: 1 - Open, 2 - Select Mode, 3 - Close.
|
||
|
eventReturnResult(resultCode, ?) - Redraws the RetainerTrade UI.
|
||
|
eventTalkSelectBazaarStreet(limitsWardChoices) - Shows the dialog to send a retainer to a street. Set to 20.
|
||
|
eventTalkFinish() - Finishs the talk with retainer
|
||
|
eventPlayerTurn(rotation) - Turns the player
|
||
|
--]]
|
||
|
|
||
|
require ("global")
|
||
|
require ("retainer")
|
||
|
|
||
|
function init(npc)
|
||
|
return false, false, 0, 0;
|
||
|
end
|
||
|
|
||
|
function onEventStarted(player, npc, triggerName)
|
||
|
retainerNumber = callClientFunction(player, "eventPushStepOpenRetainerMenu");
|
||
|
|
||
|
if (retainerNumber == nil or retainerNumber == 0) then
|
||
|
player:EndEvent();
|
||
|
return;
|
||
|
end
|
||
|
|
||
|
callClientFunction(player, "eventRingBell");
|
||
|
retainer = player:SpawnMyRetainer(npc, retainerNumber);
|
||
|
|
||
|
while (true) do
|
||
|
choice = callClientFunction(player, "eventTalkRetainerMenu", false, true);
|
||
|
if (choice == 1) then
|
||
|
doItemTrade(player, retainer);
|
||
|
elseif (choice == 2) then
|
||
|
doBazaar(player, retainer);
|
||
|
elseif (choice == 7) then
|
||
|
callClientFunction(player, "eventTalkRetainerMannequin", 0);
|
||
|
elseif (choice == 8) then
|
||
|
callClientFunction(player, "eventTalkSelectBazaarStreet", 20);
|
||
|
else
|
||
|
break;
|
||
|
end
|
||
|
end
|
||
|
|
||
|
player:DespawnMyRetainer();
|
||
|
player:EndEvent();
|
||
|
end
|