Aller au contenu

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.


FichierCe qu’il gùreModifiable
config.luaFramework, langue, qui peut peindre, items, noms des commandes, marqueurs d’atelierOui
locales/*.luaChaque notification et suggestion de chat, un fichier par langueOui
locales/main.luaLa fonction qui sélectionne les textes selon Config.LocaleOui
bridge/server.luaDĂ©tection du framework, notifications, vĂ©rification admin, mĂ©tiers, items utilisables, retrait d’itemsOui
bridge/client.luaDétection du framework et notifications cÎté joueurOui
items/ox.lua, items/qb.lua, items/sql.sqlDĂ©finitions d’items prĂȘtes Ă  copier dans votre inventaireOui
permissions.jsonLes Steam ID autorisés à ouvrir le menu. Rempli par les commandes give et removeOui
vehicle_original_colors.jsonCouleur d’origine de chaque vĂ©hicule avant sa premiĂšre peinture, par modĂšle et plaqueOui
html/ui.html, html/style.css, html/script.jsLe menu : son titre, ses Ă©chantillons et son apparence—
data/, stream/Définitions des peintures et textures de rampe pour les couleurs 223 à 242Laisser tel quel
client/main.lua, server/main.luaLa logiqueSous escrow

OptionCe qu’elle faitValeur 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.LocaleLangue de tous les messages. Voir Langues ci-dessous"es"
Config.PermissionFileNom du fichier JSON stockant la liste des permissions"permissions.json"

OptionCe qu’elle faitValeur par dĂ©faut
Config.PermissionsUtiliser la liste de permissions dans permissions.jsontrue
Config.UseJobsPermettre Ă©galement aux mĂ©tiers de Config.AuthorizedJobs d’ouvrir le menutrue
Config.AuthorizedJobsNoms des métiers autorisés quand UseJobs est activémechanic, police

Les deux options se combinent ainsi :

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


OptionCe qu’elle faitValeur par dĂ©faut
Config.UseItemsEnregistrer les 82 items de peinture et l’item reset comme utilisablestrue
Config.ItemsRequirePermissionSoumettre les items de peinture aux mĂȘmes rĂšgles que le menu. DĂ©sactivĂ©, quiconque en possĂšde un peut l’utiliserfalse

L’item reset ne demande jamais de permission. Le nom des items et l’emplacement de leurs dĂ©finitions se trouvent dans Installation.


Chaque nom est défini dans config.lua, sans le slash.

OptionValeur par dĂ©fautQuiCe qu’elle fait
Config.Chameleon/chameleonQuiconque y est autorisĂ© selon les rĂšgles ci-dessusOuvre le menu. Vous devez ĂȘtre dans un vĂ©hicule
Config.ChameleonReset/chameleonresetTout le mondeRestaure la couleur d’origine du vĂ©hicule dans lequel vous ĂȘtes
Config.ChameleonGive/chameleongive [ID]AdministrateursAjoute le Steam ID de ce joueur Ă  la liste des permissions
Config.ChameleonRemove/chameleonremove [ID]AdministrateursLe 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.


Config.Locations est une liste ; ajoutez-y autant d’entrĂ©es que vous le souhaitez. Chacune contient :

ChampCe qu’il faitValeur d’origine
coordsEmplacement du marqueurDeux emplacements d’exemple prùs de Burton
radiusDistance en mĂštres nĂ©cessaire pour voir l’invite3.0
markerTypeLe marqueur FiveM dessiné1 (un cercle au sol)
markerColorRouge, vert, bleu et opacitĂ© (alpha)Rouge pour l’un, vert pour l’autre, alpha 100
markerScaleSa taille2.0 × 2.0 × 1.0
notificationLe texte d’aide affichĂ© dans le rayonPress ~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 :

  1. Copiez locales/en.lua vers un nouveau fichier, par exemple locales/nl.lua.
  2. Modifiez le code de langue en haut du nouveau fichier en nl et traduisez les textes.
  3. Ajoutez locales/nl.lua aux deux listes, client_scripts et server_scripts, dans fxmanifest.lua, à cÎté des autres fichiers de langue.
  4. Réglez Config.Locale = "nl", puis faites refresh et 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.


Deux fichiers dans bridge/ constituent les seuls points de contact de la ressource avec votre framework.

FichierCe qu’il fait
bridge/server.luaDĂ©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.luaDé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.