Documentation Complète

Le script ultime de tableau d'investigation pour FiveM

Installation

  1. Téléchargez vscript_tableau
  2. Glissez le dossier dans le répertoire resources de votre serveur
  3. Ajoutez ensure vscript_tableau à votre server.cfg
  4. Redémarrez votre serveur

Fonctionnalités

Stockage Hybride

Choix entre KVP (natif) ou SQL (MySQL)

Rendu DUI 3D

Contenu visible directement sur le prop en jeu

Placement Fluide

Vitesse ajustable + Boost avec Shift

Multi-Framework

Support ESX, QB, Qbox & Standalone

Configuration

Paramètres Généraux

Config.Debug = false        -- Console spam? No thanks
Config.Locale = 'fr'        -- fr, en, es, de, etc.
Config.Inventory = 'auto'   -- auto, ox, qs, ps, core, esx, qb

Vitesse de Placement

Config.PlacementSpeed = {
    Rotation = 1.0,         -- Base rotation speed
    Movement = 0.01,        -- Base movement speed
    ShiftMultiplier = 5.0   -- Speed multiplier holding Shift
}

Ajustez la vitesse de déplacement lors du placement du tableau.

Configuration des Items

Codes à ajouter pour créer l'item requis sur votre serveur.

Ox Inventory (data/items.lua)
['photo'] = {
    label = 'Photo',
    weight = 10,
    stack = true,
    close = true,
    description = 'Une photo imprimée.'
},

['stylo'] = {
    label = 'Stylo',
    weight = 50,
    stack = true,
    close = true,
    description = 'Pour écrire des notes.'
},

['item_tableau'] = {
    label = 'Tableau d\'enquête',
    weight = 1000,
    stack = false,
    close = true,
    description = 'Un tableau en liège pour vos enquêtes.'
},
QB / Qbox (shared/items.lua)
['photo'] = {
    ['name'] = 'photo',
    ['label'] = 'Photo',
    ['weight'] = 10,
    ['type'] = 'item',
    ['image'] = 'photo.png',
    ['unique'] = false,
    ['useable'] = true,
    ['shouldClose'] = true,
    ['combinable'] = nil,
    ['description'] = 'Une photo imprimée.'
},

['stylo'] = {
    ['name'] = 'stylo',
    ['label'] = 'Stylo',
    ['weight'] = 50,
    ['type'] = 'item',
    ['image'] = 'stylo.png',
    ['unique'] = false,
    ['useable'] = true,
    ['shouldClose'] = true,
    ['combinable'] = nil,
    ['description'] = 'Pour écrire des notes.'
},

['item_tableau'] = {
    ['name'] = 'item_tableau',
    ['label'] = 'Tableau d\'enquête',
    ['weight'] = 1000,
    ['type'] = 'item',
    ['image'] = 'item_tableau.png',
    ['unique'] = true,
    ['useable'] = true,
    ['shouldClose'] = true,
    ['combinable'] = nil,
    ['description'] = 'Un tableau en liège pour vos enquêtes.'
},
ESX (SQL)
INSERT INTO `items` (`name`, `label`, `weight`) VALUES
('photo', 'Photo', 1),
('stylo', 'Stylo', 1),
('item_tableau', 'Tableau d\'enquête', 1);

Customisation Avancée

1. Stockage (KVP vs SQL)

Par défaut, le script utilise KVP (natif). Pour utiliser SQL :

-- 1. Ouvrez customization/storage.lua
-- 2. Commentez la section "KVP Implementation"
-- 3. Décommentez la section "SQL Implementation"
-- 4. Importez le fichier vscript_tableau.sql dans votre base de données

2. Custom Inventory

Si vous utilisez un inventaire personnalisé, modifiez customization/inventory.lua.

Développeurs & Exports

Event côté serveur pour donner un tableau pré-rempli.

-- Give a board with specific data
TriggerEvent('vscript_tableau:giveItem', 'item_tableau', 1, {
    items = {}, -- Array of items
    lines = {}  -- Array of lines
})

Utilisation

1

Poser le Tableau

Utilisez "item_tableau" pour passer en mode placement. Flèches pour bouger, Shift pour accélérer.

2

Ajouter du Contenu

Faites l'oeil (Alt) sur le tableau pour ouvrir l'UI. Double clic pour ajouter notes/photos.

3

Lier les Indices

Cliquez sur les points rouges des items pour créer des liens visuels (fils rouges) entre eux.

Dépannage

Je ne vois pas le contenu du tableau

• Vérifiez vos graphismes (Budget Texture) • Vérifiez que Config.RenderDistance est assez élevé • Relancez la ressource (le DUI peut planter au restart)

Le tableau ne sauvegarde pas

• KVP : Vérifiez la console serveur (erreurs ?) • SQL : Vérifiez que la table vscript_tableau existe

Support

Besoin d'aide ? Rejoignez le Discord.