Death·Instalación

Instalación

DS-Death sustituye el bucle de muerte/knockout/revive por defecto de tu ambulance job. La instalación es casi toda de drag-and-drop, con unos pocos parches pequeños en esx_ambulancejob o qb-ambulancejob para que el flujo de revive existente le ceda el paso a DS-Death.

Descarga

Descarga el script desde portal.cfx.re. Asegúrate de haber iniciado sesión con la cuenta de FiveM que usaste para comprarlo.

Extracción

Descomprime el archivo y suelta la carpeta DS-Death resultante en cualquier punto de la carpeta resources de tu servidor.

Dependencias
DS-Death necesita mysql-async. ESX y QBCore están soportados y se detectan automáticamente en tiempo de ejecución.

Ejecuta el SQL

Ejecuta el archivo SQL que corresponda a tu framework. Añade una única columna ds_death, usada para conservar el estado de muerte entre desconexiones.

ESX

Ejecuta INSTALLATION_GUIDE/ESX.sql en tu base de datos: añade ds_death TINYINT(1) a la tabla users.

QBCore

Ejecuta INSTALLATION_GUIDE/QBCore.sql en tu base de datos: añade ds_death TINYINT(1) a la tabla players.

Instala el item de revive

DS-Death necesita un item aidkit para revivir a los jugadores en knockout Añádelo al inventario que uses.

ESX (inventario por defecto)

Ejecuta INSTALLATION_GUIDE/INSTALL_ITEM/ESX/item.sql en tu base de datos para registrar el item.

ESX (ox_inventory)

Abre INSTALLATION_GUIDE/INSTALL_ITEM/ESX/OX_INVENTORY_ITEM.md, copia el bloque y pégalo en ox_inventory/data/items.lua:

ox_inventory/data/items.lua
['aidkit'] = {
    label = 'Aid Kit',
    weight = 100,
    stack = true,
    consume = 0,
    allowArmed = true
},

QBCore

Abre INSTALLATION_GUIDE/INSTALL_ITEM/QBCORE/item.md, copia el bloque y pégalo en qb-core/shared/items.lua:

qb-core/shared/items.lua
['aidkit'] = {['name'] = 'aidkit', ['label'] = 'Aid Kit', ['weight'] = 0, ['type'] = 'item', ['image'] = 'aidkit.png', ['unique'] = false, ['useable'] = false, ['shouldClose'] = false, ['combinable'] = nil, ['description'] = 'Useful to revive knocked people'},
Usar otro item
Si ya tienes un item médico que prefieras usar, cambia ItemRevive e ItemLabel en config.lua en lugar de instalar aidkit.

Parchea tu ambulance job

DS-Death se hace cargo del flujo de muerte/revive, así que los handlers existentes en esx_ambulancejob / qb-ambulancejob hay que quitarlos o redirigirlos. Los bloques exactos que debes borrar y sustituir vienen incluidos dentro de la resource:

ESX (esx_ambulancejob)

Sigue INSTALLATION_GUIDE/ESX.txt, tres cambios en total:

  • esx_ambulancejob/client/main.lua: elimina (o comenta) el handler esx:onPlayerSpawn que reinicia isDead.
  • esx_ambulancejob/client/main.lua: sustituye el handler del event esx_ambulancejob:revive por una sola línea que le ceda el paso a DS-Death:
    esx_ambulancejob/client/main.lua
    RegisterNetEvent('esx_ambulancejob:revive')
    AddEventHandler('esx_ambulancejob:revive', function()
        TriggerEvent('DS-Death:revive')
    end)
  • esx_ambulancejob/client/job.lua: en la función revivePlayer, cambia if IsPedDeadOrDying(closestPlayerPed, 1) then por if closestPlayerPed then, para que el estado knockout de DS-Death valga para revivir.

QBCore (qb-ambulancejob)

Sigue INSTALLATION_GUIDE/QBCORE.txt, dos cambios:

  • qb-ambulancejob/server/main.lua: elimina (o comenta) el bloque QBCore.Commands.Add("revive", ...) existente. DS-Death registra el suyo propio.
  • qb-ambulancejob/client/dead.lua: elimina el handler gameEventTriggered que ejecuta el laststand / el temporizador de muerte. DS-Death sustituye ese flujo.
Haz copia de seguridad antes de parchear
Estos parches modifican resources del framework. Guarda una copia de la carpeta esx_ambulancejob / qb-ambulancejob original antes de editarla, para poder volver atrás si algo más de tu stack depende del comportamiento anterior.

Concede los permisos de admin

QBCore

Añade el permiso ace a tu server.cfg para que los admins puedan usar los comandos de revive:

server.cfg
add_ace group.admin ds_death allow

ESX

Los permisos se gestionan mediante el array AuthorizedGroup en config.lua. El valor por defecto {'admin'} ya cubre la mayoría de configuraciones.

Arranca la resource

Añade el script a tu server.cfg:

server.cfg
ensure DS-Death
Orden de carga
Asegúrate de que tu framework (ESX / QBCore) y el ambulance job parcheado arranquen antes que DS-Death en el orden de carga.

Configuración

Abre config.lua y ajusta el script a tu servidor. Las opciones más útiles:

  • KnockoutTime / RespawnTime: cuánto tiempo se quedan en knockout los jugadores y cuándo se habilita el respawn.
  • HeadShotDeath: se salta el estado knockout y mata al instante con un headshot.
  • RespawnPosition / RespawnSamePos / RespawnCost: dónde reaparecen los jugadores y si el respawn cuesta dinero en efectivo o en el banco.
  • CombatLogging: o mantener al jugador muerto al reconectar (CheckDeath) o hacerlo reaparecer automáticamente (RespawnOnJoin).
  • RemoveItemsAfterRPDeath: soltar dinero, armas e items en la muerte de RP, con una whitelist KeepItems para cosas como la documentación.
  • Progressbar: NATIVE, RPROGRESS o CUSTOM (conecta la tuya en CustomProgress / StopCustomProgress).
  • EMSCall: mete dentro de esta función el trigger de llamada de tu teléfono para que la llamada al EMS en el juego pase por tu teléfono en vez de por la notificación por defecto.
  • EnableLogs: activa los logs por webhook de Discord y configúralos en webhooks.lua.
Hooks personalizados
OnKnocked, OnDeath, OnRevive y OnRespawn en config.lua son funciones vacías, listas para que metas tus propios triggers/exports. CanDie te permite desactivar el bucle de muerte de forma condicional: útil para zonas de minijuegos, eventos de airsoft o arenas PvP.

¿Sigues atascado?

Abre un ticket en nuestro Discord y te echamos una mano.

Unirse al Discord →