Minion Beta! - Help us test our new AddOn updater. Get it now!
Download
(22 Kb)
Download
Updated: 08-30-12 05:13 PM
Pictures
File Info
Updated:08-30-12 05:13 PM
Created:07-22-11 11:47 PM
Downloads:4,310
Favorites:40
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 02-07-12, 06:01 PM  
Barjack
A Black Drake
AddOn Author - Click to view AddOns

Forum posts: 80
File comments: 54
Uploads: 6
Originally Posted by Shabazza
Hi,

i have a strange behavior with my questlog. Sometimes when i log in, my quest are looking like this:
Hmm. I really don't know if this can be QuestKing's fault. QuestKing doesn't actually do anything to the quest log. In fact it even does very little to the quest tracker, only forces it it hide itself by replacing WatchFrame_Update. If you wanted to test that you could open tracker.lua and replace "function WatchFrame_Update()" with "function zzzWatchFrame_Update()" temporarily so that is not being overridden any more.

I can't reproduce this bug on my end though, nor can I understand how it might happen given the virtually zero level of interaction QuestKing has with the quest log (QuestKing does use standard quest log functions for seeing how many quests and such you have, but it never actually tries to set or change anything in the log). So it's difficult for me to say what might be causing this.
Last edited by Barjack : 02-07-12 at 06:02 PM.
Barjack is offline Report comment to moderator  
Reply With Quote
Unread 02-07-12, 06:43 PM  
stako
A Murloc Raider
 
stako's Avatar
AddOn Author - Click to view AddOns

Forum posts: 6
File comments: 19
Uploads: 2
Originally Posted by Shabazza
Hi,

i have a strange behavior with my questlog. Sometimes when i log in, my quest are looking like this:

http://img96.imageshack.us/img96/8292/log1k.jpg

When i open the worldmap f.e. or reloadui once the log looks like this:

http://img843.imageshack.us/img843/5676/log2v.jpg

When i click on another quest, and go back to the previous, then it looks broken again.

I don't know if it is a QuestKing problem, but when i disable the addon, everything is fine...

regards, Sha
I've had the same issue and I have never used QuestKing. Something else causes this.
stako is online now Report comment to moderator  
Reply With Quote
Unread 02-08-12, 12:37 PM  
Shabazza
A Kobold Labourer

Forum posts: 1
File comments: 52
Uploads: 0
Hi,

sorry that i cause you trouble to look into your code. I have found the problem. It's "DailyQuestHelper". On WoWAce the is an Ticket open with this behavior.

Keep up the good work.

regards, Sha
Shabazza is offline Report comment to moderator  
Reply With Quote
Unread 02-13-12, 12:27 PM  
leobolin
A Defias Bandit
AddOn Author - Click to view AddOns

Forum posts: 2
File comments: 24
Uploads: 1
Taint?

First of all, thanks for this awesome addon. I'ts a great replacement to QuestGuru. Keep up the good work!

I'm getting "QuestKing has been blocked from an action only available to the Blizzard UI." a lot when using quest items via the tracker. It seems to trigger randomly, but once it has been triggered it happens every time until I complete the quest in question or reload my UI. Any idea if you will be able to fix this?
Last edited by leobolin : 02-13-12 at 12:27 PM.
leobolin is offline Report comment to moderator  
Reply With Quote
Unread 02-16-12, 05:17 AM  
Barjack
A Black Drake
AddOn Author - Click to view AddOns

Forum posts: 80
File comments: 54
Uploads: 6
Re: Taint?

Originally Posted by leobolin
First of all, thanks for this awesome addon. I'ts a great replacement to QuestGuru. Keep up the good work!

I'm getting "QuestKing has been blocked from an action only available to the Blizzard UI." a lot when using quest items via the tracker. It seems to trigger randomly, but once it has been triggered it happens every time until I complete the quest in question or reload my UI. Any idea if you will be able to fix this?
Thanks for the report. Personally I've never seen this happen but you mention it's related to using quest items, so I think I know what might be causing the problem (specifically, when quest item buttons are created/hidden/moved during combat). I think I know of a decent work-around, but it'll require some fiddling and I haven't had a lot of time to play lately. Hopefully over the next few days I'll have an opportunity to work on this.

If you're able to provide a taint.log that would probably be helpful, but since I have a decent idea of the cause it's probably not necessary.
Barjack is offline Report comment to moderator  
Reply With Quote
Unread 02-17-12, 06:07 AM  
Barjack
A Black Drake
AddOn Author - Click to view AddOns

