Exports et événements
Pour intégrer MasterStretcher à vos propres scripts (menu radial, script ambulance, etc.). Remplacez MasterStretcher par le nom du dossier de la ressource.
Exports client
Toutes les actions renvoient true en cas de succès, ou false, raison. Les mêmes contrôles qu'en jeu s'appliquent (licence, permission, distance), et le serveur revalide chaque action.
| Export | Paramètres | Retour |
|---|---|---|
IsPushingStretcher() |
— | boolean : le joueur pousse un brancard |
GetAttachedStretcher() |
— | Entité du brancard poussé, ou nil |
IsStretcherOccupied(entity?) |
brancard (défaut : le plus proche, 4 m) | boolean |
TogglePush(entity?) |
brancard (défaut : le plus proche) | true, "pushed" / true, "dropped" |
OpenMenu(entity?) |
brancard | Ouvre le Menu Gestion |
StowStretcher(ambulance?) |
ambulance (défaut : la plus proche, 5 m) | Range le brancard poussé |
UnstowStretcher(ambulance?) |
ambulance | Sort le brancard rangé |
OpenAmbulanceMenu(ambulance?) |
ambulance | Ouvre le Menu Intérieur |
ToggleBrakes(entity?) |
brancard couché | Serre ou desserre les freins |
Raisons possibles : not_authorized, no_permission, invalid_stretcher, holding_stretcher, no_stretcher_held, no_ambulance_found, doors_closed, no_stretcher_in_ambulance.
local ok, reason = exports.MasterStretcher:StowStretcher()
if not ok then print('Rangement impossible : ' .. reason) end
Événements client
Déclenchés localement (AddEventHandler), pour le joueur qui fait l'action :
| Événement | Arguments |
|---|---|
stretchermod:onPushStart |
stretcher |
stretchermod:onPushStop |
stretcher, position ('debout' ou 'couche') |
stretchermod:onStretcherStowed |
vehicle, stretcher |
stretchermod:onStretcherUnstowed |
vehicle, stretcher |
AddEventHandler('stretchermod:onStretcherStowed', function(vehicle, stretcher)
-- ex. : afficher le moniteur du véhicule
end)
State bags (lecture seule)
L'état est écrit uniquement par le serveur. Vous pouvez le lire :
| Clé | Sur | Valeur |
|---|---|---|
stretcherPos |
brancard | 'haut', 'bas' ou 'basket' |
stretcherBrakes |
brancard | boolean |
attachedPlayer |
brancard | serverId du joueur allongé, ou nil |
attachedPedNetId |
brancard | netId du PNJ allongé, ou nil |
attachedStretcher |
véhicule | netId du brancard rangé, ou nil |
isPushingStretcher |
joueur | netId du brancard poussé, ou nil |
local patient = Entity(stretcher).state.attachedPlayer
Les événements réseau internes (
stretchermod:server:*,stretchermod:client:*) ne font pas partie de l'API : leurs paramètres peuvent changer d'une version à l'autre et le serveur refuse les appels qui ne viennent pas du script.