API & Exports
Ce document liste tous les exports et événements disponibles pour intégrer le StretcherMod avec vos propres scripts (menus radiaux, context menus, dispatch, MDT, etc.).
⚠️ IMPORTANT : Si vous utilisez vos propres menus via ces exports, n'oubliez pas de désactiver le système de ciblage intégré en mettant
Config.TargetSystem = "none"dans votreconfig.luapour éviter les conflits et les erreurs dans la console !
💻 EXPORTS CLIENT
Vous pouvez appeler ces fonctions depuis n'importe quel script client.
La plupart de nos exports retournent deux valeurs : success (boolean) et message (string ou boolean selon le cas) pour vous permettre de gérer vos erreurs proprement (ex: si le joueur n'a pas le bon métier).
Note : Si vous ne précisez pas d'entité en paramètre, le script ciblera automatiquement le brancard ou l'ambulance la plus proche du joueur.
🛠️ Actions
1. Pousser / Lâcher un brancard
local success, action = exports['StretcherMod-MasterMods-v7']:TogglePush(entity)
-- action retourne "pushed" ou "dropped"
local success, reason = exports['StretcherMod-MasterMods-v7']:OpenMenu(entity)
3. Ranger le brancard dans l'ambulance (Vérifie automatiquement que les portes requises de l'ambulance sont ouvertes)
local success, reason = exports['StretcherMod-MasterMods-v7']:StowStretcher(ambulanceVehicle)
4. Sortir le brancard de l'ambulance
local success, reason = exports['StretcherMod-MasterMods-v7']:UnstowStretcher(ambulanceVehicle)
local success, reason = exports['StretcherMod-MasterMods-v7']:OpenAmbulanceMenu(ambulanceVehicle)
6. Bloquer / Débloquer les freins
local success, isBraked = exports['StretcherMod-MasterMods-v7']:ToggleBrakes(entity)
-- isBraked retourne le nouvel état des freins (true = bloqué)
🔍 Lecture d'informations (Getters)
Savoir si le joueur pousse actuellement un brancard :
local isPushing = exports['StretcherMod-MasterMods-v7']:IsPushingStretcher() -- Retourne true/false
Récupérer l'entité du brancard tenu par le joueur :
local stretcherEntity = exports['StretcherMod-MasterMods-v7']:GetAttachedStretcher() -- Retourne l'entité ou nil
Savoir si un brancard est occupé (Joueur ou PNJ) :
local isOccupied = exports['StretcherMod-MasterMods-v7']:IsStretcherOccupied(entity) -- Retourne true/false
📡 ÉVÉNEMENTS CLIENT (Hooks)
Le script diffuse ces événements en local. Vous pouvez les écouter dans vos autres scripts pour déclencher actions automatiques (ex: allumer les gyrophares quand on sort le brancard, envoyer un message radio, etc.).
stretchermod:onPushStart(entity) : Se déclenche quand le joueur attrape le brancard.stretchermod:onPushStop(entity, position) : Se déclenche quand le joueur lâche le brancard (position= 'debout' ou 'couche').stretchermod:onStretcherStowed(ambulanceEntity, stretcherEntity) : Se déclenche quand un brancard est rangé dans un véhicule.stretchermod:onStretcherUnstowed(ambulanceEntity, stretcherEntity) : Se déclenche quand un brancard est sorti d'un véhicule.
Exemple d'utilisation :
AddEventHandler('stretchermod:onStretcherStowed', function(ambulance, stretcher)
print("Un brancard vient d'être chargé dans l'ambulance !")
-- Insérez ici votre code pour fermer les portes arrière automatiquement, par exemple.
end)