mirror of
https://bitbucket.org/Ioncannon/project-meteor-server.git
synced 2025-06-09 22:14:39 +02:00
Updated Map Server namespace. Moved all other data folders (www and sql) to data folder. Renamed boot name to Project Meteor.
This commit is contained in:
parent
18ef69f3d1
commit
91549bff7a
1823 changed files with 102704 additions and 901 deletions
54
Data/scripts/directors/Guildleve/GuildleveCommon.lua
Normal file
54
Data/scripts/directors/Guildleve/GuildleveCommon.lua
Normal file
|
@ -0,0 +1,54 @@
|
|||
require ("global")
|
||||
require ("guildleve")
|
||||
|
||||
--DirectorId, GuildleveId, Aetheryte Location (6 or ~6), exMarkerX, exMarkerY, exMarkerZ
|
||||
|
||||
--22: Limsa Battle Leve
|
||||
--14: Gridania Battle Leve
|
||||
--26: Uldah Battle Leve
|
||||
--16: Coerthas Faction Leve
|
||||
--72: Harvest Leve
|
||||
|
||||
function init(thisDirector)
|
||||
return "/Director/Guildleve/PrivateGLBattleSweepNormal", 0x4e25, thisDirector.guildleveId, 6, 0, 0, 0;
|
||||
end
|
||||
|
||||
function main(thisDirector)
|
||||
|
||||
guildleveData = GetGuildleveGamedata(thisDirector.guildleveId);
|
||||
members = thisDirector:GetPlayerMembers();
|
||||
|
||||
if (members ~= nil and #members ~= 0) then
|
||||
player = members[0];
|
||||
player:SendGameMessage(GetWorldMaster(), 50036, 0x20, thisDirector.guildleveId, player, 0); --"You have started the leve..."
|
||||
player:PlayAnimation(getGLStartAnimationFromSheet(guildleveData.borderId, guildleveData.plateId, false));
|
||||
end
|
||||
|
||||
wait(3);
|
||||
|
||||
thisDirector:StartGuildleve();
|
||||
thisDirector:SyncAllInfo();
|
||||
thisDirector:UpdateMarkers(0, 59.0, 44.0, -163.0);
|
||||
|
||||
if (members ~= nil and #members ~= 0) then
|
||||
player = members[0];
|
||||
|
||||
player:ChangeMusic(22);
|
||||
attentionMessage(player, 50022, thisDirector.guildleveId, thisDirector.selectedDifficulty, 0);
|
||||
player:SendGameMessage(GetWorldMaster(), 50026, 0x20, guildleveData.timeLimit);
|
||||
end
|
||||
|
||||
wait(5);
|
||||
|
||||
thisDirector:UpdateAimNumNow(0, 1);
|
||||
wait(3);
|
||||
thisDirector:UpdateAimNumNow(0, 2);
|
||||
wait(3);
|
||||
thisDirector:UpdateAimNumNow(0, 3);
|
||||
|
||||
end
|
||||
|
||||
function attentionMessage(player, textId, ...)
|
||||
player:SendGameMessage(GetWorldMaster(), textId, 0x20, ...);
|
||||
player:SendDataPacket("attention", GetWorldMaster(), "", textId, ...);
|
||||
end
|
|
@ -0,0 +1,32 @@
|
|||
require ("global")
|
||||
require ("guildleve")
|
||||
|
||||
--DirectorId, GuildleveId, Aetheryte Location (6 or ~6), exMarkerX, exMarkerY, exMarkerZ
|
||||
|
||||
--22: Limsa Battle Leve
|
||||
--14: Gridania Battle Leve
|
||||
--26: Uldah Battle Leve
|
||||
--16: Coerthas Faction Leve
|
||||
--72: Harvest Leve
|
||||
|
||||
function init(thisDirector)
|
||||
return "/Director/Guildleve/PrivateGLBattleChaseNormal", 0x4e25, thisDirector.guildleveId, 6, 0, 0, 0;
|
||||
end
|
||||
|
||||
function main(thisDirector)
|
||||
|
||||
wait(3);
|
||||
|
||||
thisDirector:StartGuildleve();
|
||||
thisDirector:SyncAllInfo();
|
||||
thisDirector:UpdateMarkers(0, 59.0, 44.0, -163.0);
|
||||
|
||||
wait(5);
|
||||
|
||||
thisDirector:UpdateAimNumNow(0, 1);
|
||||
wait(3);
|
||||
thisDirector:UpdateAimNumNow(0, 2);
|
||||
wait(3);
|
||||
thisDirector:UpdateAimNumNow(0, 3);
|
||||
|
||||
end
|
|
@ -0,0 +1,32 @@
|
|||
require ("global")
|
||||
require ("guildleve")
|
||||
|
||||
--DirectorId, GuildleveId, Aetheryte Location (6 or ~6), exMarkerX, exMarkerY, exMarkerZ
|
||||
|
||||
--22: Limsa Battle Leve
|
||||
--14: Gridania Battle Leve
|
||||
--26: Uldah Battle Leve
|
||||
--16: Coerthas Faction Leve
|
||||
--72: Harvest Leve
|
||||
|
||||
function init(thisDirector)
|
||||
return "/Director/Guildleve/PrivateGLBattleDetectNormal", 0x4e25, thisDirector.guildleveId, 6, 0, 0, 0;
|
||||
end
|
||||
|
||||
function main(thisDirector)
|
||||
|
||||
wait(3);
|
||||
|
||||
thisDirector:StartGuildleve();
|
||||
thisDirector:SyncAllInfo();
|
||||
thisDirector:UpdateMarkers(0, 59.0, 44.0, -163.0);
|
||||
|
||||
wait(5);
|
||||
|
||||
thisDirector:UpdateAimNumNow(0, 1);
|
||||
wait(3);
|
||||
thisDirector:UpdateAimNumNow(0, 2);
|
||||
wait(3);
|
||||
thisDirector:UpdateAimNumNow(0, 3);
|
||||
|
||||
end
|
|
@ -0,0 +1,26 @@
|
|||
require ("global")
|
||||
require ("guildleve")
|
||||
|
||||
--DirectorId, GuildleveId
|
||||
|
||||
function init()
|
||||
return "/Director/Guildleve/PrivateGLBattleGatherNormal", 0x4e25, thisDirector.guildleveId, 6, 0, 0, 0;
|
||||
end
|
||||
|
||||
function main(thisDirector)
|
||||
|
||||
wait(3);
|
||||
|
||||
thisDirector:StartGuildleve();
|
||||
thisDirector:SyncAllInfo();
|
||||
thisDirector:UpdateMarkers(0, 59.0, 44.0, -163.0);
|
||||
|
||||
wait(5);
|
||||
|
||||
thisDirector:UpdateAimNumNow(0, 1);
|
||||
wait(3);
|
||||
thisDirector:UpdateAimNumNow(0, 2);
|
||||
wait(3);
|
||||
thisDirector:UpdateAimNumNow(0, 3);
|
||||
|
||||
end
|
|
@ -0,0 +1,32 @@
|
|||
require ("global")
|
||||
require ("guildleve")
|
||||
|
||||
--DirectorId, GuildleveId, Aetheryte Location (6 or ~6), exMarkerX, exMarkerY, exMarkerZ
|
||||
|
||||
--22: Limsa Battle Leve
|
||||
--14: Gridania Battle Leve
|
||||
--26: Uldah Battle Leve
|
||||
--16: Coerthas Faction Leve
|
||||
--72: Harvest Leve
|
||||
|
||||
function init(thisDirector)
|
||||
return "/Director/Guildleve/PrivateGLBattleHuntNormal", 0x4e25, thisDirector.guildleveId, 6, 0, 0, 0;
|
||||
end
|
||||
|
||||
function main(thisDirector)
|
||||
|
||||
wait(3);
|
||||
|
||||
thisDirector:StartGuildleve();
|
||||
thisDirector:SyncAllInfo();
|
||||
thisDirector:UpdateMarkers(0, 59.0, 44.0, -163.0);
|
||||
|
||||
wait(5);
|
||||
|
||||
thisDirector:UpdateAimNumNow(0, 1);
|
||||
wait(3);
|
||||
thisDirector:UpdateAimNumNow(0, 2);
|
||||
wait(3);
|
||||
thisDirector:UpdateAimNumNow(0, 3);
|
||||
|
||||
end
|
|
@ -0,0 +1,42 @@
|
|||
require ("global")
|
||||
require ("guildleve")
|
||||
|
||||
--DirectorId, GuildleveId, Aetheryte Location (6 or ~6), exMarkerX, exMarkerY, exMarkerZ
|
||||
|
||||
--22: Limsa Battle Leve
|
||||
--14: Gridania Battle Leve
|
||||
--26: Uldah Battle Leve
|
||||
--16: Coerthas Faction Leve
|
||||
--72: Harvest Leve
|
||||
|
||||
function init(thisDirector)
|
||||
return "/Director/Guildleve/PrivateGLBattleOrbNormal", 0x4e25, thisDirector.guildleveId, 6, 0, 0, 0;
|
||||
end
|
||||
|
||||
function main(thisDirector)
|
||||
|
||||
wait(3);
|
||||
|
||||
thisDirector:StartGuildleve();
|
||||
thisDirector:SyncAllInfo();
|
||||
thisDirector:UpdateMarkers(0, 59.0, 44.0, -163.0);
|
||||
|
||||
wait(5);
|
||||
|
||||
thisDirector:UpdateAimNumNow(0, 1);
|
||||
wait(3);
|
||||
thisDirector:UpdateAimNumNow(0, 2);
|
||||
wait(3);
|
||||
thisDirector:UpdateAimNumNow(0, 3);
|
||||
wait(3);
|
||||
thisDirector:UpdateAimNumNow(0, 4);
|
||||
|
||||
wait(2);
|
||||
|
||||
thisDirector:EndGuildleve(true);
|
||||
|
||||
wait(30);
|
||||
player:SendGameMessage(GetWorldMaster(), 50033, 0x20);
|
||||
thisDirector:EndDirector();
|
||||
|
||||
end
|
|
@ -0,0 +1,32 @@
|
|||
require ("global")
|
||||
require ("guildleve")
|
||||
|
||||
--DirectorId, GuildleveId, Aetheryte Location (6 or ~6), exMarkerX, exMarkerY, exMarkerZ
|
||||
|
||||
--22: Limsa Battle Leve
|
||||
--14: Gridania Battle Leve
|
||||
--26: Uldah Battle Leve
|
||||
--16: Coerthas Faction Leve
|
||||
--72: Harvest Leve
|
||||
|
||||
function init(thisDirector)
|
||||
return "/Director/Guildleve/PrivateGLBattleRoundNormal", 0x4e25, thisDirector.guildleveId, 6, 0, 0, 0;
|
||||
end
|
||||
|
||||
function main(thisDirector)
|
||||
|
||||
wait(3);
|
||||
|
||||
thisDirector:StartGuildleve();
|
||||
thisDirector:SyncAllInfo();
|
||||
thisDirector:UpdateMarkers(0, 59.0, 44.0, -163.0);
|
||||
|
||||
wait(5);
|
||||
|
||||
thisDirector:UpdateAimNumNow(0, 1);
|
||||
wait(3);
|
||||
thisDirector:UpdateAimNumNow(0, 2);
|
||||
wait(3);
|
||||
thisDirector:UpdateAimNumNow(0, 3);
|
||||
|
||||
end
|
|
@ -0,0 +1,32 @@
|
|||
require ("global")
|
||||
require ("guildleve")
|
||||
|
||||
--DirectorId, GuildleveId, Aetheryte Location (6 or ~6), exMarkerX, exMarkerY, exMarkerZ
|
||||
|
||||
--22: Limsa Battle Leve
|
||||
--14: Gridania Battle Leve
|
||||
--26: Uldah Battle Leve
|
||||
--16: Coerthas Faction Leve
|
||||
--72: Harvest Leve
|
||||
|
||||
function init(thisDirector)
|
||||
return "/Director/Guildleve/PrivateGLBattleSurviveNormal", 0x4e25, thisDirector.guildleveId, 6, 0, 0, 0;
|
||||
end
|
||||
|
||||
function main(thisDirector)
|
||||
|
||||
wait(3);
|
||||
|
||||
thisDirector:StartGuildleve();
|
||||
thisDirector:SyncAllInfo();
|
||||
thisDirector:UpdateMarkers(0, 59.0, 44.0, -163.0);
|
||||
|
||||
wait(5);
|
||||
|
||||
thisDirector:UpdateAimNumNow(0, 1);
|
||||
wait(3);
|
||||
thisDirector:UpdateAimNumNow(0, 2);
|
||||
wait(3);
|
||||
thisDirector:UpdateAimNumNow(0, 3);
|
||||
|
||||
end
|
|
@ -0,0 +1,35 @@
|
|||
require ("global")
|
||||
require ("guildleve")
|
||||
|
||||
--DirectorId, GuildleveId, Aetheryte Location (6 or ~6), exMarkerX, exMarkerY, exMarkerZ
|
||||
|
||||
--22: Limsa Battle Leve
|
||||
--14: Gridania Battle Leve
|
||||
--26: Uldah Battle Leve
|
||||
--16: Coerthas Faction Leve
|
||||
--72: Harvest Leve
|
||||
|
||||
function init(thisDirector)
|
||||
return "/Director/Guildleve/PrivateGLBattleSweepNormal", 0x4e25, thisDirector.guildleveId, 6, 0, 0, 0;
|
||||
end
|
||||
|
||||
function main(thisDirector)
|
||||
|
||||
wait(3);
|
||||
|
||||
thisDirector:StartGuildleve();
|
||||
thisDirector:SyncAllInfo();
|
||||
thisDirector:UpdateMarkers(0, 59.0, 44.0, -163.0);
|
||||
|
||||
wait(5);
|
||||
|
||||
thisDirector:UpdateAimNumNow(0, 1);
|
||||
wait(3);
|
||||
thisDirector:UpdateAimNumNow(0, 2);
|
||||
wait(3);
|
||||
thisDirector:UpdateAimNumNow(0, 3);
|
||||
|
||||
wait(3);
|
||||
thisDirector:EndGuildleve(true);
|
||||
|
||||
end
|
48
Data/scripts/directors/Guildleve/PrivateGLBattleTutorial.lua
Normal file
48
Data/scripts/directors/Guildleve/PrivateGLBattleTutorial.lua
Normal file
|
@ -0,0 +1,48 @@
|
|||
require ("global")
|
||||
require ("guildleve")
|
||||
|
||||
--DirectorId, GuildleveId, Aetheryte Location (6 or ~6), exMarkerX, exMarkerY, exMarkerZ
|
||||
|
||||
--50101: This is a tutorial covering regional levequests for Disciples of War and Disciples of Magic.
|
||||
--50102: The general location of your target can be determined by using the minimap.
|
||||
--50105: Your target is nearby. Proceed with the levequest objectives.
|
||||
--50107: This levequest asks that you exterminate a total of [@VALUE($E8(1))] targets. Try finding the next one.
|
||||
--50110: Defeating targets will sometimes earn you experience points.
|
||||
--50112: An aetherial node will appear when levequest objectives have been met. Try approaching it.
|
||||
--50114: Use the node to collect your reward and teleport back to the starting location of the levequest.
|
||||
|
||||
--22: Limsa Battle Leve
|
||||
--14: Gridania Battle Leve
|
||||
--26: Uldah Battle Leve
|
||||
--16: Coerthas Faction Leve
|
||||
--72: Harvest Leve
|
||||
|
||||
function init(thisDirector)
|
||||
return "/Director/Guildleve/PrivateGLBattleTutorial", 0x4e25, thisDirector.guildleveId, 6, 0, 0, 0;
|
||||
end
|
||||
|
||||
function main(thisDirector)
|
||||
|
||||
wait(3);
|
||||
|
||||
thisDirector:StartGuildleve();
|
||||
thisDirector:SyncAllInfo();
|
||||
thisDirector:UpdateMarkers(0, 59.0, 44.0, -163.0);
|
||||
|
||||
wait(5);
|
||||
|
||||
thisDirector:UpdateAimNumNow(0, 1);
|
||||
wait(3);
|
||||
thisDirector:UpdateAimNumNow(0, 2);
|
||||
wait(3);
|
||||
thisDirector:UpdateAimNumNow(0, 3);
|
||||
|
||||
wait(3);
|
||||
thisDirector:EndGuildleve(true);
|
||||
|
||||
end
|
||||
|
||||
function attentionMessage(player, textId, ...)
|
||||
player:SendGameMessage(GetWorldMaster(), textId, 0x20, args);
|
||||
player:SendDataPacket("attention", GetWorldMaster(), "", textId, args);
|
||||
end
|
70
Data/scripts/directors/OpeningDirector.lua
Normal file
70
Data/scripts/directors/OpeningDirector.lua
Normal file
|
@ -0,0 +1,70 @@
|
|||
require ("global")
|
||||
require ("quests/man/man0l0")
|
||||
require ("quests/man/man0g0")
|
||||
require ("quests/man/man0u0")
|
||||
|
||||
function init()
|
||||
return "/Director/OpeningDirector";
|
||||
end
|
||||
|
||||
function onEventStarted(player, actor, triggerName)
|
||||
|
||||
if (player:HasQuest(110001) == true) then
|
||||
quest = player:GetQuest("Man0l0");
|
||||
callClientFunction(player, "delegateEvent", player, quest, "processTtrNomal001withHQ", nil, nil, nil);
|
||||
elseif (player:HasQuest(110005) == true) then
|
||||
quest = player:GetQuest("Man0g0");
|
||||
callClientFunction(player, "delegateEvent", player, quest, "processTtrNomal001withHQ", nil, nil, nil);
|
||||
elseif (player:HasQuest(110009) == true) then
|
||||
quest = player:GetQuest("Man0u0");
|
||||
callClientFunction(player, "delegateEvent", player, quest, "processTtrNomal001withHQ", nil, nil, nil);
|
||||
end
|
||||
|
||||
player:EndEvent();
|
||||
|
||||
end
|
||||
|
||||
function onUpdate()
|
||||
end
|
||||
|
||||
function onTalkEvent(player, npc)
|
||||
|
||||
if (player:HasQuest(110001) == true) then
|
||||
man0l0Quest = player:GetQuest("man0l0");
|
||||
|
||||
if (man0l0Quest:GetQuestFlag(MAN0L0_FLAG_MINITUT_DONE1) == true and man0l0Quest:GetQuestFlag(MAN0L0_FLAG_MINITUT_DONE2) == true and man0l0Quest:GetQuestFlag(MAN0L0_FLAG_MINITUT_DONE3) == true) then
|
||||
doorNpc = GetWorldManager():GetActorInWorldByUniqueId("exit_door");
|
||||
player:SetEventStatus(doorNpc, "pushDefault", true, 0x2);
|
||||
doorNpc:SetQuestGraphic(player, 0x3);
|
||||
end
|
||||
elseif (player:HasQuest(110005) == true) then
|
||||
man0g0Quest = player:GetQuest("man0g0");
|
||||
if (man0g0Quest:GetQuestFlag(MAN0L0_FLAG_STARTED_TALK_TUT) == true and man0g0Quest:GetQuestFlag(MAN0G0_FLAG_MINITUT_DONE1) == false) then
|
||||
papalymo = GetWorldManager():GetActorInWorldByUniqueId("papalymo");
|
||||
papalymo:SetQuestGraphic(player, 0x2);
|
||||
elseif (man0g0Quest:GetQuestFlag(MAN0L0_FLAG_STARTED_TALK_TUT) == true and man0g0Quest:GetQuestFlag(MAN0G0_FLAG_MINITUT_DONE1) == true) then
|
||||
yda = GetWorldManager():GetActorInWorldByUniqueId("yda");
|
||||
yda:SetQuestGraphic(player, 0x2);
|
||||
end
|
||||
elseif (player:HasQuest(110009) == true) then
|
||||
man0u0Quest = player:GetQuest("man0u0");
|
||||
if (man0u0Quest:GetQuestFlag(MAN0U0_FLAG_MINITUT_DONE1) == true and man0u0Quest:GetQuestFlag(MAN0U0_FLAG_MINITUT_DONE2) == true and man0u0Quest:GetQuestFlag(MAN0U0_FLAG_MINITUT_DONE3) == true) then
|
||||
exitTriggerNpc = GetWorldManager():GetActorInWorldByUniqueId("exit_trigger");
|
||||
player:SetEventStatus(exitTriggerNpc, "pushDefault", true, 0x2);
|
||||
exitTriggerNpc:SetQuestGraphic(player, 0x2);
|
||||
end
|
||||
end
|
||||
|
||||
end
|
||||
|
||||
function onPushEvent(player, npc)
|
||||
end
|
||||
|
||||
function onCommandEvent(player, command)
|
||||
end
|
||||
|
||||
function onEventUpdate(player, npc)
|
||||
end
|
||||
|
||||
function onCommand(player, command)
|
||||
end
|
140
Data/scripts/directors/Quest/QuestDirectorMan0g001.lua
Normal file
140
Data/scripts/directors/Quest/QuestDirectorMan0g001.lua
Normal file
|
@ -0,0 +1,140 @@
|
|||
require ("global")
|
||||
require ("tutorial")
|
||||
require ("modifiers")
|
||||
require ("quests/man/man0g0")
|
||||
|
||||
--processTtrBtl001: Active Mode Tutorial
|
||||
--processTtrBtl002: Targetting Tutorial (After active mode done)
|
||||
|
||||
function init()
|
||||
return "/Director/Quest/QuestDirectorMan0g001";
|
||||
end
|
||||
|
||||
function onCreateContentArea(players, director, contentArea, contentGroup)
|
||||
director:StartContentGroup();
|
||||
end
|
||||
|
||||
function onEventStarted(player, actor, triggerName)
|
||||
man0g0Quest = player:GetQuest("Man0g0");
|
||||
player:SetMod(modifiersGlobal.MinimumHpLock, 1);
|
||||
player:SendMessage(0x20, "", "Starting");
|
||||
startTutorialMode(player);
|
||||
callClientFunction(player, "delegateEvent", player, man0g0Quest, "processTtrBtl001", nil, nil, nil);
|
||||
player:EndEvent();
|
||||
player:SendMessage(0x20, "", "Waiting for player active");
|
||||
waitForSignal("playerActive");
|
||||
player:SendMessage(0x20, "", "player active");
|
||||
wait(1); --If this isn't here, the scripts bugs out. TODO: Find a better alternative.
|
||||
kickEventContinue(player, actor, "noticeEvent", "noticeEvent");
|
||||
callClientFunction(player, "delegateEvent", player, man0g0Quest, "processTtrBtl002", nil, nil, nil);
|
||||
player:SendMessage(0x20, "", "processTtrBtl002 called");
|
||||
player:EndEvent();
|
||||
|
||||
--Combat portion of tutorial
|
||||
|
||||
if player:IsDiscipleOfWar() then
|
||||
player:SendMessage(0x20, "", "Is DoW");
|
||||
waitForSignal("playerAttack");
|
||||
closeTutorialWidget(player);
|
||||
showTutorialSuccessWidget(player, 9055); --Open TutorialSuccessWidget for attacking enemy
|
||||
openTutorialWidget(player, CONTROLLER_KEYBOARD, TUTORIAL_TP);
|
||||
waitForSignal("tpOver1000");
|
||||
player:SetMod(modifiersGlobal.MinimumTpLock, 1000);
|
||||
closeTutorialWidget(player);
|
||||
openTutorialWidget(player, CONTROLLER_KEYBOARD, TUTORIAL_WEAPONSKILLS);
|
||||
waitForSignal("weaponskillUsed");
|
||||
player:SetMod(modifiersGlobal.MinimumTpLock, 0);
|
||||
closeTutorialWidget(player);
|
||||
showTutorialSuccessWidget(player, 9065); --Open TutorialSuccessWidget for weapon skill
|
||||
elseif player:IsDiscipleOfMagic() then
|
||||
player:SendMessage(0x20, "", "Is DoM");
|
||||
openTutorialWidget(player, CONTROLLER_KEYBOARD, TUTORIAL_CASTING);
|
||||
waitForSignal("spellUsed");
|
||||
closeTutorialWidget(player);
|
||||
elseif player:IsDiscipleOfHand() then
|
||||
waitForSignal("abilityUsed");
|
||||
elseif player:IsDiscipleOfLand() then
|
||||
waitForSignal("abilityUsed");
|
||||
end
|
||||
|
||||
player:SendMessage(0x20, "", "Waiting for mobkill1");
|
||||
waitForSignal("mobkill"); --Should be wait for mobkill
|
||||
player:SendMessage(0x20, "", "Waiting for mobkill2");
|
||||
waitForSignal("mobkill");
|
||||
player:SendMessage(0x20, "", "Waiting for mobkill3");
|
||||
waitForSignal("mobkill");
|
||||
worldMaster = GetWorldMaster();
|
||||
player:SetMod(modifiersGlobal.MinimumHpLock, 0);
|
||||
player:SendMessage(0x20, "", "Sending data packet 'attention'");
|
||||
player:SendDataPacket("attention", worldMaster, "", 51073, 2);
|
||||
wait(5);
|
||||
player:SendMessage(0x20, "", "Disengaging");
|
||||
player:Disengage(0x0000);
|
||||
wait(5);
|
||||
player:SendMessage(0x20, "", "NextPhase(10)");
|
||||
man0g0Quest:NextPhase(10);
|
||||
wait(5);
|
||||
player:SendMessage(0x20, "", "ProcessEvent020_1");
|
||||
callClientFunction(player, "delegateEvent", player, man0g0Quest, "processEvent020_1", nil, nil, nil);
|
||||
|
||||
wait(5);
|
||||
|
||||
player:SendMessage(0x20, "", "Changing music");
|
||||
player:ChangeMusic(7);
|
||||
wait(5);
|
||||
|
||||
player:SendMessage(0x20, "", "Kick notice event");
|
||||
kickEventContinue(player, actor, "noticeEvent", "noticeEvent");
|
||||
wait(5);
|
||||
|
||||
player:SendMessage(0x20, "", "ContentFinished");
|
||||
player:GetZone():ContentFinished();
|
||||
wait(5);
|
||||
player:SendMessage(0x20, "", "Remove from party");
|
||||
player:RemoveFromCurrentPartyAndCleanup();
|
||||
--player:EndEvent();
|
||||
--GetWorldManager():DoZoneChange(player, 155, "PrivateAreaMasterPast", 1, 15, 175.38, -1.21, -1156.51, -2.1);
|
||||
--[[
|
||||
IF DoW:
|
||||
OpenWidget (TP)
|
||||
IF TP REACHED:
|
||||
CloseWidget
|
||||
OpenWidget (WS)
|
||||
IF WS USED:
|
||||
Success
|
||||
CloseWidget
|
||||
ELSE MAGIC:
|
||||
OpenWidget (DEFEAT ENEMY)
|
||||
]]
|
||||
|
||||
player:EndEvent();
|
||||
|
||||
wait(5);
|
||||
player:SendMessage(0x20, "", "Zone change");
|
||||
GetWorldManager():DoZoneChange(player, 155, "PrivateAreaMasterPast", 1, 15, 175.38, -1.21, -1156.51, -2.1);
|
||||
|
||||
end
|
||||
|
||||
function onUpdate(deltaTime, area)
|
||||
end
|
||||
|
||||
function onTalkEvent(player, npc)
|
||||
|
||||
end
|
||||
|
||||
function onPushEvent(player, npc)
|
||||
end
|
||||
|
||||
function onCommandEvent(player, command)
|
||||
|
||||
end
|
||||
|
||||
function onEventUpdate(player, npc)
|
||||
end
|
||||
|
||||
function onCommand(player, command)
|
||||
end
|
||||
|
||||
function main(director, contentGroup)
|
||||
onCreateContentArea(director:GetPlayerMembers(), director, director:GetZone(), contentGroup);
|
||||
end;
|
81
Data/scripts/directors/Quest/QuestDirectorMan0l001.lua
Normal file
81
Data/scripts/directors/Quest/QuestDirectorMan0l001.lua
Normal file
|
@ -0,0 +1,81 @@
|
|||
require ("global")
|
||||
require ("tutorial")
|
||||
require ("quests/man/man0l0")
|
||||
|
||||
function init()
|
||||
return "/Director/Quest/QuestDirectorMan0l001";
|
||||
end
|
||||
|
||||
function onCreateContentArea(players, director, contentArea, contentGroup)
|
||||
|
||||
yshtola = contentArea:SpawnActor(2290001, "yshtola", -8, 16.35, 6, 0.5);
|
||||
stahlmann = contentArea:SpawnActor(2290002, "stahlmann", 0, 16.35, 22, 3);
|
||||
|
||||
mob1 = contentArea:SpawnActor(2205403, "mob1", -3.02+3, 17.35, 14.24, -2.81);
|
||||
mob2 = contentArea:SpawnActor(2205403, "mob2", -3.02, 17.35, 14.24, -2.81);
|
||||
mob3 = contentArea:SpawnActor(2205403, "mob3", -3.02-3, 17.35, 14.24, -2.81);
|
||||
|
||||
for _, player in pairs(players) do
|
||||
contentGroup:AddMember(player);
|
||||
end;
|
||||
contentGroup:AddMember(director);
|
||||
contentGroup:AddMember(yshtola);
|
||||
contentGroup:AddMember(stahlmann);
|
||||
contentGroup:AddMember(mob1);
|
||||
contentGroup:AddMember(mob2);
|
||||
contentGroup:AddMember(mob3);
|
||||
|
||||
end
|
||||
|
||||
function onEventStarted(player, director, triggerName)
|
||||
|
||||
man0l0Quest = player:GetQuest("Man0l0");
|
||||
startTutorialMode(player);
|
||||
callClientFunction(player, "delegateEvent", player, man0l0Quest, "processTtrBtl001", nil, nil, nil);
|
||||
player:EndEvent();
|
||||
waitForSignal("playerActive");
|
||||
wait(1); --If this isn't here, the scripts bugs out. TODO: Find a better alternative.
|
||||
kickEventContinue(player, director, "noticeEvent", "noticeEvent");
|
||||
callClientFunction(player, "delegateEvent", player, man0l0Quest, "processTtrBtl002", nil, nil, nil);
|
||||
player:EndEvent();
|
||||
wait(4);
|
||||
closeTutorialWidget(player);
|
||||
showTutorialSuccessWidget(player, 9055); --Open TutorialSuccessWidget for attacking enemy
|
||||
wait(3);
|
||||
openTutorialWidget(player, CONTROLLER_KEYBOARD, TUTORIAL_TP);
|
||||
wait(5);
|
||||
closeTutorialWidget(player);
|
||||
openTutorialWidget(player, CONTROLLER_KEYBOARD, TUTORIAL_WEAPONSKILLS);
|
||||
wait(4); --Should be wait for weaponskillUsed signal
|
||||
closeTutorialWidget(player);
|
||||
showTutorialSuccessWidget(player, 9065); --Open TutorialSuccessWidget for weapon skill
|
||||
|
||||
wait(6); --Should be wait for mobkill
|
||||
worldMaster = GetWorldMaster();
|
||||
player:SendDataPacket("attention", worldMaster, "", 51073, 1);
|
||||
wait(7);
|
||||
player:ChangeMusic(7);
|
||||
player:ChangeState(0);
|
||||
kickEventContinue(player, director, "noticeEvent", "noticeEvent");
|
||||
callClientFunction(player, "delegateEvent", player, man0l0Quest, "processEvent000_3", nil, nil, nil);
|
||||
|
||||
--[[
|
||||
IF DoW:
|
||||
OpenWidget (TP)
|
||||
IF TP REACHED:
|
||||
CloseWidget
|
||||
OpenWidget (WS)
|
||||
IF WS USED:
|
||||
Success
|
||||
CloseWidget
|
||||
ELSE MAGIC:
|
||||
OpenWidget (DEFEAT ENEMY)
|
||||
]]
|
||||
|
||||
man0l0Quest:NextPhase(10);
|
||||
player:EndEvent();
|
||||
|
||||
player:GetZone():ContentFinished();
|
||||
GetWorldManager():DoZoneChange(player, 230, "PrivateAreaMasterPast", 1, 15, -826.868469, 6, 193.745865, -0.008368492);
|
||||
|
||||
end
|
64
Data/scripts/directors/Quest/QuestDirectorMan0u001.lua
Normal file
64
Data/scripts/directors/Quest/QuestDirectorMan0u001.lua
Normal file
|
@ -0,0 +1,64 @@
|
|||
require ("global")
|
||||
require ("tutorial")
|
||||
require ("quests/man/man0u0")
|
||||
|
||||
--processTtrBtl001: Active Mode Tutorial
|
||||
--processTtrBtl002: Targetting Tutorial (After active mode done)
|
||||
--processTtrBtl003: Auto Attack Done
|
||||
--processTtrBtl004: Tutorial Complete
|
||||
|
||||
function init()
|
||||
return "/Director/Quest/QuestDirectorMan0u001";
|
||||
end
|
||||
|
||||
function onEventStarted(player, actor, triggerName)
|
||||
|
||||
man0u0Quest = player:GetQuest("Man0u0");
|
||||
startTutorialMode(player);
|
||||
callClientFunction(player, "delegateEvent", player, man0u0Quest, "processTtrBtl001", nil, nil, nil);
|
||||
player:EndEvent();
|
||||
waitForSignal("playerActive");
|
||||
wait(1); --If this isn't here, the scripts bugs out. TODO: Find a better alternative.
|
||||
kickEventContinue(player, actor, "noticeEvent", "noticeEvent");
|
||||
callClientFunction(player, "delegateEvent", player, man0u0Quest, "processTtrBtl002", nil, nil, nil);
|
||||
player:EndEvent();
|
||||
wait(4);
|
||||
closeTutorialWidget(player);
|
||||
showTutorialSuccessWidget(player, 9055); --Open TutorialSuccessWidget for attacking enemy
|
||||
wait(3);
|
||||
openTutorialWidget(player, CONTROLLER_KEYBOARD, TUTORIAL_TP);
|
||||
wait(5);
|
||||
closeTutorialWidget(player);
|
||||
openTutorialWidget(player, CONTROLLER_KEYBOARD, TUTORIAL_WEAPONSKILLS);
|
||||
wait(4); --Should be wait for weaponskillUsed signal
|
||||
closeTutorialWidget(player);
|
||||
showTutorialSuccessWidget(player, 9065); --Open TutorialSuccessWidget for weapon skill
|
||||
|
||||
wait(6); --Should be wait for mobkill
|
||||
worldMaster = GetWorldMaster();
|
||||
player:SendDataPacket("attention", worldMaster, "", 51073, 3);
|
||||
wait(7);
|
||||
player:ChangeMusic(7);
|
||||
player:ChangeState(0);
|
||||
kickEventContinue(player, actor, "noticeEvent", "noticeEvent");
|
||||
callClientFunction(player, "delegateEvent", player, man0u0Quest, "processEvent020", nil, nil, nil);
|
||||
|
||||
--[[
|
||||
IF DoW:
|
||||
OpenWidget (TP)
|
||||
IF TP REACHED:
|
||||
CloseWidget
|
||||
OpenWidget (WS)
|
||||
IF WS USED:
|
||||
Success
|
||||
CloseWidget
|
||||
ELSE MAGIC:
|
||||
OpenWidget (DEFEAT ENEMY)
|
||||
]]
|
||||
|
||||
man0u0Quest:NextPhase(10);
|
||||
player:EndEvent();
|
||||
|
||||
player:GetZone():ContentFinished();
|
||||
GetWorldManager():DoZoneChange(player, 175, "PrivateAreaMasterPast", 3, 15, -22.81, 196, 87.82, 2.98);
|
||||
end
|
Loading…
Add table
Add a link
Reference in a new issue