> ## Documentation Index
> Fetch the complete documentation index at: https://rust-co.mintlify.site/llms.txt
> Use this file to discover all available pages before exploring further.

# Configuration

> Tout ce que vous pouvez changer dans config/config.lua, expliqué simplement.

Tous les réglages sont dans un seul fichier : `rco-motorworks/config/config.lua`. Ouvrez-le avec n'importe quel éditeur de texte (le Bloc-notes suffit, VS Code est plus agréable).

> [!TIP]
>
> Ne changez que ce qui vient après le signe `=`. Gardez les guillemets `'...'`, les virgules et les accolades exactement comme ils sont. Après avoir enregistré, redémarrez le serveur.

## L'essentiel

| Réglage | Ce qu'il fait | Par défaut |
| - | - | - |
| `Config.Locale` | Langue des textes à l'écran : `'en'` ou `'pt-br'` | `'en'` |
| `Config.Framework` | Laissez `'auto'`. N'écrivez `'rsg'` ou `'vorp'` que si le script se trompe | `'auto'` |
| `Config.MoneyAccount` | L'argent que l'atelier encaisse et paie : `'cash'` ou `'gold'`. En gold, les prix montent à des lingots entiers | `'cash'` |
| `Config.Debug` | Affiche dans les consoles ce que fait le script, pour la mise en place. Désactivez-le avant d'ouvrir aux joueurs | `false` |

## Touches

Les touches s'écrivent avec le code de la touche dans le jeu, pas avec la lettre. La [page des touches](https://rust-co.mintlify.site/fr/keys.md) donne le code de chacune. À côté de chaque touche se trouve la lettre affichée à l'écran (`Config.OpenKeyLabel`...).

| Réglage | Ce qu'il fait | Par défaut |
| - | - | - |
| `Config.OpenKey` | Ouvre l'atelier, au volant de votre véhicule à l'intérieur | **R** |
| `Config.WorkKey` | Le mécanicien en service, à pied à côté du véhicule d'un client qui a une commande : fait le travail | **G** |
| `Config.CounterKey` | Ouvre le bureau du propriétaire et le panneau des mécaniciens, à pied | **G** |

`Config.OpenKey` doit être une touche que le jeu lit en conduisant. Les touches ne sont lues que pendant que leur indication est à l'écran, les autres scripts les gardent donc partout ailleurs.

## Les ateliers

`Config.Workshops` liste tous les ateliers. Saint Denis est prêt ; ajoutez les vôtres de la même façon.

```lua theme={"dark"}
Config.Workshops = {
    saint_denis = {
        label = 'Saint Denis', coords = vector3(2683.24, -840.91, 41.30), radius = 20.3, blip = true,
        bays = { vector4(2686.63, -851.89, 42.36, 116.22), vector4(2679.85, -836.29, 42.36, 110.55) },
        owned = true, counter = vector3(2672.60, -827.54, 42.36), staffCounter = vector3(2683.87, -825.76, 42.36),
    },
    valentine = {
        label = 'Valentine', coords = vector3(x, y, z), radius = 8.0,
        owned = false,
    },
}
```

| Réglage | Ce qu'il fait |
| - | - |
| le nom avant le `=` | Le nom de l'atelier dans la commande admin (`saint_denis`). Lettres, chiffres et `_` seulement. Ne le changez pas une fois qu'il a un propriétaire |
| `label` | Le nom en haut de son écran, au-dessus de "Motor Works" |
| `coords` | Le centre du sol de l'atelier |
| `radius` | Jusqu'à quelle distance (mètres) du centre le véhicule peut se trouver |
| `bays` | Les postes de modification, `vector4(x, y, z, cap)` : là où les véhicules se placent pour le travail. Un véhicule à moins de `Config.BayRadius` (3 mètres) de l'un d'eux est dans l'atelier. Sans `bays`, c'est le `radius` qui compte |
| `owned` | `true` : l'atelier peut avoir un propriétaire, qui embauche des mécaniciens. `false` : personne ne le possède et le client pose ses accessoires lui-même |
| `counter` | Le bureau du propriétaire (ateliers avec propriétaire seulement) : caisse, commission, embauche et renvoi. Seul le propriétaire l'ouvre |
| `staffCounter` | Le panneau des mécaniciens : prise et fin de service, et les commandes. Les mécaniciens et le propriétaire l'ouvrent. Sans lui, les mécaniciens utilisent aussi le `counter` |
| `blip` | `true` : l'atelier apparaît sur la carte, avec l'icône de mécanicien de RCO Vehicles (celle du forgeron du jeu sans RCO Vehicles) |

