mirror of
				https://bitbucket.org/Ioncannon/project-meteor-server.git
				synced 2025-05-20 08:26:59 -04:00 
			
		
		
		
	"Seeing the Seers" quest etc3g0 scripted, no reward handling currently. Requires actor "Nellaure" (http://ffxiv.gamerescape.com/w/index.php?title=Nellaure) to be added in. Hangs out in back-right corner of Carpenter's Guild.
Added a quest completion check to etc5g0.lua to prevent it showing "!" on quest-givers' head when you've cleared the quest already. Fixed regression on select GM commands, !warp instant-warps within same zone again, !mypos reports to the thousandths place, !speed command works with one argument again.
This commit is contained in:
		| @@ -1,7 +1,54 @@ | ||||
| require ("global") | ||||
| require ("quests/etc/etc3g0") | ||||
|  | ||||
| function onSpawn(player, npc) | ||||
|  | ||||
|    if (player:HasQuest("Etc3g0") == true and player:GetQuest("Etc3g0"):GetPhase() == 0) then	 | ||||
| 		if player:GetQuest("Etc3g0"):GetQuestFlag(FLAG_TALKED_KHUMA_MOSHROCA) == false then | ||||
| 			npc:SetQuestGraphic(player, 0x2); | ||||
| 		else | ||||
| 			npc:SetQuestGraphic(player, 0x0); | ||||
| 		end | ||||
|     else | ||||
|         npc:SetQuestGraphic(player, 0x0); | ||||
|     end | ||||
| 	 | ||||
| end | ||||
|  | ||||
|  | ||||
|  | ||||
| function onEventStarted(player, npc) | ||||
|     defaultFst = GetStaticActor("DftFst"); | ||||
| 	callClientFunction(player, "delegateEvent", player, defaultFst, "defaultTalkWithKhuma_moshroca_001", nil, nil, nil); | ||||
|  | ||||
| 	defaultFst = GetStaticActor("DftFst"); | ||||
|     quest = GetStaticActor("Etc3g0"); | ||||
|  | ||||
| 	if (player:HasQuest("Etc3g0") == true) then | ||||
| 	 | ||||
| 		unknown, result = callClientFunction(player, "switchEvent", defaultFst, quest, nil, nil, 1, 1, 0x3f1); | ||||
|      | ||||
| 		if (result == 1) then         | ||||
| 			callClientFunction(player, "delegateEvent", player, defaultFst, "defaultTalkWithKhumamoshroca_001", nil, nil, nil); | ||||
| 		elseif (result == 2) then | ||||
| 			ownedQuest = player:GetQuest("Etc3g0"); | ||||
| 			 | ||||
| 			if (ownedQuest:GetQuestFlag(FLAG_TALKED_KHUMA_MOSHROCA)) == false then | ||||
| 				callClientFunction(player, "delegateEvent", player, quest, "processEventKhumaSpeak", nil, nil, nil); | ||||
| 				ownedQuest:SetQuestFlag(FLAG_TALKED_KHUMA_MOSHROCA, true); | ||||
| 				ownedQuest:SaveData();	 | ||||
| 				npc:SetQuestGraphic(player, 0x0); | ||||
| 				checkNextPhase(player); | ||||
| 			else | ||||
| 				callClientFunction(player, "delegateEvent", player, quest, "processEventKhumaSpeakAfter", nil, nil, nil); | ||||
| 			end	 | ||||
| 		end | ||||
| 		 | ||||
| 	else | ||||
| 		callClientFunction(player, "delegateEvent", player, defaultFst, "defaultTalkWithKhumamoshroca_001", nil, nil, nil); | ||||
| 	end | ||||
| 	 | ||||
| 	 | ||||
| 	player:endEvent(); | ||||
| end | ||||
| end | ||||
|  | ||||
|  | ||||
|  | ||||
|   | ||||
| @@ -3,40 +3,64 @@ require ("quests/etc/etc3g0") | ||||
|  | ||||
| function onSpawn(player, npc) | ||||
| 	 | ||||
| 	if (player:HasQuest("Etc3g0") == false and player:GetQuest("Etc3g0"):GetQuestFlag(TALKED_4)) then | ||||
| 	if (player:HasQuest("Etc3g0") == true and player:GetQuest("Etc3g0"):GetPhase() == 243) then | ||||
| 		npc:SetQuestGraphic(player, 0x4); | ||||
| 	elseif (canAcceptQuest(player)) then | ||||
| 		npc:SetQuestGraphic(player, 0x2); | ||||
| 	else | ||||
| 		npc:SetQuestGraphic(player, 0x0); | ||||
| 	end | ||||
| 	end	 | ||||
| 	 | ||||
| end | ||||
|  | ||||
| function onEventStarted(player, npc) | ||||
|  | ||||
|     defaultFst = GetStaticActor("DftFst"); | ||||
| 	quest = GetStaticActor("Etc3g0"); | ||||
| 	 | ||||
| 	unknown, result = callClientFunction(player, "switchEvent", defaultFst, quest, nil, nil, 1, 1, 0x3f1); | ||||
| 	if ((canAcceptQuest(player) == true) or (player:HasQuest("Etc3g0") == true)) then | ||||
| 	 | ||||
| 	if (result == 1) then		 | ||||
| 		callClientFunction(player, "delegateEvent", player, defaultFst, "defaultTalkWithKinnison_001", -1, -1); | ||||
| 	elseif (result == 2) then | ||||
| 		if (player:HasQuest("Etc3g0") == false) then | ||||
| 			offerQuestResult = callClientFunction(player, "delegateEvent", player, quest, "processEventOffersStart"); | ||||
| 			if (offerQuestResult == 1) then | ||||
| 				player:AddQuest("Etc3g0"); | ||||
| 				npc:SetQuestGraphic(player, 0x0); | ||||
| 			end | ||||
| 		else | ||||
| 			ownedQuest = player:GetQuest("Etc3g0"); | ||||
| 			if (ownedQuest:GetPhase() == 1) then				 | ||||
| 				callClientFunction(player, "delegateEvent", player, quest, "processEventClear"); | ||||
| 				callClientFunction(player, "delegateEvent", player, quest, "sqrwa", 200, 1, 1, 9); | ||||
| 				player:CompleteQuest("Etc3g0"); | ||||
| 		unknown, result = callClientFunction(player, "switchEvent", defaultFst, quest, nil, nil, 1, 1, 0x3f1); | ||||
| 	 | ||||
| 		if (result == 1) then		 | ||||
| 			callClientFunction(player, "delegateEvent", player, defaultFst, "defaultTalkWithKinnison_001", -1, -1); | ||||
| 		elseif (result == 2) then | ||||
| 			if (player:HasQuest("Etc3g0") == false) then | ||||
| 				offerQuestResult = callClientFunction(player, "delegateEvent", player, quest, "processEventOffersStart"); | ||||
| 				if (offerQuestResult == 1) then | ||||
| 					player:AddQuest("Etc3g0"); | ||||
| 					npc:SetQuestGraphic(player, 0x0); | ||||
| 					 | ||||
| 					-- This is to overcome some weirdness where some NPCs are not updating their quest marker upon quest accepted | ||||
| 					-- So we're just going to force the change to be sure | ||||
| 					mestonnaux = GetWorldManager():GetActorInWorldByUniqueId("mestonnaux"); | ||||
| 					sybell = GetWorldManager():GetActorInWorldByUniqueId("sybell"); | ||||
| 					khuma_moshroca = GetWorldManager():GetActorInWorldByUniqueId("khuma_moshroca"); | ||||
| 					lefwyne = GetWorldManager():GetActorInWorldByUniqueId("lefwyne"); | ||||
| 					nellaure = GetWorldManager():GetActorInWorldByUniqueId("nellaure");	 | ||||
| 					 | ||||
| 					if (mestonnaux ~= nil) then mestonnaux:SetQuestGraphic(player, 0x2); end | ||||
| 					if (sybell ~= nil) then sybell:SetQuestGraphic(player, 0x2); end | ||||
| 					if (khuma_moshroca ~= nil) then khuma_moshroca:SetQuestGraphic(player, 0x2); end | ||||
| 					if (lefwyne ~= nil) then lefwyne:SetQuestGraphic(player, 0x2); end | ||||
| 					if (nellaure ~= nil) then nellaure:SetQuestGraphic(player, 0x2); end | ||||
| 				 | ||||
| 				end | ||||
| 			else | ||||
| 				callClientFunction(player, "delegateEvent", player, quest, "processEventOffersAfter"); | ||||
| 				ownedQuest = player:GetQuest("Etc3g0"); | ||||
| 				if (ownedQuest:GetPhase() == 243) then				 | ||||
| 					callClientFunction(player, "delegateEvent", player, quest, "processEventClear"); | ||||
| 					callClientFunction(player, "delegateEvent", player, quest, "sqrwa", 200, 1, 1, 9); | ||||
| 					player:CompleteQuest("Etc3g0"); | ||||
| 					npc:SetQuestGraphic(player, 0x0); | ||||
| 				else | ||||
| 					callClientFunction(player, "delegateEvent", player, quest, "processEventOffersAfter"); | ||||
| 				end | ||||
| 			end | ||||
| 		end | ||||
| 	end | ||||
| 	else | ||||
| 		callClientFunction(player, "delegateEvent", player, defaultFst, "defaultTalkWithKinnison_001", -1, -1); | ||||
| 	end	 | ||||
| 	 | ||||
| 	player:endEvent(); | ||||
| end | ||||
| @@ -1,7 +1,53 @@ | ||||
| require ("global") | ||||
| require ("quests/etc/etc3g0") | ||||
|  | ||||
| function onSpawn(player, npc) | ||||
|  | ||||
|    if (player:HasQuest("Etc3g0") == true and player:GetQuest("Etc3g0"):GetPhase() == 0) then	 | ||||
| 		if player:GetQuest("Etc3g0"):GetQuestFlag(FLAG_TALKED_LEFWYNE) == false then | ||||
| 			npc:SetQuestGraphic(player, 0x2); | ||||
| 		else | ||||
| 			npc:SetQuestGraphic(player, 0x0); | ||||
| 		end | ||||
|     else | ||||
|         npc:SetQuestGraphic(player, 0x0); | ||||
|     end | ||||
| 	 | ||||
| end | ||||
|  | ||||
|  | ||||
|  | ||||
| function onEventStarted(player, npc) | ||||
|     defaultFst = GetStaticActor("DftFst"); | ||||
| 	callClientFunction(player, "delegateEvent", player, defaultFst, "defaultTalkWithLefwyne_001", nil, nil, nil); | ||||
|  | ||||
| 	defaultFst = GetStaticActor("DftFst"); | ||||
|     quest = GetStaticActor("Etc3g0"); | ||||
|  | ||||
| 	if (player:HasQuest("Etc3g0") == true) then | ||||
| 	 | ||||
| 		unknown, result = callClientFunction(player, "switchEvent", defaultFst, quest, nil, nil, 1, 1, 0x3f1); | ||||
|      | ||||
| 		if (result == 1) then         | ||||
| 			callClientFunction(player, "delegateEvent", player, defaultFst, "defaultTalkWithLefwyne_001", nil, nil, nil); | ||||
| 		elseif (result == 2) then | ||||
| 			ownedQuest = player:GetQuest("Etc3g0"); | ||||
| 			 | ||||
| 			if (ownedQuest:GetQuestFlag(FLAG_TALKED_LEFWYNE)) == false then | ||||
| 				callClientFunction(player, "delegateEvent", player, quest, "processEventLefwyneSpeak", nil, nil, nil); | ||||
| 				ownedQuest:SetQuestFlag(FLAG_TALKED_LEFWYNE, true); | ||||
| 				ownedQuest:SaveData();	 | ||||
| 				npc:SetQuestGraphic(player, 0x0); | ||||
| 				checkNextPhase(player); | ||||
| 			else | ||||
| 				callClientFunction(player, "delegateEvent", player, quest, "processEventLefwyneSpeakAfter", nil, nil, nil); | ||||
| 			end	 | ||||
| 		end | ||||
| 		 | ||||
| 	else | ||||
| 		callClientFunction(player, "delegateEvent", player, defaultFst, "defaultTalkWithLefwyne_001", nil, nil, nil); | ||||
| 	end | ||||
| 	 | ||||
| 	player:endEvent(); | ||||
| end | ||||
| end | ||||
|  | ||||
|  | ||||
|  | ||||
|   | ||||
| @@ -1,7 +1,54 @@ | ||||
| require ("global") | ||||
| require ("quests/etc/etc3g0") | ||||
|  | ||||
| function onSpawn(player, npc) | ||||
| 	 | ||||
|    if (player:HasQuest("Etc3g0") == true and player:GetQuest("Etc3g0"):GetPhase() == 0) then	 | ||||
| 		if player:GetQuest("Etc3g0"):GetQuestFlag(FLAG_TALKED_MESTONNAUX) == false then | ||||
| 			npc:SetQuestGraphic(player, 0x2); | ||||
| 		else | ||||
| 			npc:SetQuestGraphic(player, 0x0); | ||||
| 		end | ||||
|     else | ||||
|         npc:SetQuestGraphic(player, 0x0); | ||||
|     end | ||||
| 		 | ||||
| end | ||||
|  | ||||
|  | ||||
|  | ||||
| function onEventStarted(player, npc) | ||||
|     defaultFst = GetStaticActor("DftFst"); | ||||
| 	callClientFunction(player, "delegateEvent", player, defaultFst, "defaultTalkWithMestonnaux_001", nil, nil, nil); | ||||
|  | ||||
| 	defaultFst = GetStaticActor("DftFst"); | ||||
|     quest = GetStaticActor("Etc3g0"); | ||||
|  | ||||
| 	if (player:HasQuest("Etc3g0") == true) then | ||||
| 	 | ||||
| 		unknown, result = callClientFunction(player, "switchEvent", defaultFst, quest, nil, nil, 1, 1, 0x3f1); | ||||
|      | ||||
| 		if (result == 1) then         | ||||
| 			callClientFunction(player, "delegateEvent", player, defaultFst, "defaultTalkWithMestonnaux_001", nil, nil, nil); | ||||
| 		elseif (result == 2) then | ||||
| 			ownedQuest = player:GetQuest("Etc3g0"); | ||||
| 			 | ||||
| 			if (ownedQuest:GetQuestFlag(FLAG_TALKED_MESTONNAUX)) == false then | ||||
| 				callClientFunction(player, "delegateEvent", player, quest, "processEventMestonnauxSpeak", nil, nil, nil); | ||||
| 				ownedQuest:SetQuestFlag(FLAG_TALKED_MESTONNAUX, true); | ||||
| 				ownedQuest:SaveData();	 | ||||
| 				npc:SetQuestGraphic(player, 0x0); | ||||
| 				checkNextPhase(player); | ||||
| 			else | ||||
| 				callClientFunction(player, "delegateEvent", player, quest, "processEventMestonnauxSpeakAfter", nil, nil, nil); | ||||
| 			end	 | ||||
| 		end | ||||
| 		 | ||||
| 	else | ||||
| 		callClientFunction(player, "delegateEvent", player, defaultFst, "defaultTalkWithMestonnaux_001", nil, nil, nil); | ||||
| 	end | ||||
| 	 | ||||
| 	 | ||||
| 	player:endEvent(); | ||||
| end | ||||
| end | ||||
|  | ||||
|  | ||||
|  | ||||
|   | ||||
| @@ -0,0 +1,51 @@ | ||||
| require ("global") | ||||
| require ("quests/etc/etc3g0") | ||||
|  | ||||
| function onSpawn(player, npc) | ||||
|  | ||||
|    if (player:HasQuest("Etc3g0") == true and player:GetQuest("Etc3g0"):GetPhase() == 0) then	 | ||||
| 		if player:GetQuest("Etc3g0"):GetQuestFlag(FLAG_TALKED_NELLAURE) == false then | ||||
| 			npc:SetQuestGraphic(player, 0x2); | ||||
| 		else | ||||
| 			npc:SetQuestGraphic(player, 0x0); | ||||
| 		end | ||||
|     else | ||||
|         npc:SetQuestGraphic(player, 0x0); | ||||
|     end | ||||
| 	 | ||||
| end | ||||
|  | ||||
|  | ||||
|  | ||||
| function onEventStarted(player, npc) | ||||
|  | ||||
| 	defaultFst = GetStaticActor("DftFst"); | ||||
|     quest = GetStaticActor("Etc3g0"); | ||||
|  | ||||
| 	if (player:HasQuest("Etc3g0") == true) then | ||||
| 	 | ||||
| 		unknown, result = callClientFunction(player, "switchEvent", defaultFst, quest, nil, nil, 1, 1, 0x3f1); | ||||
|      | ||||
| 		if (result == 1) then         | ||||
| 			callClientFunction(player, "delegateEvent", player, defaultFst, "defaultTalkWithNellaure_001", nil, nil, nil); | ||||
| 		elseif (result == 2) then | ||||
| 			ownedQuest = player:GetQuest("Etc3g0"); | ||||
| 			 | ||||
| 			if (ownedQuest:GetQuestFlag(FLAG_TALKED_NELLAURE)) == false then | ||||
| 				callClientFunction(player, "delegateEvent", player, quest, "processEventNellaureSpeak", nil, nil, nil); | ||||
| 				ownedQuest:SetQuestFlag(FLAG_TALKED_NELLAURE, true); | ||||
| 				ownedQuest:SaveData();	 | ||||
| 				npc:SetQuestGraphic(player, 0x0); | ||||
| 				checkNextPhase(player); | ||||
| 			else | ||||
| 				callClientFunction(player, "delegateEvent", player, quest, "processEventNellaureSpeakAfter", nil, nil, nil); | ||||
| 			end	 | ||||
| 		end | ||||
| 		 | ||||
| 	else | ||||
| 		callClientFunction(player, "delegateEvent", player, defaultFst, "defaultTalkWithNellaure_001", nil, nil, nil); | ||||
| 	end | ||||
| 	 | ||||
| 	 | ||||
| 	player:endEvent(); | ||||
| end | ||||
| @@ -1,7 +1,54 @@ | ||||
| require ("global") | ||||
| require ("quests/etc/etc3g0") | ||||
|  | ||||
| function onSpawn(player, npc) | ||||
|  | ||||
|    if (player:HasQuest("Etc3g0") == true and player:GetQuest("Etc3g0"):GetPhase() == 0) then	 | ||||
| 		if player:GetQuest("Etc3g0"):GetQuestFlag(FLAG_TALKED_SYBELL) == false then | ||||
| 			npc:SetQuestGraphic(player, 0x2); | ||||
| 		else | ||||
| 			npc:SetQuestGraphic(player, 0x0); | ||||
| 		end | ||||
|     else | ||||
|         npc:SetQuestGraphic(player, 0x0); | ||||
|     end | ||||
| 	 | ||||
| end | ||||
|  | ||||
|  | ||||
|  | ||||
| function onEventStarted(player, npc) | ||||
|     defaultFst = GetStaticActor("DftFst"); | ||||
| 	callClientFunction(player, "delegateEvent", player, defaultFst, "defaultTalkWithSybell_001", nil, nil, nil); | ||||
|  | ||||
| 	defaultFst = GetStaticActor("DftFst"); | ||||
|     quest = GetStaticActor("Etc3g0"); | ||||
|  | ||||
| 	if (player:HasQuest("Etc3g0") == true) then | ||||
| 	 | ||||
| 		unknown, result = callClientFunction(player, "switchEvent", defaultFst, quest, nil, nil, 1, 1, 0x3f1); | ||||
|      | ||||
| 		if (result == 1) then         | ||||
| 			callClientFunction(player, "delegateEvent", player, defaultFst, "defaultTalkWithSybell_001", nil, nil, nil); | ||||
| 		elseif (result == 2) then | ||||
| 			ownedQuest = player:GetQuest("Etc3g0"); | ||||
| 			 | ||||
| 			if (ownedQuest:GetQuestFlag(FLAG_TALKED_SYBELL)) == false then | ||||
| 				callClientFunction(player, "delegateEvent", player, quest, "processEventSybellSpeak", nil, nil, nil); | ||||
| 				ownedQuest:SetQuestFlag(FLAG_TALKED_SYBELL, true); | ||||
| 				ownedQuest:SaveData();	 | ||||
| 				npc:SetQuestGraphic(player, 0x0); | ||||
| 				checkNextPhase(player); | ||||
| 			else | ||||
| 				callClientFunction(player, "delegateEvent", player, quest, "processEventSybellSpeakAfter", nil, nil, nil); | ||||
| 			end	 | ||||
| 		end | ||||
| 		 | ||||
| 	else | ||||
| 		callClientFunction(player, "delegateEvent", player, defaultFst, "defaultTalkWithSybell_001", nil, nil, nil); | ||||
| 	end | ||||
| 	 | ||||
| 	 | ||||
| 	player:endEvent(); | ||||
| end | ||||
| end | ||||
|  | ||||
|  | ||||
|  | ||||
|   | ||||
		Reference in New Issue
	
	Block a user