Carrito

Carrito vacío

Agrega scripts para comenzar

QBoxQBoxESXESXQBCoreQBCorev2.2.0Necesita bridge

Cuxial Medical

EMS avanzado, heridas por zona corporal y muerte progresiva. Reemplaza qb-ambulancejob.

Resumen

Sistema avanzado de EMS, heridas por zona corporal y muerte progresiva (QBox · ESX · QBCore)

Sistema médico realista que reemplaza por completo qb-ambulancejob. Modelo de heridas por hueso/zona, fases de muerte progresivas, pantalla de muerte NUI, camillas físicas con prop streameado, finishers con arma blanca, dispatch de EMS y una API de eventos y exports muy completa para integrarse con otros recursos.

Versión
2.2.0
Frameworks
QBox · ESX · QBCore
Idle
0.00ms

Requisitos

Requiere cuxial_bridge. Descárgalo e inícialo antes que este script (ver la doc del bridge). El bridge es lo que le da compatibilidad con QBox, ESX y QBCore.

Compatible con QBox, ESX y QBCore. No necesitas listar tu framework como dependencia: el bridge lo detecta y lo conecta por ti.

Asegúrate de tener estos recursos instalados e iniciados antes que el script:

cuxial_bridgereqox_libreqox_inventoryreqox_targetreqpma-voicereqoxmysqlreq

Instalación

  • Instala cuxial_bridge si aún no lo tienes (ver su doc).
  • Sube la carpeta cuxial_medical a resources/[cuxial]/.
  • Instala las dependencias listadas arriba.
  • Importa el archivo .sql incluido a tu base de datos (si el script lo trae).
  • Añade los ensure a tu server.cfg respetando el orden.
  • Reinicia el servidor por completo.
server.cfg
# Tu framework (QBox / ESX / QBCore) ya debe estar iniciado
ensure ox_lib
ensure oxmysql

# Núcleo de Cuxial — siempre antes que los scripts
ensure cuxial_bridge
ensure ox_inventory
ensure ox_target
ensure pma-voice

# El script
ensure cuxial_medical

Si el script incluye un .sql, impórtalo una sola vez. Algunos scripts hacen migraciones automáticas — revisa el README incluido.

Configuración

Toda la configuración editable está en texto plano (la lógica va protegida por Cfx.re Escrow). Edita estos ficheros para ajustar el script a tu servidor:

  • config.lua
  • data/

Protegido por Cfx.re Escrow — Compatible con QBox · ESX · QBCore (vía cuxial_bridge) — config.lua y data/ abiertos y editables — Reemplaza qb-ambulancejob (no correr ambos) — Soporte por tickets en la web — Actualizaciones incluidas

Comandos

/revive [id]Revive a un jugador o a ti mismo (permiso mod)
/heal [id]Cura HP, heridas y needs (permiso mod)
/kill [id]Mata a un jugador al instante (permiso mod)
/stretcherColoca/spawnea una camilla frente a ti
/delstretcherElimina la camilla cercana
/mdstretcherElimina todas las camillas (permiso mod)

Características

  • Heridas por 9 zonas corporales — tipo (bala/arma blanca/golpe/quemadura), severidad 1-4 y sangrado
  • Detección automática de arma y zona — +300 armas mapeadas (vanilla + custom)
  • Efectos en gameplay — cojera, temblor al apuntar, bloqueo de salto/sprint, blackouts
  • Muerte en 3 fases progresivas — herido → desangrándote → inconsciente
  • Last Stand — arrastrarse (crawl), rotar y voltearse mientras estás caído
  • Pantalla de muerte NUI — contador de fase, EMS online, costo de respawn, efecto de sangre
  • Zoom de cámara con clic derecho durante el estado herido/muerto
  • Voz amortiguada (audio submix) para jugadores muertos vía pma-voice
  • EMS completo — revivir (CPR sincronizado), curar, sedar y tratar heridas por tipo
  • Camillas físicas (strykerpro) — cargar pacientes, meter en ambulancia, 8 poses, extras
  • Camas de hospital con ox_target + respawn en cama con animación de levantarse
  • Finishers — remates con arma blanca sobre jugadores caídos (sync scene)
  • Dispatch — los heridos llaman EMS con G; los médicos on-duty reciben la cola con calle
  • Persistencia — estado de muerte y heridas sobreviven al relog + logs en base de datos
  • Logs de Discord (webhook) de muertes, revives y combate
  • API de eventos y exports extensa para integración con otros recursos
  • Estado server-autoritativo, sanitización de payloads, rate-limiting y anti-cheat
  • Multi-idioma — español e inglés incluidos (ox_lib locale)

Sistema de heridas

