Death·Exports

Exports

DS-Death stelt een paar net events beschikbaar die je vanuit elk script kunt triggeren, drie client-side exports voor statusvragen / revives in de buurt, en een set hooks op configniveau om je eigen triggers aan te haken bij death, revive, respawn enzovoort.

Events

Events zijn het makkelijkste integratiepunt: vuur ze af vanuit je ambulancejob, telefoon, minigame of admintool.

DS-Death:revive

Revivet de lokale speler (of de aangewezen speler wanneer het vanaf de server getriggerd wordt). Gebruik dit om DS-Death aan bestaande revive-flows te koppelen, zoals de handler esx_ambulancejob:revive van de ESX-ambulancejob.

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

Vergrendelt of ontgrendelt de death-animatie van DS-Death. Handig wanneer een ander systeem (ambulancejob, eigen revive-minigame) zijn eigen animatie wil afspelen terwijl de speler in de knocked-state van DS-Death blijft. Geef true mee om te vergrendelen, false om vrij te geven.

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

Alle drie de exports draaien op de client. De statusvragen accepteren een optionele server-ID: geef niets mee om naar de lokale speler te vragen.

ReviveNear

client

Zoekt naar neergegane spelers rond de lokale speler en probeert de dichtstbijzijnde te reviven. Het script regelt de itemcheck, de progress bar en het revive-event, dus je hoeft deze export alleen te koppelen aan de interactie die jij prefereert (item gebruiken, targetoptie, keybind).

Signatuur

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

Voorbeeld

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

isPlayerDead

client

Geeft terug of de opgegeven speler volledig dood is (wachtend op respawn). Geef een server-ID mee om een andere speler op te vragen; geef niets mee om de lokale speler te controleren.

Signatuur

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

Parameters

NaamTypeOmschrijving
serverId?numberServer-ID van de speler die je opvraagt. Standaard jezelf.

Retourneert

boolean

true zolang de speler volledig dood is, anders false.

Voorbeeld

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

isPlayerKnocked

client

Geeft terug of de opgegeven speler op dit moment neerligt (down maar nog revivebaar). Zelfde vorm als isPlayerDead: de server-ID is optioneel en valt terug op jezelf.

Signatuur

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

Parameters

NaamTypeOmschrijving
serverId?numberServer-ID van de speler die je opvraagt. Standaard jezelf.

Retourneert

boolean

true zolang de speler neerligt en op een revive wacht.

Voorbeeld

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

Config-hooks

Naast events en exports zitten er in config.lua een handvol lege functies die je kunt uitbreiden zonder de escrowed core aan te raken. Zet je eigen triggers/exports in een van deze.

  • OnKnocked, OnDeath, OnRevive, OnRespawn: afgevuurd bij de bijbehorende overgang van spelerstatus.
  • CanDie: geef false terug om de death-loop volledig te onderdrukken (bijv. in een minigame, airsoftronde of PvP-arena).
  • EMSCall: krijgt de coördinaten van de stervende speler; stuur dit door naar de noodoproep-trigger van je telefoon.
  • Notification: vervang door je eigen notificatiesysteem; krijgt een tekstbericht mee.
  • CustomProgress / StopCustomProgress: koppel elke progress bar (ox_lib, eigen UI, enz.) wanneer Progressbar = 'CUSTOM' in de config staat.
  • DisabledKeys: de controls die uitstaan zolang de speler volledig dood is. Overschrijf dit om je eigen controls bruikbaar te houden.
Hooks combineren
Hooks en exports gaan goed samen: roep exports['DS-Death']:isPlayerKnocked() aan binnen OnKnocked om andere systemen (telefoon, inventory, radio) af te schermen zonder te pollen.

Kom je er niet uit?

Open een ticket op onze Discord, dan helpen we je verder.

Kom op Discord →