This is a quest-tracker replacement plugin for FuBar. It provides a tooltip which replicates /most/ of the information from the quest log. It can display (or not): quest level, difficulty, objectives, zones, and suchlike. It will put quest information into the tooltips for quest monsters and items. It will make quest levels appear when talking to NPCs.
If other people in your party are using QuestsFu it'll show you how many of each quest objective they've gathered.
If you want it to, and don't think it will annoy people, you can send a message to party chat when you advance a quest objective.
Shift-click on quests in the tooltip to copy the title to the chatbox if it's open.
Control+Shift-click on quests in the tooltip to copy their objectives and status to the chatbox if it's open.
Control-click on quests in the tooltip to share them with your party.
Alt-click on quests in the tooltip to add them to Blizzard's quest-tracker.
QuestsFu includes a replacement for the Blizzard built-in quest tracker, which can track more than 5 quests at a time. Right-click on it to adjust its scale and coloration.
Certain thanks must be given to MonkeyQuest, which motivated me to write this by being everything that I wanted in a quest-tracker replacement while annoying me by putting a frame over a quarter of my screen.
If you want just the party quest status announcements and announcing your quest status in chat, try PartyToGo. Or recommend it to people in your guild who you group with all the time but who don't like the FuBarishness of QuestsFu.
Like this mod? Donations are nice. Pay for the addiction, etc.
Change Log - FuBar - QuestsFu
Changes:
2.0.65647: 2.4. Minor changes to level display.
2.0.55071:
Finally got bored of waiting for someone else to fix Tablet, and fixed it myself. Alt-clicking will allow you to interact with the locked tracker again.
Fixed the taint problem.
2.0.54738:
TOC updated for 2.3
Quest levels broke because of the new low-level stuff; fixed (and made more efficient -- I wrote that *ages* ago)
Fixed LightHeaded error when viewing a quest LightHeaded didn't know about.
2.0.52898:
Add new module PlayerNotify to run all player quest announcements through SinkLib, letting you choose where you want to output the text -- defaults to whatever scrolling combat text you're using.
PartyNotify and Announce now have slightly more detailed options for what to announce.
Change PartyNotify to use SinkLib.
zhCN localization by yhwh. Updated zhTW (helium and NightOwl), deDE (gamefaq), koKR (sayclub and next96).
Hopefully fixed a memory leak and reduced bandwidth use in groups.
2.0.49757:
Update for 2.2
Various localization updates and bugfixes
2.0.44273:
Add PartyLog module, which will display the quest log of a party member. (Somewhat rough around the edges still; disabled by default.)
Fix memory leaks in Quixote comms code. (Mostly stuff that got missed in the big post-2.0 cleanup.)
Fix an error that would occur if an addon had altered the reaction level global strings.
2.0.43882:
Fix Comments and Detached modules requiring an interface reload to reappear if you disabled and then reenabled then.
Remove superfluous strings from some locales.
Update to deDE localization by gamefaq.
2.0.43812:
Add a new "detached" module, disabled by default, which can be used as a more customizable version of the standard fubar tooltip.
LightHeaded integration now properly displays rep gains and quest series.
Tablet settings like minWidth, maxHeight, and strata can now be changed without reloading the UI.
Fix alt-clicking on a quest in the main tablet causing an error if the tracker module was enabled, but "use own tracker" was disabled.
Fix some memory leaks found with the new 2.1 profiling tools.
2.0.38378:
You can now add the quest giver into the default blizzard quest log.
Fix the dewdrop error some people were having.
2.0.36300:
Update for 2.1.
Let sound type be chosen on a per-event basis (e.g. Peon for progress, Peasant for complete).
2.0.34662:
This update is a massive rewrite of everything. There's now extensive use of modules, and whole swathes of functionality can be deleted entirely if you don't want them.
Allow choosing of custom colors for everything, instead of Blizzard defaults.
Add option for maxHeight and minWidth on the Detail and Tracker frames.
Add more sounds that can play on quest events.
Party notifications are much more robust.
More little tweaks and bugfixes than I feel like writing out.
2.0.29667:
Sort quests in the tracker by level.
Slightly better handling of autowatched quests between sessions.
Improve responsiveness for "show current area quests only".
Tweaks to highlighting.
Bugfix in some onload data checking.
2.0.28429:
Highlight more words in the quest objectives.
Fix escape closing the detail frame.
Fixes for bugs in automatic quest watching.
Update localizations.
2.0.27405:
Use the Peon "work complete!" sound for quest completion.
Autowatch gained quests if they match the zone/subzone settings.
Unwatch autowatched quests when leaving the zone/subzone they were watched for.
Add options to the main menu for locking and changing the strata of the tracker and detail panel.
2.0.27117:
Add an automatic quest watching feature, with options to auto-watch when you enter the zone a quest is in or the subzone it's in, when you get a quest, and when you complete all a quests' objective.
Add an option to play a sound when you complete all a quests' objectives.
The quest title in the detail frame will now behave exactly like titles in the tooltip.
Show suggested group size for group/elite quests in the detail panel.
Add config options for display of party member objective completion in chat or the messageframe.
Add option to announce in party chat when you advance a quest objective.
I love this addon, and I have always used it with Lightheaded. But since the patch they no longer function together. Is this something you could take a look into?
This is the errormessage I get:
Date: 2008-05-04 12:02:34
ID: 73
Error occured in: Global
Count: 1
Message: ..\AddOns\LightHeaded\LightHeaded.lua line 114:
attempt to compare number with string
Date: 2008-04-20 00:58:57
ID: 51
Error occured in: Global
Count: 1
Message: ...nterface\AddOns\FuBar_QuestsFu\PartyLog\PartyLog.lua line 59:
Tablet-2.0: You cannot unregister a parent frame if it has not been registered already.
Debug:
...\AddOns\Ace2\AceModuleCore-2.0\AceModuleCore-2.0.lua:25:
...\AddOns\Ace2\AceModuleCore-2.0\AceModuleCore-2.0.lua:23
...\AddOns\Ace2\AceModuleCore-2.0\AceModuleCore-2.0.lua:526: ToggleModuleActive()
FuBar_QuestsFu\QuestsFu.lua:131: func()
...ce\AddOns\AtlasLoot\Libs\Dewdrop-2.0\Dewdrop-2.0.lua:721:
...ce\AddOns\AtlasLoot\Libs\Dewdrop-2.0\Dewdrop-2.0.lua:660
I phrase it this way because I intend to thoroughly gut QuestsFu in the next day or two. When I'm done it'll just be the core left. All other functionality is already in BetterQuest.
Quote:
If you like QuestsFu for anything it does other than showing the quest count on FuBar, and showing the FuBar tooltip, then you'll need to upgrade.
This includes: the better tracker, adding levels to the default frames, remembering quest givers, putting quest progress into floating combat text and tooltips, and sounds.
Right now BetterQuest lacks a pretty details panel, and LightHeaded integration. It should still *work* with LightHeaded, but only in the sense that it will properly open up the quest log with LightHeaded showing.
Note that there does not appear to be any "official" release of BetterQuest atm, you can grab it off of wowace SVN, or through various auto-updaters.
1) How do I disable the Announcements to Party? I've turned them all off yet they still announce each completed objective and everything else.
2) I just came back to WoW from over a year break. I remember back then, I could change the keybinding from the Default Blizzard Quest Panel to the one that QuestFu has. I can't seem to find this, is it still possible?
UPDATE 3: I hacked around on this all day and have a working Comments.lua to fix the LightHeaded issue, at least until the real author, Kemayo, who actually knows what he's doing, has time to fix this....snip...
Hey WOW! Thanks a lot for doing this - I'm excited and going to go try this out now...
UPDATE 3: I hacked around on this all day and have a working Comments.lua to fix the LightHeaded issue, at least until the real author, Kemayo, who actually knows what he's doing, has time to fix this.
Disclaimer: Though I code for a living, I've never coded in Lua before for any production purposes. I've also never written a WoW addon before. So, caveat emptor. This is probably worth what you pay for it. If it breaks your system, it is not my responsibility. That being said it's hard to imagine how this code could hurt anything.
Also, this probably only works against the version of QuestsFu that is current as of this writing, which is 2.0.65647.
Steps:
1) Find your Interface\AddOns\FuBar_QuestsFu\Comments folder. Make a backup copy of Comments.lua.
2) Open up Comments.lua in WordPad.
3) Replace the entire file contents with the following:
Code:
local VERSION = tonumber(("$Revision: 54590 $"):match("%d+"))
local QuestsFu = QuestsFu
local QuestsFu_Comments = QuestsFu:NewModule("Comments", "AceHook-2.1", "AceEvent-2.0")
if QuestsFu.revision < VERSION then
QuestsFu.version = "r" .. VERSION
QuestsFu.revision = VERSION
QuestsFu.date = ("$Date: 2007-11-13 21:58:00 -0500 (Tue, 13 Nov 2007) $"):match("%d%d%d%d%-%d%d%-%d%d")
end
local tablet = AceLibrary("Tablet-2.0")
local quixote = AceLibrary("Quixote-1.0")
local dewdrop = AceLibrary("Dewdrop-2.0")
local L = AceLibrary("AceLocale-2.2"):new("QuestsFu_Comments")
QuestsFu_Comments.lname = L["Comments"]
QuestsFu_Comments.desc = L["Display quest comments"]
function QuestsFu_Comments:OnInitialize()
self.db = QuestsFu:AcquireDBNamespace("Comments")
QuestsFu:RegisterDefaults("Comments", "profile", {
lightheaded = true,
data = {},
strata = "HIGH",
minWidth = 300,
maxHeight = 800,
})
self.menu = {
name = L["Comments"],
desc = L["Display quest comments"],
type = "group",
args = {
lightheaded = {
name = L["LightHeaded"],
desc = L["LightHeaded"],
type = 'toggle',
get = function() return self.db.profile.lightheaded end,
set = function(t) self.db.profile.lightheaded = t end,
disabled = function() return not (LightHeaded and LightHeaded.IterateQuestComments) end
},
strata = QuestsFu.strataOption(self, 'QuestsFu_Comments', 1),
maxHeight = QuestsFu.maxHeightOption(self, 'QuestsFu_Comments', 2),
minWidth = QuestsFu.minWidthOption(self, 'QuestsFu_Comments', 3),
--This one will look a little weird on the tablet right-click menu, as it'll be duplicating native functionality. But it's totally worth it to stop people complaining.
lock = QuestsFu.lockOption(self, 'QuestsFu_Comments', 4),
},
}
end
function QuestsFu_Comments:OnEnable()
if QuestsFu:IsModuleActive('Details') then
self:Hook(QuestsFu, "ShowLog")
self:Hook(QuestsFu:GetModule('Details'), "Update", "UpdateQuestDetail")
end
end
function QuestsFu_Comments:OnDisable()
QuestsFu.toggleTablet('QuestsFu_Comments', false)
tablet:Unregister('QuestsFu_Comments')
end
function QuestsFu_Comments:ShowLog(object, questid)
--self.questid = questid
self.hooks[object].ShowLog(object, questid)
if questid and LightHeaded and LightHeaded.IterateQuestComments and self.db.profile.lightheaded and QuestsFu:IsModuleActive('Details') then
self:ScheduleEvent(self.Update, 0, self) --Schedule an event because tablet bugs out otherwise.
end
end
function QuestsFu_Comments:UpdateQuestDetail(object)
self.hooks[object].Update(object)
self:Update()
end
do
local detail = QuestsFu:GetModule('Details')
local function urlClick(url)
ChatFrameEditBox:Show()
ChatFrameEditBox:SetText(url)
ChatFrameEditBox:SetFocus()
end
local function npcClick(npcid)
if QuestsFu_Comments.npcid == npcid then
QuestsFu_Comments.npcid = nil
else
QuestsFu_Comments.npcid = npcid
end
QuestsFu_Comments:Update()
end
local function addNpcLocs(cat, id, name)
if LightHeaded:LoadNPCData(id) then
for c,z,x,y in LightHeaded:IterateNPCLocs(id) do
cat:AddLine('text', '|cFF0066FF['..x..', '..y..']|r', 'func', LightHeaded.OnHyperlinkClick, 'arg1', LightHeaded, 'arg2', 'lhref:zcoord:'..c..':'..z..':'..x..':'..y..':'..name, 'indentation', 10)
end
else
cat:AddLine('text', L['Location unknown'], 'indentation', 10)
end
end
function QuestsFu_Comments:Update()
if not tablet:IsRegistered('QuestsFu_Comments') then
tablet:Register('QuestsFu_Comments', 'detachedData', self.db.profile.data, 'cantAttach', true, 'dontHook', true,
'hideWhenEmpty', true, 'showTitleWhenDetached', true, 'strata', self.db.profile.strata,
'minWidth', self.db.profile.minWidth, 'maxHeight', self.db.profile.maxHeight,
'menu', function() dewdrop:FeedAceOptionsTable(self.menu) end,
'children', function()
-- Much of this was taken from LightHeaded itself.
if detail.questid and LightHeaded and LightHeaded.IterateQuestComments then
local title, level, tag = quixote:GetQuestById(detail.questid)
local previouslySelectedQuestIndex = GetQuestLogSelection()
SelectQuestLogEntry(detail.questid)
local lhQid = LightHeaded:GetCurrentQID()
SelectQuestLogEntry(previouslySelectedQuestIndex)
for qid,sharable,_,reqlev,stype,sname,sid,etype,ename,eid,exp,rep,series in LightHeaded:IterateQuestInfo(lhQid) do
tablet:SetTitle(L["Comments"])
local cat = tablet:AddCategory('text', L['LightHeaded Info'], 'columns', 1, 'wrap', true, 'justify', 'CENTER')
cat:AddLine('text', L['Quest ID: ']..'|cffffffff'..qid, 'func', urlClick, 'arg1', 'http://www.wowhead.com/?quest='..qid)
cat:AddLine('text', L['Shareable: ']..'|cffffffff'..(shareable and L['Yes'] or L['No']))
cat:AddLine('text', L['Level: ']..'|cffffffff'..level)
if reqlev ~= '' then cat:AddLine('text', L['Required Level: ']..'|cffffffff'..reqlev) end
if stype ~= '' and sname ~= '' then
if stype=='npc' then
cat:AddLine('text', L['Starts: ']..'|cFF0066FF['..sname..']|r', 'func', npcClick, 'arg1', sid) end
else
cat:AddLine('text', L['Starts: ']..'|cffffffff'..sname)
end
if sid == self.npcid then addNpcLocs(cat, sid, sname) end
if etype ~= '' and ename ~= '' then
if etype == 'npc' then
cat:AddLine('text', L['Ends: ']..'|cFF0066FF['..ename..']|r', 'func', npcClick, 'arg1', eid) end
else
cat:AddLine('text', L['Ends: ']..'|cffffffff'..ename)
end
if eid == self.npcid then addNpcLocs(cat, eid, ename) end
if exp ~= '' then cat:AddLine('text', L['Experience: ']..'|cffffffff'..exp) end
if rep ~= '' then
-- Might want to do an inline category here with columns...
cat:AddLine('text', L['Reputation:'])
for name,value in rep:gmatch("([^\029]+)\029([^\029]+)") do
cat:AddLine('text', '|cffffd100' .. name .. ' - ' .. value, 'indentation', 10)
end
end
if series ~= "" then
cat:AddLine('text', L['Quest Series:'])
for step,id in series:gmatch("([^\029]+)\029([^\029]+)") do
local name = LightHeaded:GetQuestName(id)
cat:AddLine('text', '|cffffd100'..step..'|r: '..name, 'indentation', 10)
end
end
end
cat = tablet:AddCategory('text', L['LightHeaded Comments'], 'columns', 1, 'wrap', true, 'justify', 'CENTER')
if LightHeaded:GetNumQuestComments(lhQid) then
for idx, qid, cid, rating, indent, parent, date, poster, comment in LightHeaded:IterateQuestComments(lhQid) do
cat:AddLine('indentation', indent*10, 'text', ("|cFF66FF66[%s - %s - %s]|r"):format(poster, date, rating), 'wrap', true)
cat:AddLine('indentation', indent*10, 'text', comment, 'wrap', true)
cat:AddLine('text', ' ') -- spacer.
end
else
cat:AddLine('text', L["No comments found..."])
end
cat:AddLine('text', L["Comments are all from WowHead"], 'hasCheck', true, 'checked', true, 'checkIcon', 'Interface\\Addons\\LightHeaded\\images\\wh_icon', 'func', urlClick, 'arg1', 'http://www.wowhead.com')
end
end)
tablet:Open('QuestsFu_Comments')
end
tablet:Refresh('QuestsFu_Comments')
end
end
4) Save Comments.lua and run WoW to see if it works.
5) If something goes wrong, delete Comments.lua and restore from the backup copy you made.
Last edited by ronaldscott : 03-30-2008 at 11:32 PM.
Originally posted by Loxdon So where exactly do we make the changes, in the addon file? under Questsfu?
please excuse my noobishness with editing the programming, its not something im very familiar with... yet....
If someone who has successfully fixed their QuestsFu could copy and paste the new log that would help immensely!
I posted this in the hope the author would swing by and add the fix, as I don't really code much Lua myself. Just off the cuff, you'd have to go looking for the part of QuestsFu that calls Lightheaded. More than that I don't know.
Originally posted by Twidget I am having the same issue as Jaim in that QuestsFu no longer works with LightHeaded. LightHeaded works fine with the standard Quest Log but when I either click on a quest in the QuestsFu tracker or in the Fubar dropdown I get the following error:
"Interface\AddOns\LightHeaded\LightHeaded.lua:92:attempt to compare number with string"
I hope you can fix this soon! I am hooked on using this... it's all your fault for making such a good mod.
Thanks!
The author of Lightheaded has commented on this, as people are complaining at them, but it's not a direct LH issue. They DID explain it and how to fix it, though. Quoted from the LH comment thread:
Quote:
If anyone needs to know exactly what to change, let me know. The basic gist of it is that all functions that previously took <title, level> now take <qid>. The current QID can be determined by using LightHeaded:GetCurrentQID(). That's really it!
LH now uses Quest IDs that the path made available. This breaks anything that interacts with LH, but it sounds like it'll make LH even more useful in the long term. Hope this info helps get QuestsFu working with it again. My two favorite quest mods, bar none. I don't even touch the quest log window anymore.
I am having the same issue as Jaim in that QuestsFu no longer works with LightHeaded. LightHeaded works fine with the standard Quest Log but when I either click on a quest in the QuestsFu tracker or in the Fubar dropdown I get the following error:
"Interface\AddOns\LightHeaded\LightHeaded.lua:92:attempt to compare number with string"
I hope you can fix this soon! I am hooked on using this... it's all your fault for making such a good mod.
QuestsFu doesn't work with the new Lightheaded 2.x. Cladhaire says it is because QuestsFu needs to use the new quest IDs or something to do with the new API in 2.4. I hope you know what that means. I would like to have Lightheaded with QuestsFu again.
Thank you very much.
Edit: I guess I should be a little more specific what "doesn't work" means. Basically, no Lightheaded frame appears when I open a QuestsFu quest log.
Last edited by Jaim Sandar : 03-26-2008 at 06:17 PM.
I've been halfheartedly looking for a MonkeyQuest replacement for some time now. With 2.4 being released today I figured it was about time to get serious about it, and even though I haven't used it yet, this addon is bound to be perfect for that because it was inspired by MonkeyQuest.
I figure I've gotta be missing something, but I've been trying to disable the party notification for quest objectives (ie "Demons Banished 3/15" type thing) for about an hour now. I hate spamming up the chat box, so this is really irking me.
Would someone mind pointing me to what I'm overlooking?