Download
(439Kb)
Download
Updated: 07-27-15 05:07 PM
Pictures
File Info
Compatibility:
Fury of Hellfire (6.2)
Updated:07-27-15 05:07 PM
Created:07-22-11 11:47 PM
Downloads:11,493
Favorites:67
MD5:

QuestKing 2  Popular! (More than 5000 hits)

Version: 2.2.4
by: Barjack [More]

NOTE

This addon does have some in-game configuration via slash-commands (for example, for dragging and locking the tracker). However, more detailed customization (if required) must be done by editing values in Lua files. See options.lua for more information. There are no plans to add detailed in-game configuration menus.

Description

QuestKing is a complete replacement for Blizzard's default objective tracker/quest tracker. It is designed to be simple, compact and unobstrusive while supporting all the features of the default tracker, plus some of its own.

QuestKing is inspired by old-school quest trackers like GuestGuru, bEQL and MonkeyQuest. However, QuestKing is written from scratch to be a modern objective tracker that supports not only quests, but all the new types of objectives that Blizzard has gradually added to WoW. This includes achievements, scenarios, dungeon objectives, bonus quests, timed objectives, challenge modes, proving grounds, automatic quests, and so on. I have tried to keep the tracker as efficient as possible, and it should hopefully be kind to both your CPU and memory.

The following standard objective tracker features are supported:

  • Quests! Including quest items (non-tainting and usable in combat), sequenced quests, timed quests, and notifications for automatically received/completed quests.
  • Achievements! Including guild achievements and timed achievements.
  • Scenarios! Including bonus objectives and reward animations.
  • Dungeons! Plus bonus objectives and reward animations.
  • Challenge Modes! Including a fully functional medal timer.
  • Proving Grounds! Including wave timers and endless mode scoring.
  • Bonus Objectives! Including progress bars, animations, and reward display.
  • POI Tracking! Just like the default tracker, you can click quests to set your active destination.

QuestKing also provides the following *additional* features:
  • A special notification which appears when you loot an item which starts a quest.
  • Zone/category headings whose contents can be shown or collapsed.
  • Toggleable tracker with three different levels of information display (full, contextual only, none).
  • Three different tracking display modes which you can freely toggle between (quests only, achievements only, combined).
  • Compact, space-efficient design.
  • Quests and objectives colour coded according to level, completion, progress percentage, etc.
  • Customizable position, size, colours and font.
  • Animations for various events including objective progress, new or updated quests and objectives, and so on.

And with the optional but included QuestKingSounds standalone addon:
  • Quest sounds (fully customizable, with options for quest completion, objective completion, and objective progress sounds).

Sadly, there are a couple of things QuestKing does not and probably will not support. Because QuestKing is a categorized tracker, it does not suport changing the sort order dynamically based on zone/distance. It will always show your tracked quests in the same order and category as the quest log itself. It also takes a more conservative approach to supertracking (see the section on supertracking below).

Options

QuestKing comes with a number of slash commands for basic customization. They are as follows.

/qk lock - Locks and unlocks the tracker, making it draggable.
/qk scale - Sets the tracker's scale. Default is 1. Set to 1.2 for 20% larger, etc.
/qk alpha - Sets the tracker's transparency. Default is 0.9, and valid values are 0 to 1.
/qk origin - Sets the point from which the tracker "grows". Default is TOPRIGHT. Other valid values are TOPLEFT, BOTTOMLEFT, BOTTOMRIGHT.
/qk reset - Resets all collapsed objectives and headers.
/qk resetall - Resets all QuestKing settings (global and for the current character).

Many other options are configured by editing values in Lua files. A list of all default options is shown in options.lua, with comments provided next to many variables in case their name is not sufficiently descriptive. You may edit options directly in options.lua if you wish, but you should also consider using options_override.lua to override just the defaults that you want to change. See the comments at the top of options_override.lua for more information.

QuestKingSounds

QuestKing comes with a bundled addon, QuestKingSounds, providing sound alerts for objective progress, completed objectives, and completed quests. This addon is entirely separate from QuestKing and neither depends on the other. You can install QuestKing without QuestKingSounds, or even install QuestKingSounds by itself without using QuestKing. If you do want to use it, you may configure it in the same way QuestKing is configured by looking at options.lua and options_override.lua.

