Skip to content

Configuración

Cómo guarda Cuxial Police sus ajustes y qué hace cada sección y cada opción.

Cuxial Police guarda sus ajustes en la base de datos y los edita desde una pestaña de la tablet. Esta página explica cómo funciona y qué hace cada opción.

Cómo funcionan los ajustes ​

DóndeQué es
install/defaults/config.luaValores de fábrica de los ajustes principales
install/defaults/police/, ems/, fib/, shared/Valores de fábrica de las listas de datos (permisos, radio, objetos...)
Tabla cuxial_police_settingsLos valores que el servidor usa de verdad
Pestaña de ajustes de la tabletDonde se cambian

En el primer arranque cada sección se copia de install/defaults/ a la base de datos. A partir de ahí la base de datos es la única fuente: los archivos solo se vuelven a leer para restaurar una sección.

Editar un archivo de install/defaults/ no cambia una instalación que ya ha arrancado una vez. Cambia el valor en la pestaña de ajustes. Para llevar un cambio de archivo a una instalación en marcha, reinicia el recurso y usa el botón de valores de fábrica de esa sección.

La pestaña de ajustes ​

La pestaña aparece en la tablet para el staff: jugadores con el permiso admin de tu framework. El jugador también necesita un trabajo de facción, porque solo los miembros de una facción pueden abrir la tablet.

AcciónQué hace
GuardarGuarda la sección y la aplica al servidor y a todos los jugadores
Valores de fábricaRestaura la sección a lo que contiene install/defaults/
ExportarCopia al portapapeles las secciones personalizadas, en JSON
ImportarCarga secciones desde ese JSON

La mayoría de las secciones se aplica al momento. Estas necesitan reiniciar el recurso:

SecciónPor qué
config.radio, data.radio, data.radioaudioLas frecuencias y el efecto de audio se construyen una vez al arrancar
data.keybindsLas teclas se registran una vez al arrancar
fingerprint.closeKey, data.surrender → cancelKeySon teclas
addons.fib.enabled, addons.fib.devices.itemsEl addon y los exports de sus items se registran una vez al arrancar

Esta página nombra cada sección por su id y da el título que verás en la pestaña de ajustes.

Trabajos y general ​

Secciones config.jobs (Trabajos) y config.general (General).

OpciónTipoPor defectoQué hace
policeJobstabla{ police = true }Trabajos que pertenecen a la facción de policía
emsJobstabla{ ambulance = true }Trabajos que pertenecen a la facción EMS
factionJobstablapolice → 'police', ambulance → 'ems'Mapa de trabajo a facción ('police', 'ems'). Se rellena a partir de las dos listas anteriores; los trabajos federales se añaden solos. Para quitar un trabajo, bórralo también aquí
bossLevelnúmero8Grado desde el que un miembro cuenta como jefe, además de los grados que tu framework ya marca como jefe
cameraRadiusnúmero100.0Radio en metros en el que se buscan cámaras de CCTV alrededor del agente

Opciones de la tablet y colores ​

Secciones config.appOptions (Opciones de la MDT) y config.theme (Colores).

OpciónTipoPor defectoQué hace
appOptions.confiscatebooleanotrueMuestra la opción de incautar en la tablet y en el menú rápido. Solo cambia la interfaz
theme.policetablaconfigurableColores de la tablet y el HUD de policía
theme.emstablaconfigurableColores de la tablet y el HUD de EMS
theme.fibtablaconfigurableColores de la tablet y el HUD federal

Cada tema tiene accent (obligatorio) y light, dark y gradientTo (opcionales). Los tres opcionales se derivan de accent cuando se omiten. Todos son colores hexadecimales.

Radio ​

Secciones config.radio (Radio), data.radio (Canales de radio), data.radioanims (Animaciones de radio) y data.radioaudio (Audio de radio).

OpciónTipoPor defectoQué hace
radio.enabledbooleanotruefalse: los jugadores no pueden entrar en frecuencias
radio.defaultVolumenúmero1.0Volumen de radio con el que empieza un jugador (0 a 1)
radio.centralFreqstablaDISPATCH, COMMANDFrecuencias que actúan como nivel de mando: hablan a todas las frecuencias tácticas de la facción

