WoW API: GetQuestLogLeaderBoard

From AddOn Studio
Jump to navigation Jump to search

WoW API < GetQuestLogLeaderBoard

This function returns up to 3 values:

local desc, type, done = GetQuestLogLeaderBoard(i, [questID])

Index of the quests objective (see GetNumQuestLeaderBoards() ).
Identifier of the quest in the quest log. If not provided, default to the currently selected Quest, via SelectQuestLogEntry().

Return values
String - The text description of the objective, like: "Kill foo: 0/3"
String - could be the following things: "item", "object", "monster", "reputation", "log", or "event".
Boolean - nil if this sub objective is not completed yet, else 1

Useful examples
function GetLeaderBoardDetails (boardIndex,questIndex)
  local leaderboardTxt, itemType, isDone = GetQuestLogLeaderBoard (boardIndex,questIndex);
  local i, j, itemName, numItems, numNeeded = string.find(leaderboardTxt, "(.*):%s*([%d]+)%s*/%s*([%d]+)");
  return itemType, itemName, numItems, numNeeded, isDone;
-- returns eg. "monster", "Young Nightsaber slain", 1, 7, nil


The type "player" was added in WotLK, which is used by Template:Questlong and probably other quests.

The type "log" was added sometime around patch 3.3.0, and seems to have replaced many instances of "event".

Only ever found one quest, Template:Quest that had an "object" objective.

The "desc" returnvalue can be incomplete under some (unknown) circumstances containing an empty string or just says "slain" instead the real objective text.