coins经济系统

经济 API 让你可以创建自定义货币(金币、宝石、经验等),并为每个玩家在会话之间自动持久保存它们。

  • 每种货币都被存储 每个玩家

  • 余额会被 自动持久化 跨会话

  • 余额可以在创作者门户中查看/编辑(参见 编辑/查看玩家数据)

经济 API 参考

Economy :: 结构 {
    register_currency     :: 过程(currency: string, icon: Texture_Asset);
    deposit_currency      :: 过程(player: Player, currency: string, amount: s64);
    get_balance           :: 过程(player: Player, currency: string) -> s64;
    can_withdraw_currency :: 过程(player: Player, currency: string, amount: s64) -> bool;
    withdraw_currency     :: 过程(player: Player, currency: string, amount: s64);
    delete_save_data      :: 过程(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 与 保存

  • 使用 Economy 用于“货币”(硬币、宝石、经验、票券),当你需要自动持久化 + 门户编辑时。

  • 使用 保存 用于其他所有内容(设置、任务状态、解锁列表、复杂的进度结构)。参见 保存系统

最后更新于