data.radio contiene una lista de frecuencias por facción (police, ems, fib), agrupadas por categoría, y una tabla blips que da un icono y un color en el mapa a los miembros sintonizados en una frecuencia. Los nombres del archivo por defecto son ejemplos a cambiar.

data.radioaudio contiene el efecto de audio. proximityFxCutoff (por defecto 4.0) es la distancia por debajo de la cual se oye a quien habla sin el efecto de radio.

Avisos ​

Sección config.dispatch (Central / avisos) y data.gunshotwhitelist (Disparos ignorados).

OpciónTipoPor defectoQué hace
dispatch.enabledbooleanotruefalse: no se envían avisos de disparos
dispatch.ignoredJobstabla{}Trabajos cuyos miembros de servicio no generan avisos de disparos. Acepta una lista o un mapa trabajo = true
dispatch.sendAlertCooldownnúmero10Segundos entre dos avisos enviados por el mismo jugador con el export de cliente
dispatch.gunshotCooldownnúmero5Segundos entre dos avisos de disparos del mismo jugador
dispatch.entornoCooldownnúmero30Segundos entre dos usos de /entorno
dispatch.radioCodeCooldownnúmero3Segundos entre dos códigos de radio del mismo miembro

data.gunshotwhitelist es la lista de nombres de arma que nunca generan un aviso de disparos.

Multas y recaudación ​

Secciones config.payment (Cobros), config.revenue (Recaudación) y data.paymentLocations (Puntos de pago).

OpciónTipoPor defectoQué hace
payment.enabledbooleanotruefalse apaga los puntos de pago y los comandos de pago
payment.commandsbooleanofalsetrue: /paymultas y /payfacturas abren la pantalla de pago desde cualquier sitio. false: las multas y las facturas solo se pagan en los puntos de pago
payment.payAccounttexto'bank'Cuenta de la que se cobra primero: 'bank' o 'cash'
payment.allowCashFallbackbooleanotrueCobra en efectivo cuando la primera cuenta no alcanza
payment.bankFeePercentnúmero0Porcentaje extra que se suma al importe
revenue.enabledbooleanotrueIngresa lo pagado en la cuenta de la facción mediante cuxial_banking
revenue.police.societyNametexto'police'Cuenta que recibe las multas policiales
revenue.police.societyLabeltextoconfigurableConcepto que aparece en el movimiento de la cuenta
revenue.ems.societyNametexto'ambulance'Cuenta que recibe las facturas médicas
revenue.ems.societyLabeltextoconfigurableConcepto que aparece en el movimiento de la cuenta
revenue.ems.commissionPercentnúmero30Parte de una factura médica que cobra el médico que la emitió, si está conectado
revenue.ems.commissionAccounttexto'bank'Cuenta en la que el médico recibe la comisión

Cada entrada de data.paymentLocations es un punto con coords, heading, size, issuer ('police' o 'ems'), label, icon y distance. Vienen dos puntos por defecto, uno de policía en Mission Row y uno de EMS en Pillbox Hill; muévelos a tus propios edificios.

Puntos de estación ​

Secciones config.stations (Estaciones) y config.stationNpc (NPC de las estaciones). La lista empieza vacía y se construye dentro del juego con el editor de la pestaña de ajustes.

CampoTipoQué hace
idtextoIdentificador único del punto
typetexto'duty', 'stash', 'armory', 'mdt' o 'event'
labeltextoTexto de la interacción
coordsvectorPosición, con orientación opcional
factiontexto'police', 'ems', 'fib' o 'any'
minGradenúmeroGrado mínimo
onDutybooleanoExige estar de servicio
distancenúmeroDistancia de interacción. 2.0 por defecto
enabledbooleanofalse oculta el punto
slots, weight, personaltaquillaTamaño de la taquilla; personal = true da una privada a cada miembro
itemsarmeríaLista de { name, price, count, grade }
event, servereventoEvento que se lanza; server = true lo lanza en el servidor
npctablaOpcional. Convierte el punto en un NPC (necesita cuxial_interactions)

