# Généralités & important

**MasterStretcher**<span> est une solution médicale avancée pour FiveM qui remplace les brancards statiques par des entités physiques réalistes. Le script gère la gravité dans les pentes, offre une synchronisation réseau parfaite (OneSync), permet l'ancrage automatique dans les ambulances configurées et inclut un module unique pour les nacelles de grandes échelles.</span>

# Présentation du projet

![LogoMM_Couche2.png](https://images.mastermods.dev/mastermods/MasterMods-v2-large-noir.png)

- Le script MasterMods Stretcher est une solution avancée de brancardage pour FiveM, conçue pour les serveurs privilégiant le "Hardcore RP".
    
    
    - **Optimisation maximale** : Le script affiche une consommation de 0.01ms en veille.
    - **Fluidité** : Utilisation des dernières fonctionnalités optimisées de FiveM pour une synchronisation instantanée entre tous les joueurs.
    - **Immersion** : Gestion réaliste de la physique, des sons et des interactions avec les véhicules de secours.

# Installation

Bienvenue dans la documentation de **MasterStretcher**. Ce script apporte une dimension réaliste aux interventions médicales sur votre serveur FiveM grâce à une physique avancée, une synchronisation précise et une intégration complète avec les véhicules d'urgence.

## 1.1 Pré-requis

Avant de commencer, assurez-vous que votre serveur dispose de :
* **Compte Cfx.re :** Nécessaire pour télécharger la ressource via le système d'assets officiel (Escrow).
* **FiveM Artifacts :** Version 4752 ou supérieure recommandée.

## 1.2 Procédure d'Installation

L'installation se fait en 3 étapes via le système officiel Tebex et Keymaster.

### Étape 1 : Récupérer la ressource
1. Rendez-vous sur la boutique officielle : **[https://raph.tebex.io/](https://raph.tebex.io/)**
2. Sélectionnez le package **MasterStretcher** (Gratuit).
3. Procédez au "paiement" (0.00€) pour lier la ressource à votre compte Cfx.re.

### Étape 2 : Télécharger les fichiers
1. Connectez-vous sur votre **Keymaster** : **[https://portal.cfx.re/](https://portal.cfx.re/assets/granted-assets?page=1&sort=asset.updated_at&direction=asc)**
2. Dans la liste "Granted Assets", cherchez `MasterStretcher`.
3. Cliquez sur **Download** pour obtenir l'archive `.zip`.

### Étape 3 : Installation sur le serveur
1. Ouvrez l'archive téléchargée et glissez le dossier `MasterStretcher` dans le répertoire `resources` de votre serveur.
2. Ajoutez la ligne suivante à votre fichier `server.cfg` :
   ```ensure MasterStretcher```
## 1.3 Configuration de la Licence (Obligatoire)

Pour que le script fonctionne correctement, vous devez générer une clé unique.

1. Rendez-vous sur le générateur officiel : **[https://ressources.mastermods.dev/CreerMasterKey.php](https://ressources.mastermods.dev/CreerMasterKey.php)**
2. Générez votre **MasterKey**.
3. Ouvrez le fichier `config.lua` situé dans le dossier du script.
4. Collez votre clé dans la variable correspondante :
   ```lua
   Config.MasterModsKey = "VOTRE_CLE_ICI"
   ```

# Guide d'utilisation

Ce chapitre détaille comment interagir avec le brancard, gérer les patients et utiliser les véhicules d'urgence. Toutes les interactions se font via le système de visée ("Alt-Eye" ou "Third-Eye").

## 2.1 Manipulation du Brancard

### Prendre le contrôle
Pour commencer à déplacer un brancard :
1. Approchez-vous du brancard.
2. Ciblez-le avec votre touche d'interaction (ALT).
3. Sélectionnez l'option **"Pousser le brancard"**.
4. Votre personnage s'attachera automatiquement aux poignées.

### Se déplacer
* **Mouvements :** Utilisez vos touches directionnelles habituelles (ZQSD). Le brancard suit votre physique.
* **Courir :** Pour des raisons de sécurité, le sprint est désactivé lorsque vous poussez un brancard.
* **Obstacles :** Le brancard possède des collisions physiques. Il ne passera pas à travers les murs ou les poteaux.

### Lâcher le brancard
Pour arrêter de pousser, appuyez sur votre touche d'interaction principale (par défaut **E**) ou utilisez le menu Target. Un menu apparaîtra pour choisir la position de dépôt :
* **Position Haute :** Laisse le brancard sur ses roues (prêt à repartir).
* **Position Basse :** Replie les pieds au sol (mode stationnaire ou intervention).

### Système de Freins
Si le terrain est en pente, le brancard peut rouler tout seul s'il n'est pas tenu.
* Ciblez le brancard (ALT) et sélectionnez **"Bloquer/Débloquer Freins"**.
* **Visuel :** Le brancard se fige physiquement pour éviter tout accident.

---

## 2.2 Gestion des Patients

### Installer un Joueur
Le patient peut s'installer lui-même ou être installé par un médecin.
1. Ciblez le brancard (ALT) -> **"Menu Brancard"**.
2. Sélectionnez **"S'installer"**.
3. Choisissez la position (Couché, Assis, PLS, etc.).

### Installer un PNJ (Civil IA)
Idéal pour les scènes RP sans joueurs blessés.
1. Ciblez le PNJ blessé (ALT).
2. Sélectionnez **"Placer sur le brancard"**.
3. *Note : Un brancard vide doit être à proximité immédiate.*

### Modifier la posture
Une fois le patient installé, le médecin peut ajuster sa position via le menu :
* Ciblez le brancard -> **"Menu Brancard"**.
* Choisissez **"Position du patient"** pour changer l'animation en temps réel (ex: passer de "Couché" à "Assis" pour le transport).
* Pour un PNJ, utilisez l'option **"Débarquer le PNJ"** pour le faire descendre.

---

## 2.3 Système de Relais (Duo)

Vous pouvez passer le brancard à un collègue sans le lâcher au sol, pour fluidifier les interventions.

* **Donner :** Ciblez votre collègue -> **"Donner le brancard"**. Il recevra une notification pour accepter.
* **Prendre :** Ciblez un collègue qui pousse -> **"Prendre le relais"**.

---

## 2.4 Intégration Véhicules (Ambulances)

Le système d'ancrage est compatible uniquement avec les véhicules configurés (voir Chapitre 4).

### Charger dans l'ambulance
1. Ouvrez impérativement les portes arrières du véhicule.
2. Approchez le brancard de l'ouverture (les pieds doivent être proches du pare-chocs).
3. Ciblez le véhicule (ALT) et sélectionnez **"Rentrer le brancard"**.
4. Le brancard se repliera et glissera automatiquement dans le rail.

### Sortir de l'ambulance
1. Ouvrez les portes arrières.
2. Ciblez le véhicule (ALT) -> **"Sortir le brancard"**.
3. Votre personnage effectuera l'animation de sortie et récupérera le contrôle du brancard instantanément.

### Menu Interne (Modifications Visuelles)
Certains brancards (Ferno/Stryker) sont modulables.
* Ciblez le brancard -> **"Extras & Accessoires"**.
* Vous pouvez ajouter/retirer :
    * Le sac de secours (Sac rouge).
    * La bouteille d'oxygène.
    * Le moniteur cardiaque.
    * Relever/Baisser les barrières latérales (Garde-corps).
    * Relever/Baisser le dossier.

# 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.

# Configuration des Véhicules (Ambulances/Paniers)

Ce chapitre est le plus technique mais le plus important. Il permet de définir quels véhicules peuvent interagir avec le brancard (chargement/déchargement) et comment le brancard se positionne physiquement à l'intérieur.

Toute la configuration se fait dans la table **`Config.AmbulanceConfig`** de votre fichier `config.lua`.

## 4.1 Structure d'une Ambulance

Pour ajouter un nouveau véhicule, copiez un bloc existant et modifiez les valeurs. Voici l'explication ligne par ligne :

```lua
{
    model = "Master III VSAV",          -- Nom indicatif (pour vous repérer)
    hash = `rmaster317_vsav-bspp`,      -- Le nom de spawn du véhicule entre ` ` (backticks)
    auteur = "Anto",                    -- Informatif
    AutoBrancardName = "ferno-f2",      -- Le modèle de brancard qui spawn avec (si Auto-Armement actif)
    requiredDoors = {2, 3},             -- Les portes qui doivent être ouvertes (voir 4.3)
    
    -- RÉGLAGES DE POSITION (OFFSET)
    detection = 2.4,                    -- Rayon de détection (en mètres) autour du véhicule
    alignementLateral = -0.25,          -- Position Gauche/Droite (X)
    profondeur = -1.25,                 -- Position Avant/Arrière (Y)
    hauteur = -0.25,                    -- Position Haut/Bas (Z)
    rotation = 0.0                      -- Rotation du brancard (0.0 = Pieds vers l'avant)
},

```

### Comment trouver les bonnes coordonnées ?

#### De manière intuitive

Il y a un outil magique : la commande **/configBrancard**. Elle va vous poser des questions puis vous pourrez bouger le brancard pour le faire coller au niveau de l'ambulance. Ensuite, vous prendrez les lignes générées (presse-papiers ou F8) et vous les mettrez dans le config.lua.

#### Manuellement

- Faites apparaître le brancard et l'ambulance.
- Chargez le brancard.
- S'il est mal mis, modifiez les valeurs alignementLateral, profondeur ou hauteur dans le config.
- Redémarrez le script (ensure MasterStretcher) et réessayez.

#### Alignement Latéral (X) :

- 0.0 : Centre exact du véhicule.
- Valeur négative (ex: -0.5) : Vers la gauche (conducteur).
- Valeur positive (ex: 0.5) : Vers la droite (passager).

#### Profondeur (Y) :

- Valeur négative : Vers l'arrière (coffre).
- Valeur positive : Vers l'avant (pare-brise).

#### Hauteur (Z) :

Ajustez pour que les roues touchent le plancher de l'ambulance sans passer au travers.

## 4.2 Les Portes Requises (requiredDoors)

Cette liste définit quelles portes doivent être physiquement ouvertes pour que l'action "Rentrer/Sortir le brancard" soit disponible.

#### Codes des portes GTA V :

- 0 : Avant Gauche (Conducteur)
- 1 : Avant Droit (Passager)
- 2 : Arrière Gauche (Passager AR)
- 3 : Arrière Droit (Passager AR)
- 4 : Capot Moteur
- 5 : Coffre (Hayon)
- 6 : Soute (Back) - Souvent utilisé pour les hélicos.

Exemples :

- Pour un VSAV type camionette avec deux portes battantes arrières : requiredDoors = {2, 3}.
- Pour un hélicoptère comme ceux d'Anto avec une soute : requiredDoors = {6}.
- Pour un hélicoptère sans portes ou toujours ouvertes : requiredDoors = {} (liste vide = aucune restriction).

## 4.3 Configuration des Hélicoptères

Les hélicoptères fonctionnent exactement comme les ambulances, mais nécessitent souvent une zone de détection plus large car le joueur ne peut pas se coller au modèle (à cause des patins).

<p class="callout info">Astuce : Augmentez detection à 2.0 ou 3.0 mètres.</p>

## 4.4 Nacelles et Grandes Échelles

Pour les camions de pompiers équipés d'une nacelle (Bucket), la configuration se fait dans une autre table : Config.LadderBasketConfig.

```lua
{ 
    label = "Nacelle EPAN", 
    hash = -84503767,  -- Hash du PROP de la nacelle (pas du camion !)
    offset = { x = 0.44, y = -0.43, z = 0.15 }, -- Position relative dans le panier
    rot = { x = 90.0, y = 0.0, z = 0.0 }        -- Rotation (90° pour être debout/fixé)
},

```

<p class="callout danger">Attention : Ici, le hash n'est pas celui du véhicule, mais celui de l'objet "panier" (cs\_bucket ou équivalent) qui est attaché au bras de l'échelle. Vous devrez trouver le hash du prop utilisé par votre moddeur de véhicule.</p>

#### Détail des paramètres :

- label : Nom pour vous repérer.
- hash : ATTENTION, c'est le point crucial. Ce n'est PAS le hash du camion de pompier, mais le hash de l'objet 3D de la nacelle (cs\_bucket, laddertruck\_bucket, etc.).
- offset (x, y, z) : La position du brancard DANS le panier.
- rot (x, y, z) : L'orientation. Généralement, une rotation X à 90.0 est nécessaire pour que le brancard soit "debout" ou fixé à la verticale contre la paroi de la nacelle.

<p class="callout info">Astuce : Utilisez un script de "Dev Tools" ou "Object Spawner" pour trouver le nom/hash du prop de la nacelle quand elle est déployée.</p>

#### Utilisation en Jeu

- Déployez l'échelle du camion.
- Montez le brancard (vide ou avec patient) dans la nacelle.
- Visez la nacelle (Target ALT) et choisissez "Fixer le brancard à la nacelle".
- Pour le retirer : Visez la nacelle ou le brancard et choisissez "Sortir le brancard".

# Journaux des changements

#### 📋 Changelog (Mise à jour du 30/12 - 31/12) - 3.1.0

##### **Nouvelles Fonctionnalités**

<div class="preview" id="bkmrk-syst%C3%A8me-pnj-complet%C2%A0"><div class="preview__inner-1"><div class="preview__inner-2"><div class="cl-preview-section">- **Système PNJ Complet** : Placement de PNJ vivants sur le brancard avec un menu de position dédié pour modifier l’animation après l’installation.
- **Support Nacelle** : Support de l’EPAN d’Anto avec détection automatique et masquage visuel des roues.
- **Alignement Dynamique (Pitch &amp; Roll)** : Le brancard s’incline automatiquement selon l’inclinaison du terrain (avant/arrière et latéral).

</div></div></div></div>##### **Correctifs &amp; Patches**

<div class="preview" id="bkmrk-remaniement%C2%A0%3A-simpli"><div class="preview__inner-1"><div class="preview__inner-2"><div class="cl-preview-section">- **Remaniement** : Simplification du fichier de configuration
- **Système de Relais** : Transfert de contrôle fluide entre deux collègues via une demande et une confirmation synchronisées.
- **Persistance d’Animation** : Système de vérification pour empêcher que l’animation du patient ne soit coupée par des scripts tiers.
- **Optimisation des Collisions** : Désactivation des collisions entre le patient et le brancard pendant le transport pour supprimer les mouvements erratiques.
- **Patch Technique** : Correction de la fonction native de débarquement, correction d’un bug où les joueurs-non-métier ne pouvaient pas se coucher sur le brancard.
- **Changement de système** : Plus besoin d’être sur Discord SAUF pour garder les fonctions ‘Premium’ : Support Nacelle, alignement dynamique, restriction métier
- **Optimisation des Extras** : Regroupement des dossiers et garde-corps en interrupteurs uniques (ON/OFF) avec logique d’exclusion mutuelle pour une gestion simplifiée.

</div></div></div></div>#### 📑 Changelog - MasterStretcher (Mise à jour du 01/01) - 3.1.1

<p class="callout warning">Attention : changement du fichier config.lua nécessaire !</p>

<div class="preview" id="bkmrk-correction-du-bug-de"><div class="preview__inner-1"><div class="preview__inner-2"><div class="cl-preview-section">- **Correction du bug des nacelles** : Le brancard ne *devrait* plus léviter et ne plus boguer lorsqu’il est attaché à une échelle ou un panier. Il reste désormais parfaitement fixé pour tout le monde, même lors des mouvements.
- **Alerte de mise à jour** : Si une nouvelle version du script est disponible, un gros message d’alerte très visible (en rouge et jaune) s’affichera directement dans la console de votre serveur au démarrage.
- **Affichage des véhicules amélioré** : Les véhicules s’affichent désormais par leur **nom** et leur **auteur** (ex: *Master III \[Anto\]*), au lieu de simples numéros techniques pour une compréhension plus simple de la config.
- **Meilleure stabilité** : Le système de vérification est plus robuste et ne risque plus de bloquer le démarrage, même si vous avez une liste de véhicules configurés extrêmement longue.
- **Gestion des pieds** : Modification afin de pouvoir intégrer plus facilement d’autres brancards.

</div></div></div></div>#### 📑 Changelog - MasterStretcher (Mise à jour du 02/01) - 3.1.4

<p class="callout warning">Attention : changement du fichier config.lua nécessaire !</p>

##### 🚑 Configuration &amp; Identification des Véhicules

<div class="preview" id="bkmrk-labels-des-ambulance"><div class="preview__inner-1"><div class="preview__inner-2"><div class="cl-preview-section">- **Labels des Ambulances** : Les véhicules sont désormais identifiés par leurs noms configurés (ex: “Master III 2012”) au lieu de simples identifiants techniques.
- **Affichage des Auteurs** : L’auteur du modèle (si renseigné dans la configuration) apparaît désormais entre crochets à côté du nom du véhicule (ex: \[Anto\]).
- **AutoBrancardName (Liaison automatique)** :
- Ce paramètre définit le modèle de brancard nativement associé à une ambulance.
- Le rapport automatique traduit désormais l’ID technique en label lisible, vous permettant de valider instantanément que la liaison entre votre ambulance et son brancard est opérationnelle.
- **requiredDoors (Gestion des accès)** :
- Ce paramètre liste les indices des portes (ex: 2, 3) qui doivent être impérativement ouvertes pour charger ou décharger un brancard.
- Le rapport technique répertorie ces portes pour chaque véhicule, garantissant un contrôle précis de vos réglages de réalisme.

</div></div></div></div>#### 📑 Changelog - MasterStretcher (Mise à jour du 02/01) - 3.1.5

<div class="preview" id="bkmrk-test%C2%A0%3A-essais-nacell"><div class="preview__inner-1"><div class="preview__inner-2"><div class="cl-preview-section">- **Test** : essais nacelle
- **Rotation** : possibilité de tourner le brancard pour l’attachement dans le véhicule

</div></div></div></div>#### 📑 Changelog - MasterStretcher (Mise à jour du 03/01) - 3.1.6

- Correction d'un bug sur les portes des hélicoptères mal détectées

#### 📑 Changelog - MasterStretcher (Mise à jour du 25/01) - 3.1.7

<div class="preview" id="bkmrk-correction-d%27un-bug--1"><div class="preview__inner-1"><div class="gutter">- Correction d'un bug sur le fait que l'index métier (grade) n'était pas vérifié. Changement de sa logique générale.

</div></div></div>#### 📑 Changelog - MasterStretcher (Mise à jour du 25/01) - 3.1.8

- Allègement de code
- Ajout de trois fichiers de langage pour un changement rapide

#### 📑 Changelog - MasterStretcher (Mise à jour du 15/02) - 3.2.0

<p class="callout warning">Attention : changement du fichier config.lua nécessaire !</p>

- Uniformisation du matériel : Lors de la sortie automatique de l'ambulance, le brancard apparaît avec un équipement propre et défini (via la configuration), supprimant l'apparition d'accessoires aléatoires.
- Nouvelle option de configuration : Ajout d'un paramètre permettant de régler finement la réactivité de la physique selon les besoins du serveur.
- Refonte de l'optimisation : La consommation du script (Resmon) a été drastiquement réduite. Il est désormais ultra-léger (autour de 0.03ms) tout en conservant une physique de pente et d'inclinaison en temps réel.

#### 📑 Changelog - MasterStretcher (Mise à jour du 17/02) - 3.2.1

<div class="preview" id="bkmrk-ajout-de-la-langue-e"><div class="preview__inner-1"><div class="gutter">- Ajout de la langue Espagnole.
- Correction d'un bug où le son de roulement ne pouvait pas être désactivé.

</div></div></div>#### 📑 Changelog - MasterStretcher (Mise à jour du 18/03) - 3.2.2

- **Nouvelle API Complète (Exports) :** Intégration totale avec vos menus personnalisés (Context Menu, Radial, etc.) via une nouvelle liste d'exports (pousser, ranger, ouvrir les menus, lire les états).
- **Support "No-Target" :** Possibilité de définir `Config.TargetSystem = "none"` pour désactiver totalement les cibles (ox/qb) sans générer d'erreurs dans la console.
- **Nouveaux Événements (Hooks) :** Ajout d'événements clients et serveurs exploitables pour déclencher vos propres scripts (ex: allumer les gyrophares au déploiement du brancard).
- **Mémorisation du Dossier :** Correction d'un problème agaçant où le dossier du brancard se recouchait tout seul lorsqu'on le posait au sol.
- **Accessoires au Spawn :** Les brancards (qu'ils soient sortis manuellement ou via l'auto-arm de l'ambulance) apparaissent désormais bien avec les accessoires par défaut définis dans votre configuration.
- **Lâcher Réaliste (Ragdoll) :** Si un joueur trébuche, tombe d'un toit ou se fait renverser, il lâche désormais instantanément le brancard, évitant les bugs de collision destructeurs.
- **Blindage des Actions Externes :** Les actions déclenchées via l'API (menus custom) vérifient désormais rigoureusement les permissions des métiers et l'ouverture des portes des ambulances. Fini les vols de brancards par les civils !
- **Alerte de Désynchronisation :** Ajout d'une notification visible pour le joueur s'il tente d'interagir avec un brancard qui ne répond pas au réseau (prévention des bugs de clics dans le vide).

#### 📑 Changelog - MasterStretcher (Mise à jour du 01/04) - 3.2.3

<p class="callout warning">Attention : changement du fichier config.lua nécessaire !</p>

- **Système UI Caméléon :** Les notifications et textes à l'écran s'adaptent désormais 100% automatiquement à votre serveur (ox, qb, esx, okok ou natif).
- **Synchronisation &amp; Stabilité :** Résolution des animations "dans le vide" après un redémarrage, du spam lors du rangement, et des conflits réseaux sur la gestion des accessoires.

#### 📑 Changelog - MasterStretcher (Mise à jour du 02/04) - 3.2.4

<p class="callout warning">Attention : changement du fichier config.lua nécessaire !</p>

- **Physique des sols réaliste :** Le script détecte désormais la matière sous vos pieds (sable, boue, neige) et ralentit drastiquement la poussée. Désactivable dans la config.
- **Outil Dev `/configBrancard` :** Un assistant visuel 3D directement en jeu pour aligner les brancards dans vos véhicules moddés et copier la configuration générée en un clic.

#### 📑 Changelog - MasterStretcher (Mise à jour du 03/04) - 3.2.5

- **Bouclier Anti-Crash :** Si une erreur ou un oubli se glisse dans le config.lua, le script ne crashera plus en jeu. Il ignore le véhicule défectueux en silence pour les joueurs, et affiche une alerte claire et précise uniquement dans la console du serveur.
- **Sélection des Portes :** L'assistant /configBrancard s'enrichit d'un menu à cases à cocher (multi-select) pour paramétrer les portes requises. Il suffit de cocher "Coffre" ou "Passager" et l'outil génère le code parfait.
- Dépréciation des versions antérieures à 3.2.0 - Mise à jour vers 3.2.5 conseillée

#### 📑 Changelog - MasterStretcher (Mise à jour du 13/05) - 3.2.6

- **Essais :** tentative de correction de désynchronisations.

<div class="container" id="bkmrk-"><div class="markdown markdown-main-panel stronger enable-updated-hr-color" dir="ltr" id="bkmrk--1"></div></div><div class="container" id="bkmrk--2"></div>