Skip to content

Configuración

Todas las opciones de Cuxial Medical explicadas: archivo de configuración, hospitales, camas y dónde se guarda cada ajuste.

Cuxial Medical se configura en shared/config.lua, en data/hospitals.lua y, para la mayoría de opciones, en vivo desde el panel de administración. Esta página recoge todas las opciones y te dice dónde cambiar cada una.

Dónde se guardan los ajustes ​

En el primer arranque el script copia casi todo shared/config.lua y todo data/hospitals.lua a la tabla cuxial_medical_settings de la base de datos. A partir de ahí manda la copia de la base de datos.

SecciónSe edita en el panelNecesita reinicio
jobs, death, respawn, injury, treatment, stretcher, finisher, dispatch, logsSíNo
items, extrasSíSí, para aplicarse del todo
data/hospitals.luaSíNo
debug, ui, admin, commands, hospital, compatNo, solo archivoSí
data/beds.lua y los demás archivos de data/No, solo archivoSí

Tras el primer arranque, cambia las secciones del panel desde /medadmin. Para volver a cargar los valores del archivo, edítalo, reinicia el recurso y pulsa Fábrica en esa sección.

General ​

OpciónTipoPor defectoQué hace
debugbooleanfalseImprime trazas en la consola. También se activa poniendo la convar cuxial_medical_debug a 1.

Interfaz · ui ​

OpciónTipoPor defectoQué hace
accentstring (hex)configurableColor de acento del panel de administración.
deathAccentstring (hex)configurableColor de la pantalla de muerte.

Staff · admin ​

OpciónTipoPor defectoQué hace
permissionstring'admin'Permiso del framework necesario para abrir el panel y para usar los comandos de staff que tienen restricted = false.

Comandos · commands ​

Cada entrada tiene un name y un valor restricted. Un name vacío desactiva el comando.

EntradaNombre por defectorestricted por defectoComando
adminmedadminfalseAbre el panel de administración.
reviverevive'group.mod'Reanima a un jugador.
healheal'group.mod'Cura a un jugador.
killkill'group.mod'Mata a un jugador.
stretcherstretcherfalseColoca o recoge una camilla.
delstretcherdelstretcherfalseElimina la camilla más cercana.
mdstretchermdstretcher'group.mod'Elimina todas las camillas.

restricted admite un grupo ACE como texto, o false. Con false, los comandos de staff (revive, heal, kill, mdstretcher) pasan a usar admin.permission. Consulta Comandos y permisos.

Trabajos EMS · jobs ​

OpciónTipoPor defectoQué hace
jobsstring[]{ 'ambulance' }Nombres de los trabajos que cuentan como EMS. El jugador además debe estar de servicio.

Muerte · death ​

Fases · death.phases ​

Una lista ordenada. El jugador caído pasa por las fases una tras otra. Hace falta al menos una fase.

CampoTipoQué hace
idstringIdentificador único: minúsculas, números y _.
labelstringNombre que se muestra en la pantalla de muerte.
iconstring'heart', 'drop' o 'skull'.
durationnumberSegundos que dura la fase. Mínimo 1.
respawnbooleantrue permite mantener la tecla de reaparición durante esta fase.
costnumberTarifa que se cobra al reaparecer en esta fase. 0 = gratis.
laststandbooleantrue permite gatear durante esta fase.

Los nombres de las fases son texto libre. Escríbelos desde el panel en el idioma de tu servidor.

Voz · death.mute ​

OpciónTipoPor defectoQué hace
enabledbooleantruetrue silencia a los jugadores caídos. false no los silencia nunca.
fromPhasenumber2Primera fase en la que el jugador queda silenciado.
holdMsnumber3000Milisegundos que se mantiene el silencio tras reaparecer o registrarse.

Zoom · death.zoom ​

OpciónTipoPor defectoQué hace
enabledbooleantruetrue permite a los jugadores caídos acercar la cámara.
fovnumber22.0Campo de visión con el zoom. Más bajo es más cerca.
smoothnumber0.12Velocidad de la transición, de 0 a 1. Más alto es más rápido.

Otros ​

OpciónTipoPor defectoQué hace
nearbyWarning.enabledbooleantruetrue pide confirmación antes de reaparecer cuando hay otros jugadores cerca.
nearbyWarning.radiusnumber30.0Radio en metros de esa comprobación.
holdMsnumber5000Milisegundos que hay que mantener la tecla de reaparición.

Teclas · death.keys ​

Teclas por defecto. Cada jugador puede reasignarlas en los ajustes de teclas de GTA.

