Skip to content

Configuración

Todas las opciones de Cuxial Diving explicadas: config, regiones, botín, mercado, equipo y progresión.

El comportamiento está en shared/config.lua; las regiones, el botín, los precios, el equipo y los niveles están en los archivos de data/. Reinicia el recurso después de cualquier cambio.

Las coordenadas, el NPC, las regiones, los ítems y los precios que vienen en estos archivos son ejemplos. Cámbialos para adaptarlos a tu servidor.

General ​

OpciónTipoPor defectoQué hace
debugbooleanfalseImprime trazas en la consola. También se activa poniendo la convar cuxial_diving_debug a 1.
accountstring'bank'Cuenta usada para los pagos del trabajo, las recompensas diarias y el mercado.
jobstring | string[]'all'Quién puede hacer el trabajo. 'all' = todos. Un nombre de trabajo o una lista de nombres = solo esos trabajos.
logs.convarstring'cuxial_diving_webhook'Nombre de la convar que guarda el webhook de Discord. Con la convar vacía no se envía nada.
admin.auditDaysnumber60Días que se conservan las filas de auditoría. Las más antiguas se borran una vez al día. Mínimo 1.

Interfaz · ui ​

OpciónTipoPor defectoQué hace
accentstring (hex)configurableColor de acento del panel.
currency.symbolstring'$'Símbolo de moneda que muestra el panel.
currency.localestring'en-US'Formato numérico de las cantidades, como etiqueta de idioma ('en-US', 'es-ES'...).

NPC del trabajo · npc ​

El NPC abre el panel y el mercado.

OpciónTipoPor defectoQué hace
coordsvector4ejemploPosición y orientación del NPC.
modelstring'a_m_y_beach_01'Modelo del ped.
distancenumber2.0Metros desde los que se ofrece la interacción.
menuDistancenumber6.0Metros a partir de los cuales el servidor rechaza abrir el panel.
spawnDistancenumber60.0Metros dentro de los cuales el ped existe para un jugador.
blip.enabledbooleantruetrue muestra el blip del trabajo en el mapa. false lo oculta.
blip.sprite, blip.color, blip.scalenumber317, 3, 0.55Aspecto del blip.

Interacción · target ​

OpciónTipoPor defectoQué hace
distancenumber3.0Metros a una pieza para interactuar con ella.
showDistancenumber35.0Metros dentro de los cuales se dibuja un marcador sobre cada pieza pendiente. 0 = sin marcador.
marker.typenumber2Tipo de marcador del juego.
marker.scalenumber0.5Tamaño del marcador.
marker.heightnumber0.8Metros por encima del punto más alto de la pieza.
marker.colornumber[]configurableColor como { r, g, b, alfa }.
marker.bobbooleantruetrue hace que el marcador suba y baje.
marker.rotatebooleantruetrue hace que el marcador gire.
iconstableclases de Font AwesomeIcono de cada interacción: menu, coral, trash, open, loot, bag, raise.

Blips · blips ​

OpciónTipoPor defectoQué hace
boattablesprite 529, color 0, scale 0.8Blip del barco de trabajo.
delivertablesprite 410, color 2, scale 0.9Blip del punto de entrega.
areatablecolor 77, alpha 90Círculo que marca el radio de cada zona de tareas.
taskstableuna entrada por tareaBlip de cada tarea: coral, trash, suitcase, box, cada una con sprite, color y scale.
siteDistancenumber250.0Metros dentro de los cuales las piezas de una zona existen para un jugador.

Tripulación · crew ​

OpciónTipoPor defectoQué hace
maxPlayersnumber4Tamaño máximo de la tripulación.
inviteDistancenumber8.0Metros entre el dueño y el jugador invitado.
inviteSecondsnumber60Segundos hasta que caduca una invitación. Mínimo 5.
reconnectSecondsnumber180Segundos que se guarda el puesto a quien se desconecta durante un trabajo. 0 = sale de la tripulación al momento.
splitRewardsbooleantruetrue deja al dueño repartir el dinero por porcentaje desde el panel. false oculta esa opción. La experiencia nunca se reparte así.

