Thread Tools Display Modes
07-30-16, 11:14 AM   #1
liquidbase
A Warpwood Thunder Caller
 
liquidbase's Avatar
AddOn Author - Click to view addons
Join Date: Apr 2010
Posts: 97
Adding Questtags

Hell @all!

Currently I try to add permanently questtags to the objectivetracker. To achieve this I use the code below. Problem with this code is, on login I see the questtags, if I open the world map the questtags appear and on closing the world map the tags disappear, same on a reload of the UI. If I aquire a new quest the tags changes randomly at the objectivetracker. At the moment I have no idea why this might be. One of you may have even an idea how I can change the code so that it also works properly and the tags are displayed at all times correctly.

Thanks in advance for all help

Lua Code:
  1. local function CreateQuestTag(level, questTag, frequency)
  2.     local tag = ""
  3.    
  4.     if level == -1 then level = "*" else level = tostring(level) end
  5.    
  6.     if questTag == ELITE then
  7.         tag = "+"
  8.     elseif questTag == QUEST_TAG_GROUP then
  9.         tag = "g"
  10.     elseif questTag == QUEST_TAG_PVP then
  11.         tag = "pvp"
  12.     elseif questTag == QUEST_TAG_DUNGEON then
  13.         tag = "d"
  14.     elseif questTag == QUEST_TAG_HEROIC then
  15.         tag = "hc"
  16.     elseif questTag == QUEST_TAG_RAID then
  17.         tag = "r"
  18.     elseif questTag == QUEST_TAG_RAID10 then
  19.         tag = "r10"
  20.     elseif questTag == QUEST_TAG_RAID25 then
  21.         tag = "r25"
  22.     elseif questTag == QUEST_TAG_SCENARIO then
  23.         tag = "s"
  24.     elseif questTag == QUEST_TAG_ACCOUNT then
  25.         tag = "a"
  26.     elseif questTag == QUEST_TAG_LEGENDARY then
  27.         tag = "leg"
  28.     end
  29.    
  30.     if frequency == 2 then tag = tag.."!" elseif frequency == 3 then tag = tag.."!!" end
  31.     if tag ~= "" then tag = ("|cff00b3ff%s|r"):format(tag) end
  32.     tag = ("[%s %s] "):format(level, tag)
  33.     return tag
  34. end
  35.  
  36. --[[Questtitle]]--
  37. hooksecurefunc(QUEST_TRACKER_MODULE, "Update", function(self)
  38.     for i = 1, GetNumQuestWatches() do
  39.         local title, level, groupSize, isHeader, isCollapsed, isComplete, frequency, questID, startEvent, displayQuestID, isOnMap, hasLocalPOI, isTask, isBounty, isStory = GetQuestLogTitle(i)
  40.         if not questID then break end
  41.         local block = QUEST_TRACKER_MODULE:GetBlock(questID)
  42.         local tagID = GetQuestTagInfo(questID)
  43.  
  44.         block.HeaderText:SetFont(STANDARD_TEXT_FONT, 11)
  45.         block.HeaderText:SetShadowOffset(.7, -.7)
  46.         block.HeaderText:SetShadowColor(0, 0, 0, 1)
  47.         block.HeaderText:SetWordWrap(true)
  48.  
  49.         local heightcheck = block.HeaderText:GetNumLines()
  50.  
  51.         if heightcheck == 2 then
  52.             local height = block:GetHeight()
  53.             block:SetHeight(height + 16)
  54.         end
  55.  
  56.         if block then
  57.             local oldBlockHeight = block.height
  58.             local oldHeight = QUEST_TRACKER_MODULE:SetStringText(block.HeaderText, title, nil, OBJECTIVE_TRACKER_COLOR["Header"])
  59.             local newTitle = CreateQuestTag(level, tagID, frequency) .. title
  60.             local newHeight = QUEST_TRACKER_MODULE:SetStringText(block.HeaderText, newTitle, nil, OBJECTIVE_TRACKER_COLOR["Header"])
  61.         end
  62.     end
  63. end)

Last edited by liquidbase : 07-30-16 at 11:16 AM.
  Reply With Quote
07-30-16, 01:04 PM   #2
liquidbase
A Warpwood Thunder Caller
 
liquidbase's Avatar
AddOn Author - Click to view addons
Join Date: Apr 2010
Posts: 97
Replaced GetNumQuestWatches() from line 38 with GetNumQuestLogEntries() and this solved the problem.
  Reply With Quote

WoWInterface » Developer Discussions » Lua/XML Help » Adding Questtags

Thread Tools
Display Modes

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

vB code is On
Smilies are On
[IMG] code is On
HTML code is Off