Closed skmd0 closed 5 months ago
They have to be added manually. Check the read me for details on how everything works it covers the basics.
I read the README and I checked this example and it still looks cryptic to me. No idea what to put in what file and what key-value to use for specific data.
I might give it a go if I can figure it out.
Everything of importance is in the db
folder
db
areatrigger-epoch.lua
areatrigger locations for exploration quests
Format: [AREATRIGGERID#] = { ["coords"] = { [1] = { x, y, zoneid}, }, },
Example: [1] = { ["coords"] = { [1] = { 35.8, 62.1, 11 }, }, },
items-epoch.lua
item information has ["U"] (Unit) or ["O"] (Object) can have multi objects or units it drops from.
Format: [ITEMID#] = { ["O"] = { [OBJECTID#] = drop%number, - first object it drops from [OBJECTID#] = drop%number, - second object it drops from }, ["U"] = { [UNITID#] = drop%number, -- first npc it drops from [UNITID#] = drop%number, -- second npc it drops from }, },
Example: [4606] = { ["O"] = { [153462] = 4.17, }, ["U"] = { [3] = 4.73, [48] = 4.55, }, },
meta-epoch.lua
meta relations, such as a list of gameobjects that are ores, a list of unitids that are flightpoints, etc. (/db taxi, /db herbs, /db mines, ..).
Format: ["chests"] = { [-CHESTID#] = 0, }, ["flight"] = { [UNITID#] = "FACTIONLETTER", -- Unit id of the flight path npc and A, H, or AH for faction. [UNITID#] = "FACTIONLETTER", [UNITID#] = "FACTIONLETTER", }, ["rares"] = { [UNITID#] = LEVEL, [UNITID#] = LEVEL, },
Example: ["chests"] = { [-3000248] = 0, [-3000247] = 0, }, ["flight"] = { [352] = "A", [1233] = "AH", [1387] = "H", }, ["rares"] = { [61] = 11, [79] = 10, },
minimap-epoch.lua
the minimap scale factor of certain areas. So that pfQuest shows the dots correct inside buildings on the minimap.
Format: [MAPID] = { xsize, ysize },
Example: [25] = { 711.56, 468.68 },
objects-epoch.lua
object information such as cords and id etc
Format: [OBJECTID#] = { ["coords"] = { [1] = { x, y, zoneid, respawn }, }, },
Example: [34] = { ["coords"] = { [1] = { 40.6, 17, 40, 2700 }, }, },
quests-epoch.lua
quest information such as cords and id etc. I suggest looking up Quests seeing there can be more to this like Object starting quests, item starting quests, quest objectives, and more it should be pretty straight forward if you look up a few quests and compare to the quests.lua.
Format: [QUESTID#] = { ["start"] = { ["U"] = { UNITID# }, }, ["end"] = { ["U"] = { UNITID# }, }, ["lvl"] = questlevel, ["min"] = requiredlevel, ["next"] = nextquestidafterthisone, },
Example: [27246] = { ["start"] = { ["U"] = { 14624 }, }, ["end"] = { ["U"] = { 46164 }, }, ["lvl"] = 50, ["min"] = 50, ["next"] = 27242, },
quests-itemreq-epoch.lua
Format:
Example:
refloot-epoch.lua
item requirements, like if an item needs an amboss, the list contains all amboss objects. (e.g Broken Tools quest).
Format:
Example:
units-epoch.lua
unit info such as level, id, cords, faction, etc
Format: [UNITID#] = { ["coords"] = { [1] = { x, y, zoneid, respawn }, [2] = { x, y, zoneid, respawn }, }, ["fac"] = "faction", -- A (Alliance), H (Horde), AH (both) ["lvl"] = "level", },
Example: [61100] = { ["coords"] = { [1] = { 96.5, 66.8, 440, 280 }, [2] = { 52.7, 80.7, 5121, 280 }, }, ["fac"] = "AH", ["lvl"] = "55", },
zones-epoch.lua
zones and their position on maps, aswell as maps itself. Required to obtain map IDs and to know where the "Goldtooth Mine" is, when a quest want you to discover it. Later in TBC there are scripted quests that require you to use something at a specific zone, it then shows the entire zone on the map. (Like the one below shattrath where you need to drum to get the worms out)
Format:
Example:
enUS - Locolization folder.
[ITEMID#] = "ITEMNAME",
[OBJECTID#] = "OBJECTNAME",
[PROFESSIONID#] = "PROFESSIONNAME",
[UNITID#] = "UNITNAME",
[ZONEID#] = "ZONENAME",
This should explain most of it however it would prob be best to just look at a quest in pfquest (the normal one) and compare what they have there to the quest in wowhead.
Thank you so much for detailed response. I was looking into pfQuest source code to try to find where it gets parsed to see which key value is for what and it was rough to make much sense.
Yea the best way would be just to look up a normal vanilla quest in pfquest and see how it is formatted and compare it to a database.
Quick question, since object ID cannot be received with in-game script, how can we add quests that require looting objects on the ground for example?
Check the object page we are using dummy ids that are really high. We just came across this recently.
@skmd0 make sure to grab the latest updates of pfquest and pfquest-epoch. A few bugs just got fixed in both of them.
Do custom quests get added automatically or do we need to manually add quests? If so, how can one contribute with adding quests?