GameMaker Studio · GML · Achievements
gmda_listAchievements
Lists every active achievement with this player's unlock state, ordered by sort_order.
Signature
gmda_listAchievements() -> realWhat it does
POSTs /achievements/list (session-auth). Returns 1 when fired, 0 with no active session. The achievements_loaded event carries response.achievements, the catalog with this player's unlock state, ordered by sort_order. Each entry is a struct { achievement_key, name, description, icon_url, points, is_hidden, sort_order, unlocked, unlocked_at }. Hidden achievements the player hasn't unlocked yet are omitted server-side, and unlocked_at is undefined while still locked.
Parameters
This function takes no parameters.
How to call it
Fire gmda_listAchievements(), then read achievements_loaded from gmda_pollEvent() in your Step loop.
Result event: achievements_loaded { success, response }
Example
gmda_listAchievements();
// In the Step event, drain results:
var _e = gmda_pollEvent();
while (!is_undefined(_e)) {
if (_e.event == "achievements_loaded" && _e.success) {
var _list = _e.response.achievements;
for (var _i = 0; _i < array_length(_list); _i++) {
var _a = _list[_i];
var _mark = _a.unlocked ? "[x]" : "[ ]";
show_debug_message(_mark + " " + _a.name + " (" + string(_a.points) + " pts)");
}
}
_e = gmda_pollEvent();
}Use cases
- Build an achievements screen showing locked and unlocked entries with points.
- Show overall completion progress by counting unlocked entries.