Skip to content

achievementcat

Provides access to achievement categories. Achievements are organized hierarchically in the achievements window by categories.

While not required to access achievements, categories may be useful for enumerating lists of achievements.

Members

Type Member Description
int ID The unique ID for the category
string Name The category's display name
string Description The category's description
achievement Achievement[#|Name] Find an achievement in this category by its ID or name.
achievement AchievementByIndex[#] Find an achievement by its index in this category.
int AchievementCount The number of achievements in this category.
achievementcat Category[#|Name] Find a child category in this category by its ID or name.
achievementcat CategoryByIndex Find a child category by its index in this category.
int CategoryCount The number of child categories in this category.
int Points The total earned points of achievements in this category.
int CompletedAchievements The number of achievements earned in this category and its subcategories
int TotalAchievements The total number of achievements in this category and its subcategories.
string ImageTextureName Name of the image texture that is used to represent this category in the Achievements Window.
int Index The index of the category in the achievement manager. For more information see Achievement Indices.

Examples

List the unearned achievements in the EverQuest / Exploration category:

/declare cat achievementcat local
/vardata cat Achievement.Category[EverQuest].Category[Exploration]

/echo Unearned achievements in the ${cat.Name} category:
/declare i int local
/for i 1 to ${cat.AchievementCount} {
    /if (!${cat.AchievementByIndex[${i}].Completed}) {
        /echo ${cat.AchievementByIndex[${i}].Name}
    }
    /next i
}
local category = mq.TLO.Achievement.Category('EverQuest').Category('Exploration')
for i = 1, category.AchievementCount() do
    local achievement = category.AchievementByIndex(i)
    if not achievement.Completed() then
        print(achievement.Name())
    end
end