qb-core(qbcore)qbx_core(qbox)es_extended(esx)- un mode standalone minimal
if framework == 'qbcore' then ... elseif framework == 'esx' ..., vous appelez Bridge.Framework.* et TS-Lib route vers la bonne implémentation.
Statut et tests
Fonctionnement de la sélection
Valeurs prises en charge dansts-lib/config.lua :
- Clés de framework :
qbcore,esx,qbox,standalone - Mappées vers les noms de ressources via
Config.Data.Framework:
Config.Framework = 'auto', TS-Lib parcourt ce tableau et prend la première ressource démarrée.
API côté client
Bridge.Framework.Client.PlayerData
Table de données joueur unifiée, remplie au chargement du joueur et synchronisée lors des changements de métier.
- QBCore / Qbox : basée sur
QBCore.Functions.GetPlayerData() - ESX : basée sur les données métier de
xPlayerquand c’est possible - Standalone : stub minimal (pas de système de métier)
Bridge.Framework.Client.Functions.GetPlayerJob()
true, jobTableen cas de succèsfalse, errorMessagesi aucun métier n’est disponible (par ex. en standalone)
Bridge.Framework.Client.Functions.Notify(message, type?)
Helper de notification générique :
- QBCore / Qbox :
QBCore.Functions.Notify - ESX :
ESX.ShowNotificationou repli sur une notification native simple - Standalone : notification native simple
Événements client
Tous les frameworks pris en charge déclenchent les mêmes événements normalisés une fois le pont chargé :ts-lib:client:onPlayerLoaded (playerData)ts-lib:client:onPlayerUnloaded ()ts-lib:client:onJobUpdated (job)
API côté serveur
Bridge.Framework.Server.Functions.GetPlayerJob(source)
Bridge.Framework.Server.Functions.GetPlayersByJobName(jobName, checkOnDuty?)
Bridge.Framework.Server.Functions.GetPlayers()
Retourne une liste de sources joueurs, via la méthode la plus adaptée à chaque framework :
- QBCore :
QBCore.Functions.GetPlayers() - Qbox :
exports.qbx_core:GetQBPlayers() - ESX :
ESX.GetPlayers()(ouGetPlayers()en secours) - Standalone :
GetPlayers()
Bridge.Framework.Server.Functions.GetVehicleType(model)
'automobile'.
Événements serveur
Événements normalisés quel que soit le framework sous-jacent :ts-lib:server:onPlayerLoaded (source)ts-lib:server:onPlayerUnloaded (source?)ts-lib:server:onJobUpdated (job)
Notes par framework
QBCore / Qbox
- QBCore :
exports['qb-core']:GetCoreObject() - Qbox :
exports['qbx_core']:GetCoreObject()etexports.qbx_core:GetQBPlayers()
ESX
- Utilise
exports['es_extended']:getSharedObject(). - Les ponts mappent les infos métier ESX sur les mêmes clés que les frameworks de style QB.
Standalone
Le mode standalone garde volontairement une surface minimale :- Pas de système de métier (
GetPlayerJobrenvoie une erreur). GetPlayers()enveloppe simplement la native FiveM.GetVehicleTyperetourne toujours'automobile'.