OpciónPor defectoAcción
callEms'G'Llamar a los EMS estando caído.
respawn'E'Mantener para reaparecer.
zoom'MOUSE_RIGHT'Zoom estando caído.
getUp'E'Levantarse de una cama del hospital.
stretcherDrop'X'Soltar la camilla, o levantarse de ella.
stretcherUse'E'Cargar la camilla en un vehículo.

Reaparición · respawn ​

OpciónTipoPor defectoQué hace
payAccountstring'bank'Cuenta de la que se cobra la tarifa: 'bank' o 'cash'.
useBedbooleantruetrue despierta al jugador en una cama del hospital con un tratamiento. false lo deja en el punto de reaparición.
clearInventorybooleanfalsetrue vacía el inventario cuando un jugador caído reaparece en el hospital. Las reanimaciones nunca lo vacían.
keepItemsstring[]{}Ítems que se conservan cuando se vacía el inventario.
checkIn.enabledbooleanfalsetrue bloquea la reaparición y el registro mientras haya suficientes EMS de servicio.
checkIn.minMedicsnumber1EMS de servicio necesarios para bloquear.
bedReserveSecondsnumber60Segundos que una cama queda reservada para el jugador que va hacia ella. Mínimo 5.

Recepción · hospital.reception ​

Valores por defecto del NPC de recepción. El NPC de cada hospital se define en el panel.

OpciónTipoPor defectoQué hace
enabledbooleantruefalse quita todos los NPC de recepción.
resourcestring'cuxial_interactions'Recurso que crea el NPC y su diálogo.
modelstring's_f_y_scrubs_01'Modelo de ped cuando el hospital no define uno.
scenariostring'WORLD_HUMAN_CLIPBOARD'Escenario cuando el hospital no define uno.
distancenumber2.5Metros desde los que se puede hablar con el NPC.
feetOffsetnumber1.0Corrección de altura que se aplica al colocar el NPC desde el panel.
previewAlphanumber170Opacidad de la vista previa al colocar, de 0 a 255.
modelTimeoutnumber5000Milisegundos de espera para cargar el modelo de la vista previa.
maxLennumber48Longitud máxima de los textos de modelo, escenario, nombre y cargo.
modelsstring[]listaModelos de ped que ofrece el panel.
scenariosstring[]listaEscenarios que ofrece el panel.

Heridas · injury ​

OpciónTipoPor defectoQué hace
enabledbooleantruefalse desactiva las heridas por completo.
trackingOnlybooleanfalsetrue registra las heridas sin efectos ni sangrado.
damageThresholdnumber10Vida mínima perdida en un golpe para causar una herida.
armourThresholdnumber5Blindaje mínimo perdido en un golpe para causar una herida.
injuryChancenumber90Probabilidad en % de que un golpe válido deje una herida.
stackLimitnumber4Nivel máximo y sangrado máximo de una herida.
bleedEnabledbooleantruefalse corta toda pérdida de vida por sangrado.
bleedTickIntervalnumber10Segundos entre cada pulso de sangrado.
bleedMovement.enabledbooleantruetrue aumenta el sangrado al moverse rápido.
bleedMovement.runSpeednumber2.0Velocidad a partir de la cual se aplica el multiplicador.
bleedMovement.multipliernumber2.0Multiplicador del sangrado al moverse rápido.
bleedMultipliertableshot = 2, stabbed = 2, beat = 0, burned = 0Qué tipos de herida sangran. Cualquier valor por encima de 0 hace que el tipo sangre; 0 significa que nunca sangra.
speedByLevelnumber[]{ 0.9, 0.8, 0.6, 0.4 }Velocidad de movimiento según el nivel de herida más alto, del 1 al 4.
notifications.enabledbooleantruefalse oculta todas las notificaciones de heridas.
notifications.cooldownnumber4500Milisegundos entre dos notificaciones de heridas.
notifications.showOnHitbooleantruetrue avisa al jugador cuando recibe una herida.

Efectos · injury.effects ​

OpciónTipoPor defectoQué hace
limp.enabledbooleantrueActiva la cojera.
limp.minLevelnumber2Nivel de herida a partir del cual el jugador cojea.
aimShake.enabledbooleantrueActiva el temblor al apuntar con una herida en un brazo.
aimShake.minArmLevelnumber1Nivel de herida en el brazo a partir del cual se aplica.
aimShake.amplitudenumber4.0Fuerza del temblor de cámara.
aimShake.deviationnumber0.2Desvío de los disparos.
noJump.enabledbooleantrueBloquea el salto con una herida en una pierna.
noJump.minLegLevelnumber2Nivel de herida en la pierna a partir del cual se aplica.
noJump.chancenumber20Probabilidad en % de caerse al intentar saltar.
noSprint.enabledbooleantrueBloquea el esprint cuando el jugador va ralentizado.
noSprint.speedThresholdnumber0.6Velocidad de movimiento por debajo de la cual se bloquea el esprint.
blackout.enabledbooleantrueActiva los desmayos con heridas de nivel 3 o 4 en la cabeza o la columna.
blackout.cooldownnumber18Segundos entre dos desmayos.
blackout.fadeTimenumber700Milisegundos del fundido de pantalla.
blackout.durationtablelevel3 = 3000, level4 = 4000Milisegundos del desmayo según el nivel.
blackout.chancetablecabeza 100 / 100, columna 60 / 50Probabilidad en % por zona y nivel (level3, level4).

