coinsEconomía

Las APIs de economía te permiten crear monedas personalizadas (monedas, gemas, XP, etc.) y persistirlas automáticamente para cada jugador entre sesiones.

  • Cada moneda se almacena por jugador

  • Los saldos están persistidos automáticamente a través de las sesiones

  • Los saldos pueden verse/editarse en el portal del creador (ver Editar/Ver Datos del Jugador)

Referencia de la API de Economía

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);
}

Registrar una moneda (una sola vez)

Antes de usar un nombre de moneda, regístralo con un icono.

// Elige un icono de tu carpeta /res
coin_icon := get_asset(Texture_Asset, "ui/coin.png");

Economy.register_currency("Coins", coin_icon);
Economy.register_currency("XP", coin_icon); // ejemplo (idealmente usa un icono diferente)
circle-info

Los nombres de las monedas son solo cadenas. Elige un nombre consistente y úsalo siempre (por ejemplo "Coins" vs "coins").

Leer el saldo de un jugador

Dar moneda (recompensas)

Usa deposit_currency cuando un jugador gana moneda.

Gastar moneda (tiendas/mejoras)

Siempre verifica can_withdraw_currency antes de retirar.

Restablecer los datos económicos de un jugador

Si necesitas borrar todos los saldos económicos de un jugador (por ejemplo, un botón de restablecimiento de administrador o un reinicio de modo de juego), puedes eliminar sus datos guardados de economía:

circle-exclamation

Economy vs Guardado

  • Usa Economy para "monedas" (coins, gems, XP, tickets) donde quieres persistencia automática + edición en el portal.

  • Usa Guardado para todo lo demás (configuraciones, estado de misiones, listas de desbloqueos, estructuras de progreso complejas). Ver Sistema de Guardado

Última actualización