Passer au contenu principal

Vue d’ensemble

TS-Lib sert à éviter la prise en charge douloureuse de plusieurs frameworks, inventaires, systèmes de garage et scripts de clés. Au lieu d’encombrer vos ressources avec des if/else à l’infini, ts-lib centralise tout sous l’espace de noms unifié TS. Elle est conçue pour être injectée dynamiquement dans n’importe quel script, en gardant le code de la ressource propre, rapide et totalement indépendant.

Télécharger TS-Lib

Obtenir la dernière version de la ressource.

Contribuer à TS-Lib

Proposer des ponts, correctifs et améliorations.

Fonctionnalités

  • Détection automatique du framework : support natif de qb-core, qbx_core, es_extended et standalone. Le framework le plus moderne disponible est choisi automatiquement ou via la configuration forcée.
  • Ponts unifiés :
    • Framework : support natif de qb-core, es_extended, qbx_core et standalone.
    • Garages : support natif de qb-garages, esx_garage, vms_garagesv2, jg-advancedgarages et standalone.
    • Clés : support natif de qb-vehiclekeys, qs-vehiclekeys et standalone.
    • Notifications : support natif des notifications de framework (QBCore/ESX) avec une API unifiée.
  • Utilitaires centralisés : affichages, debug et vérifications de ressources sont centralisés (Utils.Print, Utils.DebugPrint, Utils.ErrorPrint, Utils.SuccessPrint).
  • Helpers UI intégrés : sous-titres, aide à l’écran et input texte via NUI simples (TS.Lib.Subtitle, TS.Lib.TextUI, TS.Lib.TextInput), utilisables aussi via exports.
  • Système de commandes : Enregistrement de commandes avec validation de type et support des permissions (TS.Lib.Command.add).
  • Vérificateur de mises à jour : Vérification automatique des mises à jour pour les ressources Toine Scripts (TS.CheckUpdate).

Installation

Intégrer ts-lib dans vos scripts est très simple.
  1. Placez le dossier ts-lib dans votre répertoire resources.
  2. Dans le fxmanifest.lua du script qui doit utiliser ts-lib, ajoutez cette ligne dans shared_scripts :
shared_scripts {
    '@ts-lib/import.lua',
    -- Vos autres shared_scripts...
}
C’est tout. ts-lib démarre, détecte le framework du serveur, charge les configurations, expose l’espace de noms TS et charge dynamiquement les modules nécessaires.

Configuration

Vous pouvez choisir les systèmes utilisés par ts-lib dans ts-lib/config.lua.
Config = {
    debug = true,

    -- Framework : 'auto', 'qbcore', 'esx', 'qbox', 'standalone'
    Framework = 'auto',

    -- Garage : 'auto', 'qb-garages', 'esx_garage', 'vms_garagesv2', 'jg-advancedgarages', 'standalone'
    Garages = 'auto',

    -- Clés véhicule : 'auto', 'qb-vehiclekeys', 'qs-vehiclekeys', 'standalone'
    VehicleKeys = 'auto',

    -- Système de notifications : 'auto', 'qbcore', 'esx'
    Notify = 'auto',

    -- Correction de compatibilité zUI pour l'input texte (mettre à true si vous utilisez zUI-v2)
    zUIFix = true,

    -- URLs pour la vérification automatique des mises à jour
    UpdateCheckURL = 'https://raw.githubusercontent.com/toine-scripts/ts-lib/main/version.json',
    UpdateCheckChangelogURL = 'https://docs.toine.me/scripts/ts-lib/changelog',

    Data = {
        Framework = {
            qbcore = 'qb-core',
            esx = 'es_extended',
            qbox = 'qbx_core',
            standalone = 'standalone',
        },
        Garages = {
            ['qb-garages']        = 'qb-garages',
            ['esx_garage']        = 'esx_garage',
            ['vms_garagesv2']     = 'vms_garagesv2',
            ['jg-advancedgarages']= 'jg-advancedgarages',
            ['standalone']        = 'standalone',
        },
        VehicleKeys = {
            ['qb-vehiclekeys'] = 'qb-vehiclekeys',
            ['qs-vehiclekeys'] = 'qs-vehiclekeys',
            ['standalone']     = 'standalone',
        },
        Notify = {
            qbcore = 'qb-core',
            esx = 'esx_notify',
        },
    },
}

Référence API

Pour une description détaillée fonction par fonction de TS-Lib et de ses ponts, consultez la page Référence API.
Last modified on April 1, 2026