Installation
Installer tc-divisions : ressources, server.cfg, base de données, objets et notes par framework.
#1. Copier la ressource
Copie tc-divisions dans resources.
#2. Base de données
Importe sql/install.sql (facultatif : les tables tc_div_* sont créées au démarrage). Voir Base de données.
#3. server.cfg
Après ton framework, oxmysql, ox_lib, tc-ui et ton inventaire :
ensure oxmysql
ensure ox_lib
ensure es_extended # ou core / qb-core / qbx_core
ensure ox_inventory # ton inventaire
ensure tc-ui
ensure tc-divisionsLe framework est détecté au démarrage de la ressource : démarre-la après lui, ou force Config.Bridge.Framework.
#4. Régler config.lua
Règle au minimum le staff (voir Configuration) :
| Option | Rôle |
|---|---|
Config.Permissions, Config.AdminDiscords | Accès staff sur Vision |
Config.Bridge.Admins / AdminAce | Accès staff hors Vision (add_ace group.admin command allow) |
Config.Commands | Noms des commandes |
Config.Panic | Bouton panic hors Vision (jobs concernés) |
#5. Créer ton premier point
En jeu, en tant que staff : /divgestion. Crée d'abord des divisions pour un job, puis des coffres, shops ou garages (position, accès, capacité…). Chaque point se place avec ma position ou, hors Vision, au gizmo (object_gizmo).
#Objets à créer
Le script n'a pas besoin d'objet pour fonctionner : les shops vendent les objets déjà présents dans ton inventaire. Seules les tenues (Config.Outfits) utilisent un objet dédié (outfit par défaut), qui reçoit la tenue en métadonnées.
Sur Vision, il existe déjà. Ailleurs, copie le fichier de ton inventaire puis mets Config.Outfits.Enabled = true — à condition que ton habillage sache utiliser cet objet (il doit relire les métadonnées skin / sex). Sinon laisse les tenues désactivées.
Copie l'entrée dans ox_inventory/data/items.lua :
-- Entrée à copier dans le `return { ... }` de ox_inventory/data/items.lua (uniquement si vous vendez
-- des tenues dans les shops : Config.Outfits). Le nom doit correspondre à Config.Outfits.Item.
-- Entry to copy into ox_inventory/data/items.lua (only needed if you sell outfits in shops).
return {
['outfit'] = {
label = 'Tenue',
weight = 500,
stack = false,
close = true,
description = 'Une tenue de service.',
},
}Copie l'entrée dans qb-core/shared/items.lua :
-- Entrée à copier dans qb-core/shared/items.lua (uniquement si vous vendez des tenues dans les shops :
-- Config.Outfits). Le nom doit correspondre à Config.Outfits.Item.
-- Entry to copy into qb-core/shared/items.lua (only needed if you sell outfits in shops).
return {
outfit = { name = 'outfit', label = 'Tenue', weight = 500, type = 'item', image = 'outfit.png', unique = true, useable = true, shouldClose = true, description = 'Une tenue de service.' },
}Exécute dans la base (adapte les colonnes à ta table items) :
-- ESX : objet « tenue » (uniquement si vous vendez des tenues dans les shops : Config.Outfits).
-- Le nom doit correspondre à Config.Outfits.Item. Adaptez les colonnes à votre table `items`.
INSERT IGNORE INTO `items` (`name`, `label`, `weight`) VALUES ('outfit', 'Tenue', 1);#Notes par framework
- Vision : tout est disponible (carte
/gestion, photo fond vert, panic du core, clés temporaires). - Hors Vision : le menu staff s'ouvre par
/divgestion; la photo fond vert est masquée ; le placement à la souris demandeobject_gizmo(sinon bouton « ma position ») ; le panic notifie et marque sur la carte les joueurs des jobs deConfig.Panic.Jobs; les tenues sont désactivées par défaut.
Teste chaque type de point (division, coffre, shop, garage, panic) avec un compte staff et un compte joueur après l'installation, en particulier sur ESX, QBCore et Qbox.