Skip to content

achievementobj

Represents a single objective of an achievement

Members

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