Frameworks et Config.Bridge
Vision, ESX, QBCore, Qbox ou standalone : détection automatique et options communes du bloc Config.Bridge.
#Frameworks supportés
| Framework | Ressource détectée | Identifiant du joueur |
|---|---|---|
| Vision | core | identifiant du core |
| Qbox | qbx_core | citizenid |
| QBCore | qb-core | citizenid |
| ESX | es_extended | identifier |
| Standalone | aucun | licence Rockstar |
La détection suit cet ordre : Vision → Qbox → QBCore → ESX → standalone. Elle se fait au chargement du script : démarre donc ton framework avant.
Toute la compatibilité est regroupée dans le dossier bridge/ de chaque script (en clair). Le reste du script n'appelle que des fonctions Bridge.*, ce qui te permet, si besoin, d'adapter un comportement précis sans toucher à la logique chiffrée.
#Le bloc Config.Bridge
On le retrouve dans le config.lua de chaque script. Les valeurs par défaut conviennent dans la grande majorité des cas.
Config.Bridge = {
Framework = 'auto', -- 'auto' | 'vision' | 'qbox' | 'qbcore' | 'esx' | 'standalone'
Inventory = 'auto', -- 'auto' | 'ox_inventory' | 'qs-inventory' | 'qb-inventory' | 'framework' | 'none'
Target = 'auto', -- 'auto' | 'ox_target' | 'qb-target' | 'none'
Society = 'auto', -- compte société (selon le script)
Callbacks = 'auto', -- 'auto' | 'native'
Debug = false, -- logs de détection dans la console
Admins = {}, -- identifiants toujours staff, ex. { 'license:xxxx' }
AdminAce = 'command', -- permission ACE qui donne l'accès staff (hors Vision)
Standalone = {}, -- fonctions à fournir en mode standalone
}| Option | Rôle |
|---|---|
Framework | auto détecte tout seul. Force une valeur seulement si la détection se trompe. |
Inventory | Inventaire utilisé pour les objets et les coffres. |
Target | Système de cibles. Sans cible, le script affiche un marqueur et attend la touche E. |
Society | Compte société pour encaisser (tc-mechanic) : vision, renewed, qb-banking, okok, esx_society, qbx, internal. |
Callbacks | auto : ox_lib, puis callbacks du framework, puis callbacks internes. |
Debug | Affiche dans la console serveur ce qui a été détecté. |
Admins | Identifiants considérés comme staff en plus de l'ACE et des groupes du framework. |
AdminAce | Permission ACE testée pour le staff (hors Vision). |
Standalone | Table de fonctions à fournir si tu n'as aucun framework. |
#Mode standalone
Sans framework, chaque script a besoin que tu lui fournisses quelques fonctions dans Config.Bridge.Standalone. Le détail est donné dans la page Configuration du script ; voici le principe :
Config.Bridge.Standalone = {
getJob = function(src)
-- à toi de dire quel est le métier du joueur
return { name = 'police', label = 'Police', grade = 2, gradeName = 'sergent', onDuty = true }
end,
}| Script | Fonctions attendues |
|---|---|
| tc-mechanic | getJob, getMoney, removeMoney / addMoney, vehicleRow, saveVehicleProps, createInvoice |
| tc-divisions | getJob, listJobs, et getMoney / removeMoney / addMoney / itemCount / addItem pour les shops payants |
| tc-forensic | getJob, getCharacter, itemCount, addItem, removeItem |
| tc-contextmenu | getJob |
| tc-banana_defuse | aucune |
Sur Vision, les scripts se comportent comme prévu avec le core : points d'interaction managés, permissions du panneau /gestion, factures et caisse société du core.