Trabajo · run ​

OpciónTipoPor defectoQué hace
cooldownHoursnumber0Horas que un jugador debe esperar entre trabajos, contadas desde el inicio del último. 0 = sin espera.
soloHalfbooleantruetrue reduce a la mitad las tareas obligatorias (corales y basura) para una tripulación de uno. false mantiene la cantidad completa.
spawnFreeRadiusnumber10.0Metros alrededor de un punto de salida que deben estar libres de vehículos para que el barco aparezca ahí.
exclusiveRegionsbooleanfalsefalse permite que varias tripulaciones trabajen en la misma región. true admite una tripulación por región.

Fundido de pantalla · fade ​

Se usa cuando se lleva a un jugador al barco o de vuelta al NPC.

OpciónTipoPor defectoQué hace
outMsnumber600Milisegundos del fundido a negro.
holdMsnumber1500Milisegundos que la pantalla se queda en negro.
inMsnumber800Milisegundos del fundido de vuelta.
maxMsnumber15000Tope de seguridad. La pantalla nunca se queda en negro más tiempo.

Embarque · board ​

OpciónTipoPor defectoQué hace
seatbooleantruetrue sienta a cada miembro en un asiento libre, con el dueño al timón. false los deja de pie en cubierta.
deckOffsetvector3vec3(0.0, 0.0, 2.0)Posición en cubierta, relativa al barco, cuando no hay asiento libre o seat = false.
timeoutMsnumber8000Espera máxima a que el barco exista para el jugador. Mínimo 1000.
reconnectDistancenumber100.0A quien se reconecta solo se le sube al barco si está más lejos que esto, en metros.
returnToNpcbooleantruetrue devuelve al jugador al NPC cuando el trabajo acaba estando en el agua o en el barco. false lo deja donde está.
npcOffsetnumber1.5Metros delante del NPC donde se coloca al jugador.

Barco de trabajo · boat ​

OpciónTipoPor defectoQué hace
modelstring'tug'Modelo del barco.
platestring'DIVE'Prefijo de la matrícula, hasta cuatro caracteres. Lo completa el número de trabajo.
fuelnumber100.0Nivel de combustible que se pone al barco al aparecer.
keysbooleantruetrue da las llaves a la tripulación a través de cuxial_garages cuando ese recurso está en marcha. false nunca da llaves.
spawnTimeoutMsnumber5000Espera máxima a que se cree el barco.

Sitio de buceo · site ​

Las piezas de una tarea se colocan cuando un miembro de la tripulación se acerca a ella.

OpciónTipoPor defectoQué hace
spawnRadiusnumber150.0Metros al centro de una tarea a los que se generan sus piezas.
maxDepthDeltanumber40.0Metros por debajo del centro de la tarea en los que aún se aceptan piezas.
surfaceZnumber0.0Altura de la superficie del mar. Las piezas tienen que quedar por debajo.
minSeparationnumber2.0Metros mínimos entre dos piezas.
requestTimeoutMsnumber20000Milisegundos que tiene un jugador para responder con las posiciones antes de pedírselas a otro.
maxAttemptsnumber3Intentos fallidos por jugador antes de pasar la petición a otro miembro.
watchMsnumber1000Milisegundos entre comprobaciones de proximidad. Mínimo 250.

Recogida · collect ​

OpciónTipoPor defectoQué hace
maxDistancenumber4.0Metros a la pieza que acepta el servidor.
progressMstable2800 cada unaDuración en milisegundos de cada acción: coral, trash, open, loot, bag.
marginMsnumber500Tolerancia en milisegundos cuando el servidor comprueba esas duraciones.
beginTtlMsnumber15000Milisegundos tras los que caduca una acción empezada.

Maletas · suitcase ​

