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.

Community content is available under CC-BY-SA unless otherwise noted.