Tratamiento · treatment ​

OpciónTipoPor defectoQué hace
reviveAnimModestring'fast'Modo de RCP que se usa por defecto: 'fast' o 'full'.
treatmentTimenumber9000Milisegundos para tratar un tipo de herida.
diagnoseTimenumber7000Milisegundos para diagnosticar a un paciente.
rangenumber3.0Metros dentro de los cuales un médico puede actuar sobre un paciente.
reviveHealthtable100 para todas las heridasVida que se devuelve al reanimar, de 0 a 100, según la herida que tumbó al paciente: shot, stabbed, beat, burned, bleedout, default.
treatmentItemstableshot = 'tweezers', stabbed = 'suturekit', beat = 'icepack', burned = 'burncream'Ítem que trata cada tipo de herida.

RCP · treatment.cpr ​

OpciónTipoPor defectoQué hace
full.itemstring'defib'Ítem que exige la RCP completa.
full.consumebooleanfalsetrue consume el ítem al reanimar con éxito.
full.labelstringtextoNombre que aparece en el mensaje «Necesitas…».
fast.itemstring'medkit'Ítem que exige la RCP rápida.
fast.consumebooleantruetrue consume el ítem al reanimar con éxito.
fast.labelstringtextoNombre que aparece en el mensaje «Necesitas…».
maxDistancenumber5.0Metros máximos entre médico y paciente, comprobados en el servidor.
cooldownMsnumber1500Milisegundos entre dos reanimaciones o vendajes del mismo médico.

Vendaje por zona · treatment.bandage ​

Lo usa el export TreatZone.

OpciónTipoPor defectoQué hace
itemstring'bandage'Ítem exigido.
consumebooleantruetrue consume el ítem.
maxDistancenumber3.0Metros máximos entre médico y paciente.
cooldownMsnumber600Milisegundos entre dos vendajes del mismo médico.

Ítems · items ​

OpciónTipoPor defectoQué hace
revive.itemstring'defib'Ítem que inicia una reanimación al usarlo.
heal.itemstring'medkit'Ítem que cura a un paciente.
heal.durationnumber5000Milisegundos de la cura.
heal.removebooleantruetrue consume el ítem.
sedate.itemstring'sedative'Ítem que seda a un paciente.
sedate.durationnumber8000Milisegundos que el paciente queda sedado.
sedate.removebooleantruetrue consume el ítem.
medbag.itemstring'medbag'Ítem del bolso médico.
medbag.propstringmodelo de propProp que se coloca en el suelo.

Camilla · stretcher ​

OpciónTipoPor defectoQué hace
enabledbooleantruefalse desactiva la camilla y sus comandos.
modelstring'strykerpro'Modelo de la camilla. Va incluido en el recurso.
carryOffsettablex, y, zPosición de la camilla respecto al médico que la lleva.
vehiclestable[]un ejemploVehículos que admiten la camilla.

Cada entrada de vehicles:

CampoTipoQué hace
modelstringModelo del vehículo.
distnumberMetros máximos entre el médico y el vehículo para cargarla.
xOffset, yOffset, zOffsetnumberPosición de la camilla dentro del vehículo.
rotOffsetnumberRotación de la camilla dentro del vehículo.
powerloadbooleantrue ancla la camilla al hueso bonnet del vehículo en lugar de al chasis.

Remate · finisher ​

OpciónTipoPor defectoQué hace
enabledbooleantruefalse quita el remate.
cooldownMsnumber5000Milisegundos entre dos remates del mismo jugador.
maxDistancenumber4.0Metros máximos entre atacante y víctima.
forceFinalPhasebooleantruetrue envía a la víctima a la última fase.
weaponsstring[]lista de armas blancasArmas que permiten el remate.

Extras · extras ​