OpciónTipoPor defectoQué hace
weaponstring'WEAPON_KNIFE'Arma que el jugador debe llevar en la mano para abrir una maleta. 'WEAPON_UNARMED' = sin requisito.

Cajas · boxes ​

OpciónTipoPor defectoQué hace
liftbagItemstring'liftbag'Ítem que se gasta al enganchar un globo a una caja.
liftbagModelstring'cuxial_diving_liftbag'Modelo del globo, de cuxial_diving_assets.
liftbagFallbackstring'prop_byard_float_02'Modelo que se usa cuando el principal no está disponible.
oxygenCostnumber2Puntos de oxígeno que se gastan al enganchar un globo.
surfaceZnumber0.5Altura a la que flota una caja subida.
deckSlotsnumber48Cajas que caben en cubierta.

Cuerda · tow ​

El jugador lanza la cuerda desde el barco, sentado o de pie en cubierta, con el ancla echada.

OpciónTipoPor defectoQué hace
maxDistancenumber40.0Metros máximos entre el barco y la caja que flota.
deckRadiusnumber7.0Metros al barco dentro de los cuales un jugador cuenta como en cubierta.
speednumber5.0Velocidad de la caja mientras se arrastra, en metros por segundo.
ropeTypenumber5Tipo de cuerda del juego.

Entrega · deliver ​

OpciónTipoPor defectoQué hace
radiusnumber15.0Metros al punto de entrega de la región a los que se puede entregar el barco. El jugador tiene que estar sentado en el barco.

Pago · reward y loot ​

OpciónTipoPor defectoQué hace
reward.modestring'full'Cómo se paga el dinero de la región. 'full' = la recompensa íntegra a cada miembro. 'split' = la recompensa dividida entre el tamaño de la tripulación. 'bonus' = la recompensa íntegra más bonusPerExtra por cada miembro extra.
reward.bonusPerExtranumber0.25Parte extra por miembro adicional en modo 'bonus'. 0.25 = +25 %.
loot.boxTostring'tower'Quién recibe el botín de una caja. 'tower' = el jugador que lanzó la cuerda. 'deliverer' = el jugador que entrega el barco, todo de una vez. 'rotate' = los miembros conectados, por turnos.

El tamaño de la tripulación cuenta a todos los miembros, conectados o no. Los miembros desconectados en el momento de la entrega no reciben nada. La experiencia se paga siempre íntegra a cada miembro conectado.

Equipo · gear ​

OpciónTipoPor defectoQué hace
consumeMaskbooleanfalsefalse deja la máscara en el inventario después de usarla. true la quita. Las botellas se gastan siempre.
requireRunbooleantruetrue permite el equipo solo durante un trabajo. false lo permite en cualquier momento.
confirmMsnumber10000Milisegundos que tiene el juego para terminar de poner el equipo. Pasado ese tiempo se devuelve el ítem. Mínimo 1000.

Mercado · market ​

OpciónTipoPor defectoQué hace
maxDistancenumber15.0Metros al NPC dentro de los cuales se acepta comprar y vender.
maxAmountnumber100Unidades máximas por operación.
sellValuablesbooleantruefalse quita de la lista de venta las entradas marcadas valuable en data/market.lua.

Ropa · outfit ​

OpciónTipoPor defectoQué hace
modestring'wetsuit'Ropa que se lleva durante el trabajo, de data/outfits.lua. 'wetsuit' = traje de neopreno. 'classic' = el conjunto alternativo de ese archivo. 'none' = el jugador conserva su ropa.

La ropa se pone al empezar el trabajo y la del jugador vuelve al terminar. Solo se aplica a los modelos freemode masculino y femenino.

Ranking, historial y perfil ​

OpciónTipoPor defectoQué hace
leaderboard.sizenumber10Entradas de cada ranking. De 1 a 50.
leaderboard.cacheSecondsnumber60Segundos que se conserva el ranking antes de volver a leerlo de la base de datos.
history.sizenumber10Trabajos que se muestran en el historial de un jugador. De 1 a 50.
profile.flushMsnumber30000Milisegundos entre guardados de experiencia y progreso diario. El dinero se paga siempre al momento. Mínimo 5000.

