Personnalisation
La quasi-totalité des réglages se trouve dans config.lua. Le reste concerne les textes, les données et la fine couche qui communique avec votre framework.
Quel fichier décide de quoi
Section intitulĂ©e « Quel fichier dĂ©cide de quoi »| Fichier | Ce quâil gĂšre | Modifiable |
|---|---|---|
config.lua | Framework, langue, qui peut peindre, items, noms des commandes, marqueurs dâatelier | Oui |
locales/*.lua | Chaque notification et suggestion de chat, un fichier par langue | Oui |
locales/main.lua | La fonction qui sélectionne les textes selon Config.Locale | Oui |
bridge/server.lua | DĂ©tection du framework, notifications, vĂ©rification admin, mĂ©tiers, items utilisables, retrait dâitems | Oui |
bridge/client.lua | Détection du framework et notifications cÎté joueur | Oui |
items/ox.lua, items/qb.lua, items/sql.sql | DĂ©finitions dâitems prĂȘtes Ă copier dans votre inventaire | Oui |
permissions.json | Les Steam ID autorisés à ouvrir le menu. Rempli par les commandes give et remove | Oui |
vehicle_original_colors.json | Couleur dâorigine de chaque vĂ©hicule avant sa premiĂšre peinture, par modĂšle et plaque | Oui |
html/ui.html, html/style.css, html/script.js | Le menu : son titre, ses Ă©chantillons et son apparence | â |
data/, stream/ | Définitions des peintures et textures de rampe pour les couleurs 223 à 242 | Laisser tel quel |
client/main.lua, server/main.lua | La logique | Sous escrow |
Général
Section intitulĂ©e « GĂ©nĂ©ral »| Option | Ce quâelle fait | Valeur par dĂ©faut |
|---|---|---|
Config.Framework | "auto", "esx" ou "qbcore". Auto utilise celui qui tourne entre es_extended et qb-core ; QBox compte comme qb-core via sa compatibilité QBCore. Pour le forcer, QBox utilise "qbcore" | "auto" |
Config.Locale | Langue de tous les messages. Voir Langues ci-dessous | "es" |
Config.PermissionFile | Nom du fichier JSON stockant la liste des permissions | "permissions.json" |
Qui peut ouvrir le menu
Section intitulĂ©e « Qui peut ouvrir le menu »| Option | Ce quâelle fait | Valeur par dĂ©faut |
|---|---|---|
Config.Permissions | Utiliser la liste de permissions dans permissions.json | true |
Config.UseJobs | Permettre Ă©galement aux mĂ©tiers de Config.AuthorizedJobs dâouvrir le menu | true |
Config.AuthorizedJobs | Noms des métiers autorisés quand UseJobs est activé | mechanic, police |
Les deux options se combinent ainsi :
Permissions | UseJobs | Qui peut ouvrir le menu |
|---|---|---|
| activé | activé | Les joueurs sur la liste et toute personne exerçant un métier dans AuthorizedJobs |
| activé | désactivé | Uniquement les joueurs sur la liste |
| désactivé | activé ou désactivé | Tout le monde |
La liste est indexĂ©e par identifiant Steam. Un joueur qui ne lance pas Steam ne peut pas ĂȘtre ajoutĂ© ; la commande pour donner la permission indiquera quâelle nâa pas pu rĂ©cupĂ©rer son identifiant Steam.
| Option | Ce quâelle fait | Valeur par dĂ©faut |
|---|---|---|
Config.UseItems | Enregistrer les 82 items de peinture et lâitem reset comme utilisables | true |
Config.ItemsRequirePermission | Soumettre les items de peinture aux mĂȘmes rĂšgles que le menu. DĂ©sactivĂ©, quiconque en possĂšde un peut lâutiliser | false |
Lâitem reset ne demande jamais de permission. Le nom des items et lâemplacement de leurs dĂ©finitions se trouvent dans Installation.
Commandes
Section intitulée « Commandes »Chaque nom est défini dans config.lua, sans le slash.
| Option | Valeur par dĂ©faut | Qui | Ce quâelle fait |
|---|---|---|---|
Config.Chameleon | /chameleon | Quiconque y est autorisĂ© selon les rĂšgles ci-dessus | Ouvre le menu. Vous devez ĂȘtre dans un vĂ©hicule |
Config.ChameleonReset | /chameleonreset | Tout le monde | Restaure la couleur dâorigine du vĂ©hicule dans lequel vous ĂȘtes |
Config.ChameleonGive | /chameleongive [ID] | Administrateurs | Ajoute le Steam ID de ce joueur Ă la liste des permissions |
Config.ChameleonRemove | /chameleonremove [ID] | Administrateurs | Le retire de la liste |
âAdministrateurâ dĂ©signe le groupe admin ou superadmin sur ESX, et la permission admin ou god sur QBCore. Ces deux vĂ©rifications rĂ©sident dans bridge/server.lua si vos groupes portent dâautres noms.
Marqueurs dâatelier de peinture
Section intitulĂ©e « Marqueurs dâatelier de peinture »Config.Locations est une liste ; ajoutez-y autant dâentrĂ©es que vous le souhaitez. Chacune contient :
| Champ | Ce quâil fait | Valeur dâorigine |
|---|---|---|
coords | Emplacement du marqueur | Deux emplacements dâexemple prĂšs de Burton |
radius | Distance en mĂštres nĂ©cessaire pour voir lâinvite | 3.0 |
markerType | Le marqueur FiveM dessiné | 1 (un cercle au sol) |
markerColor | Rouge, vert, bleu et opacitĂ© (alpha) | Rouge pour lâun, vert pour lâautre, alpha 100 |
markerScale | Sa taille | 2.0 Ă 2.0 Ă 1.0 |
notification | Le texte dâaide affichĂ© dans le rayon | Press ~INPUT_CONTEXT~ to open the Chameleon menu |
Le marqueur est visible dĂšs 10 mĂštres de distance. Lâinvite nâapparaĂźt quâĂ lâintĂ©rieur du rayon radius et Ă bord dâun vĂ©hicule ; E ouvre alors le menu, avec les mĂȘmes vĂ©rifications de permissions que la commande.
Le texte de notification se trouve directement dans config.lua, pas dans les fichiers de langue, traduisez-le donc Ă cet endroit.
html/ui.html contient les Ă©chantillons â un pour chaque ID de couleur de 161 Ă 242 â ainsi que le titre du menu, âChameleon Paintingsâ, qui est Ă©crit en dur dans la page au lieu dâĂȘtre extrait des locales. html/style.css dĂ©finit la couleur dâaperçu de chaque Ă©chantillon.
Neuf langues sont fournies dans locales/ : en, es, fr, de, it, pt, pl, ru et tr. DĂ©finissez Config.Locale sur lâun de ces codes.
Pour en ajouter une :
- Copiez
locales/en.luavers un nouveau fichier, par exemplelocales/nl.lua. - Modifiez le code de langue en haut du nouveau fichier en
nlet traduisez les textes. - Ajoutez
locales/nl.luaaux deux listes,client_scriptsetserver_scripts, dansfxmanifest.lua, à cÎté des autres fichiers de langue. - Réglez
Config.Locale = "nl", puis faitesrefreshet redémarrez la ressource.
Une clé manquante affiche Translation [key] does not exist sans rien faire planter, ce qui permet de repérer facilement une traduction incomplÚte.
Le bridge
Section intitulée « Le bridge »Deux fichiers dans bridge/ constituent les seuls points de contact de la ressource avec votre framework.
| Fichier | Ce quâil fait |
|---|---|
bridge/server.lua | DĂ©tecte le framework, envoie les notifications (esx:showNotification ou QBCore:Notify), dĂ©termine qui est admin, lit le mĂ©tier dâun joueur, enregistre les items utilisables et retire un item aprĂšs utilisation |
bridge/client.lua | Détecte le framework cÎté joueur et affiche les notifications (ESX.ShowNotification ou QBCore.Functions.Notify) |
Si aucun framework nâest dĂ©tectĂ©, les notifications basculent sur des messages dans le chat.
Lâadapter. Pour utiliser votre propre ressource de notifications, modifiez le corps de Bridge.Notify dans les deux fichiers. Pour un systĂšme dâadministration personnalisĂ©, modifiez Bridge.IsAdmin. Pour un framework autre quâESX, QBCore ou QBox, remplissez chaque fonction Bridge. dans bridge/server.lua â dĂ©tection du framework, Notify, IsAdmin, GetPlayerJob, RegisterUsableItem et RemoveItem â et la ressource nâaura besoin de rien de plus.