En vez de una sola barra de vida, cada disparo o golpe registra una herida localizada. El script detecta el arma y la zona del cuerpo impactada y aplica una herida con tipo, severidad y sangrado propios — con más de 300 armas mapeadas (vanilla y custom).

Tipos de herida
TipoOrigenSeveridad
shotArmas de fuegoAlta
stabbedArma blanca / melee cortanteMedia-alta
beatPuños y melee contundenteMedia
burnedFuego y explosionesMedia

Cada herida vive en una de las 9 zonas corporales, con una severidad de 1 a 4 y un valor de sangrado independiente que drena vida con el tiempo hasta que un EMS la trata o el jugador se venda.

  • Efectos en gameplay reales — cojera, temblor al apuntar, bloqueo de salto/sprint y blackouts según la gravedad.
  • Sangrado progresivo que obliga a buscar tratamiento antes de desangrarse.
  • El diagnóstico permite a los EMS ver exactamente qué zona y tipo de herida tratar.

El estado de heridas es server-autoritativo y se replica por statebag (cuxial:injuries), así que cualquier recurso puede leerlo sin pedirlo al servidor.

Muerte progresiva

Morir no es instantáneo. El jugador atraviesa fases con temporizador antes de poder reaparecer, dando margen real a los EMS para llegar y revivir. El estado vital vive en el statebag cuxial:state (alive · laststand · dead) y la fase en cuxial:phase.

Fases del estado down
FaseEstadoQué ocurre
1HeridoEl jugador cae; empieza la cuenta atrás de la fase.
2DesangrándoteLa vida drena; aún puede ser estabilizado por un EMS.
3InconscienteEstado crítico; se habilita el respawn con costo.
  • Last Stand — arrastrarse (crawl), rotar y voltearse mientras estás caído.
  • Pantalla de muerte NUI — contador de fase, EMS online, costo de respawn y efecto de sangre.
  • Voz amortiguada (audio submix) para jugadores muertos vía pma-voice.
  • Persistencia — el estado de muerte y las heridas sobreviven al relog.

Compatibilidad opt-in: puede replicar el estado a qbx_medical:deathState y disparar los eventos de qbx_medical/ESX para no romper recursos que dependan de ellos.

API para desarrolladores

El recurso expone una API amplia de exports, eventos (hooks) y statebags replicados para integrarse con otros scripts sin tocar su código. Todos los exports se llaman como exports.cuxial_medical:Nombre(...).

Player state · statebags replicados
StatebagValorSignificado
cuxial:statealive · laststand · deadEstado vital principal del jugador.
cuxial:phase0 (vivo) · 1–3Fase de muerte actual.
cuxial:injuriestable | nilHeridas activas (fuente de verdad replicada).
cuxial:revive{ hp, anim, seq }Señal de revivir que escucha el cliente.
Exports de servidor (selección)
ExportDescripción
RevivePlayer(src)Revive y limpia heridas/needs.
RevivePlayerWithHP(src, hp)Revive con HP exacto (1–200).
HealPlayer(src, full, quiet)Cura o revive al jugador.
IsPlayerDead(src)false | 'dead' | 'laststand'.
GetMedicalState(src){ isDead, phase, deathInjury, injuries }.
InjurePlayer(src, zona, tipo, nivel, bleed)Aplica una herida.
GetPlayerInjuries(src)Devuelve las heridas activas.
DiagnosePlayer(src)Diagnóstico completo para EMS.
GetEMSCount()Nº de EMS on-duty.
GetMedicalHistory(citizenid, limit)Historial médico persistido.
Exports de cliente (selección)
ExportDescripción
IsInjured()¿El jugador local tiene heridas?
IsBleeding()¿Está sangrando?
IsLimping()¿Está cojeando?
getMedicalState()Estado médico del jugador local.
toggleStretcher()Coloca/recoge la camilla.
ToggleDuty()Alterna servicio EMS (on/off duty).

Además, cada subsistema emite eventos suscribibles con hooks on…/off… — por ejemplo onInjury, onDeath, onTreatment, onDispatch o onStretcher — para reaccionar en tiempo real sin sondear el estado.

Ejemplo — reaccionar a una herida aplicada
local h = exports.cuxial_medical:onInjury('applied', function(p)
    print(p.bodyPart, p.injury, p.level)
end)

-- cuando ya no lo necesites
exports.cuxial_medical:offInjury('applied', h)

La referencia completa de exports, eventos y statebags viene en el README del recurso.

Rendimiento

Cliente (idle)
0.00ms
Servidor (idle)
0.00ms

NUI display-only; deltas en red (dispatch/stretcher) y broadcasts scoped a EMS

¿Necesitas ayuda?
Soporte directo por tickets en la web.
Abrir ticket