Comandos · commands ​

OpciónTipoPor defectoQué hace
gear.namestring | false'divinggear'Nombre del comando que quita el equipo. false lo desactiva.
reset.namestring | false'divingreset'Nombre del comando que reinicia el trabajo. false lo desactiva.
list.name, list.restrictedstring'divinglist', 'group.admin'Nombre del comando que lista las tripulaciones y grupo que puede usarlo.
close.name, close.restrictedstring'divingclose', 'group.admin'Nombre del comando que cierra una tripulación y grupo que puede usarlo.
fast.name, fast.restrictedstring'divingfast', 'group.admin'Nombre del comando de depuración y grupo que puede usarlo.

En Comandos y permisos está lo que hace cada uno.

Teclas y ayudas en pantalla ​

OpciónTipoPor defectoQué hace
keys.anchorstring'H'Tecla por defecto para echar o levar el ancla.
keys.interactstring'E'Tecla por defecto para entregar el barco, lanzar la cuerda y cerrar el resumen final.
keys.acceptstring'Y'Tecla por defecto para aceptar una invitación.
keys.declinestring'N'Tecla por defecto para rechazar una invitación.
keys.tipHidestring'BACK'Tecla por defecto para ocultar una pista.
tips.secondsnumber12Segundos que una pista de primera vez se queda en pantalla. Mínimo 3.
finish.secondsnumber15Segundos que el resumen final se queda en pantalla. Mínimo 3.

Estas teclas son solo valores por defecto. Cada jugador puede cambiarlas en los ajustes de GTA, en las asignaciones de teclas de FiveM.

Regiones · data/regions.lua ​

Cada entrada es una región que la tripulación puede elegir.

CampoTipoQué hace
idnumberNúmero estable de la región. Se guarda en la base de datos: no lo reutilices ni lo renumeres.
labelstringClave de idioma con el nombre de la región. Tiene que empezar por region_.
minLevelnumberNivel mínimo que deben tener todos los miembros de la tripulación.
rewardtable{ money, xp } por miembro. reward.mode decide cómo se paga el dinero.
taskstable[]Tareas de la región. Ver abajo.
spawnsvector4[]Puntos de salida del barco. Se usa el primero que esté libre.
delivervector3Punto de entrega del barco.

Campos de cada tarea:

CampoTipoQué hace
kindstring'coral', 'trash', 'suitcase' o 'box'.
amountnumberNúmero de piezas.
radiusnumberRadio en metros de la zona donde aparecen las piezas.
centervector3Centro de la zona, en el fondo del mar.
countedbooleantrue = hay que completar la tarea para entregar el barco. Sin él la tarea es opcional.
data/regions.lua
lua
{
    id = 5,
    label = 'region_reef',
    minLevel = 15,
    reward = { money = 5000, xp = 900 },
    tasks = {
        { kind = 'coral', amount = 25, radius = 40.0, center = vec3(0.0, 0.0, -30.0), counted = true },
        { kind = 'trash', amount = 25, radius = 40.0, center = vec3(0.0, 0.0, -30.0), counted = true },
        { kind = 'suitcase', amount = 10, radius = 40.0, center = vec3(0.0, 0.0, -30.0) },
    },
    spawns = {
        vec4(0.0, 0.0, 0.5, 90.0),
    },
    deliver = vec3(0.0, 0.0, 0.5),
},

Sustituye las coordenadas por unas reales y añade la clave de label a locales/es.json y a los demás archivos de idioma que uses.

Botín · data/loot.lua ​

Tres tablas: coral (cada coral cortado), suitcase (cada maleta saqueada) y box (cada caja cargada en el barco).

CampoTipoQué hace
itemstringNombre del ítem en tu inventario.
chancenumberPeso relativo. Los pesos no tienen que sumar 100.
min, maxnumberCantidad que se entrega, elegida al azar entre ambos.

