Questhelper (vipersniper)
Page 1 of 1
Questhelper (vipersniper)
Download at http://www.wowinterface.com/downloads/download8356-Questhelpervipersniper
This Addons shows your quest objective on the map!
YouTube Video of someone installing and using QuestHelper. https://www.youtube.com/watch?v=DrOjdw90pFM
0.34 includes localizations for German and French, but you'll be starting with a mostly empty database. The support for non-English locales is also pretty new, so YMMV. I know it probably seems pretty useless, but I'd ask that you bear with it and use it anyway, as it won't get any better unless people use it and share their data.
This program still has a few bugs, especially in Outland, where I haven't tested it at all, and where apparently routing code has a habit of spontaneously exploding, and QuestHelper knows nothing about flying mounts and the like. There are also some quests that QuestHelper will never be able to complete properly without a bunch of human intervention, which I'm unlikely to give it, mostly those where the NPCs can be in multiple locations depending on where in the Quest you are, and quests that have objectives that aren't explicitly written as objectives in the quest log.
What It Does
Compiles a list of waypoints for the quests in your quest log, and sorts them so as to minimize the distance between them, and so that they happen in the correct order.
Which is to say, it tells you how to complete all your quests while walking as little as possible.
Usage
For the most part, you just install it and leave it alone. It should hopefully be smart enough to do The Right Thing™, and not require you to meddle with it.
Minimap
The task QuestHelper thinks you should do first is displayed on your minimap, which you can mouse over for a description. If the task isn't in your current zone, then it will point towards where QuestHelper thinks you should go to get there, such as a flight master or the zone border.
World Map
All the tasks QuestHelper wants you to do are displayed on the World Map. There are 'marching ants' connecting the objectives, showing you the order QuestHelper thinks you should complete them in.
You can right click on an objective to get a list of options for it.
Menus
Using the menus should, hopefully, be obvious. The only catch might be that they don't automatically disappear if you click on something else.
You can right click anywhere on a menu to hide it.
Priorities
There are 5 different priority levels an objective can have: Highest, High, Normal, Low, and Lowest.
Most objectives default to Normal. Objectives for timed quests default to High. User created objectives default to Highest.
QuestHelper will try to arrange the objectives so that higher priority objectives get done first. The only time this won't happen is when an objective with a higher priority depends on an objective with a lower priority, in which case QuestHelper will pretend it had the higher priority. You will notice a green arrow in the priority menu when QuestHelper isn't using the priority you assigned.
You can use priorities as hints to get the objectives in an order you'd prefer, without the need to micro-manage the route list.
Filters
There are 3 filters you can use to automatically ignore quests, which you can turn on and off using the slash command /qh filter.
The first filter is level, which by default is on. It will cause QuestHelper to ignore any objectives that your current party probably isn't high enough to complete. You can adjust the level offset used by this filter with the command /qh level offset.
The next filter is zone, which by default is off. It will cause QuestHelper to ignore any objectives that aren't in your current zone. Note that this filter might not do The Right Thing™ for objectives that can be completed in multiple zones.
The last filter is done, which by default is off. It will hide objectives for any quests that aren't complete. You can use this if you don't want to quest and just want to turn the quests you do have in.
You can force QuestHelper to show an objective that otherwise would have been filtered by typing /qh hidden and selecting Show from its entry in the menu.
Sharing
Sharing allows you to share your objectives with other party members, allowing you to combine your routes and work together effectively.
Note that sharing only tells your peers what objectives you have, your completion progress for them, and the priorities you have assigned to them. Information such as item drops and monster locations are not shared.
Each peer will take this information and calculate their own route from it. Assuming you stay together and work cooperatively, which was the whole idea behind this feature, your routes should end up being almost completely identical, and you can follow it and rest assured that nobody is getting left behide. Objectives shared by multiple users won't be removed until everybody has completed it.
User objectives, by default, aren't shared. If there is somebody available to share with, an option will appear in the right-click menu for that objective to allow you to share it manually.
Objective priorities are shared globally. If one user changes the priority of an objective, that change will be reflected in all peers. This, again, was done to ensure that everybody's routes end up being roughly identical, and so that peers would have the correct priorities for timed quests. And it's also a nice feature. Assuming the people you're partied with aren't ass hats.
Slash Commands
* /qh help
Lists all the QuestHelper slash commands.
o /qh help command
Tells you about a specific command.
* /qh hidden
Displays a list of all the hidden objectives, why they are hidden, and depending on the reason, will allow you to unhide them.
* /qh ftime
Toggles the display of the flight time estimates.
* /qh locale locale
Sets the locale to use for displayed text., or lists possible locales if no argument is given.
Defaults to your client's locale the first time you run QuestHelper. The only locale that is complete right now is enUS. Missing translations will be marked with red text.
* /qh share
Toggles objective sharing on and off. When on, will share quest objectives and progress with other party members that are using QuestHelper 0.17 or higher, and also have sharing enabled.
* /qh solo
Will disable quest sharing and ignore anyone you might be partied with, basically assume you will receive no aid from your party members.
* /qh comm
Toggles the display of the data sent between peers. I use this for debugging, but some people just love to stare at streams of meaningless data. It's really quite hypnotic. . .
* /qh hide
Hides QuestHelper's minimap arrow and World Map icons and paths, and suspends the calculation of routes.
* /qh cartwp
Toggles using Cartographer Waypoints to display your current objective.
* /qh level offset
Sets the level offset used by the level filter. Can be positive or negative. Invoke with no arguments to see the current offset and your effective level at various party sizes.
o /qh level 0
Only show quests at or below your own level.
o /qh level +2
Show quests up to two levels above your own level. This is the default.
* /qh nag
Prints counts of all the new or updated quests, objectives, etc, that you have found that aren't in the supplied database.
Note: To reduce memory usage, QuestHelper deletes static quest data that doesn't belong to your faction. So, if you play both sides, it will always think the quests you did for the opposite faction are new.
o /qh nag verbose
Displays the specific differences between your data and the static data.
* /qh find category query
Allows you to create custom objectives by searching for known items, NPCs, and locations. The queries allow fuzzy string matching, and so should happly accept typos and partial matches.
Note that if you attempt to create an objective twice, it will instead hide it.
o /qh find item item-name
Search for items.
o /qh find npc npc-name
Search for NPCs or monsters.
o /qh find loc zone-name x y
Search for a location in a zone. You may also use a comma, should you feel the need to.
o /qh find loc x y
Search for a location in your current zone.
o /qh find search-string
Searches in all categories.
o /qh find
Invoking the find command without any arguments will instead display all your current user created objectives, allowing you to easily turn them off.
* /qh filter filter-name
Toggles objective filters on or off.
o /qh filter level
Shows or hides objective that you probably can't do. Note that this considers the the levels of everyone in your party, not just you. If you're partied with somebody higher than you, it might not hide a quest that it otherwise would have.
o /qh filter zone
Shows or hides objective that aren't in your current zone.
o /qh filter done
Shows or hides quests that aren't complete.
* /qh scale value
Scales the map icons by this amount of their default size. Will accept a number or a percentage, in the range of 50-300%.
* /qh recalc
Recreates the world graph and location and distance information for the active objectives. You probably don't need to worry about this.
* /qh purge
Deletes all your collected data. I'd prefer if you avoided using this any time other than immediately after sharing your collected data.
Requires that you to enter a randomly generated 8 character case sensitive alphanumeric password, to hopefully ensure that people read the message that gets displayed.
* /questhelper
Alias for /qh.
* /find, /qhfind,
Alias for /qh find.
* /qh find monster
Alias for /qh find npc.
* /qh find location
Alias for /qh find loc.
How You Can Help
Data
I need data. If you want to share your saved data with me, that'd be great. The file I need is stored in the following location, assuming you're using Windows and didn't change the installation path:
C:\Program Files\World of Warcraft\WTF\Account\ACCOUNT_NAME\SavedVariables\QuestHelper.lua
Some have reported that for Vista their path is:
C:\Users\<UserName>\AppData\Local\VirtualStore\Program Files\World of Warcraft\WTF\Account\<Account NAME>\SavedVariables
I use vista and it is in the normal windows spot for me, but apparently some of you aren't normal.
To make things even more difficult, it seems that Windows might try 'help' you by hiding file extensions. This makes 'QuestHelper.lua' appear as 'QuestHelper'. Warcraft makes backups of all these files, so there is a 'QuestHelper.lua.bak' file in there as well, and without its file extension, it appears as 'QuestHelper.lua', but it isn't really and it's not actually the file I want.
Be careful not to descend into the realm / character directories, we specifically want the SavedVariables directory. There are QuestHelper.lua files in the other directories as well, but they only store which flight routes your characters know, and aren't actually useful. On a similar note, I also don't want the file named SavedVariables.lua, which contains your UI preferences and is entirely unrelated.
You can email it to me at:
qhaddon@gmail.com
Many have asked how often to send in data. My personal preference is basically this: Look at the message QH displays when you first log in or do a /console reloadui... if it says you have updated information on X quests, these are quests that you completed an objective for in a spot that QH had not seen before. Unless you have many, probably not worth your work of e-mailing it. However if QH says you have information on X new quests, you have completed a quest QH didn't know how to do. Please share! Someone out there will have that quest and thank you!
Please note that the above has nothing to do with installing this AddOn. You install this AddOn the same way you would install any other AddOn, by unzipping it into the Interface/AddOns folder.
And, of course, a huge thanks to everyone that has sent me their data so far. It's very much appreciated.
Translations
Eventually, the text in lang_enus.lua will need to be translated into other languages.
If you don't use English and the red text bugs you, then you're welcome to edit the appropriate file and fix it for me; or if you can't be bothered to fix it and are happy with enough with English, then you can just type /qh locale enUS.
If you do translate the text, please use UTF-8 encoding. That's the encoding the WoW client uses, I don't want to try to convert it, and in any case, I have a strong biased opinion that codepages are evil.
deDE has already been translated.
A translation for frFR has been submitted and should appear in the next version.
FAQ
Why aren't my quests showing up?
/qh hidden will list everything that isn't being shown, along with the reason for it being hidden.
How can I get rid of that arrow over my character's head?
/qh cartwp will hide the arrow. If you'd rather move it instead, you can drag it around by left clicking. . . unless it's been locked, in which case right click on it and unlock it first.
How do get that 3D arrow pointing where to go?
That arrow is part of Cartographer Waypoints. It should appear automatically as long as Cartographer is installed and running, and you haven't turned off that feature.
The Icons on my map are huge! How can anyone see anything?
If you find the icons are too big for you, you may enter /qh scale X%, replacing X with some reasonable scale. I'd start with 80%, depending on how that looks you can try bigger or smaller numbers.
Development
There is a Git mirror for this project's code here: http://repo.or.cz/w/QuestHelper.git
It isn't in a very user friendly state right now, but if I waited until it was perfect, it would never be released. So here it is.
This Addons shows your quest objective on the map!
YouTube Video of someone installing and using QuestHelper. https://www.youtube.com/watch?v=DrOjdw90pFM
0.34 includes localizations for German and French, but you'll be starting with a mostly empty database. The support for non-English locales is also pretty new, so YMMV. I know it probably seems pretty useless, but I'd ask that you bear with it and use it anyway, as it won't get any better unless people use it and share their data.
This program still has a few bugs, especially in Outland, where I haven't tested it at all, and where apparently routing code has a habit of spontaneously exploding, and QuestHelper knows nothing about flying mounts and the like. There are also some quests that QuestHelper will never be able to complete properly without a bunch of human intervention, which I'm unlikely to give it, mostly those where the NPCs can be in multiple locations depending on where in the Quest you are, and quests that have objectives that aren't explicitly written as objectives in the quest log.
What It Does
Compiles a list of waypoints for the quests in your quest log, and sorts them so as to minimize the distance between them, and so that they happen in the correct order.
Which is to say, it tells you how to complete all your quests while walking as little as possible.
Usage
For the most part, you just install it and leave it alone. It should hopefully be smart enough to do The Right Thing™, and not require you to meddle with it.
Minimap
The task QuestHelper thinks you should do first is displayed on your minimap, which you can mouse over for a description. If the task isn't in your current zone, then it will point towards where QuestHelper thinks you should go to get there, such as a flight master or the zone border.
World Map
All the tasks QuestHelper wants you to do are displayed on the World Map. There are 'marching ants' connecting the objectives, showing you the order QuestHelper thinks you should complete them in.
You can right click on an objective to get a list of options for it.
Menus
Using the menus should, hopefully, be obvious. The only catch might be that they don't automatically disappear if you click on something else.
You can right click anywhere on a menu to hide it.
Priorities
There are 5 different priority levels an objective can have: Highest, High, Normal, Low, and Lowest.
Most objectives default to Normal. Objectives for timed quests default to High. User created objectives default to Highest.
QuestHelper will try to arrange the objectives so that higher priority objectives get done first. The only time this won't happen is when an objective with a higher priority depends on an objective with a lower priority, in which case QuestHelper will pretend it had the higher priority. You will notice a green arrow in the priority menu when QuestHelper isn't using the priority you assigned.
You can use priorities as hints to get the objectives in an order you'd prefer, without the need to micro-manage the route list.
Filters
There are 3 filters you can use to automatically ignore quests, which you can turn on and off using the slash command /qh filter.
The first filter is level, which by default is on. It will cause QuestHelper to ignore any objectives that your current party probably isn't high enough to complete. You can adjust the level offset used by this filter with the command /qh level offset.
The next filter is zone, which by default is off. It will cause QuestHelper to ignore any objectives that aren't in your current zone. Note that this filter might not do The Right Thing™ for objectives that can be completed in multiple zones.
The last filter is done, which by default is off. It will hide objectives for any quests that aren't complete. You can use this if you don't want to quest and just want to turn the quests you do have in.
You can force QuestHelper to show an objective that otherwise would have been filtered by typing /qh hidden and selecting Show from its entry in the menu.
Sharing
Sharing allows you to share your objectives with other party members, allowing you to combine your routes and work together effectively.
Note that sharing only tells your peers what objectives you have, your completion progress for them, and the priorities you have assigned to them. Information such as item drops and monster locations are not shared.
Each peer will take this information and calculate their own route from it. Assuming you stay together and work cooperatively, which was the whole idea behind this feature, your routes should end up being almost completely identical, and you can follow it and rest assured that nobody is getting left behide. Objectives shared by multiple users won't be removed until everybody has completed it.
User objectives, by default, aren't shared. If there is somebody available to share with, an option will appear in the right-click menu for that objective to allow you to share it manually.
Objective priorities are shared globally. If one user changes the priority of an objective, that change will be reflected in all peers. This, again, was done to ensure that everybody's routes end up being roughly identical, and so that peers would have the correct priorities for timed quests. And it's also a nice feature. Assuming the people you're partied with aren't ass hats.
Slash Commands
* /qh help
Lists all the QuestHelper slash commands.
o /qh help command
Tells you about a specific command.
* /qh hidden
Displays a list of all the hidden objectives, why they are hidden, and depending on the reason, will allow you to unhide them.
* /qh ftime
Toggles the display of the flight time estimates.
* /qh locale locale
Sets the locale to use for displayed text., or lists possible locales if no argument is given.
Defaults to your client's locale the first time you run QuestHelper. The only locale that is complete right now is enUS. Missing translations will be marked with red text.
* /qh share
Toggles objective sharing on and off. When on, will share quest objectives and progress with other party members that are using QuestHelper 0.17 or higher, and also have sharing enabled.
* /qh solo
Will disable quest sharing and ignore anyone you might be partied with, basically assume you will receive no aid from your party members.
* /qh comm
Toggles the display of the data sent between peers. I use this for debugging, but some people just love to stare at streams of meaningless data. It's really quite hypnotic. . .
* /qh hide
Hides QuestHelper's minimap arrow and World Map icons and paths, and suspends the calculation of routes.
* /qh cartwp
Toggles using Cartographer Waypoints to display your current objective.
* /qh level offset
Sets the level offset used by the level filter. Can be positive or negative. Invoke with no arguments to see the current offset and your effective level at various party sizes.
o /qh level 0
Only show quests at or below your own level.
o /qh level +2
Show quests up to two levels above your own level. This is the default.
* /qh nag
Prints counts of all the new or updated quests, objectives, etc, that you have found that aren't in the supplied database.
Note: To reduce memory usage, QuestHelper deletes static quest data that doesn't belong to your faction. So, if you play both sides, it will always think the quests you did for the opposite faction are new.
o /qh nag verbose
Displays the specific differences between your data and the static data.
* /qh find category query
Allows you to create custom objectives by searching for known items, NPCs, and locations. The queries allow fuzzy string matching, and so should happly accept typos and partial matches.
Note that if you attempt to create an objective twice, it will instead hide it.
o /qh find item item-name
Search for items.
o /qh find npc npc-name
Search for NPCs or monsters.
o /qh find loc zone-name x y
Search for a location in a zone. You may also use a comma, should you feel the need to.
o /qh find loc x y
Search for a location in your current zone.
o /qh find search-string
Searches in all categories.
o /qh find
Invoking the find command without any arguments will instead display all your current user created objectives, allowing you to easily turn them off.
* /qh filter filter-name
Toggles objective filters on or off.
o /qh filter level
Shows or hides objective that you probably can't do. Note that this considers the the levels of everyone in your party, not just you. If you're partied with somebody higher than you, it might not hide a quest that it otherwise would have.
o /qh filter zone
Shows or hides objective that aren't in your current zone.
o /qh filter done
Shows or hides quests that aren't complete.
* /qh scale value
Scales the map icons by this amount of their default size. Will accept a number or a percentage, in the range of 50-300%.
* /qh recalc
Recreates the world graph and location and distance information for the active objectives. You probably don't need to worry about this.
* /qh purge
Deletes all your collected data. I'd prefer if you avoided using this any time other than immediately after sharing your collected data.
Requires that you to enter a randomly generated 8 character case sensitive alphanumeric password, to hopefully ensure that people read the message that gets displayed.
* /questhelper
Alias for /qh.
* /find, /qhfind,
Alias for /qh find.
* /qh find monster
Alias for /qh find npc.
* /qh find location
Alias for /qh find loc.
How You Can Help
Data
I need data. If you want to share your saved data with me, that'd be great. The file I need is stored in the following location, assuming you're using Windows and didn't change the installation path:
C:\Program Files\World of Warcraft\WTF\Account\ACCOUNT_NAME\SavedVariables\QuestHelper.lua
Some have reported that for Vista their path is:
C:\Users\<UserName>\AppData\Local\VirtualStore\Program Files\World of Warcraft\WTF\Account\<Account NAME>\SavedVariables
I use vista and it is in the normal windows spot for me, but apparently some of you aren't normal.
To make things even more difficult, it seems that Windows might try 'help' you by hiding file extensions. This makes 'QuestHelper.lua' appear as 'QuestHelper'. Warcraft makes backups of all these files, so there is a 'QuestHelper.lua.bak' file in there as well, and without its file extension, it appears as 'QuestHelper.lua', but it isn't really and it's not actually the file I want.
Be careful not to descend into the realm / character directories, we specifically want the SavedVariables directory. There are QuestHelper.lua files in the other directories as well, but they only store which flight routes your characters know, and aren't actually useful. On a similar note, I also don't want the file named SavedVariables.lua, which contains your UI preferences and is entirely unrelated.
You can email it to me at:
qhaddon@gmail.com
Many have asked how often to send in data. My personal preference is basically this: Look at the message QH displays when you first log in or do a /console reloadui... if it says you have updated information on X quests, these are quests that you completed an objective for in a spot that QH had not seen before. Unless you have many, probably not worth your work of e-mailing it. However if QH says you have information on X new quests, you have completed a quest QH didn't know how to do. Please share! Someone out there will have that quest and thank you!
Please note that the above has nothing to do with installing this AddOn. You install this AddOn the same way you would install any other AddOn, by unzipping it into the Interface/AddOns folder.
And, of course, a huge thanks to everyone that has sent me their data so far. It's very much appreciated.
Translations
Eventually, the text in lang_enus.lua will need to be translated into other languages.
If you don't use English and the red text bugs you, then you're welcome to edit the appropriate file and fix it for me; or if you can't be bothered to fix it and are happy with enough with English, then you can just type /qh locale enUS.
If you do translate the text, please use UTF-8 encoding. That's the encoding the WoW client uses, I don't want to try to convert it, and in any case, I have a strong biased opinion that codepages are evil.
deDE has already been translated.
A translation for frFR has been submitted and should appear in the next version.
FAQ
Why aren't my quests showing up?
/qh hidden will list everything that isn't being shown, along with the reason for it being hidden.
How can I get rid of that arrow over my character's head?
/qh cartwp will hide the arrow. If you'd rather move it instead, you can drag it around by left clicking. . . unless it's been locked, in which case right click on it and unlock it first.
How do get that 3D arrow pointing where to go?
That arrow is part of Cartographer Waypoints. It should appear automatically as long as Cartographer is installed and running, and you haven't turned off that feature.
The Icons on my map are huge! How can anyone see anything?
If you find the icons are too big for you, you may enter /qh scale X%, replacing X with some reasonable scale. I'd start with 80%, depending on how that looks you can try bigger or smaller numbers.
Development
There is a Git mirror for this project's code here: http://repo.or.cz/w/QuestHelper.git
It isn't in a very user friendly state right now, but if I waited until it was perfect, it would never be released. So here it is.
Page 1 of 1
Permissions in this forum:
You cannot reply to topics in this forum