Colours

Quests are coloured according to their difficulty, with some exceptions. Completed quests are coloured bright blue. Completed quests that can be turned in from anywhere are dark blue. Quests with no valid objectives are coloured pale green, indicating a probable "connector" quest (a quest that doesn't need to be "completed" but rather simply requires you to visit some other questgiver, often in another zone or area). Objectives are coloured fading from red to green as they are completed, then finally pale purple at completion (to make it easy to distinguish between a 100/100 objective and a 99/100 objective). Many of these colours are configurable in Lua should you wish to do so.

In-Game Tracker Usage

Mode Button [Q/A/C button]:
- [Left click] to cycle between quest (Q) and achievement (A) view mode.
- [Right click] to cycle into combined (C) mode, where both are shown together (achievements are shown under their own header).

Collapse Button [+/-/x button]:
- [Left click] to toggle collapsing the tracker (+/- modes). A collapsed tracker won't show tracked quests or achievements, but it will still show important and contextual information, like dungeon objectives, quest notifications, and bonus objectives.
- [Right click] to collapse the tracker completely (x mode). A tracker in this mode will never show any information at all.
- [Shift] + [Left click] to cycle the tracker between alternative position presets (if in preset mode).
- [Mouse wheel] to fade in a tracker backdrop (helps to increase visibility).

Notifications (e.g. automatic quests, quest-starting item pickups):
- [Left click] to open.
- [Right click] to dismiss.

Headers:
- [Left click] to collapse.

Quests/Achievements:
- [Left click] to open.
- [Right click] to set active supertracked quest.
- [Shift] + [Left click] to link to chat while the chat editbox is open.
- [Shift] + [Left click] to open the quest in Classic Quest Log, if it's installed (only when chat editbox is not open).
- [Alt] + [Left click] to hide objectives.
- [Alt] + [Right click] to stop tracking this quest/achievement.

A note on supertracking

Supertracking is the term for the "actively tracked" quest whose objective is highlighted more strongly on your map and minimap, and for which a minimap arrow appears. On the default objective tracker and the default map, you do this by clicking the big circled numbers. In QuestKing, you can still use the map as usual, or you can do it by right-clicking the title of a quest (a small yellow dot will appear after the name of the actively supertracked quest). You can right click the same quest again to remove the dot and disable supertracking. Unlike the Blizzard system, you can even use this to supertrack bonus objectives or quests in other zones.

Note however that QuestKing takes a more careful approach to automatic supertracking compared to the default objective tracker. First, QuestKing strongly supports the concept of supertracking no quest at all, and will never automatically set a supertrack target if supertracking is not currently active. This means you won't get minimap arrows constantly appearing and changing around when you're not doing any questing at all. QuestKing will automatically change the supertracked quest only if you are actively questing. This is determined to be the case in three situations:

1) You complete all the objectives of a quest. In this case the closest available quest will be supertracked (which might be the turn-in of the same quest).
2) You accept a new quest. In this case also, the closest available quest will be supertracked.
3) A quest you were tracking is removed from your quest tracker. Again, the closest available quest will be supertracked.

Note that even without any quest supertracked, quest objective areas will always be available and highlighted on the map and minimap. Supertracking only sets the minimap arrow and makes the objective area stand out more.

Notes

Looking for an old-school style quest log to go with your old-school style tracker? I recommend Classic Quest Log by Gello. It's a great addon that works perfectly alongside QuestKing, without any overlapping functionality.

I would like to thank the creators and maintainers of the quest trackers who came before me. Bayi, mrobrian, Gregity, Lazare, Jim-Bim, and many others. QuestKing was heavily inspired by the appearance and functionality of these great addons. And of course, thank you to the authors of Blizzard's own objective tracker (which I referred to constantly while writing this), and to all those who helped document WoW's UI on sites like WoWProgramming and WoWpedia.

Comments, constructive feedback, and bug reports are welcome. I hope you enjoy this addon.

