Compatibilité
Tout ce qui figure ci-dessous est détecté automatiquement. Il n’y a aucun paramètre “quel est mon framework” ni aucune liste de noms de ressources à compléter : le téléphone observe ce qui est en cours d’exécution et l’interroge.
Une ressource non démarrée ne rend pas le téléphone défectueux — l’application qui en a besoin l’indique, ou bien n’apparaît pas. Le marketplace fonctionne sans ressource de garage ; le Portefeuille fonctionne sans ressource de facturation.
Frameworks
Section intitulée « Frameworks »| ESX | Legacy et 1.x. Le numéro correspond à une colonne phone_number que ce téléphone ajoute à users |
| QBCore | Le numéro est celui attribué par QBCore à chaque personnage : charinfo.phone dans players |
| QBox | Le même charinfo.phone. La table users spécifique à QBox est sa table de comptes et n’est jamais modifiée |
| fmLib | Pour tout autre framework, ou le vôtre |
L’argent, les noms, les métiers et les identifiants transitent tous par un unique bridge, donc un framework absent de cette liste nécessite un simple fichier plutôt qu’un fork.
Inventaires
Section intitulée « Inventaires »11 d’entre eux, et RequireItem = false couvre tous les autres :
ox_inventory · qb-inventory · qs-inventory · core_inventory · ps-inventory · tgiann-inventory · jpr-inventory · codem-inventory · origen_inventory · jaksam_inventory · celui fourni avec ESX
Les métadonnées par item — ce qui fait qu’un téléphone est ce téléphone en mode item — fonctionnent sur ox, qs, qb, core, jaksam et origen. chezza, ps et tgiann n’ont aucun moyen de les stocker, et celui d’ESX n’en possède pas du tout, de sorte que le mode item bascule sur un téléphone par personnage sur ces derniers.
pma-voice · mumble-voip · saltychat · tokovoip_script
Les appels et la radio placent les joueurs dans un canal et laissent votre ressource vocale gérer la conversation. Si aucune d’entre elles ne tourne, les appels se connectent mais personne n’entend rien.
Le reste
Section intitulée « Le reste »| Élément | Détecté |
|---|---|
| Facturation | esx_billing, okokBilling, ou celle intégrée au téléphone |
| Logements | esx_property, ps-housing, qb-houses, loaf_housing |
| Garages | esx_garage, qb-garages, cd_garage, okokGarage, jg-advancedgarages |
| Sociétés | esx_society, qb-management, qb-banking |
| Licences | esx_license, qb-core, qbx_core |
| Météo | cd_easytime, qb-weathersync, vSync, ou le jeu lui-même |
| Captures | screenshot-basic |
| Téléversements | Fivemanage, ou un webhook Discord |
Mort et joueur au sol
Section intitulée « Mort et joueur au sol »C’est l’élément auquel aucun serveur ne répond de la même façon. Le téléphone pose donc la question de quatre manières et retient la première réponse : le framework (ESX dead, QB isdead / inlaststand), puis les state bags, puis les exports indiqués dans Config.Restrict.Death.Exports, puis le jeu lui-même.
Cela couvre déjà ESX, QBCore, QBox et tout système renseignant les state bags habituels. Si votre script d’ambulance ne fait rien de tout cela :
Config.Restrict.Death.Exports = { { 'wasabi_ambulance', 'isPlayerDead' },}Il n’est appelé que si cette ressource est active, et un nom qui ne répond rien est ignoré au lieu de faire planter le téléphone — se tromper ne coûte donc rien.
Ce dont il a besoin de la part du serveur lui-même
Section intitulée « Ce dont il a besoin de la part du serveur lui-même »| oxmysql | Tout ce dont le téléphone se souvient |
| Un build FiveM des deux dernières années | La partie navigateur utilise le Node intégré du serveur |
Pas de npm, pas d’étape de compilation, aucun second programme et aucun fichier SQL à importer — les tables se créent d’elles-mêmes au premier démarrage de la ressource.