Skip to main content

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 },
}
  • Les label des extras sont des clés de langue (extra_tablet, extra_scoop, extra_oxygen, extra_backboard, extra_blanket, extra_mid) ou un texte libre.
  • Les positions du patient (Config.AnimsFernoF2…) donnent pour chaque animation dict, anim et le décalage x, y, z, r par rapport au brancard.
  • /configStretcher <modèle> (licence Premium) calibre attach et groundOffset en jeu et copie le résultat dans le presse-papiers.

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