Skip to main content

Configuration Détaillée

Ce chapitre détaille les options disponibles dans le fichier config.lua pour adapter le script à votre serveur. Ce fichier est le cœur de la personnalisation du gameplay.

3.1 Framework & Permissions

Cette section permet de définir comment le script s'intègre à votre économie et à vos systèmes de métiers.

  • Config.FrameworkMetier : Définit le framework utilisé par votre serveur.

    • "esx" : Pour les serveurs ESX Legacy ou v1.
    • "qb" : Pour les serveurs QBCore.
  • "qbx" : Pour les serveurs QBox (qbx_core).
"ox" : Pour les serveurs basés sur ox_core. "standalone" : Aucune dépendance métier (tout le monde peut tout faire).

Config.TargetSystem : Définit le système de visée (Third-eye).

  • "ox" : Recommandé (ox_target).
  • "qb" : Pour qb-target.

Config.JobRestriction :

  • true : Active la restriction par métier. Seuls les métiers listés ci-dessous pourront utiliser les brancards.
  • false : Désactive les restrictions. Tout le monde peut utiliser le matériel.

Config.AuthorizedJobs : Configuration fine des grades (si JobRestriction est activé). Le chiffre correspond au grade minimum requis.

  • push : Autorisation de pousser le brancard.
  • patient : Autorisation de manipuler le patient (installer/sortir).
  • stow : Autorisation de charger/décharger de l'ambulance.
  • spawn : Autorisation de faire apparaître un brancard via un item.
  • extras : Autorisation de modifier les accessoires (sac, oxygène...).
  • delete : Autorisation de supprimer le brancard (Admin/Boss).

3.2 Gameplay & Physique

Ces options modifient le ressenti et le comportement du brancard en jeu.

  • Config.DefaultKey ('E') : La touche clavier par défaut pour interagir (lâcher le brancard) si le Target n'est pas utilisé.
  • Config.EnableSlopePhysics : Si true, le brancard soumis à la gravité roulera tout seul dans les pentes s'il n'est pas tenu ou freiné.
  • Config.SlowDownWhenPushing : Si true, force le joueur à marcher (empêche le sprint) lorsqu'il pousse un brancard.
  • Config.HolsterWeaponBeforePush : Si true, range automatiquement l'arme du joueur avant qu'il ne saisisse les poignées (évite les bugs visuels).
  • Config.AutoBrakeOnRelease : Si true, les freins s'activent automatiquement dès que vous lâchez le brancard.

3.3 Audio et Immersion

  • Config.EnableWheelSound : Active le bruitage réaliste de roulement.
  • Config.WheelSoundVolume : Volume du son (0.0 à 1.0).
  • Config.WheelSoundDistance : Distance à laquelle les autres joueurs entendent le brancard (défaut : 15 mètres).

3.4 Objets & Items

Vous pouvez définir quels items de votre inventaire font apparaître quel modèle de brancard.

Exemple de configuration :

Config.ItemsVeh = {
    {hash = `ferno-f2`, item = 'stretcher',  label = 'Ferno F2'},
    {hash = `stryker`,  item = 'stretcher3', label = 'Stryker M1'},
}
  • hash : Le modèle 3D du brancard (doit exister dans le jeu).
  • item : Le nom technique de l'item dans votre base de données (DB).
  • label : Le nom affiché lors du spawn.

3.5 Système d'Inventaire

Par défaut, MasterStretcher utilise le système d'item natif de votre framework (ESX/QBCore/QBox). Si votre serveur utilise ox_inventory comme inventaire (indépendamment du framework de jobs utilisé), il faut le préciser :

    Config.InventorySystem :

      "native" (défaut) : Utilise le système d'item de votre framework (Config.FrameworkMetier). "ox" : Utilise ox_inventory.

      Configuration requise pour ox_inventory

      Si Config.InventorySystem = "ox", MasterStretcher ne suffit pas à lui seul : il faut aussi déclarer l'item côté ox_inventory. Dans votre ox_inventory/data/items.lua, pour chaque item de Config.ItemsVeh, ajoutez :

      ['nom_item'] = {
          label = 'Brancard',
          weight = 5000,
          client = {
              export = 'nom_de_votre_ressource.stretchermod_use_item'
          }
      }
      

      Remplacez nom_de_votre_ressource par le nom exact du dossier de la ressource MasterStretcher sur votre serveur.

      ⚠️ Le retrait de l'item après usage se gère via le champ consume de votre configuration ox_inventory, pas via MasterStretcher.