> 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/systemes-and-gestion/bsensei-annonce-entreprise-systeme-dannonce-style/configuration.md).

# Configuration

## ⚙️ Configuration complète du script

Le fichier `config.lua` permet de personnaliser le fonctionnement de **BSensei Annonces Entreprises**.

Tu peux modifier le délai entre deux annonces, ajouter ou retirer des entreprises, changer leurs noms, remplacer leurs logos et personnaliser les textes affichés aux joueurs.

***

### 📁 Localisation du fichier

Le fichier de configuration se trouve ici :

```
BSensei_annonces/config.lua
```

Après chaque modification, redémarre la ressource :

```
restart BSensei_annonces
```

***

### ⏳ Cooldown entre deux annonces

Le cooldown empêche un joueur d’envoyer plusieurs annonces trop rapidement.

```lua
Config.Cooldown = 1800
```

La valeur est exprimée en secondes.

Exemples :

```
60 = 1 minute
300 = 5 minutes
600 = 10 minutes
1800 = 30 minutes
3600 = 1 heure
```

#### Exemple avec cinq minutes

```lua
Config.Cooldown = 300
```

#### Exemple avec trente minutes

```lua
Config.Cooldown = 1800
```

⚠️ `1800` correspond à **30 minutes** et non à une minute.

Le temps restant est automatiquement affiché au joueur lorsqu’il tente de refaire une annonce trop tôt.

***

### 🏢 Entreprises autorisées

Toutes les entreprises pouvant utiliser le script sont regroupées dans :

```lua
Config.Jobs = {
}
```

Chaque entreprise possède trois informations importantes :

```lua
mechanic = {
    label = "LS Custom",
    image = "images/lsc.png"
},
```

#### `mechanic`

Il s’agit du nom technique du métier ESX.

Il doit correspondre exactement au métier enregistré dans la base de données :

```
mechanic
```

#### `label`

Il s’agit du nom visible dans l’annonce :

```lua
label = "LS Custom"
```

#### `image`

Il s’agit du chemin vers le logo de l’entreprise :

```lua
image = "images/lsc.png"
```

Le fichier correspondant doit se trouver ici :

```
BSensei_annonces/html/images/lsc.png
```

***

### ➕ Ajouter une entreprise

Pour ajouter une nouvelle entreprise, insère une nouvelle entrée dans `Config.Jobs`.

#### Exemple avec le métier `beanmachine`

```lua
beanmachine = {
    label = "Bean Machine",
    image = "images/beanmachine.png"
},
```

Place ensuite le logo dans :

```
BSensei_annonces/html/images/beanmachine.png
```

La structure complète devient par exemple :

```lua
Config.Jobs = {
    mechanic = {
        label = "LS Custom",
        image = "images/lsc.png"
    },

    beanmachine = {
        label = "Bean Machine",
        image = "images/beanmachine.png"
    },
}
```

⚠️ N’oublie pas la virgule entre chaque entreprise.

***

### ➖ Retirer une entreprise

Pour empêcher une entreprise d’utiliser les annonces, supprime simplement son bloc dans `Config.Jobs`.

Exemple à retirer :

```lua
taxi = {
    label = "LS Transit",
    image = "images/taxi.png"
},
```

Tu peux également le désactiver temporairement en ajoutant `--` devant chaque ligne :

```lua
-- taxi = {
--     label = "LS Transit",
--     image = "images/taxi.png"
-- },
```

***

### ✏️ Modifier le nom d’une entreprise

Pour modifier le nom visible dans les annonces, change uniquement le `label`.

#### Avant

```lua
mechanic = {
    label = "LS Custom",
    image = "images/lsc.png"
},
```

#### Après

```lua
mechanic = {
    label = "Benny's Original Motor Works",
    image = "images/lsc.png"
},
```

Le nom technique du métier reste `mechanic`, mais l’annonce affichera :

```
Benny's Original Motor Works
```

***

### 🖼️ Modifier le logo d’une entreprise

Place le nouveau logo dans :

```
BSensei_annonces/html/images/
```

