View Full Version : QuestKeeper - New Mod Suggestion
This mod, depending on the complexity of the suggestions, would do one of two things:
1. Keep track of all quests you have completed. Like your quest panel, quests would be grouped by zone and city, then by level order.
This could simply be the same text as appears in QuestMinion, or perhaps could link to the quest page (which describes the quest and shows rewards).
2. Contain an encyclopedic repository of all quests. You could see all quests available within your region, possibly even with flags on the map, denoting quest-giver, if you click on a quest from this list. Flag suggestion would of course have to assume successful completion of MapMod by Sarf :D
I'm working on tab delimited lists of all quests, so I could help with the data aspect, just not the xml or lua parts. I could include as much information or as little as required, and parse it into any format of your choosing.
Hope somebody enjoys the suggestion :)
As I stated in the convenience mod thread, this would probably gobble up too much memory, for now. I think there's more than 5,000 quests in WoW at the moment. Umm... thats not that much now that I think of it.
If someone (me or vjeux?) does a MapMod, we could certainly adapt code to show up positions on the map.
Anyhow... we'd probably use info gathered from ThottBot for the quests, since it has kinda everything we need. However, this mod would probably take at least one megabyte of memory. This is a rather large chunk of the available 32 Mb, but it is certainly feasible (I was under the impression that it would take far more).
Hmm... sorry about overreacting before.
I'll see if I can fiddle something. We'd need to handle prerequisites and stuff.
Sarf
---
Love's as good as soma!
Oops sorry Sarf! Posted a reply in convenience thread already :lol:
For the Thottbot info, did you mean just collate data already gathered for a data file for QuestKeeper? Or did you mean that you can actually take information from Thottbot and have it displayed in the UI (during playtime)?
If you can, that's pretty neat :-)
I suspect you meant just using Thottbot to gather the data into a usable form. That's basically what I'm currently doing, gathering the data for quests (the info for each quest being spread across several different pages, least for us end-users :-)), and also linking all grouped quests into a single quest heading.
Displaying map positions could easily be added later if MapMod comes to Cosmos...Getting the core done (what is the best way to keep track of quest completion status), is probably the harder part, memory-wise...
Did any of my suggestions in the convenience thread have merit?
For future reference I will see where you post and reply only to that thread :-)
QuestMinion only pulls data from the Quest Log itself, which has strings of text (description, name and so on) and a few other attributes. The internal quest id of a quest is not exposed to us script people.
So, what we would have to do, would be to store the name of a quest, its level, its prerequisites and an id (or reference, or whatever) to the quest giver (we'll not deal with item-generated quests at all, I think - that's easiest for now anyhow).
This would be version 0.01 - only a back end, no exposed code for people to use. It would have to have code to detect when you completed a quest, as well as monitoring the quest frame from quest givers (that way it could automatically mark quests you have already done as "completed").
We would then have to provide some sort of interface to that data - something along the lines of the auction frame (with the search stuff anyhow).
This would be version 1.0 - actually usable.
Furthermore, a "Suggested quests" button for people to use.
This would be version 2.0 - eminently usable.
The question now becomes, how much space does a quest take? Should we store the name of a quest, or its description (yikes!) too? What about rewards? Multi-stage quests? These design decisions should be taken as early as possible.
Sarf
---
Profanity: the single language in which all programmers are expert.
Thanks for the great info, Sarf :)
Answered a lot of my questions before I even knew I had them!
One question I have is: how does QuestMinion yank the Quest steps? Level and name are pretty easy, they are probably in simple table format from the quest panel...
For the quest steps (ie. Kill Crag Boars 1/10), are there embedded tags in the description that QuestMinion can use to know what portion of the quest text is a step? Is it in a hidden field repeated in the quest panel?
The reason I ask is because hopefully there is a similar embedded tag or invisible field that holds the quest giver (the minimap does interact with this, dropping a marker on the giver when it is time to return, so maybe it's possible?).
If this is the case, then QuestKeeper could snag what I would consider the most important info (quest, level, quest giver) all from the quest panel, same as QuestMinion.
This would keep track of all known/completed quests, and is certainly a valuable add-on already :)
Each quest added would take up more space than an item entry for LootLink (for the quest, level, quest giver), but it would likely fill up much more slowly.
If we want to do a suggested quests, or quest encyclopedia of all quests, I guess there is no alternative but to have an enormous data section in the lua or xml file.
You said there might be approximately 5k quests in the game? If we assume a 50/50 split (probably not that accurate right now, but perhaps one day), then perhaps we could have a horde and alliance version to cut the data in half? Based on a cosmos variable setting, only 1 set of data would have to be loaded then at any time.
Regardless, 2500 is still a lot, even if it just 3 fields of info (and likely we would include more). I leave it up to your much more knowledgable mind to determine if this is just way too much overhead for an add-on :)
I certainly would not include the text, quest steps, or end-locations (let them use ThottBot for that :)). At most I would likely include (in a data add-on, all quests available for viewing by level 1 player) the quest name, level, quest giver (could include items instead of npc for those quests), a link (clickable or just text) to contiguous quests, 2-bit field to store 0 (not started) 1(started) 2(completed) status, and perhaps an empty field to be filled with map location for possible MapMod usage (set to zone:0,0 or whatever puts a pointer off the map for item quests).
Thank you so much for taking the time to think about this add-on with me Sarf :) I know I'm not asking for the simplest add-on in the world :)
Edit: One thing I forgot....If Telo's LootLink gets incorporated into Cosmos at some point (most of his other mods are already in, he seems like a great guy, so I suspect it will happen sooner or later?) we COULD use that data for popup info on the rewards...
Thanks for the great info, Sarf :)
Answered a lot of my questions before I even knew I had them!
:) You're welcome!
One question I have is: how does QuestMinion yank the Quest steps? Level and name are pretty easy, they are probably in simple table format from the quest panel...
Actually, every time a step of a quest is completed, they get sent as text to the scripts.
I think you can yank the objectives from the quests too. Haven't studied that part as much as the GUI part of QM.
For the quest steps (ie. Kill Crag Boars 1/10), are there embedded tags in the description that QuestMinion can use to know what portion of the quest text is a step? Is it in a hidden field repeated in the quest panel?
I think, but am not sure, that the objectives can be gotten at somehow.
The reason I ask is because hopefully there is a similar embedded tag or invisible field that holds the quest giver (the minimap does interact with this, dropping a marker on the giver when it is time to return, so maybe it's possible?).
Well, the scripts do not drop the minimap, the client takes care of that. I, unfortunately, think that the quest giver is not located in the quest info.
[snip]
This would keep track of all known/completed quests, and is certainly a valuable add-on already :)
Indeed!
Each quest added would take up more space than an item entry for LootLink (for the quest, level, quest giver), but it would likely fill up much more slowly.
Yeah... but we will probably deliver the quest keeper with a quest database.
If we want to do a suggested quests, or quest encyclopedia of all quests, I guess there is no alternative but to have an enormous data section in the lua or xml file.
You said there might be approximately 5k quests in the game? If we assume a 50/50 split (probably not that accurate right now, but perhaps one day), then perhaps we could have a horde and alliance version to cut the data in half? Based on a cosmos variable setting, only 1 set of data would have to be loaded then at any time.
Unfortunately, this would be hard to do, since the lua files are included by the XML files, and the XML files do not know (when they are loaded) what race your character is, as far as I know. I think we can "forget" the half of the data we don't need once we know the character race though, so this is no biggie.
Regardless, 2500 is still a lot, even if it just 3 fields of info (and likely we would include more). I leave it up to your much more knowledgable mind to determine if this is just way too much overhead for an add-on :)It's probably not that much, we're talking about half a megabte or something like that, maximum. Note that the QuestKeeper would grow very slowly once it had reached this big size (basically only growing as new quests are gathered by ThottBot).
I certainly would not include the text, quest steps, or end-locations (let them use ThottBot for that :)). At most I would likely include (in a data add-on, all quests available for viewing by level 1 player) the quest name, level, quest giver (could include items instead of npc for those quests), a link (clickable or just text) to contiguous quests, 2-bit field to store 0 (not started) 1(started) 2(completed) status, and perhaps an empty field to be filled with map location for possible MapMod usage (set to zone:0,0 or whatever puts a pointer off the map for item quests).
The status of a quest should be kept by each character - however, Cosmos provides a mechanism for this, so this should be easy. We could skip the "started" status too (simply check the quest log for it :) ).
Thank you so much for taking the time to think about this add-on with me Sarf :) I know I'm not asking for the simplest add-on in the world :)
Not a problem. I like to talk about making stuff... in fact, more than I like to do stuff, sometimes. :)
Edit: One thing I forgot....If Telo's LootLink gets incorporated into Cosmos at some point (most of his other mods are already in, he seems like a great guy, so I suspect it will happen sooner or later?) we COULD use that data for popup info on the rewards...
Well, the problem with LootLink is that it takes up quite a bit of memory, and I don't think AlexYoshi wants to bundle it with Cosmos for that reason.
Also, since I am kinda used to have ThottBot at our browsers tentacles, I personally don't see much use in the LootLink AddOn - that's not to say that it's not useful or neat and cool (it's all three) - it's just not for me.
There might be some way to access the rewards similar to accessing the objectives, though, so we could probably use that. If all else fails, we could simply have a "amountOfMoney" field, and an "itemsYesNo" field if all else fails.
Of course, we could have the ThottBot quest id too, so they could go there and check it out of they wanted to. :)
Sarf
---
DELEGATION, n. In American politics, an article of merchandise that comes in sets.
vBulletin® v3.8.0 Beta 1, Copyright ©2000-2008, Jelsoft Enterprises Ltd.