Instalación

Dependencias

DependenciaObligatoriaPor qué
hz_libSíFramework, inventario, target, notificaciones, el cuadro de diálogo del banquero y las fuentes de tu tema. Gratis, mantenlo actualizado.
ox_libSíLibrería compartida.
oxmysqlSíBase de datos.
ESX, QBCore o QboxSíEl saldo personal es el dinero del banco de tu framework. Los servidores sin framework no están soportados.
OneSyncSíEl servidor comprueba dónde está cada jugador antes de cada operación.
ox_target / qb-targetNoSe usa si está: el ojo del target va sobre los banqueros y los cajeros.
HZ-TextUiNoSe usa si está: pins encima de los banqueros y en los cajeros. Si no, hz_lib muestra un aviso [E].

Pasos

  1. Si usas otro banco (qb-banking, Renewed-Banking, esx_banking, okokBanking…), lee primero Reemplazar tu script de banco.
  2. Coloca la carpeta hz_banking en tu directorio resources.
  3. Añade el objeto de tarjeta bancaria a tu inventario (ver abajo).
  4. Añade HZ-Banking a tu server.cfg, después de tu framework, inventario, target y hz_lib:
ensure oxmysql
ensure ox_lib

# tu framework, inventario y target (ejemplos)
ensure qb-core
ensure ox_inventory
ensure ox_target

ensure hz_lib
ensure hz_banking

Luego reinicia el servidor y vuelve a conectarte.


El objeto de tarjeta bancaria

HZ-Banking da a cada jugador un objeto de tarjeta bancaria, bank_card por defecto (Config.CreditCardItem). El objeto debe existir en tu inventario; si no, no se pueden entregar tarjetas y los cajeros rechazan a los jugadores. La consola del servidor lo avisa en rojo al arrancar cuando falta.

Añade el objeto antes de tu primer arranque con ox_inventory. ox_inventory borra de los inventarios guardados los objetos que no conoce.
ox_inventory — en ox_inventory/data/items.lua:

['bank_card'] = {
    label = 'Bank Card',
    weight = 10,
    stack = false,
    close = true,
    description = 'Debit card linked to your bank account.',
},

QBCore — ya viene en las versiones recientes de qb-core (qb-core/shared/items.lua). Si no:

bank_card = { name = 'bank_card', label = 'Bank Card', weight = 0, type = 'item', image = 'bank_card.png', unique = true, useable = true, shouldClose = true, description = 'Debit card linked to your bank account.' },

ESX sin ox_inventory — en tu base de datos:

INSERT IGNORE INTO `items` (`name`, `label`, `weight`) VALUES ('bank_card', 'Bank Card', 1);

Imágenes — copia los archivos de hz_banking/inventory/ en la carpeta de imágenes de tu inventario (ox_inventory: web/images/). Hay una imagen de tarjeta por banco.

Reinicia el servidor después de añadir el objeto. La misma guía viene en install/items.md.


Base de datos

Nada que importar. HZ-Banking crea sus tablas (todas empiezan por hz_banking_) al arrancar y nunca toca una tabla existente. sql/schema.sql se incluye como referencia.


Convars opcionales

# Log de Discord de ingresos, retiros, transferencias, /givecash, préstamos y cierres de cuentas compartidas
set hz_banking_webhook "https://discord.com/api/webhooks/..."

# Un secreto privado para guardar los PIN
set hz_banking_pin_secret "a-long-random-secret"

Define el secreto del PIN una sola vez, antes de que los jugadores pongan su PIN. Si lo cambias después, ningún PIN existente coincidirá y los jugadores tendrán que poner uno nuevo en una ventanilla.

Qué deberías ver

  • Un blip en cada uno de los 8 bancos, del color de su banco.
  • Un banquero detrás de cada ventanilla. Acércate: te mira y te saluda.
  • Habla con él: se abre un cuadro de diálogo con su frase y cuatro opciones. Elige Open my account (abrir mi cuenta) y se abre la página de acceso del banco.
  • Pide una tarjeta en la página Cards (la primera es gratis), pon un PIN y ve a cualquier cajero: tu personaje se pone delante, mete la tarjeta y la pantalla del cajero pide el PIN.
  • Ningún mensaje rojo sobre HZ-Banking en la consola del servidor.

Actualizar

Después de una actualización, reinicia el servidor completo en vez de reiniciar solo hz_banking. Mantén hz_lib actualizado a la vez.

Tus archivos de config/ y locales/ son tuyos: compáralos con los nuevos y copia las claves que cambiaste.