Download
(22 Kb)
Download
Updated: 08-30-12 05:13 PM
Pictures
File Info
Compatibility:
Mists of Pandaria (5.0.4)
Updated:08-30-12 05:13 PM
Created:07-22-11 11:47 PM
Downloads:4,206
Favorites:44
MD5:
QuestKing
Version: 0.94
by: Barjack [More]
ATTENTION

This addon contains no in-game configuration and is instead configured by editing values in the Lua files. If you are not comfortable doing this and require in-game configuration, this addon may not be for you. There are no current plans to add any in-game configuration.


Changes for 5.0/MoP

As of version 0.9, options are now moved into a separate file called options.lua. Also, you may specify overrides for the default options in options_override.lua if you wish. Doing so may make upgrading versions easier by electing to keep your override file between versions.

Description

QuestKing is a complete replacement for Blizzard's objective tracker frame. It is designed to be simple, compact and unobstrusive while supporting all the (in my opinion) important features of the Blizzard alternative, plus some of its own.

QuestKing is visually inspired heavily by QuestGuru_Tracker, and philosophically inspired by both QuestGuru_Tracker and its predecessors (such as bEQL). However, QuestKing is written from scratch, with no dependencies, and keeping in mind the requirements of a quest tracker in WoW 5.0. I've also attempted to keep CPU and memory usage relatively low.

The following features from the Blizzard frame ARE supported:
  • Quest tracking
  • Achievement tracking
  • New for 5.0! Scenario stage progress and criteria
  • New for 5.0! Challenge mode support, including medal timers and criteria
  • Notifications for automatically completable quests (New feature since WoW 4.0)
  • Notifications for automatically received quests (New feature since WoW 4.0)
  • Timers for timed quests
  • Timers for timed achievements
  • Quest item buttons
  • Automatic quest tracking (uses Blizzard setting)
The following features from the Blizzard frame ARE NOT supported:
  • Filtering the list based on your current zone
  • Manual or proximity-based sorting
  • Map POI buttons on the tracker itself (POIs still exist on world/mini map)
I may or may not support more of these in future (POIs would be nice but I find the icons rather obstrusive, and collapsable headers are a decent substitute for the first two).

Furthermore, QuestKing provides:
  • Collapsible tracker
  • Highly compact design
  • Notifications when looting items that begin a quest (based on itemID)
  • 3 different view modes (quests only, achievements only, and a combined mode)
  • Colour-coded quests and objectives according to level and completion state
  • Collapsible zone/category headers
  • Collapsible quest/achievement objectives
  • Custom positioning, including toggling between preset positions
  • Customisable size, positioning, font and colours
And with the optional but included QuestKingSounds standalone addon:
  • Quest progress sounds

Options

All 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. This should make upgrading to new versions easier in the future.

At the very least, you will almost certainly want to change the default position of the tracker by editing the "positionPresets" table. Each table there represents the arguments to the SetPoint that will determine the tracker's position.


Colours

Quests are coloured according to their difficulty, with some exceptions. Completed quests are coloured bright blue. Failed quests are coloured purple. 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.


QuestKingSounds

QuestKing comes with a bundled addon, QuestKingSounds, providing sound alerts for objective progress, completed objectives, and completed quests. This addon is entirely seperate from QuestKing and neither depends on the other. You may freely choose not to install QuestKingSounds. 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.


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 achievements are shown under their own header.

Collapse Button [+/- button]:
- [Left click] to toggle collapsing the tracker.
- [Right click] to cycle the tracker between alternative position presets.

Automatic Quest Popups:
- [Left click] to open.
- [Right click] to dismiss.

Headers:
- [Left click] to collapse.

Quests/Achievements:
- [Left click] to open.
- [Right click] to set active quest. (Quests only. Sets minimap arrow. Blizzard UI may override when opening the map.)
- [Shift] + [Left click] to link to chat. (Must have chat editbox open.)
- [Alt] + [Left-click] to collapse objectives. (Achievement objectives will temporarily uncollapse if a timer is detected on one.)
- [Alt] + [Right-click] to stop tracking this quest/achievement.

You may use the slash command /qkreset to reset the collapsed state of all quests, achievements and headers.


Bugs / Other

This is a relatively new addon, so please forgive any bugs (and please tell me about them should you find them). Also, the addon is not currently locale independent in a few of its functions (e.g. getQuestTaggedTitle). Any ideas/code for improvements in terms of efficiency are welcome. Feature requests are also welcome, but keep in mind I intend to keep this addon as slim as possible for my own purposes and am extremely unlikely to add in-game options, etc.
0.94
- TOC back to 50001 (the correct number).
- Made tooltip scale fix more robust.
- Added "tooltipScale" option. Set to nil to disable all scaling adjustments.
- Added "subzoneHeuristicHighlight" option for simple heuristic-based quest subzone highlighting.

0.93
- Will now attempt to restore the previous GameTooltip scale instead of setting it to 1 after the tooltip is hidden.

0.92
- Cleaned up options_override.lua.

0.91
- Added support for Legendary and Account quest tags.
- showCompletedObjectives can now be set to "always" to show objectives even
for complete quests.
- TOC version to 50004.

0.9
- Separated options out into options.lua and options_override.lua. Changing
your options in options_override.lua should allows for easier version
upgrades by keeping your options_override.lua between versions.
- Small code clean-up.
- Fix for new event SCENARIO_CRITERIA_UPDATE.