Mercado · data/market.lua ​

CampoTipoQué hace
buytable[]Lo que vende el NPC: { item, price }.
selltable[]Lo que compra el NPC: { item, price, valuable }. Las entradas con valuable = true desaparecen con market.sellValuables = false.

Los precios son por unidad, en la cuenta definida en account. El nombre y la imagen de cada ítem salen de tu inventario.

Equipo · data/gear.lua ​

CampoTipoPor defectoQué hace
tubestable[]tres botellasBotellas, en orden de nivel. Cada una tiene item (ítem usable), model (prop en la espalda) y seconds (segundos bajo el agua por punto de oxígeno).
oxygennumber100Puntos de oxígeno de una botella llena.
lowOxygennumber20Porcentaje al que aparece el aviso de oxígeno bajo.
mask.itemstring'scuba_gear'Ítem de la máscara.
mask.modelstring'p_d_scuba_mask_s'Prop de la máscara.
tank, masktableHueso, offset y rotation de cada prop sobre el jugador.
underwaterMsnumber50000Tiempo que el jugador puede estar bajo el agua mientras queda oxígeno, tal como lo usa el juego.
emptyMsnumber10El mismo valor cuando el oxígeno se acaba.
equipMsnumber2000Milisegundos de la animación al ponerse el equipo.
animtableAnimación que se reproduce al ponerse el equipo.

Con los valores por defecto, una botella llena dura 5:00, 8:20 y 11:40 minutos bajo el agua. El oxígeno solo se gasta mientras el jugador nada bajo el agua.

Tareas diarias · data/daily.lua ​

CampoTipoPor defectoQué hace
resetHoursnumber24Horas tras las que las tareas diarias de un jugador empiezan de nuevo, contadas desde su último reinicio.
taskstable[]tres tareasTareas diarias. Campos abajo.
CampoTipoQué hace
idstringClave estable de la tarea. Se guarda en la base de datos.
labelstringClave de idioma con el nombre.
kindstringQué cuenta. 'coral' = corales cortados. 'trash' = basura recogida. 'runs' = trabajos entregados. 'money' = dinero ganado con trabajos. 'team' = trabajos entregados con una tripulación de dos o más.
goalnumberCantidad a alcanzar.
xp, moneynumberRecompensa al completarla.

Niveles · data/levels.lua ​

required es la lista de experiencia necesaria para pasar de cada nivel al siguiente. Los jugadores empiezan en el nivel 1 y el nivel máximo es el número de entradas más uno: 71 con el archivo por defecto.

Ropa y props · data/outfits.lua, data/pieces.lua ​

data/outfits.lua guarda la ropa de cada modo, para hombre y mujer: components como { componente, drawable, textura } y props como { prop, drawable, textura }, donde un drawable de -1 quita el prop. Ajusta los números a la ropa de tu servidor.

data/pieces.lua guarda los modelos de los corales, la basura, las maletas y las cajas, la animación de cada acción y la disposición de las cajas en cubierta. Cámbialo solo si quieres otros props.

Cambios habituales ​

Limitar el trabajo a ciertos trabajos ​

shared/config.lua
lua
job = { 'lifeguard', 'diver' },

Repartir la recompensa entre la tripulación ​

shared/config.lua
lua
reward = { mode = 'split', bonusPerExtra = 0.25 },

Abrir maletas sin cuchillo ​

shared/config.lua
lua
suitcase = { weapon = 'WEAPON_UNARMED' },

Dejar usar el equipo fuera de un trabajo ​

shared/config.lua
lua
gear = {
    consumeMask = false,
    requireRun = false,
    confirmMs = 10000,
},

Añadir una espera entre trabajos ​

shared/config.lua
lua
run = {
    cooldownHours = 2,
    soloHalf = true,
    spawnFreeRadius = 10.0,
    exclusiveRegions = false,
},

© Cuxial