Exports
DS-Death expose quelques net events que tu peux déclencher depuis n’importe quel script, trois exports côté client pour interroger l’état ou réanimer à proximité, et un ensemble de hooks au niveau de la config pour brancher tes propres triggers à la mort, au revive, au respawn, etc.
Events
Les events sont le point d’intégration le plus simple : déclenche-les depuis ton ambulance job, ton téléphone, un minijeu ou un outil admin.
DS-Death:revive
Réanime le joueur local (ou le joueur ciblé lorsqu’il est déclenché depuis le serveur). Utilise-le pour brancher DS-Death sur des flux de revive existants, comme le handler esx_ambulancejob:revive du ambulance job ESX.
-- Client side
TriggerEvent('DS-Death:revive')
-- Server side (revives the player whose source is passed in)
TriggerClientEvent('DS-Death:revive', source)DS-Death:lockAnim
Verrouille ou déverrouille l’animation de mort de DS-Death. Utile quand un autre système (ambulance job, minijeu de revive personnalisé) veut jouer sa propre animation tout en gardant le joueur dans l’état knockout de DS-Death. Passe true pour verrouiller, false pour libérer.
-- 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
Les trois exports s’exécutent côté client. Les requêtes d’état acceptent un server ID facultatif : ne passe rien pour interroger le joueur local.
ReviveNear
clientCherche les joueurs en knockout autour du joueur local et tente de réanimer le plus proche. Le script gère la vérification de l’item, la barre de progression et l’event de revive : il ne te reste qu’à brancher cet export sur le déclencheur d’interaction de ton choix (utilisation d’item, option de target, raccourci clavier).
Signature
exports['DS-Death']:ReviveNear()Exemple
-- e.g. from a usable-item handler or a target option
exports['DS-Death']:ReviveNear()isPlayerDead
clientIndique si le joueur donné est complètement mort (en attente de respawn). Passe un server ID pour interroger un autre joueur ; ne passe rien pour vérifier le joueur local.
Signature
exports['DS-Death']:isPlayerDead(serverId)Paramètres
| Nom | Type | Description |
|---|---|---|
| serverId? | number | Server ID du joueur à interroger. Par défaut, le joueur local. |
Retourne
true tant que le joueur est complètement mort, false sinon.
Exemple
if exports['DS-Death']:isPlayerDead() then
-- block phone, inventory, etc.
endisPlayerKnocked
clientIndique si le joueur donné est actuellement en knockout (au sol mais encore réanimable). Même forme que isPlayerDead : le server ID est facultatif et vaut le joueur local par défaut.
Signature
exports['DS-Death']:isPlayerKnocked(serverId)Paramètres
| Nom | Type | Description |
|---|---|---|
| serverId? | number | Server ID du joueur à interroger. Par défaut, le joueur local. |
Retourne
true tant que le joueur est en knockout et attend un revive.
Exemple
local target = GetClosestPlayer()
if exports['DS-Death']:isPlayerKnocked(GetPlayerServerId(target)) then
-- show "Revive" prompt
endHooks de config
Au-delà des events et des exports, config.lua fournit une poignée de fonctions vides que tu peux étendre sans toucher au cœur protégé par l’escrow. Place tes propres triggers/exports dans n’importe laquelle d’entre elles.
- OnKnocked, OnDeath, OnRevive, OnRespawn : déclenchés au changement d’état correspondant du joueur.
- CanDie : renvoie
falsepour supprimer entièrement la boucle de mort (par ex. dans un minijeu, une partie d’airsoft ou une arène PvP). - EMSCall : reçoit les coordonnées du joueur mourant ; redirige-les vers le trigger d’appel d’urgence de ton téléphone.
- Notification : remplace-la par ton propre système de notification ; reçoit un message sous forme de chaîne.
- CustomProgress / StopCustomProgress : branche n’importe quelle barre de progression (
ox_lib, UI personnalisée, etc.) quandProgressbar = 'CUSTOM'dans la config. - DisabledKeys : les contrôles désactivés tant que le joueur est complètement mort. Redéfinis-les pour garder tes propres contrôles utilisables.
exports['DS-Death']:isPlayerKnocked() depuis OnKnocked pour conditionner d’autres systèmes (téléphone, inventaire, radio) sans polling.