Thread Tools Display Modes
08/18/18, 05:14 PM   #1
Drakanwulf
 
Drakanwulf's Avatar
AddOn Author - Click to view addons
Join Date: Apr 2017
Posts: 50
Linking questId and questName please?

Can anyone tell me how this List of gameQuests table was generated? "http://wiki.esoui.com/Quests"

There has to be a quest name/quest id cross-reference table inside ESO somewhere but I cannot find it and I have been searching for it all day. The wiki table example is exactly what I need; however, it was created for APIVersion 100021 and I need one for Release 4.1, APIVersion 100024. I have searched and searched but I cannot find the program that generated the example table for 100021 and I don't have the time to run all the quests to get the quest name to id cross-references for every new zone, sub-zone, quest, and DLC released since Wrothgar.

Yes, I am trying to update Captain Blagbird's QuestMap addon program. I have gotten the program working for Wolfhunter, updated its Libraries to their current releases and updated the ## APIVersion: to 100024. However, none of that displays the quest pins for any of the Summerset quests because the reference information is not there in the addon's Data subvolume reference files.

I would appreciate any help, information, direction, or swift kicks that could possibly aid me in my "quest" to update the QuestMap reference file information.

Thanks everyone... and why do I suddenly feel like Don Quixote today???

Last edited by Drakanwulf : 08/18/18 at 05:17 PM.
  Reply With Quote
08/18/18, 07:02 PM   #2
Kyoma
AddOn Author - Click to view addons
Join Date: Apr 2014
Posts: 125
Hmmm, I know of one way by iterating the completed quests. Of course this means you'll need a character that has completed them all, or combine it from multiple characters. Tho I don't think this is how it was collected back in the day.

Code:
GetNextCompletedQuestId(number:nilable lastQuestId)
        Returns: number:nilable nextQuestId 

GetCompletedQuestInfo(number questId)
        Returns: string name, number QuestType questType 

GetCompletedQuestLocationInfo(number questId)
        Returns: string zoneName, string objectiveName, number zoneIndex, number poiIndex
  Reply With Quote
08/19/18, 12:54 PM   #3
Drakanwulf
 
Drakanwulf's Avatar
AddOn Author - Click to view addons
Join Date: Apr 2017
Posts: 50
Thanks for the info, Kyoma. Since all I am trying to do is to associate a quest Id with its description, as in this example,

Code:
local gameQuests = {
	[30] = "Dark Brotherhood Assassination",
	[31] = "TM01_OUTOFDATE",
	[35] = "Example Strings",
	[41] = "Thieving from Thieves",
	[45] = "Aldcroft Manor",
        ...
}
I am thinking that iterating through a for loop, using the iterator value for a pseudo-completed quest Id should get the job done... maybe. If I don't get the quest name back, the Id is not valid... What do you think?

Last edited by Drakanwulf : 08/19/18 at 01:18 PM. Reason: Added table example...
  Reply With Quote
08/19/18, 01:46 PM   #4
Kyoma
AddOn Author - Click to view addons
Join Date: Apr 2014
Posts: 125
If you mean just iterating from 0 to x and check for valid quests it wouldn't really work as you expect. It still only gives you info on quests you've completed on that character, not if the questId is valid in general. You might as well loop with GetNextCompletedQuestId then.
  Reply With Quote
08/19/18, 02:22 PM   #5
Rhynchelma
Premium Member
Premium Member
Join Date: Mar 2014
Posts: 43
The latest coercion of Lorebooks has a more complete list in its Quesrdata.lua file.

Maybe ask the author where/how he got his list.
  Reply With Quote
08/19/18, 04:09 PM   #6
Drakanwulf
 
Drakanwulf's Avatar
AddOn Author - Click to view addons
Join Date: Apr 2017
Posts: 50
Thanks, Rhynchelma. I will take a look at the Lorebook table(s) and if they're close enough to what I need, ask him if I can steal them for my own use...

I might look at some other addons too that I know use quest names and ids to get their jobs done to see if their xref tables can be adapted for my use.
  Reply With Quote
08/19/18, 04:29 PM   #7
Kyoma
AddOn Author - Click to view addons
Join Date: Apr 2014
Posts: 125
Originally Posted by Rhynchelma View Post
The latest coercion of Lorebooks has a more complete list in its Quesrdata.lua file.

Maybe ask the author where/how he got his list.
That would be me And I got it with a loop of GetNextCompletedQuestId() on a character that had completed all of the the new Summerset quest. Just something like this:
Code:
    local questId = GetNextCompletedQuestId()
    while questId ~= nil do
        local questName, questType, <the rest> = GetCompletedQuestInfo(questId)
        --do stuff
        questId = GetNextCompletedQuestId(questId)
    end
  Reply With Quote
08/19/18, 04:43 PM   #8
Rhynchelma
Premium Member
Premium Member
Join Date: Mar 2014
Posts: 43
Thanks Kyoma.

It's a real pity that Zenimax don't publish a list, but apparently they don't wish to.
  Reply With Quote
08/19/18, 04:49 PM   #9
Drakanwulf
 
Drakanwulf's Avatar
AddOn Author - Click to view addons
Join Date: Apr 2017
Posts: 50
Thanks, Kyoma. Hmmm... I have a magblade character, Drakanwulf Nb M, who has run Wrothgar, but not all of Summerset. I can try your for loop code on him to see what he finds.

May I steal your quest data, please, or if you find that offensive, may I borrow your quest data and forget to return it, please sir? I would like to use it to run a DIFF to cross check the returns from my magblade character against your en questnames file.

In return, for your assistance, you may "borrow" my quest Ids file after I sort it and update its table, if it would do you any good. I notice that there are similarities between your "additionnalInformation" table and my quest Ids table. Where you use bookIds, I use the quest name to return all the completed quest Ids for that quest.

Or anything else I code that you might find interesting...

Last edited by Drakanwulf : 08/19/18 at 04:52 PM.
  Reply With Quote
08/19/18, 05:02 PM   #10
Drakanwulf
 
Drakanwulf's Avatar
AddOn Author - Click to view addons
Join Date: Apr 2017
Posts: 50
Word of warning though...

Because of my C++ OOP background, I tend to embed table maintenance functions inside the affected table; the intent being to keep people from clobbering the table data with their own code. It's a bad habit that I picked up while designing online applications for banks, NASA, Wall Street, etc. If you want to keep your data pure, make sure you write the access methods to add, delete, retrieve and update the table data... then make sure you embed access to those functions inside the table itself. Helps with todays security requirements too...
  Reply With Quote

ESOUI » Developer Discussions » General Authoring Discussion » Linking questId and questName please?

Thread Tools
Display Modes

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

vB code is On
Smilies are On
[IMG] code is On
HTML code is Off