Merge remote-tracking branch 'origin/ioncannon/quest_system' into Jorge/quest_system

This commit is contained in:
CuriousJorge 2022-02-20 21:33:50 -05:00
commit 7fea45e1f8
9 changed files with 102 additions and 22 deletions

View file

@ -40,7 +40,7 @@ function onTrigger(player, argc, command, var1, var2, var3)
elseif command == "remove" or command == "delete" or command == "-" then
if tonumber(var1) and player:HasQuest(tonumber(var1)) == true then
player:RemoveQuestByQuestId(tonumber(var1));
player:RemoveQuest(tonumber(var1));
message = ("removing quest "..var1);
else
if player:HasQuest(var1) == true then
@ -53,7 +53,7 @@ function onTrigger(player, argc, command, var1, var2, var3)
q4 = bit32.band(q3, 0xA0F00000);
printf(q4);
--player:RemoveQuest(quest.Name);
player:RemoveQuest(quest.Name);
end
else
message = ("remove error: either incorrect ID or quest "..var1.." isn't active on character");
@ -137,7 +137,7 @@ function onTrigger(player, argc, command, var1, var2, var3)
player:GetQuest(questvar):GetData():ClearFlag(flagvar);
end
player:GetQuest(questvar):UpdateENPCs();
player:GetQuest(questvar):SaveData();
player:GetQuest(questvar):GetData():Save();
if boolvar == true then
message = ("changing flag "..tonumber(var2).." to true on quest "..questvar);
else
@ -156,7 +156,7 @@ function onTrigger(player, argc, command, var1, var2, var3)
player:GetQuest(questvar):GetData():SetCounter(index, tonumber(var3));
player:GetQuest(questvar):UpdateENPCs();
player:GetQuest(questvar):SaveData();
player:GetQuest(questvar):GetData():Save();
message = ("changing counter "..tonumber(var2).." to "..var3);
else
message = ("error: command "..command.." not recognized");

View file

@ -153,13 +153,7 @@ ETYPE_PUSH = 2;
ETYPE_EMOTE = 3;
ETYPE_NOTICE = 5;
-- QUEST INSTANCE
ENPC_PROP_QFLAG = 0;
ENPC_PROP_CAN_TALK = 1;
ENPC_PROP_CAN_PUSH = 2;
ENPC_PROP_CAN_EMOTE = 3;
ENPC_PROP_CAN_NOTICE = 4;
-- QUEST FLAGS
QFLAG_NONE = 0;
QFLAG_PLATE = 2;
QFLAG_MAP = 3;

View file

@ -0,0 +1,29 @@
require ("global")
--[[
Quest Script
Name: Getting Started (Mother Miounne)
Code: Trl0g1
Id: 110141
Enables the "Getting Started" option on Miounne.
* NOTE: This quest is active for all players at all times.
]]
function onTalk(player, quest, npc, eventName)
local choice = callClientFunction(player, "delegateEvent", player, quest, "processEventMiounneStart");
if (choice == 1) then
callClientFunction(player, "delegateEvent", player, quest, "processEvent225");
elseif (choice == 2) then
callClientFunction(player, "delegateEvent", player, quest, "processEvent230");
end
player:EndEvent();
end
function IsQuestENPC(player, quest, npc)
return npc:GetActorClassId()] == 1000230;
end

View file

@ -0,0 +1,29 @@
require ("global")
--[[
Quest Script
Name: Getting Started (Baderon)
Code: Trl0l1
Id: 110140
Enables the "Getting Started" option on Baderon.
* NOTE: This quest is active for all players at all times.
]]
function onTalk(player, quest, npc, eventName)
local choice = callClientFunction(player, "delegateEvent", player, quest, "processEventBaderonStart");
if (choice == 1) then
callClientFunction(player, "delegateEvent", player, quest, "processEvent640");
elseif (choice == 2) then
callClientFunction(player, "delegateEvent", player, quest, "processEvent650");
end
player:EndEvent();
end
function IsQuestENPC(player, quest, npc)
return npc:GetActorClassId()] == 1000137;
end

View file

@ -0,0 +1,29 @@
require ("global")
--[[
Quest Script
Name: Getting Started (Momodi)
Code: Trl0u1
Id: 110142
Enables the "Getting Started" option on Momodi.
* NOTE: This quest is active for all players at all times.
]]
function onTalk(player, quest, npc, eventName)
local choice = callClientFunction(player, "delegateEvent", player, quest, "processEventMomodiStart");
if (choice == 1) then
callClientFunction(player, "delegateEvent", player, quest, "processEvent235");
elseif (choice == 2) then
callClientFunction(player, "delegateEvent", player, quest, "processEvent240");
end
player:EndEvent();
end
function IsQuestENPC(player, quest, npc)
return npc:GetActorClassId() == 1000841;
end