> For the complete documentation index, see [llms.txt](https://bsensei-script.gitbook.io/bsensei-script-documentation-officiel-fivem/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://bsensei-script.gitbook.io/bsensei-script-documentation-officiel-fivem/bsensei-vehicle-control-controle-complet-des-vehicules/installation.md).

# Installation

## ⚡ Installation du script BSensei Vehicle Control

Bienvenue dans le guide d’installation de **BSensei Vehicle Control**.

L’installation est rapide, ne nécessite aucun fichier SQL et demande uniquement **ESX Legacy** avec **OneSync activé**.

***

### 🧩 Étape 1 – Télécharger la ressource

Après avoir obtenu le script depuis Tebex, télécharge l’asset depuis ton compte **Cfx.re**.

Tu recevras le dossier suivant :

```
BSensei_vehicle_control
```

⚠️ Le script utilise le système **FiveM Asset Escrow**. L’asset doit être téléchargé avec le compte Cfx.re ayant reçu le produit.

***

### 📁 Étape 2 – Installer le dossier

Place le dossier dans le répertoire `resources` de ton serveur.

Exemple conseillé :

```
resources/[bsensei]/BSensei_vehicle_control
```

Conserve impérativement le nom suivant :

```
BSensei_vehicle_control
```

#### ✅ Bon exemple

```
resources/[bsensei]/BSensei_vehicle_control
```

#### ❌ Mauvais exemple

```
resources/[bsensei]/BSensei_vehicle_control_v2.4.4
```

Vérifie également qu’il n’existe pas de double dossier.

#### ❌ Double dossier

```
resources/[bsensei]/BSensei_vehicle_control/BSensei_vehicle_control
```

***

### 🗄️ Étape 3 – Base de données

**BSensei Vehicle Control ne nécessite aucun fichier SQL.**

Aucune table supplémentaire ne doit être créée ou importée.

Les préférences de l’interface sont enregistrées directement avec le système KVP de FiveM.

Cela comprend notamment :

```
La taille du menu
L’opacité
La couleur principale
L’arrondi des panneaux
La position de l’interface
```

Chaque joueur conserve automatiquement ses propres réglages.

***

### ⚙️ Étape 4 – Ajouter le script au `server.cfg`

Ouvre ton fichier `server.cfg`, puis ajoute :

```
ensure BSensei_vehicle_control
```

Le script doit démarrer après ESX.

Ordre conseillé :

```
ensure es_extended

ensure BSensei_vehicle_control
```

⚠️ `es_extended` doit être complètement démarré avant Vehicle Control.

***

### 🌐 Étape 5 – Vérifier OneSync

Le script nécessite **OneSync activé** pour synchroniser correctement certaines fonctions entre les joueurs.

Cela concerne notamment :

* l’ancre des bateaux ;
* l’immobilisation des jet-skis ;
* le vol stationnaire des hélicoptères ;
* la désactivation automatique du stationnaire ;
* l’état synchronisé de certaines fonctions du véhicule.

Sur un serveur FiveM récent utilisant txAdmin, OneSync est généralement déjà activé.

Le fichier `fxmanifest.lua` contient cette dépendance :

```lua
dependencies {
    'es_extended',
    '/onesync'
}
```

Si OneSync est désactivé, la ressource refusera de démarrer correctement.

***

### 🔔 Étape 6 – Notifications facultatives

Le système utilisé par défaut est celui d’ESX :

```lua
Config.Notifications.System = 'esx'
```

Aucune dépendance supplémentaire n’est nécessaire avec cette configuration.

Le script peut également utiliser :

```
ox_lib
okokNotify
custom
```

#### Exemple avec `ox_lib`

```
ensure ox_lib
ensure es_extended
ensure BSensei_vehicle_control
```

#### Exemple avec `okokNotify`

```
ensure okokNotify
ensure es_extended
ensure BSensei_vehicle_control
```

Ces ressources sont facultatives et uniquement nécessaires lorsqu’elles sont sélectionnées dans `config.lua`.

***

### 🔧 Étape 7 – Première configuration

Ouvre le fichier suivant :

```
BSensei_vehicle_control/config.lua
```

Vérifie au minimum :

```lua
Config.Locale = 'fr'
```

```lua
Config.Notifications.System = 'esx'
```

```lua
Config.OpenMenu.Command = 'vehiclemenu'
Config.OpenMenu.DefaultKey = 'F5'
```

```lua
Config.Anchor.Command = 'ancre'
Config.Anchor.DefaultKey = 'G'
```

```lua
Config.Hover.Command = 'stationnaire'
Config.Hover.DefaultKey = 'H'
```

Les touches peuvent ensuite être modifiées individuellement par les joueurs dans les paramètres FiveM.

***

### 🚘 Étape 8 – Vérifier le fonctionnement

Redémarre le serveur ou utilise les commandes suivantes dans la console :

```
refresh
ensure BSensei_vehicle_control
```

Connecte-toi ensuite et entre dans un véhicule.

Teste l’ouverture du menu avec :

```
F5
```

ou :

```
/vehiclemenu
```

Vérifie les fonctions suivantes :

1. Démarrage et arrêt du moteur
2. Feux et pleins phares
3. Clignotants gauche et droit
4. Feux de détresse
5. Portes, capot et coffre
6. Fenêtres
7. Changement de siège
8. Régulateur de vitesse
9. Verrouillage du véhicule
10. Gestion des néons

***

### ⚓ Étape 9 – Tester l’ancre

Entre dans un bateau ou un jet-ski, puis utilise :

```
/ancre
```

ou la touche :

```
G
```

Le véhicule doit être suffisamment lent pour que l’ancre puisse être activée.

La vitesse maximale autorisée se configure ici :

```lua
Config.Anchor.MaxSpeed = 8.0
```

⚠️ La touche `G` ne déclenche aucune action Vehicle Control lorsque le joueur se trouve dans une voiture.

***

### 🚁 Étape 10 – Tester le stationnaire

Entre comme pilote dans un hélicoptère, puis utilise :

```
/stationnaire
```

ou la touche :

```
H
```

Vérifie que l’hélicoptère conserve :

* sa position ;
* son altitude ;
* son orientation.

Change ensuite de siège pour vérifier que le stationnaire reste actif.

Lorsque tous les occupants quittent l’appareil, le stationnaire doit se désactiver automatiquement.

⚠️ La touche `H` ne déclenche aucune action Vehicle Control lorsque le joueur se trouve dans une voiture.

***

### 💜 Étape 11 – Intégration des néons

Le script détecte les néons installés grâce au state bag configuré ici :

```lua
Config.Neons.StateBagKey = 'neonInstalled'
```

Lorsqu’un script de customisation installe des néons, utilise :

```lua
exports['BSensei_vehicle_control']:SetNeonInstalled(vehicle, true)
```

Lorsqu’il les retire :

```lua
exports['BSensei_vehicle_control']:SetNeonInstalled(vehicle, false)
```

Sans cette intégration, le script peut considérer que les néons ne sont pas installés sur le véhicule.

Une page dédiée expliquera cette intégration plus en détail dans la configuration.

***

### 🔒 Fichiers modifiables

Les fichiers suivants restent accessibles malgré la protection Asset Escrow :

```
config.lua
shared/locales.lua
client/editable.lua
html/index.html
html/style.css
html/app.js
README.md
```

Ils permettent de modifier :

* la configuration ;
* les traductions ;
* les notifications ;
* l’apparence de l’interface ;
* l’intégration des systèmes externes.

***

### ⚠️ Erreurs à éviter

* Ne renomme pas le dossier `BSensei_vehicle_control`
* Ne crée pas de double dossier
* Ne démarre pas le script avant `es_extended`
* Ne désactive pas OneSync
* N’importe aucun fichier SQL
* Ne modifie pas les fichiers protégés
* Ne sélectionne pas `ox_lib` ou `okokNotify` sans installer la ressource
* Redémarre le script après chaque modification de configuration

Après une modification :

```
restart BSensei_vehicle_control
```

***

### 🚨 En cas de problème

* Vérifie que `es_extended` est démarré
* Vérifie que OneSync est activé
* Contrôle le nom exact du dossier
* Vérifie l’ordre de démarrage dans le `server.cfg`
* Assure-toi que l’asset est lié au bon compte Cfx.re
* Consulte la console serveur
* Consulte la console F8
* Vérifie les modifications effectuées dans `config.lua`
* Teste avec un véhicule GTA natif
* Redémarre complètement le serveur si nécessaire

***

➡️ **Étape suivante : Configuration complète du script**


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter, and the optional `goal` query parameter:

```
GET https://bsensei-script.gitbook.io/bsensei-script-documentation-officiel-fivem/bsensei-vehicle-control-controle-complet-des-vehicules/installation.md?ask=<question>&goal=<endgoal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is optional and describes the broader end goal you are ultimately trying to accomplish on behalf of the user. GitBook uses it to tailor the answer towards what is most useful for that goal.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