2.2.4
- Fixed a bug with PetTracker integration where the pet zone tracker would frequently reappear even when disabled.
- Added an option to hide the border of the mode toggle buttons (opt.hideToggleButtonBorder, false by default).

2.2.3
- Added a very ugly hack that enables compatibility with PetTracker's objective tracker panel.

2.2.2
- Increased TOC for patch 6.2.
- Fixed bug with bonus objective display (caused by 6.2 patch).
- Fixed bug related to new text format for some reputation objectives (caused by 6.2 patch).
- Fixed display color for objectives whose quota is exceeded rather than merely met.

2.2.1
- Attempted to fix a bug which happened sometimes when multiple bonus objectives were displayed at the same time.

2.2.0
- Improved how superceding objectives are displayed (e.g. Garrison invasion point objectives). If you want the old behaviour (all objectives always visible), then set opt.hideSupersedingObjectives to false.
- Slightly increased the time bonus rewards are displayed from 7 to 10 seconds.
- Fixed how "reptutation"-style objectives are displayed to avoid truncation.
- Fixed some issues in locales that show objective description/count in reverse order (e.g. ruRU).

2.1.1
- Fixed an error that happened when the tracker queued an update for after combat.
- Changed supertracking to always check for the closest POI when accepting a quest.

2.1.0
- Added "/qk scale" to set the tracker scale.
- Added "advanced background" option for better looking backgrounds.
- Fixed the default objective tracker re-appearing after visiting the barber.
- Fixed the scenario stage objective overlay appearing twice when zoning into a scenario or dungeon. (Workaround for Blizzard bug with LevelUpDisplay.)
- Cleaned up some code.

2.0.0
- Massive re-write for WoD.
Optional Files (0)


Post A Reply Comment Options
Unread 08-30-12, 02:26 AM  
Barjack
A Black Drake
AddOn Author - Click to view AddOns

Forum posts: 89
File comments: 58
Uploads: 7
Re: TipTac tooltip scale

Originally Posted by DaemonSambe
This has been bugging me for a while, and it's by sheer chance that i was able to finally identify a culprit. My tooltip scales are controlled by TipTac, and it's been fine for the last couple weeks as i played the Beta, because i wasn't using QuestKing. As soon as i loaded QuestKing to compare to some other trackers, my tooltip scale got reset, so i can safely say something here is causing it. I was using this on Live 4.xx, and i was experiencing random changes in the tooltip scale, but it never occurred that QuestKing was the problem.

.Regards
Thanks for the report. It didn't occur to me that another addon might be setting the default tooltip scale to something other than 1. I've uploaded version 0.93 just now which will attempt to restore the old GameTooltip scale after hiding the tooltip.

Let me know if the problem persists, it's possible I might need to do an even more aggressive fix for this, but I'm not entirely sure.

Thanks.
Last edited by Barjack : 08-30-12 at 02:31 AM.
Report comment to moderator  
Reply With Quote
Unread 08-30-12, 12:09 PM  
DaemonSambe
A Kobold Labourer
 
DaemonSambe's Avatar
AddOn Author - Click to view AddOns

Forum posts: 0
File comments: 169
Uploads: 2
It's working so-so. It was fine for a while, then when i stopped paying attention, it got reset. I think it was also reset early, by an auto-quest popup event, but that may be coincidence.
I don't know if you can really *fix* this sort of thing. With the myriad popups that can be hit in rapid succession during normal gameplay, a scale adjustment will get missed, called at the wrong time or what have you, and then it's gone. The most workable solution is probably just an optionflag, to scale or not. I doubt this has popped up as an issue for more than a handful of users in any case.
But i'm curious why you think you should be setting the scale. From a usability standpoint, i'm of the opinion that the changes i make to my ui are the changes i *want* in my ui, and anyone overwriting that had better have a reason surpassing my own desires. Especially globals things like scale, position, colors, fonts and the like. At times i can be quite ocd about that, so in a situation like this, i'd just remove the offending code and be on my way.
Thanks for looking at it though. If you make any changes i'll put it thru the wringer, but ultimately, if it's unreliable, i'll remove the code for my own sake.

