GameMaker Studio · GML
Достижения
Достижения вы определяете в панели и разблокируете из игры. У каждого есть ключ; скрытые остаются замаскированными, пока игрок их не разблокирует.
Определите достижения
Создайте достижения в панели, каждое с ключом, названием, описанием, иконкой, очками и необязательным флагом скрытости.
Сохраните ключ каждого достижения; вы передаёте его в вызовы проверки и разблокировки.
Список достижений
Получите полный каталог со статусом разблокировки для текущего игрока и прочитайте achievements_loaded.
gmda_listAchievements(); // -> achievements_loaded (e.response.achievements)# achievements_loaded -> achievements: Array, each:
{
"achievement_key": String,
"name": String,
"description": String,
"icon_url": String,
"points": int,
"is_hidden": bool,
"sort_order": int,
"unlocked": bool,
"unlocked_at": String # null while locked
}Разблокировка
Разблокируйте достижение для текущего игрока и прочитайте achievement_unlocked.
gmda_unlockAchievement("first_blood"); // -> achievement_unlocked// achievement_unlocked -> e.response:
{ "success": true, "already_unlocked": false }
// achievement_checked -> e.response:
{ "unlocked": true, "unlocked_at": "2026-06-07T18:00:00.000Z" } // null while lockedРазблокировка уже разблокированного достижения безопасна; событие сообщает already_unlocked.
Проверка одного
Проверьте состояние одного достижения или получите его определение из панели.
gmda_checkAchievement("first_blood"); // -> achievement_checked (e.response.unlocked)
gmda_getAchievementInfo("first_blood"); // -> achievement_info_loaded