Puis modifie le chemin dans `config.lua`.

#### Exemple

```lua
mechanic = {
    label = "LS Custom",
    image = "images/nouveau_logo.png"
},
```

Le fichier attendu sera :

```
BSensei_annonces/html/images/nouveau_logo.png
```

Formats recommandés :

```
.png
.webp
.jpg
```

Pour un meilleur affichage, privilégie une image carrée avec un fond transparent.

⚠️ Les majuscules et minuscules doivent être identiques.

Ces deux noms sont différents sous Linux :

```
logo.png
Logo.png
```

***

### 🏪 Exemple complet d’entreprise

```lua
bahama = {
    label = "Bahama Mamas",
    image = "images/bahama.png"
},
```

Correspondance :

| Élément     | Valeur                   |
| ----------- | ------------------------ |
| Métier ESX  | `bahama`                 |
| Nom affiché | `Bahama Mamas`           |
| Logo        | `html/images/bahama.png` |

***

### 📋 Exemple de liste d’entreprises

```lua
Config.Jobs = {
    gouvernement = {
        label = "Gouvernement",
        image = "images/gouv.png"
    },

    police = {
        label = "SAST",
        image = "images/sast.png"
    },

    sheriff = {
        label = "SAST Nord",
        image = "images/sast.png"
    },

    ambulance = {
        label = "SAMS",
        image = "images/ambulance.png"
    },

    mechanic = {
        label = "LS Custom",
        image = "images/lsc.png"
    },

    burgershot = {
        label = "BurgerShot",
        image = "images/burgershot.png"
    },

    weazel = {
        label = "Weazel News",
        image = "images/weazel.png"
    },
}
```

Il n’existe aucune limite particulière au nombre d’entreprises pouvant être ajoutées.

***

### 💬 Textes personnalisables

Tous les principaux messages sont regroupés dans :

```lua
Config.Text = {
}
```

Configuration par défaut :

```lua
Config.Text = {
    Cooldown = "⏳ Tu dois attendre encore %s secondes avant de refaire une annonce.",
    NotAllowed = "❌ Ton entreprise ne peut pas faire d’annonces.",
    Cancel = "Annonce annulée.",
    NoMessage = "Tu dois écrire un message avant d’envoyer ton annonce.",
    MenuTitle = "Annonces Entreprises",
    MenuOptionCreate = "📰 Faire une annonce",
    MenuOptionCancel = "❌ Annuler",
    InputTitle = "Annonce Entreprise",
    InputPlaceholder = "Votre texte (max 120 caractères)"
}
```

***

### ⏱️ Message du cooldown

```lua
Cooldown = "⏳ Tu dois attendre encore %s secondes avant de refaire une annonce."
```

Le `%s` est automatiquement remplacé par le nombre de secondes restantes.

Exemple affiché :

```
⏳ Tu dois attendre encore 120 secondes avant de refaire une annonce.
```

⚠️ Ne supprime pas le `%s`.

***

### 🚫 Entreprise non autorisée

```lua
NotAllowed = "❌ Ton entreprise ne peut pas faire d’annonces."
```

Ce message apparaît lorsque le métier du joueur n’est pas présent dans `Config.Jobs`.

Exemple personnalisé :

```lua
NotAllowed = "❌ Votre entreprise n’est pas autorisée à publier une annonce."
```

***

### ❌ Annulation du menu

```lua
Cancel = "Annonce annulée."
```

Exemple personnalisé :

```lua
Cancel = "La création de l’annonce a été annulée."
```

***

### 📝 Message vide

```lua
NoMessage = "Tu dois écrire un message avant d’envoyer ton annonce."
```

Exemple personnalisé :

```lua
NoMessage = "❌ Veuillez rédiger un message avant de continuer."
```

***

### 📢 Titre du menu

```lua
MenuTitle = "Annonces Entreprises"
```

Exemple personnalisé :

```lua
MenuTitle = "Communication d’entreprise"
```

***

### 📰 Bouton de création

```lua
MenuOptionCreate = "📰 Faire une annonce"
```