On another note, one of my favorite features from MonkeyQuest was the subzone highlighting of questobjectives.

.Regards
Report comment to moderator  
Reply With Quote
Unread 08-30-12, 05:01 PM  
notalive
A Kobold Labourer

Forum posts: 1
File comments: 1
Uploads: 0
You may want to change
Code:
## Interface: 50004
into
Code:
## Interface: 50001
in the QuestKing.toc file, because right now it is treated as out of date.
Report comment to moderator  
Reply With Quote
Unread 08-30-12, 05:15 PM  
Barjack
A Black Drake
AddOn Author - Click to view AddOns

Forum posts: 89
File comments: 58
Uploads: 7
Originally Posted by notalive
You may want to change ...
Thanks, that's fixed for 0.94. For some reason I assumed the TOC version was kept in sync with the client version. It's back to 50001 now.

Originally Posted by DaemonSambe
I don't know if you can really *fix* this sort of thing. With the myriad popups that can be hit in rapid succession during normal gameplay, a scale adjustment will get missed, called at the wrong time or what have you, and then it's gone. The most workable solution is probably just an optionflag, to scale or not. I doubt this has popped up as an issue for more than a handful of users in any case.
But i'm curious why you think you should be setting the scale. From a usability standpoint, i'm of the opinion that the changes i make to my ui are the changes i *want* in my ui, and anyone overwriting that had better have a reason surpassing my own desires. Especially globals things like scale, position, colors, fonts and the like. At times i can be quite ocd about that, so in a situation like this, i'd just remove the offending code and be on my way.
Yeah, the reasons you states are why I said I might need to try a more aggressive fix (I wasn't sure if rapid show calls would always be preceded by hide calls, etc.). I actually already coded that more aggressive one but if the changes in 0.93 were enough I wasn't going to rush them out.

Anyway, 0.94 has the more aggressive scaling fix. I believe I figured out a way to do it that will always detect the "old" scale correctly, so I'd appreciate if you could test that out for me. I don't use any addons that change the scale so it's more difficult for me to test in case there are any strange interactions going on. Regardless, I also added an option called tooltipScale that you can set to nil to disable all scaling changes.

As for the "why" of using tooltip scaling, in my case the size and position of the tracker on the screen means it's easy to run into with the mouse accidentally, and quest tooltips can be particularly long with many objectives and long lines, creating a very large tooltip in the middle of the screen. So I scale it down a bit to avoid them taking up too much screen space and getting gigantic surprise tooltip popups. Obviously, I do try to return the tooltip to its normal scale afterwards, the problem before was that I was assuming that was "1".

Obviously, feel free to edit any of this stuff to your liking (I know I often do with mods I use).

Originally Posted by DaemonSambe
On another note, one of my favorite features from MonkeyQuest was the subzone highlighting of questobjectives.
I'd never heard of this feature before so I looked into it. Apparently it uses a pretty basic heuristic to detect if the quest is in your subzone, but it may nevertheless be pretty accurate (most of the time). I implemented this feature into 0.94, but it defaults to being off. Set the subzoneHeuristicHighlight option to true to turn it on, and you can change the colours in opt.colors.SubzoneHeuristicHighlightColor. Visually it's a very simplistic backdrop highlight but I didn't really know a better way to do it that wasn't horribly intrusive.

It's not terribly accurate either obviously since it relies on a heuristic method rather than an API method, but it should work any time the MonkeyQuest version worked (and not work any time it didn't work, too).
Report comment to moderator  
Reply With Quote
Unread 08-31-12, 04:40 AM  
Rammoth
A Cliff Giant
 
Rammoth's Avatar
AddOn Author - Click to view AddOns

Forum posts: 73
File comments: 628
Uploads: 1
Is there a way to organize this by how much experience the quests give?

Basically, I want it to guide me to do quests that give the most EXP first, until they're all done in the area I'm doing quests, and also be able to tell me which ones to pick up first, when I get to an area. At the end, after every quest is done, I'd like it to guide me to the same order in turning them in, that way I get leveled up as fast as possible.

