TC ScriptDocumentation

Base de données

Le SQL complet de tc-divisions : 9 tables tc_div_*.

#Installation

Importe le fichier une seule fois dans la base utilisée par oxmysql (MariaDB / MySQL, utf8mb4). Il est idempotent. Les tables sont aussi créées automatiquement au démarrage de la ressource.

Télécharger install.sql

#Tables

TableContenu
tc_div_divisionsDivisions (par job) : libellé, couleur, ordre
tc_div_membersAppartenance des personnages aux divisions
tc_div_jobsRéglages par job : grade de gestion, limites des coffres des patrons
tc_div_chestsCoffres : position, capacité, objet, accès, code, entreprise gestionnaire
tc_div_shopsShops : position, PNJ / objet, accès, code, paiement
tc_div_shop_entriesArticles et tenues de chaque shop
tc_div_garagesGarages : places de sortie, rangement, préfixe de plaque, accès
tc_div_garage_vehiclesVéhicules de service par garage : divisions, accès, grades, numéro de toit
tc_div_logsJournal des actions

#SQL complet

Afficher install.sql (157 lignes)
install.sqlTélécharger
-- tc-divisions : installation (idempotent, MariaDB / MySQL, utf8mb4).
-- Les tables sont aussi créées automatiquement au démarrage de la ressource (même contenu).
-- Installation manuelle : importer ce fichier une fois dans la base utilisée par oxmysql.
-- Anciennes bases (ressource d'origine) : utiliser le fichier de migration fourni à part, AVANT le premier démarrage.

CREATE TABLE IF NOT EXISTS `tc_div_divisions` (
    `id`          INT          NOT NULL AUTO_INCREMENT,
    `job`         VARCHAR(50)  NOT NULL,
    `label`       VARCHAR(48)  NOT NULL,
    `color`       VARCHAR(9)   NOT NULL DEFAULT '#5566c1',
    `sort`        INT          NOT NULL DEFAULT 0,
    `created_by`  VARCHAR(96)  DEFAULT NULL,
    `created_at`  INT          NOT NULL DEFAULT 0,
    PRIMARY KEY (`id`),
    KEY `idx_job` (`job`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;

CREATE TABLE IF NOT EXISTS `tc_div_members` (
    `identifier`  VARCHAR(96)  NOT NULL,
    `job`         VARCHAR(50)  NOT NULL,
    `division_id` INT          NOT NULL,
    `name`        VARCHAR(96)  DEFAULT NULL,
    `assigned_by` VARCHAR(96)  DEFAULT NULL,
    `assigned_at` INT          NOT NULL DEFAULT 0,
    PRIMARY KEY (`identifier`, `job`, `division_id`),
    KEY `idx_division` (`division_id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;

CREATE TABLE IF NOT EXISTS `tc_div_jobs` (
    `job`          VARCHAR(50) NOT NULL,
    `manage_grade` INT         DEFAULT NULL,
    `chest_max`    INT         DEFAULT NULL,
    `chest_slots`  INT         DEFAULT NULL,
    `chest_weight` INT         DEFAULT NULL,
    PRIMARY KEY (`job`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;

CREATE TABLE IF NOT EXISTS `tc_div_chests` (
    `id`          INT          NOT NULL AUTO_INCREMENT,
    `label`       VARCHAR(64)  NOT NULL,
    `chest_key`   VARCHAR(32)  NOT NULL,
    `x`           DOUBLE       NOT NULL,
    `y`           DOUBLE       NOT NULL,
    `z`           DOUBLE       NOT NULL,
    `h`           DOUBLE       NOT NULL DEFAULT 0,
    `radius`      FLOAT        NOT NULL DEFAULT 1.5,
    `slots`       INT          NOT NULL DEFAULT 50,
    `weight`      INT          NOT NULL DEFAULT 200,
    `prop`        VARCHAR(64)  DEFAULT NULL,
    `blip`        TINYINT      NOT NULL DEFAULT 0,
    `access`      LONGTEXT     DEFAULT NULL,
    `code`        VARCHAR(16)  DEFAULT NULL,
    `code_mode`   VARCHAR(8)   NOT NULL DEFAULT 'none',
    `enabled`     TINYINT      NOT NULL DEFAULT 1,
    `owner_job`   VARCHAR(50)  DEFAULT NULL, -- entreprise dont le patron gère le coffre
    `created_by`  VARCHAR(96)  DEFAULT NULL,
    `created_at`  INT          NOT NULL DEFAULT 0,
    `updated_at`  INT          NOT NULL DEFAULT 0,
    PRIMARY KEY (`id`),
    UNIQUE KEY `uniq_chest` (`chest_key`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;

CREATE TABLE IF NOT EXISTS `tc_div_shops` (
    `id`          INT          NOT NULL AUTO_INCREMENT,
    `label`       VARCHAR(64)  NOT NULL,
    `x`           DOUBLE       NOT NULL,
    `y`           DOUBLE       NOT NULL,
    `z`           DOUBLE       NOT NULL,
    `h`           DOUBLE       NOT NULL DEFAULT 0,
    `radius`      FLOAT        NOT NULL DEFAULT 1.5,
    `prop`        VARCHAR(64)  DEFAULT NULL,
    `ped`         VARCHAR(64)  DEFAULT NULL,
    `blip`        TINYINT      NOT NULL DEFAULT 0,
    `access`      LONGTEXT     DEFAULT NULL,
    `code`        VARCHAR(16)  DEFAULT NULL,
    `code_mode`   VARCHAR(8)   NOT NULL DEFAULT 'none',
    `payment`     VARCHAR(8)   NOT NULL DEFAULT 'free',
    `enabled`     TINYINT      NOT NULL DEFAULT 1,
    `created_by`  VARCHAR(96)  DEFAULT NULL,
    `created_at`  INT          NOT NULL DEFAULT 0,
    `updated_at`  INT          NOT NULL DEFAULT 0,
    PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;

CREATE TABLE IF NOT EXISTS `tc_div_shop_entries` (
    `id`          INT          NOT NULL AUTO_INCREMENT,
    `shop_id`     INT          NOT NULL,
    `kind`        VARCHAR(8)   NOT NULL DEFAULT 'item',
    `item`        VARCHAR(64)  DEFAULT NULL,
    `label`       VARCHAR(64)  NOT NULL,
    `price`       INT          NOT NULL DEFAULT 0,
    `quantity`    INT          NOT NULL DEFAULT 1,
    `sex`         VARCHAR(1)   DEFAULT NULL,
    `skin`        LONGTEXT     DEFAULT NULL,
    `access`      LONGTEXT     DEFAULT NULL,
    `sort`        INT          NOT NULL DEFAULT 0,
    `enabled`     TINYINT      NOT NULL DEFAULT 1,
    PRIMARY KEY (`id`),
    KEY `idx_shop` (`shop_id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;

CREATE TABLE IF NOT EXISTS `tc_div_garages` (
    `id`           INT          NOT NULL AUTO_INCREMENT,
    `label`        VARCHAR(64)  NOT NULL,
    `x`            DOUBLE       NOT NULL,
    `y`            DOUBLE       NOT NULL,
    `z`            DOUBLE       NOT NULL,
    `h`            DOUBLE       NOT NULL DEFAULT 0,
    `radius`       FLOAT        NOT NULL DEFAULT 1.5,
    `prop`         VARCHAR(64)  DEFAULT NULL,
    `ped`          VARCHAR(64)  DEFAULT NULL,
    `blip`         TINYINT      NOT NULL DEFAULT 0,
    `access`       LONGTEXT     DEFAULT NULL,
    `code`         VARCHAR(16)  DEFAULT NULL,
    `code_mode`    VARCHAR(8)   NOT NULL DEFAULT 'none',
    `spawns`       LONGTEXT     DEFAULT NULL,
    `store`        LONGTEXT     DEFAULT NULL,
    `plate_prefix` VARCHAR(4)   DEFAULT NULL,
    `enabled`      TINYINT      NOT NULL DEFAULT 1,
    `created_by`   VARCHAR(96)  DEFAULT NULL,
    `created_at`   INT          NOT NULL DEFAULT 0,
    `updated_at`   INT          NOT NULL DEFAULT 0,
    PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;

CREATE TABLE IF NOT EXISTS `tc_div_garage_vehicles` (
    `id`          INT          NOT NULL AUTO_INCREMENT,
    `garage_id`   INT          NOT NULL,
    `model`       VARCHAR(64)  NOT NULL,
    `label`       VARCHAR(64)  NOT NULL,
    `props`       LONGTEXT     DEFAULT NULL,
    `divisions`   LONGTEXT     DEFAULT NULL,
    `shared`      TINYINT      NOT NULL DEFAULT 0, -- commun en plus de ses divisions
    `callsign`    TINYINT      NOT NULL DEFAULT 0, -- chiffres du numéro de toit (0 = aucun)
    `access`      LONGTEXT     DEFAULT NULL,
    `grades`      LONGTEXT     DEFAULT NULL, -- { [job] = { min = grade pour le voir, all = grade qui le voit sans division } }
    `sort`        INT          NOT NULL DEFAULT 0,
    `enabled`     TINYINT      NOT NULL DEFAULT 1,
    PRIMARY KEY (`id`),
    KEY `idx_garage` (`garage_id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;

CREATE TABLE IF NOT EXISTS `tc_div_logs` (
    `id`          INT          NOT NULL AUTO_INCREMENT,
    `kind`        VARCHAR(12)  NOT NULL,
    `ref_id`      INT          DEFAULT NULL,
    `ref_label`   VARCHAR(64)  DEFAULT NULL,
    `ident`       VARCHAR(96)  DEFAULT NULL,
    `name`        VARCHAR(96)  DEFAULT NULL,
    `action`      VARCHAR(32)  NOT NULL,
    `detail`      VARCHAR(255) DEFAULT NULL,
    `created_at`  INT          NOT NULL DEFAULT 0,
    PRIMARY KEY (`id`),
    KEY `idx_kind` (`kind`, `ref_id`),
    KEY `idx_created` (`created_at`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;
Identifiants

Les colonnes identifier contiennent l'identifiant du personnage selon ton framework : identifiant Vision / ESX, citizenid sur QBCore / Qbox, licence Rockstar en standalone.

Dernière mise à jour : 7 novembre 2026© 2026 TC Script