Skip to content

achievementobj

Represents a single objective of an achievement

Members

Type Member Description
int ID The objective's unique ID.
string Description Text describing this objective.
int Count The current count recorded by the objective.
int RequiredCount The total count required to be complete the objective. For objectives that don't require a count, this will be zero.
bool Completed True if the objective has been completed.
int Index Visual index of the objective as displayed in the achievement window. Can be used with Achievement.ObjectiveByIndex.

Example

List the objectives that are still left to complete the achievement "Norrathian Explorer":

/declare ach achievement local Norrathian Explorer

/if (${ach.Completed}) {
    /echo ${ach.Name} is complete!
} else {
    /echo The following objectives for ${ach.Name} are incomplete:
    /declare i int local
    /for i 1 to ${ach.ObjectiveCount} {
        /if (!${ach.ObjectiveByIndex[${i}].Completed}) {
            /echo ${ach.ObjectiveByIndex[${i}].Description}
        }
        /next i
    }
}
local achievement = mq.TLO.Achievement('Norrathian Explorer')

if achievement.Completed() then
    print(string.format('%s complete!', achievement.Name()))
else
    print(string.format('The following objectives for %s are incomplete:', achievement.Name()))
    for i = 1, achievement.ObjectiveCount() do
        local objective = achievement.ObjectiveByIndex(i)
        if not objective.Completed() then
            print(achievement.ObjectiveByIndex(i).Description())
        end
    end
end