Skip to content

Configuración

Todas las opciones de Cuxial Gang: shared/config.lua bloque a bloque y los archivos de data/.

Cuxial Gang se configura en tres sitios: shared/config.lua para el comportamiento general, un archivo por actividad en data/ y el panel de staff para todo lo que vive en la base de datos. Reinicia el recurso después de editar un archivo.

Las ubicaciones, las organizaciones, el catálogo de vehículos, los precios de las mejoras, las recompensas del pase, los territorios, los puntos de extorsión, las favelas y los sitios de airdrop no están en ningún archivo. El staff los edita dentro del juego con /crimeadmin.

shared/config.lua ​

General ​

OpciónTipoPor defectoQué hace
debugbooleanfalseTrazas de depuración en la consola. También se activa con setr cuxial_gang_debug 1.
ui.accentstringconfigurableColor de acento del panel de staff y de los HUD, en hexadecimal. El menú de jefe y la tablet usan el color de cada organización.
admin.acestring'mod'ACE que abre el panel de staff y permite sus comandos. Se comprueba siempre en el servidor.
live.enabledbooleantrueLas ventanas abiertas se refrescan solas cuando cambian sus datos.
live.debounceMsnumber400Los cambios del mismo bloque dentro de esta ventana, en milisegundos, se avisan una sola vez.
timeZonestring'America/New_York'Zona horaria del servidor, con nombre IANA como Europe/Madrid. La usan los horarios y el pase de temporada.
timeApistringuna API pública de horaURL a la que se pide la hora real de timeZone al arrancar; %s se sustituye por la zona. Tiene que devolver un JSON con dateTime o datetime en formato ISO. Cadena vacía = usar el reloj de la máquina.
currencytable{ currency = 'USD', style = 'currency', format = 'en-US' }Formato del dinero en la interfaz. currency es el código ISO y format la configuración regional.

commands ​

Cada entrada es { name = '...', restricted = '...' }.

OpciónTipoPor defectoQué hace
namestring | falsever ComandosNombre del comando. false elimina el comando.
restrictedstring | false'group.mod' o 'group.admin'Grupo que ve y puede ejecutar el comando. El ACE de admin.ace se comprueba además.

Las entradas son panel, resetStats, addVehicle, fireMember y setGang.

org ​

OpciónTipoPor defectoQué hace
accessMethodstring'none''none': las sedes están en el mundo abierto.
markerSizenumber1.2Tamaño de los marcadores de la sede.
markerColortable{ r, g, b }Color de los marcadores de la sede.
defaultSlotsnumber2Huecos de rango y de miembro de una organización nueva.
ranksLimitnumber5Máximo de rangos al que se llega con mejoras.
membersLimitnumber20Máximo de miembros al que se llega con mejoras.
defaultStashWeightnumber2Capacidad del alijo de una organización nueva, en kg.
stashCapacityUpgradePernumber5Kg que suma cada mejora de alijo.
limitBossMenubooleanfalsetrue: solo un miembro a la vez dentro del menú de jefe de una organización.
useDirtyMoneyInBossMenubooleanfalsetrue: las mejoras se pagan con dinero negro en lugar del saldo limpio. El pase de temporada premium se paga siempre con el saldo limpio.

garage ​

OpciónTipoPor defectoQué hace
disabledbooleanfalsetrue: sin garaje de organización.
hideMarkerbooleanfalsetrue: oculta el marcador del garaje en la sede.
sellPercentagenumber20Porcentaje que se pierde cuando una organización vende un vehículo.
nearbyMembersRadiusnumber30.0Metros. Con un miembro más cerca que esto, la grúa no se lleva el vehículo.
idleMinutesnumber5Minutos que el vehículo tiene que llevar vacío para poder remolcarlo.
noticeSecondsnumber60Aviso al último conductor antes de la grúa. Si alguien se sube, la grúa se cancela.
maxTowSpeednumber1.0Velocidad en m/s por encima de la cual el vehículo cuenta como en marcha y no se remolca.
recover.costnumber5000Precio de recuperar al momento un vehículo destruido o desaparecido.
recover.payFromstring'org'Quién paga: 'org' (el saldo de la organización) o 'player' (quien lo pide).
returnOnRestartbooleantruetrue: los vehículos que estaban fuera al reiniciar el servidor vuelven al garaje gratis. false: aparecen como destruidos y se recuperan pagando.

tablet y seasonPass ​

OpciónTipoPor defectoQué hace
tablet.asItembooleanfalsetrue: la tablet se abre con el ítem y el comando no existe. false: se abre con el comando.
tablet.commandstring'crimetablet'Comando que abre la tablet.
tablet.itemstring'crime_tablet'Ítem que abre la tablet.
tablet.missionsPerRestartnumber8Misiones que se sortean en cada reinicio.
tablet.disableSeasonPassbooleanfalseOculta el pase de temporada.
tablet.disableRankingbooleanfalseOculta el ranking.
tablet.disableDarkChatbooleanfalseApaga el chat oscuro.
seasonPass.customCurrencybooleanfalsefalse: el pase premium se compra con el saldo limpio de la organización. true: el pase muestra una moneda propia en lugar de dinero y el pase premium no está a la venta.
seasonPass.customCurrencyLabelstring'CT'Nombre de esa moneda.

