Death·Exports

Exports

DS-Death expone un par de net events que puedes disparar desde cualquier script, tres exports de cliente para consultar el estado o revivir a quien tengas cerca, y un conjunto de hooks a nivel de config para enchufar tus propios triggers en la muerte, el revive, el respawn, etc.

Events

Los events son el punto de integración más sencillo: dispáralos desde tu ambulance job, tu teléfono, un minijuego o una herramienta de admin.

DS-Death:revive

Revive al jugador local (o al jugador objetivo cuando se dispara desde el servidor). Úsalo para enganchar DS-Death a flujos de revive ya existentes, como el handler esx_ambulancejob:revive del ambulance job de ESX.

Lua
-- Client side
TriggerEvent('DS-Death:revive')

-- Server side (revives the player whose source is passed in)
TriggerClientEvent('DS-Death:revive', source)

DS-Death:lockAnim

Bloquea o desbloquea la animación de muerte de DS-Death. Útil cuando otro sistema (ambulance job, minijuego de revive propio) quiere reproducir su propia animación manteniendo al jugador en el estado knockout de DS-Death. Pasa true para bloquear y false para liberar.

Lua
-- Client side
TriggerEvent('DS-Death:lockAnim', true)   -- lock the death animation
TriggerEvent('DS-Death:lockAnim', false)  -- release it

-- Server side (target a specific player)
TriggerClientEvent('DS-Death:lockAnim', source, true)

Exports

Los tres exports se ejecutan en el cliente. Las consultas de estado aceptan un server ID opcional: no pases nada para preguntar por el jugador local.

ReviveNear

client

Busca jugadores en knockout alrededor del jugador local e intenta revivir al más cercano. El script se encarga de la comprobación del item, de la barra de progreso y del event de revive, así que solo tienes que conectar este export al disparador de interacción que prefieras (uso de item, opción de target, atajo de teclado).

Firma

Lua
exports['DS-Death']:ReviveNear()

Ejemplo

Lua
-- e.g. from a usable-item handler or a target option
exports['DS-Death']:ReviveNear()

isPlayerDead

client

Indica si el jugador dado está completamente muerto (esperando el respawn). Pasa un server ID para consultar a otro jugador; no pases nada para comprobar el jugador local.

Firma

Lua
exports['DS-Death']:isPlayerDead(serverId)

Parámetros

NombreTipoDescripción
serverId?numberServer ID del jugador a consultar. Por defecto, el jugador local.

Devuelve

boolean

true mientras el jugador esté completamente muerto; si no, false.

Ejemplo

Lua
if exports['DS-Death']:isPlayerDead() then
  -- block phone, inventory, etc.
end

isPlayerKnocked

client

Indica si el jugador dado está actualmente en knockout (en el suelo pero todavía se le puede revivir). Misma forma que isPlayerDead: el server ID es opcional y por defecto es uno mismo.

Firma

Lua
exports['DS-Death']:isPlayerKnocked(serverId)

Parámetros

NombreTipoDescripción
serverId?numberServer ID del jugador a consultar. Por defecto, el jugador local.

Devuelve

boolean

true mientras el jugador esté en knockout y esperando el revive.

Ejemplo

Lua
local target = GetClosestPlayer()
if exports['DS-Death']:isPlayerKnocked(GetPlayerServerId(target)) then
  -- show "Revive" prompt
end

Hooks de config

Más allá de los events y los exports, config.lua incluye unas cuantas funciones vacías que puedes ampliar sin tocar el núcleo protegido por escrow. Mete tus propios triggers/exports dentro de cualquiera de ellas.

  • OnKnocked, OnDeath, OnRevive, OnRespawn: se disparan en el cambio de estado correspondiente del jugador.
  • CanDie: devuelve false para suprimir por completo el bucle de muerte (p. ej. dentro de un minijuego, una partida de airsoft o una arena PvP).
  • EMSCall: recibe las coordenadas del jugador que está muriendo; redirígelas al trigger de llamada de emergencia de tu teléfono.
  • Notification: sustitúyela por tu propio sistema de avisos; recibe un mensaje de texto.
  • CustomProgress / StopCustomProgress: conecta cualquier barra de progreso (ox_lib, UI propia, etc.) cuando Progressbar = 'CUSTOM' en la config.
  • DisabledKeys: los controles desactivados mientras el jugador está completamente muerto. Sobrescríbelo para mantener usables tus propios controles.
Combinar hooks
Los hooks y los exports se combinan bien: llama a exports['DS-Death']:isPlayerKnocked() desde dentro de OnKnocked para condicionar otros sistemas (teléfono, inventario, radio) sin hacer polling.

¿Sigues atascado?

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

Unirse al Discord →