# 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.
    * `"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 :**
```lua
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.