Death·Exports

Exports

DS-Death espone un paio di net event che puoi lanciare da qualsiasi script, tre export lato client per leggere lo stato e rianimare chi ti sta vicino, e una serie di hook nella config per agganciare i tuoi trigger a morte, revive, respawn e così via.

Eventi

Gli eventi sono il punto di integrazione più semplice: lanciali dal tuo ambulance job, dal telefono, da un minigioco o da uno strumento admin.

DS-Death:revive

Rianima il giocatore locale (o il giocatore indicato, se lanciato dal server). Usalo per collegare DS-Death ai flussi di revive esistenti, come l’handler esx_ambulancejob:revive dell’ambulance job 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

Blocca o sblocca l’animazione di morte di DS-Death. Utile quando un altro sistema (ambulance job, minigioco di revive personalizzato) vuole riprodurre la propria animazione mantenendo il giocatore nello stato di knockout di DS-Death. Passa true per bloccare, false per rilasciare.

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

Tutti e tre gli export girano sul client. Le funzioni di stato accettano un server ID opzionale: non passare nulla per interrogare il giocatore locale.

ReviveNear

client

Cerca i giocatori a terra vicino al giocatore locale e prova a rianimare il più vicino. Lo script gestisce il controllo dell'item, la progress bar e l'evento di revive, quindi devi solo collegare questo export all'interazione che preferisci (uso di un item, opzione del target, tasto rapido).

Firma

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

Esempio

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

isPlayerDead

client

Indica se il giocatore specificato è completamente morto (in attesa di respawn). Passa un server ID per interrogare un altro giocatore; non passare nulla per il giocatore locale.

Firma

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

Parametri

NomeTipoDescrizione
serverId?numberServer ID del giocatore da interrogare. Di default è il giocatore locale.

Restituisce

boolean

true finché il giocatore è completamente morto, altrimenti false.

Esempio

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

isPlayerKnocked

client

Indica se il giocatore specificato è attualmente a terra (knockout, ma ancora rianimabile). Stessa forma di isPlayerDead: il server ID è opzionale e per impostazione predefinita è il giocatore locale.

Firma

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

Parametri

NomeTipoDescrizione
serverId?numberServer ID del giocatore da interrogare. Di default è il giocatore locale.

Restituisce

boolean

true finché il giocatore è a terra e in attesa di revive.

Esempio

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

Hook di config

Oltre a eventi ed export, config.lua include alcune funzioni vuote che puoi estendere senza toccare il core in escrow. Inserisci i tuoi trigger o export in una qualsiasi di queste.

  • OnKnocked, OnDeath, OnRevive, OnRespawn: scattano al passaggio di stato corrispondente del giocatore.
  • CanDie: restituisci false per disattivare del tutto il ciclo di morte (es. dentro un minigioco, una partita di softair o un’arena PvP).
  • EMSCall: riceve le coordinate del giocatore a terra; indirizzale al trigger di chiamata d’emergenza del tuo telefono.
  • Notification: sostituiscila con il tuo sistema di notifiche; riceve un messaggio come stringa.
  • CustomProgress / StopCustomProgress: collega qualsiasi progress bar (ox_lib, UI personalizzata, ecc.) quando Progressbar = 'CUSTOM' nella config.
  • DisabledKeys: i controlli disattivati mentre il giocatore è completamente morto. Sovrascrivila per lasciarne attivi altri.
Combinare gli hook
Hook ed export si combinano bene: chiama exports['DS-Death']:isPlayerKnocked() da dentro OnKnocked per bloccare altri sistemi (telefono, inventario, radio) senza dover fare polling.

Sei ancora bloccato?

Apri un ticket nel nostro Discord e ti diamo una mano.

Entra nel Discord →