OpciónTipoPor defectoQué hace
knockout.enabledbooleanfalseActiva el nocaut a puñetazos.
knockout.healthThresholdnumber150Vida igual o por debajo de la cual un puñetazo noquea.
knockout.regainHealthnumber20Vida que se recupera cada segundo mientras dura el nocaut.
knockout.durationnumber7000Milisegundos del nocaut.
painkillers.enabledbooleanfalseActiva los ítems analgésicos.
painkillers.drugEffectbooleantruetrue añade un efecto visual mientras están activos.
painkillers.itemstablesiete ítemsCada ítem con su duration en segundos y su level, que fija la fuerza del efecto visual.
bandage.enabledbooleanfalseActiva el vendaje de uso propio.
bandage.itemstring'bandage'Ítem que se usa.
bandage.hpRegennumber30Vida que devuelve.
bandage.healBleedbooleanfalsetrue además corta el sangrado.
bandage.durationnumber7000Milisegundos de la acción.

Avisos · dispatch ​

OpciónTipoPor defectoQué hace
cooldownMsnumber5000Milisegundos entre dos avisos de auxilio del mismo jugador.
policebooleantruetrue envía además el aviso a cuxial_police. Se ignora cuando ese recurso no está en marcha.

Registros · logs ​

OpciónTipoPor defectoQué hace
deathbooleantrueEnvía cada muerte al webhook.
revivebooleantrueEnvía cada reanimación al webhook.
combatbooleantrueEnvía un registro cuando un jugador se desconecta estando caído.
persistencebooleantrueGuarda muertes, reanimaciones, curas, tratamientos y diagnósticos en cuxial_medical_logs.
convarstring'cuxial_medical_webhook'Nombre de la convar que contiene el webhook. Se lee al arrancar el recurso.

Compatibilidad · compat ​

OpciónTipoPor defectoQué hace
qbxMedicalStateBagbooleantruetrue escribe además el state bag de jugador qbx_medical:deathState (1 vivo, 2 último aliento, 3 muerto).
qbxMedicalEventsbooleanfalsetrue dispara además los eventos de cliente qbx_medical:client:onPlayerDied, onPlayerLaststand y playerRevived.
esxDeadbooleantrueEn ESX, avisa al framework cuando el jugador está caído.

Hospitales · data/hospitals.lua ​

La lista de hospitales de fábrica. Trae un ejemplo, Pillbox Hill Medical Center, colocado en la entrada exterior y sin camas. Tras el primer arranque, edita los hospitales desde el panel.

CampoTipoQué hace
idstringIdentificador único: minúsculas, números y _. No lo reutilices.
namestringNombre que aparece en el blip y en el diálogo de recepción.
enabledbooleanfalse oculta el hospital: sin blip, camas, recepción ni reaparición.
respawnvector4Punto en el que aparecen los jugadores. Las distancias al hospital se miden desde aquí.
checkInRadiusnumberMetros alrededor de respawn dentro de los cuales se acepta un registro.
bliptableenabled, sprite, color, scale.
receptiontableenabled, coords, model, scenario, name, role. Con name y role vacíos se usan los textos del idioma.
bedstable[]Lista de camas. Sin camas, el paciente aparece en respawn.

Cada cama:

CampoTipoQué hace
modelstringModelo de la cama. Debe existir en data/beds.lua.
coordsvector4Posición y orientación del prop de la cama.
privatebooleantrue deja la cama fuera de la asignación automática.
overridetableOpcional. Sustituye las animaciones de esta cama, por ejemplo anims.getup.

Modelos de cama · data/beds.lua ​

Le dice al script dónde se tumba el jugador en cada prop de cama: un offset local y un heading. Añade una entrada por cada modelo de cama de tu mapa antes de usarlo en un hospital.

data/beds.lua
lua
my_map_bed = { lying = { offset = vec3(0.0, 0.0, 0.9), heading = 180.0 } },

Cambios habituales ​

Añadir un segundo trabajo de EMS ​

En el panel, abre Trabajos EMS y añade el nombre del trabajo. En el archivo queda así:

shared/config.lua
lua
jobs = { 'ambulance', 'doctor' },

Hacer que los jugadores esperen a los médicos ​

En Reaparición, activa Check-in con médicos y fija el mínimo de médicos:

shared/config.lua
lua
checkIn = { enabled = true, minMedics = 2, radius = 150.0 },

Usar la RCP completa con el desfibrilador ​

En Tratamiento, pon el modo de animación RCP en full:

shared/config.lua
lua
reviveAnimMode = 'full',

Que los comandos de staff sigan el permiso del framework ​

shared/config.lua
lua
revive = { name = 'revive', restricted = false },

Con restricted = false el comando comprueba admin.permission en lugar de un grupo ACE. commands se lee del archivo, así que reinicia el recurso.

© Cuxial