Las armerías necesitan ox_inventory.

La tabla npc tiene enabled, model, scenario, name, role, greeting y group. Los puntos con el mismo group comparten un NPC, con un botón por punto. Sin cuxial_interactions el punto sigue siendo una zona de interacción.

config.stationNpc contiene los valores por defecto de esos NPC: model, scenario, spawnDistance (por defecto 60.0) y las listas de modelos y escenarios que ofrece el editor.

Herramientas de policía ​

OpciónSecciónPor defectoQué hace
surrender.maxDistanceconfig.surrender15.0Distancia máxima para pedir a un jugador que se rinda
catear.cooldownconfig.catear5Segundos entre dos cateos
catear.maxDistanceconfig.catear2.5Distancia máxima para catear a un jugador
ankle.tickMsconfig.ankle3000Cada cuánto se envía la posición de una tobillera, en milisegundos
ankle.placeDistanceconfig.ankle3.0Distancia máxima para colocar una tobillera
ankle.shockCooldownMsconfig.ankle5000Tiempo mínimo entre dos descargas al mismo portador
fingerprint.pointsconfig.fingerprintejemploPosiciones de los lectores de huellas
fingerprint.interactDistanceconfig.fingerprint1.0Distancia para usar un lector
fingerprint.broadcastRadiusconfig.fingerprint25.0Radio en el que el escaneo se muestra a otros jugadores
fingerprint.cooldownconfig.fingerprint10000Milisegundos entre dos escaneos
fingerprint.closeKeyconfig.fingerprint'BACK'Tecla que cierra el lector
operations.allowedDurationsMinconfig.operations{ 10, 20, 30 }Duraciones aceptadas para una zona del mapa, en minutos. La tablet ofrece 10, 20 y 30
duty.pollIntervalMsconfig.duty2500Cada cuánto se refrescan las posiciones de los miembros de servicio para los blips lejanos
duty.moveThresholdMconfig.duty15.0Metros que debe moverse un miembro para que se envíe de nuevo su posición
duty.orphanCleanupSecconfig.duty1800Segundos tras los que se cierra un fichaje que quedó abierto

Las listas de datos de las herramientas de policía se editan como secciones completas:

SecciónTítulo en la pestañaQué contiene
data.illegalitemsObjetos ilegalesItems que detecta un cateo, como { name, label }
data.policeobjectsObjetos policialesCatálogo de props colocables, por categoría
data.trafficTráficoPuntos de control de tráfico: maxPoints (24), radius, radiusMin, radiusMax, colores y marcadores
data.cuffsEsposasProp de las esposas, animaciones y maxDistance (1.5)
data.escortEscoltarAnimación de escolta, posición de enganche y maxDistance (1.5)
data.lockpickGanzúaDificultad de las pruebas de habilidad y maxDistance (3.0)
data.surrenderRendición (datos)Animaciones, cancelKey ('X'), requestTimeoutMs, requestCooldownMs
data.cctvCámaras CCTVModelos de prop tratados como cámaras de CCTV
data.photoCámara (datos)Prop de la cámara, zoom, rotación y tiempos del modo foto
data.vehicledataDatos de vehículosNombres de clases y colores de vehículo que muestra la ficha
data.divisions, data.condecorates, data.badgesDivisiones, Condecoraciones, PlacasDivisiones, condecoraciones y plantillas de placa de la policía

Prisión ​

Sección config.prison (Prisión). Solo se aplica cuando rcore_prison no está iniciado.

OpciónTipoPor defectoQué hace
prison.monthSecondsnúmero60Segundos reales que dura un mes de condena
prison.jailCoordsvector4ejemploDónde se coloca al preso
prison.releaseCoordsvector4ejemploDónde aparece el preso liberado

EMS ​

Secciones config.medical (Médico) y config.appointments (Citas y recepciones).

