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

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