Configuration Détaillée
Fichiers modifiables : config/config.lua (réglages généraux) et config/stretchers.lua (modèles de brancards). Les véhicules sont décrits dans Configuration des Véhicules. Après une modification : ensure MasterStretcher (ou redémarrage).
1. Licence et langue
| Option |
Défaut |
Rôle |
set mastermods_key "MM-XXXXX" (server.cfg) |
— |
Recommandé. Clé MasterKey, prioritaire sur la config et jamais envoyée aux joueurs. |
Config.MasterModsKey |
"VOTRE_MASTERKEY_ICI" |
Clé si elle n'est pas dans server.cfg. |
Config.Locale |
"fr" |
fr, en, de, es (en-us, en-gb… acceptés). Une langue ou un texte manquant retombe sur le français. |
2. Framework, interaction, notifications
| Option |
Défaut |
Valeurs |
Config.FrameworkMetier |
"standalone" |
"esx", "qb", "qbx", "ox" (ox_core), "standalone" |
Config.InventorySystem |
"native" |
"native" (items du framework : ESX, QBCore, QBox) ou "ox" (ox_inventory). Indépendant du framework. |
Config.TargetSystem |
"ox" |
"ox" (ox_target), "qb" (qb-target), "none" (clavier seul) |
Config.NotifySystem |
"ox" |
"ox", "esx", "qb", "qbx", "okok", "gta" |
3. Permissions par métier
| Option |
Défaut |
Rôle |
Config.JobRestriction |
false |
true : seules les personnes listées dans Config.AuthorizedJobs peuvent agir. Sans effet en standalone. |
Config.AuthorizedJobs |
ambulance, pompier |
Grade minimum par action et par métier. |
Config.AuthorizedJobs = {
['ambulance'] = { push = 0, patient = 0, stow = 1, spawn = 2, extras = 2, delete = 3 },
['pompier'] = { push = 1, patient = 1, stow = 1, spawn = 2, extras = 2, delete = 4 },
}
| Action |
Ce qu'elle autorise |
push |
Pousser, freins, relais, installer ou repositionner un patient (joueur ou PNJ), inviter un joueur |
patient |
Réservé (non utilisé actuellement) |
stow |
Ranger / sortir un brancard d'un véhicule ou d'une nacelle |
spawn |
Sortir un brancard depuis l'item ou /brancard |
extras |
Accessoires et réglages, menu intérieur |
delete |
Supprimer un brancard |
Un métier absent du tableau, ou une action absente pour ce métier, est refusé. S'allonger soi-même et se lever restent ouverts à tout le monde. Le contrôle est fait côté serveur : les options sont aussi masquées côté client par confort.
4. Gameplay et physique
| Option |
Défaut |
Rôle |
Config.DefaultKey |
'E' |
Touche par défaut si Config.TargetSystem = "none" (prendre et lâcher) |
Config.ReleaseKey |
'E' |
Touche par défaut pour lâcher avec ox_target / qb-target. Chaque joueur peut la changer dans ses raccourcis FiveM. |
Config.EnableSlopePhysics |
true |
Suivi de pente ; un brancard sans frein dévale |
Config.EnableSlopePitch / EnableSlopeRoll |
true |
Inclinaison avant/arrière et latérale |
Config.SlowDownWhenPushing |
true |
Marche ralentie en poussant |
Config.TerrainPhysics |
false |
Expérimental : encore plus lent sur herbe, terre, sable, neige |
Config.EnableAutoArming |
true |
Brancard automatique dans chaque ambulance configurée |
Config.AutoBrakeOnRelease |
true |
Freins serrés en posant couché (debout : toujours serrés) |
Config.EnablePickupAnimation |
false |
Expérimental : le joueur marche jusqu'au brancard et s'accroupit pour le prendre |
Config.HolsterWeaponBeforePush |
true |
Range l'arme avant de pousser |
Config.PhysicsRefreshRate est présent dans la config mais n'est plus utilisé.
5. Audio
| Option |
Défaut |
Rôle |
Config.EnableWheelSound |
true |
Son des roues |
Config.WheelSoundFile |
"wheels.mp3" |
Fichier dans html/sounds/ |
Config.WheelSoundVolume |
0.2 |
Volume maximum (0.0 à 1.0) |
Config.WheelFadeTime |
500 |
Fondu d'arrêt (ms) |
Config.WheelSoundDistance |
15.0 |
Distance d'écoute (m) |
6. Items, limites et nettoyage
| Option |
Défaut |
Rôle |
Config.RemoveItemOnUse |
true |
Inventaire natif : retire l'item après l'apparition réussie du brancard |
Config.MaxStretchersPerPlayer |
2 |
Brancards en service par joueur (item et /brancard), 0 = illimité. Les brancards auto-armés ne comptent pas. |
Config.AbandonedStretcherMinutes |
30 |
Supprime un brancard au sol, vide, sans joueur à moins de 50 m depuis ce délai. 0 = jamais. |
Inventaire natif (ESX, QBCore, QBox)
Les items de Config.ItemsVeh doivent exister dans votre base / vos items. Sous QBox, préférez ox_inventory.
ox_inventory
Avec Config.InventorySystem = "ox", déclarez chaque item dans ox_inventory/data/items.lua :
['stretcher'] = {
label = 'Brancard',
weight = 5000,
consume = 1,
client = { export = 'MasterStretcher.stretchermod_use_item' },
},
- Remplacez
MasterStretcher par le nom exact du dossier de la ressource.
- Le retrait est géré par
consume (pas par Config.RemoveItemOnUse).
- Le serveur valide l'usage par le hook
usingItem d'ox_inventory : l'item n'est pas consommé si le joueur n'a pas la permission ou a atteint sa limite. Avec une version d'ox_inventory trop ancienne, la console affiche « mode dégradé » : mettez ox_inventory à jour.
7. Sécurité réseau
| Option |
Défaut |
Rôle |
Config.MaxInteractionDistance |
6.0 |
Distance maximale (m) entre un joueur et le brancard / véhicule qu'il manipule. Refus serveur au-delà. |
Config.InviteToStretcherDistance |
4.0 |
Distance maximale (m) entre le blessé et le brancard pour l'inviter |
Config.Debug |
false |
Messages de diagnostic en console (F8 et serveur). À laisser à false en production. |
8. Modèles de brancards (config/stretchers.lua)
Items et commande
Config.ItemsVeh = {
{ hash = `ferno-f2`, item = 'stretcher', label = 'Ferno F2' },
{ hash = `fernof3`, item = 'stretcher2', label = 'Ferno F3' },
{ hash = `stryker_pp`, item = 'stryk', label = 'Apex Lifter X1' },
}
L'ordre donne le numéro de /brancard <n>. Seuls les modèles listés ici peuvent apparaître par item ou commande.
Un modèle de brancard
Un modèle doit figurer à la fois dans Config.Brancards (réglages) et dans Config.Lits (positions du patient) :
Config.Brancards[`ferno-f2`] = {
label = "Ferno F2",
extrasPieds = { haut = 1, bas = 2 }, -- pieds dépliés / repliés
extrasDossier = { haut = 3, bas = 4 },
extrasGardeCorps = { haut = 6, bas = 5 },
defaultExtras = { 4, 5 }, -- extras visibles à l'apparition (jamais les pieds)
attach = { -- position tenue en main
pos = { x = -0.05, y = 1.43, z = -0.34 },
rot = { x = 180.0, y = 180.0, z = 180.0 },
pivotLength = 0.9, -- compensation en pente
},
groundOffset = { haut = 0.0, bas = 0.0 }, -- facultatif : seul `bas` (posé couché) est utilisé
extras = { -- accessoires du menu
{ id = 7, label = "extra_tablet" },
{ id = 9, label = "extra_oxygen" },
},
}
Config.Lits = {
{ lit = `ferno-f2`, anims = Config.AnimsFernoF2 },
}
9. Commandes
| Commande |
Qui |
Rôle |
/brancard [n] |
Joueurs avec la permission spawn |
Sortir le brancard n°n de Config.ItemsVeh |
/configBrancard |
Licence Premium |
Placer le brancard dans le véhicule le plus proche, copie la config |
/configStretcher <modèle> |
Licence Premium |
Calibrer la prise en main et la hauteur au sol d'un modèle |
/brancardDoors |
Config.Debug = true |
Affiche l'état des portes du véhicule proche (trouver requiredDoors) |
brancardHeartbeat |
Console serveur, Config.Debug = true |
Force l'envoi licence / télémétrie / carte |