Exports et API
Lire les divisions d'un joueur depuis un autre script, ouvrir les menus, ajouter des véhicules à un garage.
#Divisions d'un joueur (serveur)
Lua
exports['tc-divisions']:GetPlayerDivisions(src) -- { { id, label, color }, ... } (toutes)
exports['tc-divisions']:GetPlayerDivision(src) -- la première : { job, id, label, divisions } ou nil
exports['tc-divisions']:IsPlayerInDivision(src, 'SWAT') -- id ou libellé ; vrai s'il en fait partie
exports['tc-divisions']:GetJobDivisions('lspd') -- divisions d'un job#State bag
Lua
Player(src).state.tcDivision -- { job, id, label, divisions = {...} } ou falseUtile pour tester la division côté client sans appel serveur.
#Exemple : réserver une action à une division
server.lua
RegisterNetEvent('monscript:armurerie', function()
local src = source
if not exports['tc-divisions']:IsPlayerInDivision(src, 'SWAT') then
return tc.notify(src, { description = 'Réservé au SWAT.', type = 'error' })
end
-- ... donner l'équipement
end)#Menus (client)
Lua
exports['tc-divisions']:OpenDivisionMenu() -- même menu que /division
exports['tc-divisions']:OpenGestionMenu() -- menu staff (/divgestion), permission vérifiée par le serveur#Garages : ressource de flotte externe
Trois exports serveur permettent à une ressource de flotte d'ajouter des véhicules directement au garage. La ressource appelante vérifie elle-même la permission de son joueur.
Lua
exports['tc-divisions']:GetFleetGarages()
-- { { id, label, enabled, count, jobs = { {name, label} }, divisions = { {id, job, label, color} },
-- vehicles = { {id, model, label} } }, ... }
exports['tc-divisions']:AddFleetVehicle(garageId, data, actor)
-- data = { model, label, props, divisions = { ids }, shared, callsign }
-- Un véhicule du même modèle et du même nom dans ce garage est remplacé, sinon il est ajouté à la fin.
-- Retour : { ok = true, id, replaced, count } ou { ok = false, err = '…' }
exports['tc-divisions']:PatchFleetProps(patches, actor)
-- patches = { [modèle en minuscules] = { clé = valeur } } : fusionné dans les props de tous les
-- véhicules de ce modèle, dans tous les garages (performances de service posées par une flotte).
-- Retour : { ok = true, … } ou { ok = false, err = '…' }actor est un texte libre (nom de la personne ou de la ressource) inscrit au journal.
Chargement
Tant que tc-divisions n'a pas fini de charger, ces exports répondent { ok = false, err = '… en cours de chargement.' }. Réessaie quelques secondes plus tard.
#Journal Discord
Avec tc-logs démarré et Config.Integrations.logs = true, le journal est copié vers Discord (les webhooks se règlent dans tc-logs).