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 (par exemple MasterStretcher_MasterMods_v14).

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