Forum posts: 80
File comments: 54
Uploads: 6
Updated to 0.72

I've uploaded a version 0.72, which attempts to fix the taint issue. Taint was being caused when item buttons were created/moved during combat, so now QuestKing will delay moving or creating the buttons directly until combat ends. If the text on the Q/A/C mode button turns red, that means an update may be being delayed until the end of combat. Hopefully this solves or comes close to solving the problem.

Since I've changed the item button code a bit (I had to change their parent frame to prevent them automatically moving/hiding with the buttons during combat), I might have introduced some bugs related to that. Let me know if you see anything weird happening with item buttons not disappearing or staying in the wrong position even after combat is over.

I'm pretty sure the current solution isn't perfect, but hopefully it's enough to make it so this problem very rarely if ever happens.
Last edited by Barjack : 02-17-12 at 06:19 AM.
Barjack is offline Report comment to moderator  
Reply With Quote
Unread 02-17-12, 12:32 PM  
zork
A Pyroguard Emberseer
 
zork's Avatar
AddOn Author - Click to view AddOns

Forum posts: 1391
File comments: 3398
Uploads: 89
Currently testing. Did a little adjustment to the button code. You can make use of predefined button templates.

What I'm using now:
lua Code:
  1. --minimize button
  2.     local minimizeButton = CreateFrame("Button", "QuestKing_TrackerMinimizeButton", titlebar, 'UIPanelButtonTemplate')
  3.     QuestKing_TrackerMinimizeButton = minimizeButton
  4.     minimizeButton:SetWidth(18)
  5.     minimizeButton:SetHeight(18)
  6.     minimizeButton:SetText('+')
  7.     minimizeButton:RegisterForClicks("LeftButtonUp", "RightButtonUp")
  8.     minimizeButton:SetScript("OnClick", QuestKing.MinimizeButtonOnClick)
  9.  
  10.     -- mode button
  11.     local modeButton = CreateFrame("Button", "QuestKing_TrackerModeButton", titlebar, 'UIPanelButtonTemplate')
  12.     QuestKing_TrackerModeButton = modeButton
  13.     modeButton:SetWidth(18)
  14.     modeButton:SetHeight(18)
  15.     modeButton:SetText('Q')
  16.     modeButton:RegisterForClicks("LeftButtonUp", "RightButtonUp")
  17.     modeButton:SetScript("OnClick", QuestKing.ModeButtonOnClick)

That way the buttons will use the UIPanelButtonTemplate and you get all the textures right away. Any label can be removed, just using SetText on the button is enough.

Hint: The button text object in the template has a key value called "Text". Thus you can still reach the text object via: _G["QuestKing_TrackerModeButtonText"]

Result


Info
http://wowprogramming.com/docs/widgets/Button

Additionally I fixed the dragging.

lua Code:
  1. --create dragframe at first
  2.     local df = CreateFrame("Frame", "QuestKingTrackerDragFrame", UIParent)
  3.     df:SetSize(10,10)
  4.     df:SetPoint("TOPRIGHT", -100, -250)
  5.     df:SetMovable(true)
  6.     df:SetUserPlaced(true)
  7.  
  8.     local frame = CreateFrame("Frame", "QuestKing_Tracker", df) --anchor dragframe
  9.     QuestKing_Tracker = frame
  10.     frame:SetPoint("TOPRIGHT",0,0) --important, anchor the frame to the topright
  11.  
  12.     -- titlebar
  13.         -- ...
  14.     titlebar:SetScript("OnMouseDown", function ()
  15.         df:StartMoving()
  16.     end)
  17.     titlebar:SetScript("OnMouseUp", function ()
  18.         df:StopMovingOrSizing()
  19.     end)

Thus dragging the titlebar makes the frame move without it going crazy on minimize.

Very nice mod. Ty.
__________________
| Simple is beautiful.
| Roth UI | Roth UI FAQ | GoogleCode | Zork | TDMOG

"I wonder what the non-pathetic people are doing tonight?" - Rajesh Koothrappali (The Big Bang Theory)
Last edited by zork : 02-17-12 at 01:46 PM.
zork is offline Report comment to moderator  
Reply With Quote
Unread 02-18-12, 12:30 AM  
unlimit
Lookin' Good
 
unlimit's Avatar
AddOn Author - Click to view AddOns

Forum posts: 484
File comments: 24
Uploads: 4
Changing QuestKing to what Zork posted, I end up with:

