Death·Exports

Exports

DS-Death stellt ein paar Net-Events bereit, die du aus jedem Script auslösen kannst, drei clientseitige Exports für Statusabfragen und Revives in der Nähe, sowie eine Reihe von Hooks auf Config-Ebene, über die du eigene Trigger bei Tod, Revive, Respawn und so weiter einhängst.

Events

Events sind der einfachste Integrationspunkt: löse sie aus deinem Ambulance-Job, deinem Handy, einem Minigame oder einem Admin-Tool aus.

DS-Death:revive

Belebt den lokalen Spieler wieder (oder den Zielspieler, wenn es vom Server ausgelöst wird). Damit hängst du DS-Death in bestehende Revive-Abläufe ein, etwa in den esx_ambulancejob:revive-Handler des ESX-Ambulance-Jobs.

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

Sperrt oder entsperrt die Todesanimation von DS-Death. Nützlich, wenn ein anderes System (Ambulance-Job, eigenes Revive-Minigame) seine eigene Animation abspielen will, während der Spieler im Knockout-Zustand von DS-Death bleibt. Übergib true zum Sperren und false zum Freigeben.

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 drei Exports laufen auf dem Client. Die Statusabfragen nehmen eine optionale Server-ID entgegen: übergib nichts, um den lokalen Spieler abzufragen.

ReviveNear

client

Sucht nach bewusstlosen Spielern rund um den lokalen Spieler und versucht, den nächstgelegenen wiederzubeleben. Das Script übernimmt die Item-Prüfung, den Fortschrittsbalken und das Revive-Event, du musst diesen Export also nur an den Auslöser deiner Wahl hängen (Item benutzen, Target-Option, Tastenbelegung).

Signatur

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

Beispiel

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

isPlayerDead

client

Gibt zurück, ob der angegebene Spieler vollständig tot ist (wartet auf den Respawn). Übergib eine Server-ID, um einen anderen Spieler abzufragen; übergib nichts, um den lokalen Spieler zu prüfen.

Signatur

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

Parameter

NameTypBeschreibung
serverId?numberServer-ID des abzufragenden Spielers. Standard ist man selbst.

Rückgabe

boolean

true, solange der Spieler vollständig tot ist, sonst false.

Beispiel

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

isPlayerKnocked

client

Gibt zurück, ob der angegebene Spieler gerade bewusstlos ist (am Boden, aber noch wiederbelebbar). Gleiche Form wie isPlayerDead: die Server-ID ist optional und steht standardmäßig auf einem selbst.

Signatur

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

Parameter

NameTypBeschreibung
serverId?numberServer-ID des abzufragenden Spielers. Standard ist man selbst.

Rückgabe

boolean

true, solange der Spieler bewusstlos ist und auf einen Revive wartet.

Beispiel

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

Config-Hooks

Über Events und Exports hinaus liefert die config.lua eine Handvoll leerer Funktionen mit, die du erweitern kannst, ohne den escrow-geschützten Kern anzufassen. Setz deine eigenen Trigger/Exports in eine beliebige davon.

  • OnKnocked, OnDeath, OnRevive, OnRespawn: werden beim jeweiligen Statuswechsel des Spielers ausgelöst.
  • CanDie: gib false zurück, um den Todes-Loop komplett zu unterdrücken (z. B. in einem Minigame, einer Airsoft-Runde oder einer PvP-Arena).
  • EMSCall: bekommt die Koordinaten des sterbenden Spielers; leite sie an den Notruf-Trigger deines Handys weiter.
  • Notification: ersetz sie durch dein eigenes Benachrichtigungssystem; bekommt eine Nachricht als String.
  • CustomProgress / StopCustomProgress: häng einen beliebigen Fortschrittsbalken ein (ox_lib, eigene UI usw.), wenn Progressbar = 'CUSTOM' in der Config steht.
  • DisabledKeys: die Steuerungen, die deaktiviert sind, solange der Spieler vollständig tot ist. Überschreib sie, damit deine eigenen Steuerungen nutzbar bleiben.
Hooks kombinieren
Hooks und Exports lassen sich gut kombinieren: ruf exports['DS-Death']:isPlayerKnocked() innerhalb von OnKnocked auf, um andere Systeme (Handy, Inventar, Funk) zu steuern, ganz ohne Polling.

Kommst du nicht weiter?

Öffne ein Ticket auf unserem Discord, wir helfen dir.

Discord beitreten →