Streamlining my questing experience, making it even easier than it already is.
Report comment to moderator  
Reply With Quote
Unread 08-31-12, 05:11 AM  
Barjack
A Black Drake
AddOn Author - Click to view AddOns

Forum posts: 89
File comments: 58
Uploads: 7
Originally Posted by Rammoth
Is there a way to organize this by how much experience the quests give?
It would be possible to implement this on a per-header basis, but it's definitely non-trivial and outside the scope of what I want to code and support.

That said, you can already treat the list on a per-zone basis as a roughly inverted version of an experience sort, anyway. Since experience is mostly tied to the quest level and the quest log sorts by ascending level, later quests will tend to reward more. The only significant exceptions here are group/elite/dungeon quests rewarding more, and connector quests rewarding much less. Thankfully, the tracker shows visual indicators for all of these either by level tag in the former case, or by using the pale green connector colour in the latter. Given that, I don't think implementing more complex sorting methods are really worthwhile.
Report comment to moderator  
Reply With Quote
Unread 08-31-12, 05:18 AM  
Rammoth
A Cliff Giant
 
Rammoth's Avatar
AddOn Author - Click to view AddOns

Forum posts: 73
File comments: 628
Uploads: 1
You make it seem like I can do it myself with the features already provided in this. I'll take a look around, and read the code some, so I can understand how things work more.

If I think it needs this feature for my own personal use, would you mind if I added it in the code?

Originally Posted by Barjack

It would be possible to implement this on a per-header basis, but it's definitely non-trivial and outside the scope of what I want to code and support.

That said, you can already treat the list on a per-zone basis as a roughly inverted version of an experience sort, anyway. Since experience is mostly tied to the quest level and the quest log sorts by ascending level, later quests will tend to reward more. The only significant exceptions here are group/elite/dungeon quests rewarding more, and connector quests rewarding much less. Thankfully, the tracker shows visual indicators for all of these either by level tag in the former case, or by using the pale green connector colour in the latter. Given that, I don't think implementing more complex sorting methods are really worthwhile.
Report comment to moderator  
Reply With Quote
Unread 08-31-12, 05:34 AM  
Barjack
A Black Drake
AddOn Author - Click to view AddOns

Forum posts: 89
File comments: 58
Uploads: 7
Originally Posted by Rammoth
You make it seem like I can do it myself with the features already provided in this. I'll take a look around, and read the code some, so I can understand how things work more.

If I think it needs this feature for my own personal use, would you mind if I added it in the code?
I doubt I'd want to merge such a change back in but if it's for your own use then please, feel free. I modify a number of the addons I use to suit my tastes as well.

You can probably accomplish a simple version of this solely in the "buildQuestSortTable" function, which takes your quest log and assembles a nested table of headers and watched quest ids. It does no sorting currently, it simply uses the default quest log order. I imagine what you want would be possible by creating a more complex annotated table under each header, using SelectQuestLogEntry and GetQuestLogRewardXP (API functions) to get experience values for each quest as you go, and then using that extra information to sort each header's contents and then run through that again turning it into a simple quest id list. Or something like that.
Report comment to moderator  
Reply With Quote
Unread 08-31-12, 10:31 PM  
DaemonSambe
A Kobold Labourer
 
DaemonSambe's Avatar
AddOn Author - Click to view AddOns

Forum posts: 0
File comments: 169
Uploads: 2
Thanks for adding the subzone stuff. I appreciate not having to make lots of changes to mods. One change i'd suggest is to remove the background color on completed quests.

As for the tooltip scale, the first iteration worked better than the current. With the new system, the set scale lasts make 1min after login, and is soon replaced.

.Regards
Report comment to moderator  
Reply With Quote
Unread 08-31-12, 10:44 PM  
Barjack
A Black Drake
AddOn Author - Click to view AddOns

Forum posts: 89
File comments: 58
Uploads: 7
Originally Posted by DaemonSambe
Thanks for adding the subzone stuff. I appreciate not having to make lots of changes to mods. One change i'd suggest is to remove the background color on completed quests.

