mirror of
				https://bitbucket.org/Ioncannon/project-meteor-server.git
				synced 2025-05-20 08:26:59 -04:00 
			
		
		
		
	Updated Scripts, removed all the old unique ones for the opening quest.
This commit is contained in:
		| @@ -1,19 +1,108 @@ | ||||
| --[[ | ||||
|  | ||||
| TaskBoard | ||||
|  | ||||
| Operates the Task Board actor located in each of the Adventurers' Guilds. | ||||
| Calls from the Noc000 static actor, which also applies to specific guild NPCs involved in that as well. | ||||
|  | ||||
| Functions:  (only including those from Noc000 which apply to the Task Board) | ||||
|  | ||||
| pETaskBoardAskLimsa() | ||||
|     Desc: Show guild menu with valid options for Limsa Lominsa. | ||||
|     Params: None | ||||
|     Returns: Value dictating which item on the list was selected. | ||||
|  | ||||
| pETaskBoardAskUldah() | ||||
|     Desc: Show guild menu with valid options for Ul'dah. | ||||
|     Params: None | ||||
|     Returns: Value dictating which item on the list was selected. | ||||
|  | ||||
| pETaskBoardAskGridania() | ||||
|     Desc: Show guild menu with valid options for Gridania. | ||||
|     Params: None | ||||
|     Returns: Value dictating which item on the list was selected. | ||||
|  | ||||
| pETaskBoardGuild(guildId) | ||||
|     Desc: Plays back a message "The following tasks are available:". | ||||
|     Params: * guildId 			- Class Id from xtx_text_jobName.  EN doesn't make use of it, but JP/DE/FR do.  Thanks Koji. | ||||
|      | ||||
| pETaskBoardOrder(recommendedLvl itemId, hq, amount) | ||||
|     Desc: Takes the params and tells the player what the guild still needs turned in. | ||||
|     Params: * recommendedLvl 	- Recommended level the player be at | ||||
|             * itemId  			- Id of the item from xtx_itemName | ||||
|             * hq     			- Quality of item (1 = NQ, 2 = +1, 3 = +2 4 = +3) | ||||
|             * amount 			- Amount needed (The amount the player needs to turn-in, not the amount guild needs overall) | ||||
|  | ||||
| --]] | ||||
|  | ||||
| require ("global") | ||||
|  | ||||
| local guildItem = {  | ||||
|     -- [guildId] = { (recommendedLvl itemId, hq, amount, 2nd-recommendedLvl 2nd-itemId, 2nd-hq, 2nd-amount) } | ||||
|     [29] = {1, 4100604, 1, 1, 10, 4030706, 1, 1}, -- Carpenters' | ||||
|     [30] = {1, 4040004, 1, 1, 10, 4030004, 1, 1}, -- Blacksmiths' | ||||
|     [31] = {1, 6080009, 1, 1, 10, 8070606, 1, 1}, -- Armorers' | ||||
|     [32] = {1, 5020007, 1, 1, 10,10004103, 1, 1}, -- Goldsmiths' | ||||
|     [33] = {1, 4020107, 1, 1, 10, 8031514, 1, 1}, -- Leatherworkers' | ||||
|     [34] = {1, 8030819, 1, 1, 10, 8030821, 1, 1}, -- Weavers' | ||||
|     [35] = {1, 3011530, 1,12, 10, 3020527, 1, 4}, -- Alchemists' | ||||
|     [36] = {1, 3010103, 1, 6, 10, 3011503, 1, 6}, -- Culinarians' | ||||
|     [39] = {1,10009101, 1,10, 10,10001116, 1,10}, -- Miners' | ||||
|     [40] = {1,10005403, 1,10, 10,10008106, 1,10}, -- Botanists' | ||||
|     [41] = {1, 3011106, 1,10, 10, 3011113, 1,10}  -- Fishermans'  | ||||
| } | ||||
|  | ||||
| local menuToGuild = {          -- Get a guild id from a given task board's Return result | ||||
|     [1] = {0, 30, 31, 36, 41}, -- Limsa | ||||
|     [2] = {0, 29, 33, 40,  0}, -- Gridania | ||||
|     [3] = {0, 32, 34, 35, 39}  -- Ul'dah | ||||
| } | ||||
|  | ||||
| function init(npc) | ||||
| 	return false, false, 0, 0;	 | ||||
|     return false, false, 0, 0;   | ||||
| end | ||||
|  | ||||
| function onEventStarted(player, npc, triggerName) | ||||
| 	questNOC = GetStaticActor("Noc000"); | ||||
|      | ||||
|     local questNOC = GetStaticActor("Noc000"); | ||||
|     local npcId = npc:GetActorClassId(); | ||||
|      | ||||
|     while (true) do	 | ||||
| 		local guildId = 0; | ||||
| 	 | ||||
| 	if (npc:GetActorClassId() == 1200193) then | ||||
| 		callClientFunction(player, "delegateEvent", player, questNOC, "pETaskBoardAskLimsa", nil, nil, nil); | ||||
| 	elseif (npc:GetActorClassId() == 1200194) then | ||||
| 		callClientFunction(player, "delegateEvent", player, questNOC, "pETaskBoardAskUldah", nil, nil, nil); | ||||
| 	else | ||||
| 		callClientFunction(player, "delegateEvent", player, questNOC, "pETaskBoardAskGridania", nil, nil, nil); | ||||
| 	end	 | ||||
| 	 | ||||
| 	player:EndEvent();	 | ||||
| end | ||||
|         if (npcId == 1200193) then -- Limsa | ||||
|             local choice = callClientFunction(player, "delegateEvent", player, questNOC, "pETaskBoardAskLimsa"); | ||||
|              | ||||
|             if (choice == 1 or choice == nil) then | ||||
|                 break; -- Exited menu | ||||
|             else | ||||
|                 guildId = menuToGuild[1][choice]; | ||||
|             end             | ||||
|         elseif (npcId == 1200194) then -- Ul'dah    | ||||
|             local choice = callClientFunction(player, "delegateEvent", player, questNOC, "pETaskBoardAskUldah"); | ||||
|              | ||||
|             if (choice == 1 or choice == nil) then | ||||
|                 break; -- Exited menu | ||||
|             else | ||||
|                 guildId = menuToGuild[3][choice];  | ||||
|             end         | ||||
|         else -- Gridania | ||||
|             local choice = callClientFunction(player, "delegateEvent", player, questNOC, "pETaskBoardAskGridania"); | ||||
|                      | ||||
|             if (choice == 1 or choice == nil) then | ||||
|                 break; -- Exited menu | ||||
|             else | ||||
|                 guildId = menuToGuild[2][choice];  | ||||
|             end    | ||||
|         end  | ||||
|                  | ||||
|         if (guildId > 0) then | ||||
|             callClientFunction(player, "delegateEvent", player, questNOC, "pETaskBoardGuild", guildId); | ||||
|             local gItem = guildItem[guildId] | ||||
|             callClientFunction(player, "delegateEvent", player, questNOC, "pETaskBoardOrder", unpack(gItem, 1, 4)); | ||||
|             callClientFunction(player, "delegateEvent", player, questNOC, "pETaskBoardOrder", unpack(gItem, 5, 8));    | ||||
|         end | ||||
|     end | ||||
|      | ||||
|     player:EndEvent();   | ||||
| end | ||||
|   | ||||
		Reference in New Issue
	
	Block a user