coinsЭкономика

API экономики позволяют создавать пользовательские валюты (монеты, кристаллы, опыт и т. д.) и автоматически сохранять их для каждого игрока между сессиями.

Справочник по Economy API

Economy :: struct {
    register_currency     :: proc(currency: string, icon: Texture_Asset);
    deposit_currency      :: proc(player: Player, currency: string, amount: s64);
    get_balance           :: proc(player: Player, currency: string) -> s64;
    can_withdraw_currency :: proc(player: Player, currency: string, amount: s64) -> bool;
    withdraw_currency     :: proc(player: Player, currency: string, amount: s64);
    delete_save_data      :: proc(player: Player);
}

Регистрация валюты (один раз)

Прежде чем использовать имя валюты, зарегистрируйте её с иконкой.

// Выберите иконку из вашей папки /res
coin_icon := get_asset(Texture_Asset, "ui/coin.png");

Economy.register_currency("Coins", coin_icon);
Economy.register_currency("XP", coin_icon); // пример (желательно использовать другую иконку)
circle-info

Имена валют — это просто строки. Выберите согласованное имя и придерживайтесь его (например "Coins" против "coins").

Чтение баланса игрока

Выдача валюты (награды)

Используйте deposit_currency когда игрок зарабатывает валюту.

Трата валюты (магазины/улучшения)

Всегда проверяйте can_withdraw_currency перед снятием.

Сброс экономических данных игрока

Если нужно стереть все балансы экономики игрока (например, кнопка сброса админа или сброс режима игры), вы можете удалить его данные сохранения экономики:

circle-exclamation

Economy против Save

  • Используйте Economy для «валют» (монеты, драгоценные камни, XP, билеты), где вы хотите авто-сохранение + редактирование в портале.

  • Используйте Save для всего остального (настройки, состояние заданий, списки разблокировок, сложные структуры прогресса). См. Система сохранения

Последнее обновление