Code:
Interface\AddOns\QuestKing\tracker.lua:975: attempt to index upvalue 'QuestKing_TrackerMinimizeButton' (a nil value)

Stack trace:
-----------
Interface\AddOns\QuestKing\tracker.lua:975: in function <Interface\AddOns\QuestKing\tracker.lua:923>
Interface\AddOns\QuestKing\tracker.lua:437: in function <Interface\AddOns\QuestKing\tracker.lua:421>
Although I'm pretty sure that's because I may have misunderstood the point of what he wrote. <.<
__________________


kúdan: im playing pantheon
JRCapablanca: no youre not
** Pantheon has been Banned. **
Last edited by unlimit : 02-18-12 at 12:54 AM.
unlimit is offline Report comment to moderator  
Reply With Quote
Unread 02-18-12, 05:14 AM  
zork
A Pyroguard Emberseer
 
zork's Avatar
AddOn Author - Click to view AddOns

Forum posts: 1391
File comments: 3398
Uploads: 89
My post was for the developer. Obiously you need to change all the label calls etc.
If Barjack needs help I post the full code.
__________________
| Simple is beautiful.
| Roth UI | Roth UI FAQ | GoogleCode | Zork | TDMOG

"I wonder what the non-pathetic people are doing tonight?" - Rajesh Koothrappali (The Big Bang Theory)
Last edited by zork : 02-18-12 at 05:17 AM.
zork is offline Report comment to moderator  
Reply With Quote
Unread 02-18-12, 12:47 PM  
unlimit
Lookin' Good
 
unlimit's Avatar
AddOn Author - Click to view AddOns

Forum posts: 484
File comments: 24
Uploads: 4
Originally Posted by zork
My post was for the developer. Obiously you need to change all the label calls etc.
If Barjack needs help I post the full code.
xD Oh zork, I saw a "drag" function and got all excited.

QuestKing really is a good addon, I like it much better than any other quest replacement frame I've used before. Thanks a ton Barjack!
__________________


kúdan: im playing pantheon
JRCapablanca: no youre not
** Pantheon has been Banned. **
Last edited by unlimit : 02-18-12 at 01:21 PM.
unlimit is offline Report comment to moderator  
Reply With Quote
Unread 02-28-12, 03:55 PM  
leobolin
A Defias Bandit
AddOn Author - Click to view AddOns

Forum posts: 2
File comments: 24
Uploads: 1
Re: Updated to 0.72

0.72 fixed it for me at least so far, thanks!
Last edited by leobolin : 02-28-12 at 05:51 PM.
leobolin is offline Report comment to moderator  
Reply With Quote
Unread 08-10-12, 05:32 AM  
akgis
A Fallenroot Satyr
AddOn Author - Click to view AddOns

Forum posts: 29
File comments: 78
Uploads: 4
Any change to make the frame movable? And broker plugin that shows quests completed/aquired and that toggles on and off the quest tracker frame.

Also a option to dont hide all objectives when a quest is done.

thanks.
__________________
Last edited by akgis : 08-10-12 at 05:53 AM.
akgis is offline Report comment to moderator  
Reply With Quote
Unread 08-11-12, 07:03 PM  
Barjack
A Black Drake
AddOn Author - Click to view AddOns

Forum posts: 80
File comments: 54
Uploads: 6
Originally Posted by akgis
Any change to make the frame movable? And broker plugin that shows quests completed/aquired and that toggles on and off the quest tracker frame.

Also a option to dont hide all objectives when a quest is done.

thanks.
In the next version you'll be able to set the showCompletedObjectives option to "always" to show completed objectives even if the entire quest is complete. I'm currently developing in the 5.0 branch though (which has a slightly different option format and some compatibility problems with the 4.3 client) so you'll probably have to wait until 5.0 to get that feature.

I use the collapsed mode when I want to hide the frame and just see quest totals so moving that into a Broker plugin isn't very useful to me. It would probably be pretty easy to develop a separate addon that does this if anyone wants to do that, but it's not something I want to devote time to developing or keeping updated at the moment.

Tracker moving is something I've thought about providing an option for, but it introduces questions about profiles and where to save these things that goes against the simple universal file-based configuration I currently use for everything. Personally, while it may take a few minutes to set up the first time, the positionPresets option system works very well for me. If you want a draggable frame my question is, what is your use case? Is it to avoid the set-up time, is it so different characters can have different positions on their trackers, is it because you want to actively move the frame around to various positions during any one play session? Knowing that might help me find a good solution here.
Barjack 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: 29
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
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: 166
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
Post A Reply



Category Jump: