mirror of
https://bitbucket.org/Ioncannon/project-meteor-server.git
synced 2025-04-21 20:27:47 +00:00
77 lines
No EOL
2.1 KiB
Lua
77 lines
No EOL
2.1 KiB
Lua
--[[
|
|
|
|
PopulaceRetainerManager Script
|
|
|
|
Functions:
|
|
|
|
eventTalkStep1(true) - Intro tutorial if no retainer
|
|
newEventTalkStep1(sayIntro) - Seems to be a post-Tanaka version of the intro????
|
|
eventTalkStep2() - Choose retainer yourself (go to race select) or let npc do it
|
|
eventTaklSelectCutSeane(cutsceneName, actorClassId1, actorClassId2, actorClassId3, actorClassId4, actorClassId5) - Starts the advance cutscene to choose a retainer. 5 retainer actorClassId's are given.
|
|
eventTalkStep4(actorClassId) - Opens up the retainer naming dialog
|
|
eventTalkStepFinalAnswer(actorClassId) - Confirm Dialog
|
|
eventTalkStepError(errorCode) - Error dialog, 1: No Extra Retainers, 2: Server Busy.
|
|
eventTalkStepFinish()
|
|
|
|
--]]
|
|
|
|
require ("global")
|
|
|
|
function init(npc)
|
|
return false, false, 0, 0;
|
|
end
|
|
|
|
function onEventStarted(player, npc, triggerName)
|
|
|
|
introChoice = callClientFunction(player, "newEventTalkStep1", false);
|
|
|
|
if (introChoice == 1) then
|
|
|
|
raceChoice = callClientFunction(player, "eventTalkStep2");
|
|
|
|
while (true) do
|
|
|
|
if (retainerChoice == 0) then
|
|
raceChoice = callClientFunction(player, "eventTalkStep22");
|
|
end
|
|
|
|
if (raceChoice == 0) then
|
|
--Choose random actorId
|
|
elseif (raceChoice > 0) then
|
|
--Choose 5 random but correct actor ids
|
|
retainerChoice = callClientFunction(player, "eventTaklSelectCutSeane", "rtn0g010", 0x2DCB1A, 0x2DCB1A, 0x2DCB1A, 0x2DCB1A, 0x2DCB1A);
|
|
|
|
if (retainerChoice == -1) then
|
|
player:EndEvent();
|
|
return;
|
|
elseif (retainerChoice > 0) then
|
|
--Retainer chosen, choose name
|
|
retainerName = callClientFunction(player, "eventTalkStep4", 0x2DCB1A);
|
|
|
|
if (retainerName ~= "") then
|
|
confirmChoice = callClientFunction(player, "eventTalkStepFinalAnswer", 0x2DCB1A);
|
|
|
|
if (confirmChoice == 1) then
|
|
callClientFunction(player, "eventTalkStepFinish");
|
|
player:EndEvent();
|
|
return;
|
|
elseif (confirmChoice == 3) then
|
|
raceChoice = 0;
|
|
else
|
|
player:EndEvent();
|
|
return;
|
|
end
|
|
|
|
end
|
|
|
|
end
|
|
else
|
|
break;
|
|
end
|
|
|
|
end
|
|
|
|
end
|
|
|
|
player:EndEvent();
|
|
end |