As for the tooltip scale, the first iteration worked better than the current. With the new system, the set scale lasts make 1min after login, and is soon replaced.
Alright, well thanks for trying. It may be a very difficult problem depending on how the addon interaction works. In any case, setting tooltipScale to nil should solve your problem since I never call SetScale at all in that situation.

I'll change the subzone highlight in the next version to ignore completed quests, but it's not worth releasing a whole new version for. In the meantime you can go to around line 1764 in tracker.lua and change it from "if (opt_subzoneHeuristicHighlight) then" to "if (opt_subzoneHeuristicHighlight) and (isComplete ~= 1) then".
Report comment to moderator  
Reply With Quote
Unread 09-22-12, 01:24 PM  
Neema
A Kobold Labourer

Forum posts: 0
File comments: 6
Uploads: 0
QuestKingSounds replacing ReadyCheck with other built in sounds

Thank you for making a near perfect replacement for the quest objective tracker. I have been searching for something to replace quest guru for some time now as compatibility issues have been creeping into that addon and support for scenarios is not forthcoming. Your addon, for my purposes, works perfectly.

I was looking at the QuestKingSounds and was wondering how to utilize other built in sounds, specifically the Peon vocals. I have put the name of the sound (PeonBuildingComplete1) into the override file to replace ReadyCheck the but this does not work as expected.

Are there limits to what sounds can be played?

Thanks again for your efforts.
Last edited by Neema : 09-22-12 at 01:30 PM.
Report comment to moderator  
Reply With Quote
Unread 09-22-12, 01:41 PM  
Barjack
A Black Drake
AddOn Author - Click to view AddOns

Forum posts: 89
File comments: 58
Uploads: 7
Re: QuestKingSounds replacing ReadyCheck with other built in sounds

Originally Posted by Neema
I was looking at the QuestKingSounds and was wondering how to utilize other built in sounds, specifically the Peon vocals. I have put the name of the sound (PeonBuildingComplete1) into the override file to replace ReadyCheck the but this does not work as expected.
For whatever reason, there are two different ways WoW stores and plays sounds. Some are "interface sounds" which only need a simple name, e.g. "ReadyCheck", whereas other sounds need the full path to that sound to play. Since PeonBuildingComplete1 is a "creature sound", you need to specify the full path to that sound file.

opt.soundQuestComplete = [[Sound\Creature\Peon\PeonBuildingComplete1.wav]]

That should do what you want.
Last edited by Barjack : 09-22-12 at 01:45 PM.
Report comment to moderator  
Reply With Quote
Unread 09-22-12, 02:05 PM  
Neema
A Kobold Labourer

Forum posts: 0
File comments: 6
Uploads: 0
Re: Re: QuestKingSounds replacing ReadyCheck with other built in sounds

Originally Posted by Barjack
That should do what you want.
Yes it does, perfectly! Thanks again
Last edited by Neema : 09-22-12 at 02:06 PM.
Report comment to moderator  
Reply With Quote
Unread 09-29-12, 12:16 PM  
devilArt
A Wyrmkin Dreamwalker
AddOn Author - Click to view AddOns

Forum posts: 51
File comments: 203
Uploads: 2
hi Barjack, thanks for this awesome addon
BTW: can you tell me what font you used at that preview pictures, i really love it
Report comment to moderator  
Reply With Quote
Unread 09-29-12, 03:37 PM  
Barjack
A Black Drake
AddOn Author - Click to view AddOns

Forum posts: 89
File comments: 58
Uploads: 7
Originally Posted by devilArt
hi Barjack, thanks for this awesome addon
BTW: can you tell me what font you used at that preview pictures, i really love it
Sure, if you look in the default options_override.lua you'll see the fonts I personally use (but commented out, of course):

opt.font = [[Interface\AddOns\SharedMedia_MyMedia\font\Calibri.ttf]]
opt.fontChallengeTimer = [[Interface\AddOns\SharedMedia_MyMedia\font\CalibriBold.ttf]]

So that's Calibri for the tracker and Calibri Bold for the challenge timer.
Report comment to moderator  
Reply With Quote
Post A Reply



Category Jump: