This is small module for RenPy, implenting custom achievements. It is being developed as a part of Project Roselia, that [will] contain other small scripts with different features for RenPy.
It has:
Attention!!! This module uses persistent data, so after any change you must clear persistent data.
To integrate in your project:
# Define your achievements here
persistent.achievements_dict = {"name": {"type": 0,
"title": "",
"text": "",
"icon": "images/icons/ach.png"
},
"name": {"type": 1,
"title": "",
"text": "",
"icon": "images/icons/ach.png",
"cur_prog": 0,
"max_prog": 33
}
}
name — identifier, the user will not see this
type — 0 or 1, 0 — one-time achievement, 1 — achievement with progress
title — notification title
text — notification description
icon — icon path, recommended: 96х96 pixels
cur_prog — only used if type=1, current progress
max_prog — only used if type=1, maximal progress
To implement, use one of these functions:
Get_achievement:
$ get_achievement(name, trans=achievement_transform) — to award a one-time achievement
trans — animation for the achievement
Update_achievemnt:
$ update_achievement(name, step=1, trans=achievement_transform) — to update an achievement with progress
step — how much should be added, by default =1
trans — animation for the achievement
After that you can use basic functionality.
Модуль для RenPy для интеграции достижений. Разрабатывается в рамках проекта Roselia, в котором я пишу небольшие и удобные расширения для RenPy.
ВНИМАНИЕ! УВАГА! АХТУНГ! ВОРНИНГ! Достижения используют постоянные данные (persistent), поэтому после каждого изменения не забывайте очищать постоянные данные.
Интегрировать систему можно в три простых шага.
# Define your achievements here
persistent.achievements_dict = {"name": {"type": 0,
"title": "",
"text": "",
"icon": "images/icons/ach.png"
},
"name": {"type": 1,
"title": "",
"text": "",
"icon": "images/icons/ach.png",
"cur_prog": 0,
"max_prog": 33
}
}
А теперь разложим по полочкам.
name — индентификатор. Я рекомендую использовать короткие имена на английском. Оно используется для индентификации, пользователь его не видит
type — 0 или 1, 0 — одноразовое достижение, 1 — с прогрессом
title — Заголовок (показывается пользователю в уведомлении)
text — Описание (показывается пользователю в уведомлении)
icon — путь к иконке. Я рекомендую размер 96х96 пикселей
cur_prog — только если type=1. Текущий прогресс
max_prog — только если type=1. Сколько нужно что бы получить достижение
$ get_achievement(name, trans=achievement_transform) — для достижения одноразовой ачивки
$ update_achievement(name, step=1, trans=achievement_transform) — для обновления достижения с прогрессом. step — сколько нужно прибавить, по умолчанию =1, trans — анимация для ачивки
После этого вы сможете использовать базовый функционал. Для расширения же понадобится знание Python.