0.81
- Added separate font config option for challenge mode timer
- Added medal icons next to challenge mode timer
- Added platinum medal support (not currently used in game)
- Updated list of quest-starting items
- Changed challenge timers to more closely reflect the in-game medal colours
- Changed challenge timers to use an abbreviated time format (no hours unless
needed, no leading 0s)
- Changed the way completed scenarios are dislayed, allowing scenario quests
to continue to appear
- Adjusted challenge timer rounding to cause less resync jitter
- Scenario and challenge objectives now obey showCompletedObjectives
- Challenge timers now obey updateRate throttling for OnUpdate time/bar
updates
- Fixed bug causing achievement timers to ignore updateRate throttling after
first update
- (Internal) Cleaned up use of WatchButton:Get -> WatchButton:GetNext

0.8
- Added support for scenarios and scenario quests
- Added support for challenge modes, including medal timer
- Fixed 5.0 achievement bitmask bug
- Fixed 5.0 bug caused by present but nil objectives (e.g. 250 Mark of the
World Tree quests, Research Project: the Mogu Dynasties)

0.72

- Fixed delayed update not occurring when item buttons were hidden due to
layout check instead of button reset.

0.71

- Changed parent of item buttons to UIParent to prevent them being hidden
indirectly due to the parent button being hidden. Should hopefully also help
with taint problems.

0.7

- Fixed a bug that could cause Blizzard's tracker to reappear in some cases
(e.g. when visiting a barber)
- Fixed a possible taint issue that could happen when quest item buttons were
updated during combat. As a result, item buttons that would be created during
combat won't appear during combat, and item buttons that already exist may be
misaligned if quests are moved/hidden/completed during combat. The tracker
will wait until combat ends and force an update, adding or realign any buttons
that combat prevented.

0.66

- Removed a debug line.


0.65

- Re-added QuestKingSounds to archive (was mistakenly not packaged in 0.61).
- Fixed a bug that could cause the tracker to not update immediately or cause
an error occasionally when receiving an automatic quest.


0.61

- TOC updated to 4.3
- Added ability to disable quest item buttons
- Added a work-around for very rare, very obscure bug related to quest log
items being in an incorrect order (true cause remains unknown)


0.6

- Added quest-starting item popups (simple implementation based on predefined
itemID list and CHAT_MSG_LOOT)
- New colour for guild achievements
Optional Files (0)


Archived Files (11)
File Name
Version
Size
Author
Date
0.93
22kB
Barjack
08-30-12 02:25 AM
0.92
22kB
Barjack
08-29-12 10:49 PM
0.91
22kB
Barjack
08-29-12 10:31 PM
0.9
21kB
Barjack
08-29-12 10:14 PM
0.72
17kB
Barjack
02-17-12 06:18 AM
0.71
17kB
Barjack
02-17-12 06:05 AM
0.7
17kB
Barjack
02-17-12 05:44 AM
0.66
17kB
Barjack
12-10-11 06:08 PM
0.61
15kB
Barjack
12-03-11 01:11 PM
0.6
16kB
Barjack
08-28-11 03:21 PM
0.5
14kB
Barjack
07-22-11 11:47 PM


Post A Reply Comment Options
Unread 09-22-12, 02:05 PM  
Neema
A Kobold Labourer

Forum posts: 0
File comments: 2
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.
Neema is offline 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: 80
File comments: 52
Uploads: 6
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.
Barjack is offline Report comment to moderator  
Reply With Quote
Unread 09-22-12, 01:24 PM  
Neema
A Kobold Labourer

Forum posts: 0
File comments: 2
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.
Neema is offline 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: 80
File comments: 52
Uploads: 6
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".
Barjack is offline 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: 152
Uploads: 1
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
DaemonSambe is offline 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: 80
File comments: 52
Uploads: 6
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.
Barjack is offline 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: 672
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.
Rammoth is offline 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: 80
File comments: 52
Uploads: 6
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.
Barjack is offline 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: 672
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.
Rammoth is offline 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: 80
File comments: 52
Uploads: 6
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).
Barjack is offline 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.
notalive is offline 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: 152
Uploads: 1
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
DaemonSambe is offline Report comment to moderator  
Reply With Quote
Unread 08-30-12, 02:26 AM  
Barjack
A Black Drake
AddOn Author - Click to view AddOns

Forum posts: 80
File comments: 52
Uploads: 6
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.
Barjack is offline Report comment to moderator  
Reply With Quote
Unread 08-29-12, 11:47 PM  
DaemonSambe
A Kobold Labourer
 
DaemonSambe's Avatar
AddOn Author - Click to view AddOns

Forum posts: 0
File comments: 152
Uploads: 1
TipTac tooltip scale

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
DaemonSambe is offline Report comment to moderator  
Reply With Quote
Unread 08-13-12, 11:22 AM  
akgis
A Fallenroot Satyr
AddOn Author - Click to view AddOns

Forum posts: 27
File comments: 78
Uploads: 4
Thanks for the answear.

A movable frame would be nice for me because I use the quest tracker the same position I use my damage meters. When Iam questing normaly I dont use the meters and when raiding I dont use quest tracker, but sometimes I use both and being able to move arround its something I used on my old quest tracker. I also hate docked stuff I like to shuffle frames arround maybe its a bad habit.

Would still be awsome if the move option was given.

You mentioned 5.0 and thats where I started to migrate to Questking as my quest tracker, using it on MOP atm.

Thanks.
__________________
akgis is offline Report comment to moderator  
Reply With Quote
Post A Reply



Category Jump: