TC ScriptDocumentation

Frameworks and Config.Bridge

Vision, ESX, QBCore, Qbox or standalone: automatic detection and the common options of the Config.Bridge block.

#Supported frameworks

FrameworkDetected resourcePlayer identifier
Visioncorecore identifier
Qboxqbx_corecitizenid
QBCoreqb-corecitizenid
ESXes_extendedidentifier
StandalonenoneRockstar license

Detection follows this order: Vision → Qbox → QBCore → ESX → standalone. It happens when the script loads, so start your framework first.

All compatibility code lives in each script's bridge/ folder (in clear text). The rest of the script only calls Bridge.* functions, so you can adapt a specific behaviour without touching the encrypted logic.

#The Config.Bridge block

You will find it in every script's config.lua. Default values suit the vast majority of servers.

config.lua
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',     -- society account (depends on the script)
    Callbacks = 'auto',     -- 'auto' | 'native'
    Debug     = false,      -- detection logs in the console
    Admins    = {},         -- identifiers always treated as staff, e.g. { 'license:xxxx' }
    AdminAce  = 'command',  -- ACE permission granting staff access (outside Vision)
    Standalone = {},        -- functions to provide in standalone mode
}
OptionRole
Frameworkauto detects it for you. Force a value only if detection is wrong.
InventoryInventory used for items and chests.
TargetTarget system. Without one, the script shows a marker and waits for the E key.
SocietySociety account to cash in (tc-mechanic): vision, renewed, qb-banking, okok, esx_society, qbx, internal.
Callbacksauto: ox_lib, then framework callbacks, then built-in callbacks.
DebugPrints what was detected in the server console.
AdminsIdentifiers treated as staff on top of ACE and framework groups.
AdminAceACE permission checked for staff (outside Vision).
StandaloneTable of functions to provide when you have no framework.

#Standalone mode

Without a framework, each script needs a few functions from you in Config.Bridge.Standalone. Details are on each script's Configuration page; the principle is:

config.lua
Config.Bridge.Standalone = {
    getJob = function(src)
        -- you tell the script what the player's job is
        return { name = 'police', label = 'Police', grade = 2, gradeName = 'sergeant', onDuty = true }
    end,
}
ScriptExpected functions
tc-mechanicgetJob, getMoney, removeMoney / addMoney, vehicleRow, saveVehicleProps, createInvoice
tc-divisionsgetJob, listJobs, and getMoney / removeMoney / addMoney / itemCount / addItem for paid shops
tc-forensicgetJob, getCharacter, itemCount, addItem, removeItem
tc-contextmenugetJob
tc-banana_defusenone
Vision

On Vision, scripts behave as designed with the core: managed interaction points, /gestion panel permissions, core invoices and society account.

Last updated : 7 November 2026© 2026 TC Script