Exemple personnalisé :

```lua
MenuOptionCreate = "📢 Créer une nouvelle annonce"
```

***

### ❌ Bouton d’annulation

```lua
MenuOptionCancel = "❌ Annuler"
```

Exemple personnalisé :

```lua
MenuOptionCancel = "↩️ Fermer le menu"
```

***

### 🖊️ Titre de l’éditeur

```lua
InputTitle = "Annonce Entreprise"
```

Exemple personnalisé :

```lua
InputTitle = "Rédaction de votre annonce"
```

***

### 💭 Texte indicatif

```lua
InputPlaceholder = "Votre texte (max 120 caractères)"
```

Exemple personnalisé :

```lua
InputPlaceholder = "Rédigez ici le message de votre entreprise..."
```

💡 Le placeholder est uniquement un texte d’aide. Il ne modifie pas automatiquement la limite réelle de caractères de l’interface.

***

### 🎮 Commande d’ouverture

La commande utilisée par le script est :

```
/annonce
```

Elle est enregistrée directement dans le fichier client.

Lorsqu’un joueur utilise cette commande, le script vérifie :

1. Le cooldown du joueur
2. Son métier ESX
3. La présence du métier dans `Config.Jobs`
4. Les informations de l’entreprise
5. Le logo à afficher

***

### ⚠️ Section `Config.Text` en double

Dans le fichier de configuration, conserve une seule section complète :

```lua
Config.Text = {
    Cooldown = "⏳ Tu dois attendre encore %s secondes avant de refaire une annonce.",
    NotAllowed = "❌ Ton entreprise ne peut pas faire d’annonces.",
    Cancel = "Annonce annulée.",
    NoMessage = "Tu dois écrire un message avant d’envoyer ton annonce.",
    MenuTitle = "Annonces Entreprises",
    MenuOptionCreate = "📰 Faire une annonce",
    MenuOptionCancel = "❌ Annuler",
    InputTitle = "Annonce Entreprise",
    InputPlaceholder = "Votre texte (max 120 caractères)"
}
```

⚠️ Si `Config.Text` est déclaré deux fois, la seconde section remplace automatiquement la première.

***

### 🧰 Exemple de configuration personnalisée

```lua
Config = {}

Config.Cooldown = 300

Config.Jobs = {
    mechanic = {
        label = "Benny's Original Motor Works",
        image = "images/bennys.png"
    },

    ambulance = {
        label = "Service Médical",
        image = "images/ambulance.png"
    },

    beanmachine = {
        label = "Bean Machine",
        image = "images/beanmachine.png"
    },

    weazel = {
        label = "Weazel News",
        image = "images/weazel.png"
    },
}

Config.Text = {
    Cooldown = "⏳ Vous devez attendre encore %s secondes avant de publier une nouvelle annonce.",
    NotAllowed = "❌ Votre entreprise n’est pas autorisée à publier des annonces.",
    Cancel = "Création de l’annonce annulée.",
    NoMessage = "❌ Veuillez écrire un message avant l’envoi.",
    MenuTitle = "Communication des entreprises",
    MenuOptionCreate = "📢 Créer une annonce",
    MenuOptionCancel = "❌ Fermer",
    InputTitle = "Nouvelle annonce",
    InputPlaceholder = "Rédigez le message de votre entreprise..."
}
```

***

### 🚨 En cas de problème

* Vérifie que le métier ESX correspond exactement à la clé de `Config.Jobs`
* Vérifie que le fichier du logo existe
* Contrôle les majuscules et minuscules dans le nom du logo
* Vérifie les virgules entre les entreprises
* Conserve les guillemets autour des textes
* Ne supprime pas le `%s` du message de cooldown
* Garde une seule section `Config.Text`
* Consulte la console F8 en cas d’erreur Lua
* Redémarre la ressource après chaque modification

***

➡️ **Étape suivante : Traduction**


---

# 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/systemes-and-gestion/bsensei-annonce-entreprise-systeme-dannonce-style/configuration.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.
