Cuxial Garages crea sus propias tablas en el primer arranque. El único trabajo manual es añadir los ítems de inventario y quitar los recursos de garajes y llaves a los que sustituye.
Comprueba las dependencias
Estos recursos deben estar instalados y funcionando antes:
ox_liboxmysqlcuxial_bridge, con uno de los frameworks compatibles: QBox, QBCore o ESX- OneSync activado en el servidor
ox_inventory, para los ítems de llave, ganzúa y contrato de alquiler
El resto son integraciones opcionales. Cada una se detecta cuando está en marcha: ox_target, cuxial_gang, cuxial_police, cuxial_license, cuxial_fuel, lb-phone, jg-dealerships y rahe-speakers. jg-dealerships y rahe-speakers necesitan además finance.enabled = true y speakers.enabled = true en shared/config.lua. La introducción explica qué aporta cada una.
En ESX el recurso añade las columnas id, model, state, garage, depotprice y mileage a owned_vehicles en el primer arranque. En QBox y QBCore usa player_vehicles tal como está.
Copia el recurso
Coloca la carpeta cuxial_garages dentro de tu directorio resources. No le cambies el nombre.
Quita lo que sustituye
Borra o comenta cualquier otro recurso de garajes y cualquier otro recurso de llaves de vehículo:
# tu recurso de garajes anterior
# ensure qbx_vehiclekeysDetén qbx_vehiclekeys antes de arrancar Cuxial Garages. Cuxial Garages registra él mismo sus exports GiveKeys, HasKeys y RemoveKeys, así que los scripts que los llaman siguen funcionando.
Añade los ítems
Pega este bloque en ox_inventory/data/items.lua, dentro de la tabla return { }:
['vehiclekeys'] = {
label = 'Llaves de vehículo',
weight = 100,
stack = false,
close = true,
description = 'Llave de un vehículo concreto.',
client = {
image = 'vehiclekeys.png',
},
},
['rentalticket'] = {
label = 'Contrato de alquiler',
weight = 10,
stack = false,
close = true,
description = 'Contrato de un vehículo de alquiler. Úsalo para ver el recibo.',
},Después copia install/vehiclekeys.png e install/rentalticket.png a ox_inventory/web/images/.
stack = false es obligatorio en los dos. Cada llave y cada contrato llevan sus propios datos (matrícula, código de ticket). Si se apilan, se mezclan y se pierde a qué vehículo pertenecen.
Los ítems de ganzúa lockpick y advancedlockpick vienen por defecto con ox_inventory. Añádelos si tu instalación no los tiene.
Los nombres de los ítems se pueden cambiar, siempre que coincidan con la configuración:
| Ítem | Dónde se define |
|---|---|
vehiclekeys | data/keys.lua → item |
lockpick, advancedlockpick | data/keys.lua → lockpick.normal.item, lockpick.advanced.item |
rentalticket | data/rental.lua → ticketItem |
Define las convars
Las dos son opcionales.
# Idioma de notificaciones, avisos y ayuda de comandos (se incluyen en y es)
setr ox:locale "es"
# Trazas de depuración en la consola
setr cuxial_garages_debug "0"El idioma de la interfaz se define aparte, con language en shared/config.lua. Pon los dos en el mismo idioma.
Inicia el recurso
Inícialo después de sus dependencias, de tu framework y de las integraciones opcionales que uses:
ensure ox_lib
ensure oxmysql
# tu framework aquí (qbx_core, qb-core o es_extended)
ensure ox_inventory
ensure cuxial_bridge
ensure cuxial_garagesNo hay SQL que ejecutar. En el primer arranque el recurso crea cuxial_garages, cuxial_garages_meta, cuxial_garages_impound, cuxial_garages_rental y cuxial_garages_rentals, y escribe en la consola del servidor una línea que empieza por [cuxial_garages][mysql].
Date acceso de staff
El panel de administración comprueba el permiso de admin.permission ('admin' por defecto) a través de tu framework. /adminkey, /carwipe y /cancelwipe necesitan además el grupo ACE group.admin:
add_principal identifier.license:xxxxxxxxxxxxxxxx group.adminMás detalle en Comandos y permisos.
Importa los datos de ejemplo (opcional)
Una instalación nueva no tiene garajes. Créalos desde el panel, o importa los ejemplos de install/ para partir de un mapa ya poblado:
| Archivo | Qué instala |
|---|---|
garages_public.sql | Seis garajes públicos: Legion Square, Del Perro Pier, Sandy Shores, Paleto Bay, un puerto deportivo y un hangar del aeropuerto |
garages_jobs.sql | Un garaje de trabajo: la policía de Mission Row, con una flota de vehículos del juego base |
impounds.sql | Depósitos |
Impórtalos después del primer arranque, cuando las tablas ya existen, y reinicia el recurso. Se pueden volver a importar sin crear duplicados. Los nombres de trabajo y las flotas de estos archivos son ejemplos: ajústalos en el panel.
Los puntos de alquiler no tienen archivo de ejemplo. Se crean desde el panel.
Comprueba que funciona
- Entra al servidor y escribe
/garageadmin. Se abre el panel. - Crea un garaje público y coloca en juego su punto de acceso y sus plazas.
- Camina hasta el marcador y pulsa E. El garaje se abre con tus vehículos.
- Saca un vehículo. Llega a tu inventario una llave con su matrícula y L lo cierra.
- Vuelve conduciendo al marcador y pulsa E. El vehículo se guarda y la llave se retira.
Siguiente paso: ajusta el script a tu servidor en Configuración.