blips ​

OpciónTipoPor defectoQué hace
scalenumber0.8Tamaño de los blips.
showOnMapbooleantrueMuestra los blips de sedes, garajes, médico, lavado y favelas.
showZonesOnMapbooleantrueMuestra los blips de las zonas de captura.
medic, organisation, zone, garage, port, helipad, moneyLaundry, laundryStoptable{ id, color }Sprite y color de cada tipo de blip.
laundryRadiustable{ color, alpha, radius }Área que se dibuja alrededor de una parada de lavado.

zones ​

OpciónTipoPor defectoQué hace
disabledbooleanfalsetrue: sin zonas de captura.
tickSecondsnumber1Cada cuánto cuenta el servidor quién hay dentro de cada zona.
cooldownMinutesnumber15Minutos hasta que una zona capturada se puede volver a disputar.
captureExpnumber150Experiencia por capturar una zona.
listtableejemplosLas zonas: label, un index único, coords para el blip y los points del polígono. Las dos incluidas son ejemplos que hay que sustituir.

turf ​

OpciónTipoPor defectoQué hace
disabledbooleanfalsetrue: sin territorios.
disableEnterNotificationsbooleantruefalse: avisa al jugador al entrar y al salir de un territorio.
activityWindowtable{ enabled = false, start = '23:00', finish = '11:00' }Franja en la que cuentan las actividades de territorio, en hora del servidor. Puede cruzar la medianoche.
rivalry.disabledbooleanfalsetrue: las organizaciones no pueden declarar guerras.
rivalry.startPricenumber5000Precio de declarar una guerra.
rivalry.durationHoursnumber1Horas que dura una guerra declarada.
rivalry.ownershipHoursnumber24Horas que dura la propiedad, solo con control.enabled = false.
rivalry.winExpnumber250Experiencia por ganar una guerra.
rivalry.bonusMultipliernumber0.5Durante una guerra, esta fracción del precio de cada venta se suma a la puntuación de guerra de la organización del vendedor.
drugSelling.expPerSalenumber15Experiencia por venta.
drugSelling.loyaltyPerSalenumber50Lealtad que se gana por venta en la zona.
drugSelling.loyaltyLossForOthersnumber15Lealtad que pierden las demás organizaciones por venta.

turf.control ​

Control de zona decidido por las ventas. Con enabled = false, la propiedad simplemente caduca a las rivalry.ownershipHours.

OpciónTipoPor defectoQué hace
enabledbooleantrueActiva el control de zona.
windowDaysnumber3Ventana móvil, en días, con la que se decide el dueño y el nivel de conflicto.
claimUnitsnumber40Unidades que tiene que vender una organización para quedarse una zona sin dueño.
disputedUnitsnumber15Unidades de un rival que dejan la zona disputada (nivel 1).
hotRationumber0.6Nivel 2: el rival llega a esta fracción de las ventas del dueño.
takeoverMarginnumber0.15Nivel 3: el rival supera al dueño por este margen y se abre una guerra.
warHoursnumber2Horas de una guerra abierta por el control de zona.
abandonDaysnumber7Días sin ventas tras los que la zona pierde a su dueño.
minOwnerOnlinenumber1Miembros del dueño conectados para que una guerra pueda empezar.
sweepCronstring'*/10 * * * *'Cron del repaso periódico que baja los niveles cuando las ventas salen de la ventana.
rankingPointsPerZonenumber50Puntos de ranking por zona controlada.

turf.sales ​

OpciónTipoPor defectoQué hace
maxUnitsPerHournumber40Unidades que puntúan por personaje y hora. Lo que pase de ahí se vende pero no cuenta.
ownZoneMultipliernumber1.0Multiplicador de precio en tu propia zona.
enemyZoneMultipliernumber1.2Multiplicador de precio en una zona enemiga.
disputedMultipliernumber1.1Multiplicador de precio en una zona disputada.
graffitiPointsMultipliernumber1.5Extra de puntos con un grafiti propio cerca.
graffitiPriceMultipliernumber1.1Extra de precio con un grafiti propio cerca.
taxPercentnumber10Porcentaje de cada venta ajena que se genera como dinero negro para el dueño.
hotAlertMultipliernumber1.5Desde el nivel 2, multiplica la probabilidad de aviso a la policía.
hotRejectMultipliernumber1.5Desde el nivel 2, multiplica la probabilidad de que el comprador se eche atrás.
alertWindowMinutesnumber30Ventana con la que se cuenta la racha de un vendedor en una zona.
alertRadiusAfternumber3Ventas seguidas tras las que el dueño recibe un área en el mapa.
alertPreciseAfternumber5Ventas seguidas tras las que el área pasa a ser precisa.
alertRadiusnumber300.0Radio del área amplia, en metros.
alertPreciseRadiusnumber70.0Radio del área precisa, en metros.
alertBlipSecondsnumber90Segundos que el área se queda en el mapa.