OpciónTipoPor defectoQué hace
medical.reviveEventtexto | falsefalseEvento de cliente que lanzan los fármacos que reaniman. false usa la reanimación nativa
medical.hospitalPhonetextoejemploNúmero desde el que se envían los SMS de citas con lb-phone
appointments.reminderMinutesBeforenúmero60Minutos antes de la cita en que se envía el recordatorio
appointments.defaultDurationMinnúmero20Duración por defecto de una cita
appointments.noShowGraceMinnúmero30Minutos tras el final del hueco antes de marcarla como no presentado
appointments.noShowRegressbooleanotrueNo presentarse a una cita de cura retrocede un paso el plan de cura
appointments.checkInEarlyMinnúmero60Con cuánta antelación puede hacer check-in el paciente
appointments.checkInRadiusnúmero8.0Metros desde una recepción dentro de los que se acepta el check-in
appointments.autoNextStepbooleanotrueCerrar una cita de cura crea la siguiente del plan
appointments.autoBillbooleanofalseFactura al paciente al cerrar, usando prices
appointments.defaultHospitaltexto'Medical Center'Nombre del hospital que se escribe en las citas nuevas
appointments.pricestablaejemploPrecio por tipo de cita; 0 es gratis
appointments.receptionstablaejemploPuntos de recepción: coords, size, heading, label

Addon de agencia federal ​

Sección config.fib (Addon FIB), clave addons.fib.

OpciónTipoPor defectoQué hace
enabledbooleanotruefalse: la tercera facción no existe. Necesita reinicio
jobstablaejemploTrabajos que pertenecen a la facción federal
labeltextoconfigurableNombre de la agencia
caseNumberPrefixtextoconfigurablePrefijo del número de expediente, seguido de año y secuencia
clearancetabla0→0, 1→2, 2→4, 3→6Grado mínimo para ver un expediente de cada clasificación. El equipo del caso lo ve siempre
gangResourcetexto'cuxial_gang'Recurso que aporta las organizaciones criminales

Inteligencia ​

OpciónPor defectoQué hace
intel.autofalsefalse: la inteligencia y el calor solo suben con el trabajo de la agencia. true: también cuenta la actividad de policía y bandas, con weights y heat
intel.manualtablaPuntos de inteligencia por pieza de trabajo (sospechoso, confirmación, acto, acto verificado, prueba, lugar)
intel.manualHeattablaPuntos de calor por pieza de trabajo
intel.manualCapstablaMáximo de piezas de cada tipo que puntúan por organización; 0 es sin tope
intel.maxIntel100Tope del medidor de inteligencia
intel.decayPerHour1.5Inteligencia que se pierde por hora cuando la organización queda inactiva
intel.idleHoursBeforeDecay6Horas sin eventos antes de que la inteligencia empiece a bajar
intel.heatDecayPerHour3Calor que se pierde por hora
intel.layerstablaInteligencia necesaria para desbloquear cada capa de la ficha de la organización

Órdenes y operativos ​

OpciónPor defectoQué hace
warrants.durationHoursarrest = 72, search = 24, surveillance = 48Horas que dura una orden firmada
ops.requireWarranttrueAllanamientos e incautaciones necesitan una orden de registro activa
ops.seizeStashtrueEl objetivo de alijo vacía el alijo real de la organización
ops.seizeDirtyMoneytrueEl objetivo de caja incauta el dinero sucio de la organización
ops.cooldownHours24Horas mínimas entre dos operativos completados sobre la misma organización
ops.minSuccessRatio0.5Parte de los objetivos (0 a 1) necesaria para que el operativo cuente como golpe
ops.strikeLoyalty60Lealtad que pierde la organización en sus territorios tras un golpe

Dispositivos ​

