Cómo funcionan las integraciones#
Todo lo que depende de otro recurso pasa por un pequeño archivo puente sin cifrar. Están en custom/ para el framework, client/custom/ para target, llaves y clima, y server/custom/ para society, logs y misiones. El framework, el mapa y el recurso de llaves se detectan al iniciar el casino. Todo lo demás se comprueba cuando hace falta o se configura en config/main.lua.
Capa | Compatibles | Sin él |
|---|---|---|
Framework |
| Un puente standalone que tienes que completar tú mismo. |
Mapa del casino | El GTA Diamond Casino y seis MLO (abajo). | La distribución del GTA Diamond Casino. |
Inventario | Cualquier inventario que use tu framework, como | — |
Target |
| Un aviso 3D y |
Llaves de vehículos | Once recursos (abajo). | El coche de la Lucky Wheel se entrega sin llaves. |
Society |
| Pon |
Música |
| Pon |
Notificaciones · avisos |
| Las notificaciones y la barra de progreso de ox_lib, y el texto 3D propio del juego. |
Capturas de pantalla |
| El premio del jackpot se publica sin foto. |
Teléfono · misiones · fotos |
| Sin app del casino en el teléfono, sin misiones del casino y sin fotos en la pestaña Players. |
Sincronización del clima | Renewed-Weathersync · qb-weathersync · cd_easytime · vSync · av_weather | Nada que pausar. Solo se pausan mientras un jugador está en una sala VIP. |
Base de datos |
| Obligatoria. |
La detección solo ve los recursos que ya están iniciados. Todo lo que quieras que se detecte debe estar por encima de
ensure qs-diamondcasinoenserver.cfg.
Mapas del casino#
Todas las coordenadas que usa el casino están en un preset de mapa, una carpeta en config/. Incluye los NPC, las mesas, las máquinas, las puertas, la zona del casino, las cámaras, la rueda, el podio y el público. El preset se elige según el nombre del recurso MLO del casino que esté en ejecución:
Preset | Se elige cuando se ejecuta este recurso | Ubicación |
|---|---|---|
| Ninguno de los otros. Úsalo con el que viene incluido: | El GTA Diamond Casino, Vinewood |
|
| El mismo edificio |
|
| El mismo edificio |
|
| El mismo edificio |
|
| Centro de Los Santos |
|
| La costa, junto a Vespucci |
|
| Del Perro |
Los nombres deben coincidir exactamente. Si tu copia de un MLO tiene otro nombre de recurso, añádelo a la lista en config/main.lua y apúntalo a la carpeta correcta:
local maps = { -- started resource name -> preset folder it loads
['gabz_casino'] = 'gabz_casino',
['my_gabz_casino'] = 'gabz_casino', -- your renamed copy
-- ...
}
Config.Map = DependencyCheck(maps) or 'default'Añadir tu propio MLO#
Copia el preset más parecido
Duplica una carpeta en
config/y ponle el nombre de tu mapa. Debe contener los nueve archivos:main,ambience,blackjack,roulette,poker,slots,inside_track,wheelybillard.Regístralo
Añade una fila a
mapsenconfig/main.luacon el nombre del recurso de tu MLO y la nueva carpeta.Coloca todo en su sitio
Edita las coordenadas. Activa Draw the casino zone en
/casinoconfig→ General para ver la zona y los puntos de interacción (requiere reinicio)./poolplaceimprime la línea de una mesa de billar. Si tu casino no está en Vinewood, cambia tambiénConfig.Vip.exitCoordsenconfig/main.lua. Ahí es donde salen los jugadores de una sala VIP después de un reinicio.
Frameworks#
Framework | Notas |
|---|---|
ESX | Las bebidas del bar se pueden pagar con |
QBCore | Las bebidas del bar se pueden pagar con |
Qbox | No se detecta por nombre. Funciona a través de su capa de compatibilidad con QBCore, así que pon |
Standalone | Una plantilla. Cada función de |
Forzar un valor#
Cada línea de detección de config/main.lua se puede sustituir por un valor fijo. Hazlo cuando se ejecuten dos candidatos a la vez o cuando un recurso tenga otro nombre en tu servidor:
Config.Framework = 'qb' -- 'esx', 'qb' or 'standalone': a folder in custom/
Config.Map = 'gabz_casino' -- a folder in config/
Config.Vehiclekeys = 'qs-vehiclekeys' -- a file in client/custom/vehiclekeys/Target#
Por defecto, a cada NPC y juego se accede con un aviso 3D y E. Pon Config.UseTarget = true en config/main.lua para usar un recurso de target. Config.TargetDistance (5.0) es el alcance con los NPC; las mesas, las máquinas y la rueda usan 2 metros. El billar siempre usa el aviso.
El puente, client/custom/target/main.lua, se comunica con qtarget. ox_target responde a esas mismas llamadas, así que funciona tal cual. Para qb-target, reescribe las llamadas de ese archivo con los exports de qb-target, o deja el modo target desactivado.
El modo target se lee al iniciar el cliente, así que se queda en el archivo y no está en el panel de ajustes. Reinicia el recurso después de cambiarlo.
Llaves de vehículos#
Se usan para el coche de la Lucky Wheel. Se usa el primero que se encuentre en ejecución. No ejecutes dos sistemas de llaves a la vez.
qs-vehiclekeys · qb-vehiclekeys · qbx_vehiclekeys · wasabi_carlock · vehicles_keys · ti_vehicleKeys · mono_carkeys · glfp10_carkeys · F_RealCarKeysSystem · fivecode_carkeys · xd_locksystem
Cada uno tiene su propio archivo en client/custom/vehiclekeys/. Para añadir compatibilidad con otro sistema de llaves, copia el archivo más parecido, cambia la llamada que contiene y pon Config.Vehiclekeys con el nuevo nombre.
Society#
Config.Society en config/main.lua elige dónde se paga la Casino cut. No se detecta y viene configurado como esx_society.
Valor | Se paga en |
|---|---|
| La cuenta compartida |
| La cuenta |
| La cuenta |
| Impuesto de la ciudad, en |
| Nada. La parte del casino no se paga en ningún sitio. |
En ESX, crea la cuenta una vez si tu servidor aún no la tiene:
INSERT INTO `addon_account` (`name`, `label`, `shared`) VALUES ('society_casino', 'Casino', 1);Con esx_society, qb-management o qb-banking, la misma cuenta también puede pagar las fichas que se cambian en la caja. Activa Society pays chip sales en /casinoconfig → Economy. Si editaste un archivo de server/custom/society/, conserva su función RemoveMoneyFromSociety: saca el pago de la cuenta y devuelve false cuando no hay suficiente dinero.
Música#
El casino y las salas VIP reproducen música mediante xsound, o mx-surround si xsound no está en ejecución. Las pistas son archivos de music/, listados en config/main.lua. No se admiten enlaces de internet.
Config.MusicTracks = {
{ label = 'Midnight Tokyo', file = 'midnight_tokyo.mp3' },
{ label = 'Digital Bloom', file = 'digital_bloom.mp3' },
{ label = 'Crystal Pulse', file = 'crystal_pulse.mp3' },
{ label = 'My Track', file = 'my_track.ogg' }, -- your own file in music/
}
Config.Sound = 'midnight_tokyo.mp3' -- the starting track; false = no music at allDespués, la pista se elige en /casino → Music, o la elige quien alquila una sala VIP. El volumen está en /casinoconfig → Audio. Si no se está ejecutando ninguno de los dos recursos de sonido, pon Config.Sound = false, o la consola del cliente repetirá un error.
Notificaciones, avisos y el HUD#
Las notificaciones pasan por qs-interface cuando está en ejecución; si no, por ox_lib. Para usar otro recurso, cambia Notification en custom/client.lua. Los avisos 3D usan qs-textui cuando está en ejecución. Los menús y las ventanas de entrada son de ox_lib, envueltos en client/custom/main.lua.
Mientras un jugador está en un juego o en un menú del casino, el radar y el HUD se ocultan con DisableHud() y se restauran con EnableHud(), ambos en config/main.lua. Para ocultar también tu propio HUD, pon el export de tu HUD en esas dos funciones.
Logs de Discord#
La actividad del casino se puede publicar en Discord como embeds. Actívala en server/custom/webhooks.lua y asigna un webhook a cada categoría. Una URL vacía desactiva esa categoría, y una misma URL puede servir para varias categorías.
CasinoWebhooks = {
enabled = true,
username = 'Diamond Casino',
avatar = '',
footer = 'Quasar Diamond Casino',
urls = {
economy = 'https://discord.com/api/webhooks/...', -- casino funds deposited / withdrawn
chips = '', -- chips bought / sold at the cashier
staff = '', -- owner set/removed, employees hired/fired, permissions
bans = '', -- players banned / unbanned
wins = '', -- jackpot winners
customization = '', -- vehicle, music, wall theme, cameras, custom walls
events = '', -- happy hour / high stakes started / stopped
vip = '', -- VIP room rentals
},
}La foto del ganador del jackpot tiene su propio webhook, que se configura en el juego en
/casinoconfig→ Jackpot. Se guarda en el servidor y nunca se envía a los jugadores.
Teléfono, misiones y fotos de jugadores#
Recurso | Qué añade |
|---|---|
| Una app del casino que muestra las fichas y la membresía del jugador, los precios, las tiendas y si las puertas están abiertas, además de un punto de ruta al casino. El punto de ruta es la primera caja salvo que configures |
| Diez misiones del casino, como Lucky Beginner, High Roller, Elite Access, Blackjack Master y Spin to Win. Se definen en |
| La cara de cada jugador en su tarjeta de la pestaña Players de |
| No hay que hacer nada. Su copia del interior del casino se elimina automáticamente, y se vuelve a eliminar si se reinicia. |
Idiomas#
Se incluyen 41 traducciones en locales/, entre ellas inglés, español, francés, alemán, portugués, italiano, neerlandés, polaco, ruso, turco, árabe, chino, japonés y coreano. Elige una en /casinoconfig → General → Language. Cambia para todos los jugadores a la vez, sin reiniciar. Para cambiar la redacción de algo, edita el archivo .json de ese idioma. Cualquier texto que falte se muestra en inglés.