Un atelier avec propriétaire qui n'en a pas encore fonctionne en libre-service.

## Prix

| Réglage | Ce qu'il fait | Par défaut |
| - | - | - |
| `Config.Repair.Base` | Le prix de toute réparation | `0.50` |
| `Config.Repair.PerPercent` | Plus ceci pour chaque point de santé manquant | `0.03` |
| `Config.Paint.Price` | Le prix d'une nouvelle peinture, dans n'importe quelle couleur du véhicule (de son catalogue RCO Vehicles) | `2.0` |
| `Config.PriceMultiplier` | Le prix de chaque accessoire (fixé par chaque véhicule) est multiplié par ceci. `1.0` le garde ; `1.5` le rend 50 % plus cher | `1.0` |

Un véhicule à 40 % de santé paie `0,50 + 60 × 0,03 = 2,30 $`. Retirer un accessoire est gratuit.

## Ateliers avec propriétaire

| Réglage | Ce qu'il fait | Par défaut |
| - | - | - |
| `Config.Owners.Command` | La commande admin qui donne un propriétaire à un atelier | `'motorworks'` |
| `Config.Owners.Mode` | Comment fonctionnent tous les ateliers avec propriétaire : `'self'`, `'staff'` ou `'auto'`. Le propriétaire ne le change pas | `'auto'` |
| `Config.Owners.Commission` | La part de chaque commande que reçoit de la caisse le mécanicien qui la fait (`0.2` = 20 %) | `0.2` |
| `Config.Owners.CommissionMax` | La commission la plus haute que le propriétaire peut donner à ses mécaniciens au comptoir (il part de `Commission`) | `0.5` |
| `Config.Owners.ExpireHours` | Une commande que personne n'a faite dans ce délai est annulée et remboursée par la caisse | `5` |
| `Config.Owners.WorkSeconds` | Combien de temps le mécanicien travaille sur le véhicule | `12` |

Les modes :

* `'self'` : le client pose ses accessoires lui-même ; l'argent va à la caisse.
* `'staff'` : le client passe une commande et la paie à la caisse ; un mécanicien fait chaque travail.
* `'auto'` : `'staff'` tant qu'un mécanicien de cet atelier est en service, `'self'` sinon.

Le propriétaire, les mécaniciens et la caisse sont gardés dans la base de données, de la même façon sur RSG et VORP : vous ne créez aucun métier (job) dans votre framework.

## L'ordre des catégories

`Config.CategoryOrder` est l'ordre d'affichage des catégories. Les catégories du véhicule absentes de la liste viennent après, par nom.

```lua theme={"dark"}
Config.CategoryOrder = { 'teto', 'capo', 'frente', 'laterais', 'traseira', 'lanternas', 'rodas', 'volante' }
```

## La caméra

`Config.Camera` indique où regarde la caméra pour chaque catégorie. Le joueur peut toujours faire glisser et zoomer à partir de là.

```lua theme={"dark"}
teto = { point = { 0.0, 0.0, 1.0 }, yaw = 155.0, pitch = 0.95, zoom = 0.45 },
```

| Réglage | Ce qu'il fait |
| - | - |
| `bone` | Une partie du véhicule à regarder (`'bonnet'`, `'boot'`, `'wheel_lf'`), quand le véhicule l'a |
| `point` | Sans la partie : un point du véhicule, côté (`-1` gauche à `1` droite), longueur (`-1` arrière à `1` avant) et hauteur (`-1` bas à `1` haut) |
| `yaw` | Le côté d'où regarde la caméra : `0` derrière, `90` droite, `180` devant, `270` gauche |
| `pitch` | La hauteur de la caméra, de `0` basse à `1` haute |
| `zoom` | De `0` loin à `1` près |

`default` est le véhicule entier et `repair` l'écran de réparation. Quand un véhicule apporte sa propre caméra pour une catégorie ou une option (dans son catalogue RCO Vehicles), c'est la sienne qui sert.


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.