@ts-lib/import.lua in your resource.
Core utilities
TS-Lib attaches a few helpers to a globalTS table that are reused across Toine Scripts.
Logging
TS.Print(message, resourceName?)TS.DebugPrint(message, resourceName?)TS.ErrorPrint(message, resourceName?)TS.SuccessPrint(message, resourceName?)
Generic utils
Common helpers include:TS.Utils.IsRessourceLoaded(resourceName): booleanTS.Utils.IsTableEmpty(tbl): boolean
Intervals
TS-Lib embeds an interval helper to simplify repeating callbacks:TS.Intervals.Set(callback, ms, ...): idTS.Intervals.Clear(id)
UI helpers
TS-Lib also exposes small, framework-agnostic UI helpers throughTS.Lib.*.These are rendered via the bundled NUI (
ui/build).
Subtitle
TS.Lib.Subtitle.Show(text: string)TS.Lib.Subtitle.Hide()
@ts-lib/import.lua:
Text UI (help text)
TS.Lib.TextUI.Show(text: string, position?: string)TS.Lib.TextUI.Hide()
position defaults to 'top-left'. Common positions used by the UI are:
top-lefttop-center
Bridges overview
The main reason to use TS-Lib is its bridge modules. They expose normalized APIs that hide framework-specific or script-specific details.Bridge.Framework.*→ talks to your framework (QBCore / ESX / QBox / standalone)Bridge.Garages.*→ talks to your garage scriptBridge.VehicleKeys.*→ talks to your vehicle keys script
Framework bridge (quick reference)
Client
-
Bridge.Framework.Client.PlayerData
Unified player data, automatically updated when the player loads / unloads / changes job. -
Bridge.Framework.Client.Functions.GetPlayerJob() -> ok, jobOrError
Server
Bridge.Framework.Server.Functions.GetPlayerJob(source)Bridge.Framework.Server.Functions.GetPlayersByJobName(jobName, checkOnDuty?)Bridge.Framework.Server.Functions.GetPlayers()Bridge.Framework.Server.Functions.GetVehicleType(model)
Garage bridge (quick reference)
Server
Bridge.Garages.Server.Functions.IsVehicleOwned(plate, netId?) -> booleanBridge.Garages.Server.Functions.SetVehicleOutsideState(plate, state)
Vehicle keys bridge (quick reference)
The keys bridge focuses on locking / unlocking vehicles from a unified entrypoint.Client
Bridge.VehicleKeys.Client.Functions.SetDoorStatus(entity, lockStatus)
1 = unlocked, 2 = locked, 4 = locked for all players, etc.).
See Vehicle Keys Bridges for system-specific behavior (qb-vehiclekeys, qs-vehiclekeys, standalone).