OpciónPor defectoQué hace
devices.itemsfib_camera, fib_mic, fib_gps, WEAPON_DIGISCANNERItem de cada dispositivo y arma usada como detector. Necesita reinicio
devices.modelstablaModelos de prop que se ofrecen al colocar una cámara o un micrófono
devices.placeDistance4.0Distancia máxima para colocar una cámara o un micrófono
devices.pickupDistance3.0Distancia para recoger un dispositivo propio y recuperar el item
devices.gpsAttachDistance3.0Distancia máxima al vehículo para fijar un rastreador
devices.maxActive4 cada unoDispositivos activos por agente y tipo
devices.batteryHourscamera = 48, mic = 24, gps = 72Horas que funciona un dispositivo
devices.micRadius8.0Metros que capta un micrófono
devices.gpsTrailMax240Puntos de recorrido guardados por rastreador
devices.detectorradius = 30.0, removeDistance = 2.0Alcance del detector y distancia para retirar un dispositivo
devices.heatOnLost3Calor que gana la organización cuando retira un dispositivo

Requisitos de desmantelamiento ​

La tabla dismantle nunca se envía a los jugadores. Un requisito a 0 (o leader = false) queda desactivado.

OpciónPor defectoQué hace
dismantle.membersPct80Porcentaje de los miembros reales que debe estar confirmado
dismantle.leadertrueEl jefe real tiene que estar confirmado
dismantle.acts30Actos delictivos registrados
dismantle.actsMulti8Actos con al menos actsMultiPeople (2) miembros confirmados implicados
dismantle.actsSolid15Actos con prueba y visto bueno de un supervisor
dismantle.evidence10Evidencias físicas enlazadas
dismantle.zones1Zonas de operación: territorios con al menos zoneActs (5) actos
dismantle.places2Lugares localizados
dismantle.manualActsNeedVerifytrueUn acto solo cuenta tras el visto bueno
dismantle.verifyNotCreatortrueQuien registra un acto no puede darle el visto bueno
dismantle.maxManualActsPerDay5Actos registrados por día y organización
dismantle.evidenceResource''Recurso de evidencias cuyos casos se pueden enlazar como prueba. '' deja solo los informes
dismantle.videoDomains{}Dominios aceptados para pruebas en vídeo. Vacío acepta cualquiera
dismantle.requestNoteMin20Caracteres mínimos de la nota de solicitud
dismantle.requestCooldownHours24Espera para volver a solicitar tras una denegación

Sistema ​

OpciónSecciónPor defectoQué hace
photo.uploadUrlconfig.photoconfigurableDirección a la que se suben las fotos
photo.maxWidth, photo.maxHeightconfig.photo1280, 720Tamaño máximo de una foto
photo.uploadTimeoutMsconfig.photo15000Milisegundos antes de dar una subida por fallida
retention.plateChecksDaysconfig.retention30Días que se guardan las consultas de matrícula
retention.usageLogDaysconfig.retention7Días que se guarda el registro de uso de fármacos
retention.dispensationsDaysconfig.retention180Días que se guardan las dispensaciones de farmacia
limits.maxBillAmountconfig.limits10000000Importe máximo de una multa o factura
limits.maxSentenceMonthsconfig.limits1200Condena máxima, en meses
limits.maxPenalPriceconfig.limits10000000Multa máxima de un artículo del código penal
limits.maxTextLen, maxTitleLen, maxShortLenconfig.limits5000, 120, 32Longitud máxima de notas, títulos y campos cortos

Los permisos por grado (data.permissions) y las teclas (data.keybinds) se explican en Comandos y permisos.

Idioma ​

El idioma sigue la convar ox:locale. Los textos están en locales/en.json y locales/es.json, y los dos archivos se pueden editar.

Cambios habituales ​

Añadir un segundo trabajo de policía ​

En la pestaña de ajustes, sección config.jobs, añade el trabajo a policeJobs y a factionJobs. El resultado equivale a:

lua
policeJobs = { police = true, sheriff = true },
factionJobs = { police = 'police', sheriff = 'police', ambulance = 'ems' },

Cambiar el color de una facción ​

En la sección config.theme, indica solo el acento y deja que el resto se derive:

lua
theme = {
    police = { accent = '#3b82f6' },
}

Alargar las condenas ​

En la sección config.prison, un mes de condena que dura cinco minutos reales:

lua
prison = { monthSeconds = 300 }

Desactivar la agencia federal ​

En la sección config.fib, pon enabled a false y reinicia el recurso.

© Cuxial