rope, logs, steam, retention ​

OpciónTipoPor defectoQué hace
rope.enabledbooleantrueActiva el menú de interacción sobre jugadores.
rope.keybind.enabledbooleantrueRegistra una tecla para el menú.
rope.keybind.keystring'F6'Tecla por defecto. Cada jugador puede cambiarla.
logs.generalstring'cuxial_gang_webhook'Nombre de la convar con el webhook de las acciones de jugadores.
logs.adminstring'cuxial_gang_webhook_admin'Nombre de la convar con el webhook de las acciones de staff.
steam.convarstring'cuxial_gang_steam_key'Nombre de la convar con la clave de la Steam Web API, para los avatares del staff.
retention.playerActionsDaysnumber30Días que se conserva el historial de los miembros. 0 = no purgar nunca.
retention.adminLogsDaysnumber90Días que se conservan los registros de staff. 0 = no purgar nunca.
retention.extortionMessagesDaysnumber30Días que se conservan los mensajes de extorsión por teléfono. 0 = no purgar nunca.
additionalScripts.kq_shellcreatorbooleanfalsetrue: espera a que cargue la colisión alrededor del jugador cuando se carga la organización. Para sedes dentro de interiores generados.

Archivos de data/ ​

Cada archivo configura una actividad y empieza con un comentario que describe todas sus opciones. Las coordenadas, los nombres de ítem, los modelos y los precios que traen son ejemplos que hay que adaptar.

ArchivoQué configuraInterruptor principal (por defecto)
airdrop.luaHorario, fases, guardias, niveles, sitios y botín por defectoenabled = true
arsenal.luaTipo de banco, niveles, cupos semanales, recetas que se crean en el primer arranque, piezas y el armeroenabled = true
blackMedic.luaMédico clandestino: tiempo de curación, espera, precio y NPCDisable = false
clothing.luaVestuario y la ropa que se lleva en la ruta de lavadoClothing.enable = true
drugselling.luaDrogas vendibles y precios, compradores, espera, aviso a la policía, probabilidad de rechazo, ítem del móvil—
extortion.luaExtorsión por teléfono a civiles: víctimas, palabras clave y respuestas—
extortionFixers.luaIntermediarios que venden rehenes: precios, puntos de entrega y respuestas—
favelas.luaTiempos de toma, propiedad, límites, tipo de banco y blipenabled = true
graffiti.luaÍtems, esperas, duración, lealtad, experiencia, tamaño y superficies prohibidasdisabled = false
helipad.luaHelipuertosDisable = false
hostageControl.luaMenú del rehén NPC, seguimiento y animaciones—
interactionMenu.luaAlcance de cada acción sobre un jugador, controles bloqueados y formas de esposar—
missions.luaCatálogo de misiones: texto, experiencia, recompensa y condiciones—
moneyLaundry.luaOficina, furgoneta, paradas, importe por parada y comisiónDisable = false
mulas.luaHuecos de mula, reclutamiento, confianza, límites de los encargos y comando de pasoDisable = false
ports.luaPuertos y su NPCDisable = false
racketeering.luaEspera, experiencia y blip de los puntos de cobro—
raids.luaRedadas policiales: trabajos, horario, esperas, qué se puede incautarenable = false
supply.luaPuntos de abastecimiento de los carteles: género, ventas pasivas, robo e incautaciónenabled = true

En airdrop.lua, startCommand y testCommand son { enabled, name, permission }. permission es el permiso del framework que exige cada comando, 'admin' por defecto, comprobado a través de cuxial_bridge.

En drugselling.lua la tabla drugs es una lista blanca: un ítem que no esté en ella no se puede vender, y su precio sale siempre de esa tabla.

Cambios habituales ​

Abrir la tablet con un ítem ​

shared/config.lua
lua
tablet = {
    asItem = true,
    item = 'crime_tablet',
    -- ...
},

El comando deja de existir. Añade el ítem a tu inventario como se indica en Instalación.

Activar las redadas policiales ​

data/raids.lua
lua
enable = true,
allowedJobs = {
    police = { minimumGradeToStart = 2 },
},
requireDuty = true,

Cambiar el permiso de staff ​

shared/config.lua
lua
admin = {
    ace = 'gangadmin',
},
server.cfg
cfg
add_ace group.admin gangadmin allow

Revisa también commands.*.restricted para que coincida el grupo que ve cada comando.

Poner las drogas y los precios de tu servidor ​

data/drugselling.lua
lua
drugs = {
    joint = 35,
    weed_brick = 60,
},

Cambiar el formato del dinero ​

shared/config.lua
lua
currency = { currency = 'EUR', style = 'currency', format = 'es-ES' },

© Cuxial