mirror of
https://bitbucket.org/Ioncannon/project-meteor-server.git
synced 2025-06-09 05:54:50 +02:00
Updated Scripts, removed all the old unique ones for the opening quest.
This commit is contained in:
parent
2279ee7017
commit
958a87edf2
31 changed files with 985 additions and 792 deletions
|
@ -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
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue