Vue d'ensemble & Guide d'Installation
Bienvenue sur la documentation technique des ressources de la suite Yol_Script.
Cette suite de scripts a été conçue pour fonctionner de manière optimisée sous le framework ESX Legacy, en utilisant les briques les plus performantes de l'écosystème FiveM actuel : la base de données oxmysql, la bibliothèque utilitaire ox_lib, l'inventaire ox_inventory, et le script d'interactions physiques ox_target.
#F04C00. Le style est centralisé dans le script Yol_lib, évitant ainsi le clonage du code CSS.
Le serveur n'exécute aucun script externe non configuré, et tout le code est articulé pour maximiser le réalisme, le confort de jeu et la sécurité (anti-triche de haut niveau intégré).
Dépendances & Écosystème (OX, mVehicle, pefcl...)
Chaque script Yol interagit étroitement avec des briques techniques spécialisées. Voici une explication approfondie de ces dépendances requises présentes dans votre dossier de ressources :
1. La Suite Overextended (OX)
- oxmysql : Pilote BDD asynchrone ultra-rapide. Il gère l'ensemble des requêtes SQL de la suite (Yol_Phone, Yol_EMS, Yol_Admin, etc.).
- ox_lib : Expose des composants cruciaux (callbacks serveur-client sécurisés, barres de progression, menus contextuels, et utilitaires de thread).
- ox_inventory : Système d'inventaire à base d'items physiques dotés de métadonnées uniques. Indispensable pour lier le téléphone au fait de posséder l'item
phone(portant l'identifiant unique SIM), stocker les permisYol_Licensesavec photo et identité, et gérer les stashes de vêtementsYol_Clothing. - ox_target : Système de ciblage 3D qui élimine le spam de marqueurs 3D au sol et optimise la consommation CPU client (0.00ms au repos).
- ox_doorlock : Gestionnaire de verrous de portes physiques de la map, synchronisé en direct avec le panel de création visuelle de
Yol_Admin.
2. L'écosystème Véhicules (mVehicle & mGarage)
- mVehicle (Mono-94) : Framework de persistance des véhicules. Il gère l'état physique complet des voitures (moteur, carrosserie, pneus, essence), l'attribution et le partage des clés de contact et la génération des plaques d'immatriculation.
- mGarage (Mono-94) : Système de stationnement et de fourrière. Il permet de stocker les véhicules de façon persistante en BDD et d'en retirer les clés. Il s'intègre avec l'application
Garagede Yol_Phone (permettant la localisation GPS, le verrouillage/déverrouillage à distance, et l'allumage des moteurs/phares depuis le téléphone).
3. Le Système Bancaire (pefcl)
- pefcl (Aura Bank) : Système financier avancé. **Il sert de moteur bancaire principal universel pour l'ensemble des scripts de la suite Yol**. Absolument toutes les transactions financières du serveur (versements des salaires, facturation des interventions médicales
Yol_EMS, achat de permisYol_Licenses, contraventions émises parYol_Police, application Banque deYol_Phoneou frais d'utilisation deYol_Cruisecontrol) transitent par les exports depefcl. C'est l'épine dorsale de l'économie.
4. La Gestion de la Météo (B2_WeatherEssentials)
- B2_WeatherEssentials (b2_weatherEssentials) : Gestionnaire d'environnement unifié. Il synchronise l'heure, l'eau, et les météos régionales de manière autoritaire sur le serveur. Il intègre des saisons (printemps, été, automne, hiver), un système de vote des joueurs, un mode Blackout (panne électrique), et des événements extrêmes (tsunami, tremblement de terre, ouragan, pluie de météores). Ses commandes administratives et NUI sont entièrement sécurisées via ACE.
Base de données & Schémas SQL
La persistance de vos scripts repose sur la base de données MySQL. Plusieurs scripts Yol intègrent un système d'auto-setup qui crée automatiquement leurs tables au premier boot (Yol_Phone, Yol_EMS, Yol_Licenses via MySQL.ready). D'autres nécessitent une vérification de colonnes.
yol_phone_photos.url en LONGTEXT pour stocker les images base64 locales).
Table : yol_licenses
Stocke les informations des cartes d'identité, permis de conduire et permis de port d'arme physiques générés par Yol_Licenses.
| Colonne | Type de Donnée | Index / Clé | Description |
|---|---|---|---|
| id | INT | PK A_I | Identifiant unique de la licence en BDD. |
| license | VARCHAR(128) | INDEX | Identifiant de licence Cfx.re du propriétaire. |
| type | VARCHAR(64) | — | Type de permis (ex: drive, weapon, identity). |
| number | VARCHAR(64) | UNIQUE | Numéro de permis unique généré aléatoirement. |
| data | JSON | — | Métadonnées (nom, prénom, photo_url issue de Discord Webhook, date de naissance). |
| created_at | TIMESTAMP | — | Date de création de la carte. |
Table : user_injuries
Utilisée par Yol_EMS pour persister l'état de santé du joueur et ses blessures localisées entre les sessions.
| Colonne | Type de Donnée | Index / Clé | Description |
|---|---|---|---|
| id | INT | PK A_I | Identifiant unique de la ligne. |
| license | VARCHAR(128) | UNIQUE | Identifiant Cfx.re unique du joueur. |
| injuries | JSON | — | Détails des blessures par membre (ex: {"head": {"hp": 100, "bleed": false}}). |
| is_dead | TINYINT(1) | — | Indique si le joueur est dans le coma ou décédé (1 = Mort, 0 = En Vie). |
| last_update | TIMESTAMP | — | Dernière modification de l'état de santé. |
Table standard d'ESX : users (Colonnes additionnelles)
Les colonnes suivantes sont injectées automatiquement dans la table principale d'ESX users par les scripts Yol :
| Colonne | Type de Donnée | Script Propriétaire | Usage / Rôle |
|---|---|---|---|
| phone_number | VARCHAR(32) | Yol_Phone |
Numéro de téléphone assigné au personnage (unique). |
| avatar_url | TEXT | Yol_Phone / Yol_lib |
Lien vers la photo de profil du joueur. |
| blood_group | VARCHAR(8) | Yol_EMS |
Groupe sanguin du joueur (ex: A+, O-). |
| medical_note | TEXT | Yol_EMS |
Notes médicales persistantes (ex: allergies, antécédents). |
Table : yol_phone_contacts
Liste des contacts enregistrés dans le répertoire de l'application Contacts du téléphone.
| Colonne | Type de Donnée | Index / Clé | Description |
|---|---|---|---|
| id | INT | PK A_I | Identifiant unique de la ligne. |
| owner | VARCHAR(128) | INDEX | Identifiant de licence Cfx.re du propriétaire du téléphone. |
| name | VARCHAR(128) | — | Nom d'affichage du contact. |
| number | VARCHAR(32) | — | Numéro de téléphone du contact. |
Table : yol_phone_messages
Historique des SMS échangés entre les joueurs via l'application Messages.
| Colonne | Type de Donnée | Index / Clé | Description |
|---|---|---|---|
| id | INT | PK A_I | Identifiant unique du message. |
| sender | VARCHAR(32) | — | Numéro de l'expéditeur. |
| receiver | VARCHAR(32) | — | Numéro du destinataire. |
| message | TEXT | — | Contenu du SMS. |
| is_read | TINYINT(1) | — | Statut de lecture (1 = Lu, 0 = Non lu). |
| timestamp | TIMESTAMP | — | Date et heure d'envoi. |
Table : yol_mdt_records
Casiers judiciaires globaux saisis par la police sur le terminal LSPD.
| Colonne | Type de Donnée | Index / Clé | Description |
|---|---|---|---|
| id | INT | PK A_I | ID unique du dossier. |
| license | VARCHAR(128) | INDEX | Identifiant de licence Cfx.re du citoyen. |
| convictions | TEXT | — | Infractions commises enregistrées. |
| points_removed | INT | — | Points retirés sur le permis de conduire. |
| jail_time | INT | — | Temps d'incarcération restant (en minutes). |
Table : yol_mdt_warrants
Liste des mandats d'arrêt actifs lancés par les officiers de police.
| Colonne | Type de Donnée | Index / Clé | Description |
|---|---|---|---|
| id | INT | PK A_I | ID unique du mandat. |
| license | VARCHAR(128) | — | Identifiant du citoyen recherché. |
| reason | VARCHAR(255) | — | Motif du mandat d'arrêt. |
| issued_by | VARCHAR(128) | — | Officier ayant émis le mandat. |
| status | VARCHAR(32) | — | Statut du mandat (active, resolved). |
Table : yol_ems_interventions
Dossiers de suivi médical et rapports de réanimation saisis par les médecins via Yol_EMS.
| Colonne | Type de Donnée | Index / Clé | Description |
|---|---|---|---|
| id | INT | PK A_I | ID unique de l'intervention. |
| patient_license | VARCHAR(128) | — | Licence Cfx.re du patient pris en charge. |
| medic_license | VARCHAR(128) | — | Licence Cfx.re du médecin traitant. |
| diagnosis | TEXT | — | Description des blessures constatées. |
| treatment | VARCHAR(255) | — | Traitements appliqués (médicaments, sutures, réanimation). |
| date | TIMESTAMP | — | Date de l'intervention. |
Table : yol_admin_bans
Liste des joueurs exclus définitivement ou temporairement du serveur via Yol_Admin.
| Colonne | Type de Donnée | Index / Clé | Description |
|---|---|---|---|
| id | INT | PK A_I | ID unique du ban. |
| identifier | VARCHAR(60) | INDEX | Identifiant principal de connexion (Steam / Rockstar). |
| license | VARCHAR(128) | — | Identifiant Cfx.re (License). |
| reason | VARCHAR(255) | — | Motif du bannissement. |
| banned_by | VARCHAR(60) | — | Nom ou identifiant du modérateur à l'origine du ban. |
| duration | INT | — | Durée en secondes (-1 pour un ban permanent). |
| timestamp | TIMESTAMP | — | Date et heure du ban. |
Table : yol_admin_reports
Suivi des tickets d'aide et de signalement RP initiés par les joueurs en jeu.
| Colonne | Type de Donnée | Index / Clé | Description |
|---|---|---|---|
| id | INT | PK A_I | Identifiant unique du ticket. |
| reporter | VARCHAR(60) | — | Identifiant du joueur ayant ouvert le ticket. |
| reason | VARCHAR(255) | — | Description du problème rencontré par le joueur. |
| admin_assigned | VARCHAR(60) | — | Nom du modérateur ayant pris en charge le ticket. |
| status | VARCHAR(32) | — | Statut du ticket (open, claimed, closed). |
Table : pefcl_accounts
Table principale du système bancaire universel pefcl (AuraBank) gérant les soldes bancaires des personnages.
| Colonne | Type de Donnée | Index / Clé | Description |
|---|---|---|---|
| id | INT | PK A_I | Identifiant unique du compte. |
| number | VARCHAR(255) | UNIQUE | Numéro de compte unique (IBAN). |
| accountName | VARCHAR(255) | — | Nom personnalisé du compte (ex: Compte Courant). |
| ownerIdentifier | VARCHAR(255) | INDEX | Licence Cfx.re de l'utilisateur propriétaire. |
| balance | INT | — | Solde d'argent en compte (par défaut : 25 000$). |
| type | VARCHAR(255) | — | Type de compte (ex: personal, shared, society). |
Table : owned_vehicles
Utilisée par mVehicle et mGarage pour sauvegarder les voitures possédées par les joueurs.
| Colonne | Type de Donnée | Index / Clé | Description |
|---|---|---|---|
| id | INT | PK A_I | ID unique de la voiture. |
| owner | VARCHAR(46) | INDEX | Licence Cfx.re du citoyen propriétaire. |
| plate | VARCHAR(12) | UNIQUE | Plaque d'immatriculation du véhicule (Clé d'accès unique). |
| vehicle | LONGTEXT | — | Données JSON de configuration (couleurs, upgrades, moteurs). |
| stored | TINYINT(4) | — | Statut du véhicule (1 = Au garage, 0 = Sorti sur la map). |
| parking | VARCHAR(60) | — | Nom du garage où est garée la voiture. |
| pound | VARCHAR(60) | — | Nom de la fourrière si saisi par la police. |
| mileage | INT | — | Kilométrage total parcouru par le véhicule (en mètres). |
| metadata | JSON | — | Informations sur les doubles de clés (utilisé pour mVehicle). |
Schémas SQL de la Suite Yol_Script
-- Yol_Licenses
CREATE TABLE IF NOT EXISTS `yol_licenses` (
`id` INT AUTO_INCREMENT PRIMARY KEY,
`license` VARCHAR(128) NOT NULL,
`type` VARCHAR(64) NOT NULL,
`number` VARCHAR(64) NOT NULL,
`data` JSON DEFAULT NULL,
`created_at` TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
UNIQUE KEY `uniq_num` (`number`),
KEY `idx_lic` (`license`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
-- Yol_EMS
CREATE TABLE IF NOT EXISTS `user_injuries` (
`id` INT AUTO_INCREMENT PRIMARY KEY,
`license` VARCHAR(128) NOT NULL,
`injuries` JSON DEFAULT NULL,
`is_dead` TINYINT(1) DEFAULT 0,
`last_update` TIMESTAMP DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
UNIQUE KEY `uniq_lic` (`license`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
-- Yol_Phone
CREATE TABLE IF NOT EXISTS `yol_phone_contacts` (
`id` INT AUTO_INCREMENT PRIMARY KEY,
`owner` VARCHAR(128) NOT NULL,
`name` VARCHAR(128) NOT NULL,
`number` VARCHAR(32) NOT NULL,
UNIQUE KEY `unique_contact` (`owner`, `number`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
CREATE TABLE IF NOT EXISTS `yol_phone_messages` (
`id` INT AUTO_INCREMENT PRIMARY KEY,
`sender` VARCHAR(32) NOT NULL,
`receiver` VARCHAR(32) NOT NULL,
`message` TEXT NOT NULL,
`is_read` TINYINT(1) DEFAULT 0,
`timestamp` TIMESTAMP DEFAULT CURRENT_TIMESTAMP
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
-- Yol_Police
CREATE TABLE IF NOT EXISTS `yol_police_actions_log` (
`id` INT AUTO_INCREMENT PRIMARY KEY,
`officer` VARCHAR(128) NOT NULL,
`suspect` VARCHAR(128) NOT NULL,
`action` VARCHAR(255) NOT NULL,
`fine_amount` INT DEFAULT 0,
`timestamp` TIMESTAMP DEFAULT CURRENT_TIMESTAMP
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
-- Yol_Admin
CREATE TABLE IF NOT EXISTS `yol_admin_bans` (
`id` INT AUTO_INCREMENT PRIMARY KEY,
`identifier` VARCHAR(60) NOT NULL,
`license` VARCHAR(128) DEFAULT NULL,
`reason` VARCHAR(255) NOT NULL,
`banned_by` VARCHAR(60) NOT NULL,
`duration` INT DEFAULT -1,
`timestamp` TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
KEY `idx_ident` (`identifier`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
Schémas SQL des Dépendances (pefcl & mVehicle)
-- PEFCL Banking System
CREATE TABLE IF NOT EXISTS `pefcl_accounts` (
`id` INT NOT NULL AUTO_INCREMENT,
`number` VARCHAR(255) DEFAULT NULL,
`accountName` VARCHAR(255) DEFAULT NULL,
`isDefault` TINYINT(1) DEFAULT 0,
`ownerIdentifier` VARCHAR(255) DEFAULT NULL,
`role` VARCHAR(255) DEFAULT 'owner',
`balance` INT DEFAULT 25000,
`type` VARCHAR(255) DEFAULT 'personal',
`createdAt` DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP,
`updatedAt` DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
PRIMARY KEY (`id`),
UNIQUE KEY `number` (`number`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
CREATE TABLE IF NOT EXISTS `pefcl_cash` (
`id` INT NOT NULL AUTO_INCREMENT,
`amount` INT DEFAULT 2000,
`ownerIdentifier` VARCHAR(255) DEFAULT NULL,
`createdAt` DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP,
`updatedAt` DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
PRIMARY KEY (`id`),
UNIQUE KEY `ownerIdentifier` (`ownerIdentifier`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
-- mVehicle / mGarage
CREATE TABLE IF NOT EXISTS `owned_vehicles` (
`id` INT NOT NULL AUTO_INCREMENT,
`owner` VARCHAR(46) DEFAULT NULL,
`plate` VARCHAR(12) NOT NULL,
`vehicle` LONGTEXT DEFAULT NULL,
`type` VARCHAR(20) NOT NULL DEFAULT 'automobile',
`job` VARCHAR(20) DEFAULT NULL,
`stored` TINYINT(4) NOT NULL DEFAULT 0,
`parking` VARCHAR(60) DEFAULT NULL,
`pound` VARCHAR(60) DEFAULT NULL,
`mileage` INT(11) DEFAULT 0,
`metadata` JSON DEFAULT '{"keys":{}}',
`glovebox` JSON DEFAULT NULL,
`trunk` JSON DEFAULT NULL,
`carseller` INT(11) DEFAULT 0,
`private` TINYINT(1) DEFAULT 0,
PRIMARY KEY (`id`),
UNIQUE KEY `unique_plate` (`plate`),
KEY `idx_owner` (`owner`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_general_ci;
Permissions ACE (perms.cfg)
Le serveur utilise le système de permissions natif de GTA V/FiveM appelé ACE. Ce système définit des règles d'accès strictes pour les commandes et les ressources en jeu (sans surcharger la base de données).
Voici l'intégralité du fichier de permissions perms.cfg configuré pour Yol_Script. Vous pouvez copier ce bloc complet dans votre configuration :
# # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # CONFIGURATIONS DES PERMISSIONS # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # ========================================== # Administrateurs Système (Principals) # ========================================== add_principal identifier.fivem:4274194 group.admin # EddyFinch add_principal identifier.discord:150485416788426753 group.admin # Admin Principal # ========================================== # Hiérarchie des Groupes # ========================================== add_principal group.admin group.user # ========================================== # Permissions ACE - Groupe Admin # ========================================== add_ace group.admin command allow add_ace group.admin command.quit deny # Commandes de gestion de l'environnement add_ace group.admin command.setweather allow add_ace group.admin command.settime allow # Commandes de l'anti-triche Yol_Anticheat add_ace group.admin command.acban allow add_ace group.admin command.aclog allow add_ace group.admin command.actest allow add_ace group.admin command.acreload allow add_ace group.admin command.actestmode allow # ========================================== # Permissions ACE - Ressources & Framework # ========================================== # Permissions ESX Framework (es_extended) add_ace resource.es_extended command.add_ace allow add_ace resource.es_extended command.add_principal allow add_ace resource.es_extended command.remove_principal allow add_ace resource.es_extended command.stop allow # Permissions Overextended Library (ox_lib) add_ace resource.ox_lib command.add_ace allow add_ace resource.ox_lib command.remove_ace allow add_ace resource.ox_lib command.add_principal allow add_ace resource.ox_lib command.remove_principal allow # Permissions pour Yol_Admin add_ace resource.Yol_Admin command.ensure allow add_ace resource.Yol_Admin command.stop allow add_ace resource.Yol_Admin command.start allow # Permissions pour l'anti-triche et son Watchdog add_ace resource.Yol_Anticheat_Watchdog command.ensure allow add_ace resource.Yol_Anticheat command.ensure allow add_ace resource.Yol_Anticheat command.add_ace allow
Explication détaillée des Règles ACE
- add_principal [PlayerID] group.admin : Associe l'identifiant FiveM ou Discord d'un staff directement au groupe de modération
group.admin. - add_ace group.admin command allow : Permet au groupe admin d'exécuter toutes les commandes natives ou scriptées du serveur.
- add_ace group.admin command.quit deny : Empêche explicitement les admins d'exécuter la commande
quit(qui couperait le serveur FiveM entier). - Permissions de Ressources (resource.XXX) :
FiveM isole les scripts. Pour queYol_Adminpuisse lancer/arrêter ou redémarrer d'autres ressources depuis l'interface d'administration en jeu (onglet Scripts), la ressourceYol_Admindoit elle-même recevoir la permission d'exécuter les commandes consoleensure,stopetstart. De même,Yol_Anticheat_Watchdoga besoin decommand.ensurepour relancer automatiquement l'anti-triche s'il est arrêté par un tricheur.
Mocks des Interfaces NUI (Aperçu)
Voici des répliques interactives codées directement en HTML et CSS pour prévisualiser l'esthétique et l'ergonomie des interfaces de la suite Yol_Script sans avoir à démarrer le serveur :
Cliquez sur le permis pour retourner la carte (Recto / Verso 3D).
Cliquez sur les zones corporelles (silhouette) pour ausculter ou appliquer des soins.
Configuration Globale (Convars)
De nombreux scripts de la suite Yol chargent leurs paramètres les plus sensibles (clés d'API, jetons de bots Discord, et Webhooks) directement depuis la configuration générale de la machine via des Convars. Cela évite de laisser ces identifiants visibles en clair dans les fichiers de scripts et permet de tout centraliser.
Ces variables sont définies dans le fichier config.cfg, qui est chargé au démarrage du serveur par le fichier principal server.cfg.
server.cfg ou config.cfg. Les webhooks Discord permettent à quiconque les possède d'écrire sur vos salons, et vos jetons de bots peuvent compromettre votre serveur Discord.
Tableau des Convars Configurable
| Nom Convar | Fichier / Script Utilisateur | Description | Format de Valeur Attendue |
|---|---|---|---|
| mysql_connection_string | oxmysql |
Chaîne de connexion à la base de données MySQL. | mysql://user:pass@host/db_name?charset=utf8mb4... |
| yol_ac_webhook | Yol_AnticheatYol_Anticheat_WatchdogYol_Debugger |
Webhook Discord principal recevant les alertes de triche, les pings du watchdog de sécurité, et le journal des erreurs de code en jeu. | https://discord.com/api/webhooks/ID/TOKEN |
| yol_tchat_screenshot_webhook | Yol_Tchat (Screenshots) |
Webhook Discord utilisé comme hébergeur d'images temporaires lorsqu'un joueur prend un screenshot dans le chat. | https://discord.com/api/webhooks/ID/TOKEN |
| yol_tchat_gallery_webhook | Yol_Tchat (Galerie) |
Webhook Discord pointant vers le salon Galerie RP, où sont publiées les photos d'ambiance prises en jeu. | https://discord.com/api/webhooks/ID/TOKEN |
| yol_licenses_screenshot_webhook | Yol_Licenses |
Webhook de stockage utilisé pour uploader et afficher l'avatar photo réel sur les permis et cartes d'identité. | https://discord.com/api/webhooks/ID/TOKEN |
| yol_police_atm_webhook | Yol_Police / Yol_Phone |
Webhook d'hébergement d'images pour les captures des caméras témoin/ATM lors des braquages. | https://discord.com/api/webhooks/ID/TOKEN |
| yol_phone_gallery_webhook | Yol_Phone (Galerie) |
Webhook Discord servant d'espace de stockage de secours pour héberger les photos de la galerie de l'application Photo. | https://discord.com/api/webhooks/ID/TOKEN |
| yol_phone_youtube_key | Yol_Phone (Musique) |
Clé API Google Cloud (YouTube Data API v3) requise pour faire fonctionner la recherche de chansons dans l'application Musique du téléphone. | Chaîne de caractères alphanumérique de 39 caractères (ex: AIzaSy...) |
| yol_phone_tenor_key | Yol_Phone (Tenor GIF) |
Clé API Tenor permettant la recherche et le partage de GIFs animés dans l'application Messages. (Laisser vide si inutilisé). | Clé API alphanumérique fournie par Tenor/Google. |
| sv_licenseKey | FiveM Server Engine | Clé de licence du serveur (Cfx.re Keymaster) indispensable pour le boot. | Clé Cfx.re active (ex: cfxk_...) |
| sv_tebexSecret | FiveM Tebex Store | Secret API pour lier le serveur à votre boutique Tebex pour les achats automatiques en jeu. | Clé secrète Tebex. |
Ordre de Démarrage des Ressources
Le chargement des scripts FiveM doit suivre un ordre strict pour éviter des erreurs de variables nulles (nil pointer) ou de callbacks introuvables au démarrage. Les dépendances de base (base de données, UI partagée) doivent être actives avant les scripts qui les utilisent.
L'ordre est géré de manière modulaire via le fichier resources.cfg.
# 1. Ressources Système de Base FiveM ensure [BaseFivem] # 2. Pilote BDD (oxmysql en premier) ensure oxmysql # 3. Anti-Triche et Watchdog (démarrés très tôt) ensure Yol_Anticheat ensure Yol_Anticheat_Watchdog # 4. Librairies partagées & UI ensure ox_lib ensure Yol_lib ensure Yol_Debugger # 5. Ressources Noyau (Core) ensure [Core] ensure PolyZone ensure ox_target ensure Yol_Clothing ensure ox_inventory # 6. Dépendances de scripts additionnels ensure [Depend] # (Contient Yol_Bridge, bl_bridge, mVehicle, pma-voice, xsound, etc.) ensure ox_doorlock # 7. Framework ESX ensure [ESX] # 8. Ressources et scripts de vie / métiers ensure [Others] # (Contient Yol_Phone, Yol_EMS, Yol_Police, Yol_Core, Yol_Tchat, Yol_Licenses, etc.) ensure Yol_Admin
Items d'Inventaire requis (ox_inventory)
Plusieurs scripts nécessitent l'existence d'items spécifiques dans l'inventaire des joueurs pour valider les actions (comme les outils de braquages dans Yol_Admin, le défibrillateur et les médicaments dans Yol_EMS, les permis physiques dans Yol_Licenses, ou le téléphone physique dans Yol_Phone).
Vous devez copier-coller le snippet ci-dessous dans votre fichier resources/[OX]/ox_inventory/data/items.lua à l'intérieur de la table principale return { ... } :
-- ============================================================
-- ITEMS REQUIS POUR LES SCRIPTS YOL (YOL_SCRIPT)
-- ============================================================
-- Yol_Phone (Téléphone utilisable)
['phone'] = {
label = 'Téléphone',
weight = 150, stack = false, close = true,
description = 'Un smartphone moderne pour appeler, envoyer des SMS et utiliser des applications.'
},
['gps'] = {
label = 'GPS',
weight = 100, stack = true, close = true,
description = 'Un récepteur GPS pour afficher la minimap en jeu.'
},
-- Yol_Police (Outil d'entrave)
['handcuffs'] = {
label = 'Menottes',
weight = 500, stack = true, close = true,
description = 'Des menottes en acier trempé pour immobiliser les suspects.'
},
-- Yol_Licenses (Documents administratifs physiques)
['id_card'] = {
label = 'Carte d\'Identité',
weight = 5, stack = false, close = true,
description = 'Carte d\'identité officielle de l\'État.',
client = { export = 'Yol_Licenses.useLicense' }
},
['license_car'] = {
label = 'Permis de Conduire (B)',
weight = 5, stack = false, close = true,
description = 'Permis de catégorie B — véhicules légers.',
client = { export = 'Yol_Licenses.useLicense' }
},
['license_moto'] = {
label = 'Permis Moto (A)',
weight = 5, stack = false, close = true,
description = 'Permis de catégorie A — motocyclettes.',
client = { export = 'Yol_Licenses.useLicense' }
},
['license_truck'] = {
label = 'Permis Poids Lourd (C/E)',
weight = 5, stack = false, close = true,
description = 'Permis catégorie C/E — camions et semi-remorques.',
client = { export = 'Yol_Licenses.useLicense' }
},
['license_plane'] = {
label = 'Licence de Pilote',
weight = 5, stack = false, close = true,
description = 'Licence de pilote privé (PPL).',
client = { export = 'Yol_Licenses.useLicense' }
},
['license_boat'] = {
label = 'Permis Bateau',
weight = 5, stack = false, close = true,
description = 'Permis de navigation côtière.',
client = { export = 'Yol_Licenses.useLicense' }
},
['license_weapon'] = {
label = 'Permis de Port d\'Arme',
weight = 5, stack = false, close = true,
description = 'Permis officiel de port d\'arme de catégorie B.',
client = { export = 'Yol_Licenses.useLicense' }
},
['license_hunting'] = {
label = 'Permis de Chasse',
weight = 5, stack = false, close = true,
description = 'Permis de chasse réglementée.',
client = { export = 'Yol_Licenses.useLicense' }
},
-- Yol_EMS (Consommables médicaux et matériel)
['bandage'] = { label = 'Bandage', weight = 50, stack = true, close = true },
['gauze'] = { label = 'Compresses', weight = 30, stack = true, close = true },
['suturekit'] = { label = 'Kit de suture', weight = 250, stack = true, close = true },
['splint'] = { label = 'Attelle', weight = 200, stack = true, close = true },
['tourniquet'] = { label = 'Garrot', weight = 80, stack = true, close = true },
['burncream'] = { label = 'Crème brûlure', weight = 80, stack = true, close = true },
['painkillers'] = { label = 'Antidouleurs', weight = 20, stack = true, close = true },
['morphine'] = { label = 'Morphine', weight = 30, stack = true, close = true },
['medikit'] = { label = 'Trousse soins', weight = 800, stack = true, close = true },
['firstaid'] = { label = 'Premiers secours', weight = 500, stack = true, close = true },
['defibrillator'] = { label = 'Défibrillateur', weight = 2000, stack = false, close = true },
-- Yol_Core (Conteneurs et objets interactifs)
['backpack'] = { label = 'Sac à dos', weight = 1000, stack = false, close = true },
['bag'] = { label = 'Sac de Sport', weight = 800, stack = false, close = true },
['bag_purple'] = { label = 'Sac de créateur violet', weight = 800, stack = false, close = true },
['cardboard_box'] = { label = 'Carton de transport', weight = 500, stack = false, close = true },
['large_box'] = { label = 'Grand carton de fret', weight = 800, stack = false, close = true },
['cargo_box'] = { label = 'Caisse de marchandise', weight = 1200, stack = false, close = true },
['empty_can'] = { label = 'Canette vide', weight = 50, stack = true, close = true },
['empty_bottle'] = { label = 'Bouteille vide', weight = 80, stack = true, close = true },
['cigarette_butt'] = { label = 'Mégot de cigarette', weight = 5, stack = true, close = true },
['newspaper'] = { label = 'Journal usagé', weight = 100, stack = true, close = true },
['food_leftover'] = { label = 'Restes de nourriture', weight = 120, stack = true, close = true },
['trash'] = { label = 'Déchets ménagers', weight = 200, stack = true, close = true },
-- Yol_Admin (Outils de braquage persistants & Loots)
['laptop'] = { label = 'Laptop de Hack', weight = 2000, stack = false, close = true },
['printer'] = { label = 'Imprimante à Cartes', weight = 5000, stack = false, close = true },
['generator'] = { label = 'Générateur Électrique', weight = 15000, stack = false, close = true },
['fuelcan'] = { label = 'Bidon d\'essence', weight = 3000, stack = true, close = true },
['clone_card'] = { label = 'Carte Bancaire Clonée', weight = 50, stack = true, close = true },
['grinder2'] = { label = 'Meuleuse d\'angle', weight = 4000, stack = false, close = true },
['gold'] = { label = 'Lingot d\'Or', weight = 5000, stack = true, close = true },
['montre'] = { label = 'Montre de Luxe', weight = 100, stack = true, close = true },
['black_money'] = { label = 'Argent Sale', weight = 0, stack = true, close = false },
Yol_Bridge
Dépendance Noyau Dossier: [Depend]/Yol_Bridge
Yol_Bridge est la couche d'abstraction centrale pour toutes les ressources développées par Yol. Elle se charge d'unifier les appels au framework. Bien qu'elle comporte du code pour d'autres environnements, elle est ici configurée pour lier entièrement vos scripts à ESX Legacy.
Dépendances
es_extended(framework hôte)
Fonctionnalités
- Expose des exports serveur et client pour manipuler l'argent, les jobs, les permissions, l'identité et les notifications du joueur.
- Fournit un fallback "standalone" propre si aucun framework n'est détecté.
- Démarrage découplé : un polling de 30 secondes s'assure de lier le framework même si ESX démarre après Yol_Bridge.
Configuration
Le fichier de configuration principal est esx_shim.lua et la détection s'effectue dans bridge.lua.
Yol_lib
Dépendance Noyau Dossier: [Depend]/Yol_lib
Bibliothèque de composants UI partagée, extraite de Yol_Admin. Elle regroupe les feuilles de style CSS, les polices (Inter, Montserrat, FontAwesome) et les scripts JavaScript permettant d'afficher des notifications premium stylisées, des boîtes de confirmation et des fenêtres modales avec le thème Yol_Script Orange (#F04C00).
Dépendances
ox_lib
Fonctionnalités & Raccourcis
- Système de notification riche : Titre, message, icône, barre de progression et glassmorphism.
- Confirmations & Modals dynamiques en Javascript asynchrone (Promises).
- Taper la commande
/yollib_demoouvre un catalogue complet de tous les éléments esthétiques (Showcase NUI). - Taper
/yollib_test_notify [message]pour envoyer une notification de test rapide.
Fichiers de Configuration
shared/theme.lua: Déclare la palette de couleurs (YolTheme) répliquée côté client et serveur.web/yol-lib.css: Contient les 900 lignes de définitions de design system (tokens CSS).web/yol-lib.js: Fonctions d'API globales côté client web (window.YolLib).
Yol_Admin
Système & Modération Dossier: Yol_Admin
Le panneau d'administration tout-en-un de Yol_Script. C'est le centre de contrôle total du serveur, regroupant 24 modules et panels visuels interactifs ainsi qu'un bot Discord Node.js autonome.
Dépendances
es_extendedox_liboxmysqlYol_Bridgeox_inventory(recommandé pour la fouille)ox_target(recommandé pour les intéractions physiques)
Détail de ce que fait Yol_Admin (Par Panel NUI)
1. Modération & Gestion des Joueurs
- Dashboard : Fournit un flux de statut (joueurs, ping moyen, statut des scripts BDD/Tebex) et intègre une mini-carte traquant en temps réel la position des joueurs.
- Players : Liste exhaustive des joueurs (Online/Offline). Permet de Kick, Bannir (txAdmin ou local), Warn, Jail, Slap, donner un Job/Grade, modifier l'argent, Revive, Heal, se téléporter (Goto/Bring), Spectate en caméra libre ou activer les ESP/Noms/Blips.
- Multi-PIP (Picture-in-Picture) : Outil de surveillance permettant d'ouvrir jusqu'à 4 fenêtres de spectate simultanées sur le même écran pour surveiller les scènes en cours.
2. Économie & Flotte de Véhicules
- Eco : Statistiques macro-économiques du serveur (somme du cash global, banque, comptes de sociétés de factions). Met à jour les graphes toutes les 30 minutes.
- Fleet & Vehicles : Liste et téléporte les véhicules actifs du serveur. Permet de supprimer (DV), réparer, laver, déverrouiller, inspecter le propriétaire d'une plaque d'immatriculation et gérer les voitures sauvegardées en BDD.
3. Éditeurs Visuels (Créateurs d'environnements)
- Job & Gang Creator : Outil d'édition visuel pour ajouter, modifier ou renommer des grades, droits et salaires des factions ESX sans toucher aux fichiers SQL ou config.
- Drug Creator : Place des points de récolte/traitement/revente sur la carte, lie des minijeux d'adresse, configure les gains d'argent sale et le taux d'appel de la police.
- Zones Creator : Trace des zones géographiques (circulaires ou polygonales) et leur assigne des règles (Safezone invincible, zone sans armes, zone sans véhicule, limitation de vitesse).
- Doorlock & Props Manager : Permet de configurer des portes
ox_doorlockou de spawner et placer des props de décoration persistants mondiaux via un outil laser de raycast 3D. - Inventory Creator : Permet de concevoir de nouveaux items de jeu en choisissant leur libellé, poids, description et image d'inventaire directement dans le NUI.
4. Gestion Serveur & Bot Discord
- Server : Active la maintenance, la Whitelist par ID, édite les messages d'accueil et planifie des reboots serveur automatisés.
- Console & Scripts : Stream le terminal du serveur en temps réel, exécute des commandes console, et liste toutes les ressources en permettant de les Démarrer, Stopper ou Redémarrer d'un clic.
- Discord Bot : Démarre un bot Node.js lié à votre Discord depuis l'UI en jeu. Permet aux modérateurs d'exécuter des slash commands sur Discord (
/joueurs,/say,/kick,/ban,/revive,/setjob) et d'envoyer des journaux log complets.
Fichiers de Configuration
shared/config.lua: Définit la langue, les groupes ACE administratifs autorisés, le mode de détection des dépendances et les hooks d'anti-triche.shared/permissions_catalog.lua: Catalogue des permissions modifiables depuis le panel Permissions.bot/config.json: Enregistre le token Discord, l'ID de la guilde, le rôle admin autorisé et le salon de logs (géré automatiquement par le panel Discord Bot).data/robbery_config.json: Persiste la configuration des braquages configurés via l'UI Robbery Manager.
Commandes & Raccourcis
F6(ouBACKSLASH) : Ouvre le menu d'administration principal.INSERT: Ouvre le Quick Menu (options rapides joueur/véhicule).F7: Ouvre le panel console en jeu.F9: Active/Désactive le Noclip.F10: Active/Désactiver le Godmode.
Yol_Anticheat
Sécurité Dossier: Yol_Anticheat
Système anti-triche serveur rigoureux avec scan d'injection, détection de tricheurs en temps réel (vitesse, noclip, godmode, blacklist d'entités, anti-triggers) et création dynamique d'une Whitelist d'événements réseau sécurisée.
Dépendances
es_extendedoxmysqlscreenshot-basicYol_Anticheat_Watchdog
Détails des Protections
- Anti-Explosions & Anti-PNJ/Objets : Blocage et suppression instantanée des spams de cages, météores, géants ou d'explosions répétitives.
- Anti-Triggers de Triche : Blocage direct de l'appel aux triggers sensibles de modération ou de framework (ex :
esx:addInventoryIteminitié par le client). - Event Whitelist Automatique : Analyse statique au démarrage de tous les scripts pour autoriser uniquement les requêtes légitimes. Enregistre les dérives en mode "LEARN" (durant 1h après reboot) puis bloque/bannit en mode "ENFORCE".
Fichiers de Configuration
config.lua: Déclare les listes d'armes et véhicules bannis, l'intervalle d'analyse des joueurs, le type de bannissement (txAdmin/BDD/Drop), et la liste noire des événements réseau (Naruto/Susanoo spams).
Yol_Anticheat_Watchdog
Sécurité Dossier: Yol_Anticheat_Watchdog
Script de sécurité indépendant agissant comme un "chien de garde". Son seul but est de s'assurer que l'anti-triche Yol_Anticheat est toujours en cours d'exécution. Si un tricheur de niveau administrateur tente de stopper la ressource Yol_Anticheat, le Watchdog intercepte l'événement et la relance instantanément.
Dépendances
cron(Système d'horloge ESX)Yol_Anticheat
Fonctionnalités
- Écoute en temps réel l'événement FiveM
onResourceStoppour la ressource ciblée. - Planifie des vérifications cycliques via des tâches cron (toutes les minutes) au cas où l'anti-triche serait désactivé par des contournements complexes.
- Envoie une alerte prioritaire avec mention de rôle sur votre Discord via la convar
yol_ac_webhook.
Yol_Debugger
Système & Modération Dossier: [Others]/Yol_Debugger
Centralisateur de débogage. Il écoute les canaux système en continu pour détecter la moindre erreur fatale, crash ou exception de code, puis l'écrit dans un fichier log local et l'envoie sur Discord pour une correction immédiate.
Fonctionnalités
- Console Listener : Filtre les messages de la console serveur à la recherche de mots-clés de crash (
error,exception,traceback,failed). - NUI Exception Catcher : Intercepte les erreurs JavaScript silencieuses qui se produisent dans les interfaces UI des joueurs en jeu et les transmet au serveur.
- Local logging : Écrit les rapports dans
yol_errors.log(auto-limité à 300 lignes pour éviter la saturation disque). - Alerte instantanément les développeurs sur Discord via le webhook
yol_ac_webhook.
Yol_Clothing
Créateur & Boutiques Dossier: Yol_Clothing
Système unifié et esthétique pour la gestion complète de l'apparence des joueurs : création initiale du personnage, magasins de vêtements, salons de coiffure, tatoueurs addon, et garde-robe.
Dépendances
oxmysql(Bdd)ox_lib(UI/Menus)screenshot-basic(requis pour générer les vignettes de tatouages)
Fonctionnalités
- Cinématique de création : Caméra aérienne et panoramique, zoom dynamique en fonction de la zone éditée (visage, torse, jambes, pieds).
- Tatouages Addon : Supporte plus de 210 tatouages personnalisés en plus des tatouages GTA vanilla (textures chargées dans le sous-dossier
stream/). - Intégration ox_inventory : Synchronise les vêtements achetés avec le placard (wardrobe) du joueur en générant un item physique de tenue.
- Auto-save : Enregistre l'état du joueur toutes les 30 secondes en base de données (colonne
skindans la tableusers).
Fichiers de Configuration & Commandes
shared/config.lua: Déclare les positions des boutiques, les tarifs par catégorie de vêtement, les tenues de départ des personnages et les décalages caméra.- Commande Admin : Taper
/creator [playerId]ouvre de force l'éditeur de personnage pour la cible. - Commande Client : Taper
/tenuedans la console F8 pour imprimer la configuration vestimentaire en format Lua. - Commande Admin de Tatouages : Taper
/gentattoothumbspour générer automatiquement les images miniatures des tatouages addon.
Yol_Core
Rôleplay & Immersion Dossier: [Others]/Yol_Core
Regroupe un grand nombre de fonctionnalités immersives, d'animations d'ambiance et d'interactions physiques pour enrichir l'expérience de jeu.
Dépendances
es_extendedox_inventoryox_targetpma-voice
Fonctionnalités
- Interactions Ox_target : Permet de s'adosser à un mur, porter un joueur blessé ou consentant (
/carry), s'asseoir ou s'allonger sur les bancs, chaises, canapés et lits de la map. - Survie et Hygiène : Utilisation des douches pour déstresser et se laver, toilettes, lavage de mains aux lavabos, consommation d'eau aux fontaines publiques. Système d'odeur (hygiène basse) faisant fuir les PNJ environnants.
- Animation des Besoins : Plaintes physiques automatiques (se frotter le ventre, s'étouffer) lorsque la faim ou la soif descend sous la barre des 5%.
- Indicateur vocal intelligent & Lip-sync : HUD affichant la portée de voix (Chuchoter, Normal, Crier). Lip-sync avancé qui calcule l'ouverture de la bouche du joueur en analysant le volume micro de
pma-voiceen temps réel. - Contrôle Minimap : La minimap (GPS) se désactive et n'apparaît à l'écran que si le joueur possède physiquement les items
gpsouphonedans son inventaire. - Conteneurs Portables : Prise en charge des sacs à dos et boîtes de transport comme des extensions d'inventaire physiques (props portés visibles).
Fichiers de Configuration & Commandes
shared/config.lua: Active/désactive chaque sous-fonctionnalité, liste les props compatibles avec l'assise automatique, configure le rayon d'hygiène et les paliers d'inactivité (AFK).- Commande Admin :
/menutargetouvre le menu de placement des points interactifs (douches, lavabos, chaises fixes, etc.) enregistrés en BDD danscustom_props.json. - Touche
N: Cycle entre les portées de voix (Chuchoter = 2m, Normal = 8m, Crier = 16m).
Yol_EMS
Métiers Dossier: [Others]/Yol_EMS
Script médical avancé intégrant un système de diagnostic visuel précis via un panel NUI représentant une silhouette humaine. Permet aux médecins de cibler précisément les blessures par zone corporelle et d'appliquer le traitement adéquat.
Dépendances
es_extendedox_libox_targetox_inventoryoxmysql
Fonctionnalités
- Panel Blessures NUI : Représentation anatomique interactive. Permet de consulter l'état des membres du patient (Tête, Torse, Bras gauche/droit, Jambe gauche/droit).
- Localisation des dégâts : Les dégâts subis en jeu (tirs, chutes, collisions) sont localisés sur le membre affecté en fonction de la bone GTA touchée, avec des conséquences dynamiques (ex : boiter en cas de fracture à la jambe).
- Matériel médical complet : Bandage (soigne éraflures), kit de suture (ferme coupures), attelle (répare fractures), garrot (stoppe saignement artériel), morphine/antidouleurs (gère le stress et la douleur), et le défibrillateur (réanime).
- Sauvegarde en BDD : Les blessures et les rapports d'intervention sont enregistrés dans les tables
user_injuries,ems_reportsetems_damage_log.
Fichiers de Configuration & Commandes
config.lua: Associe les bones de GTA aux zones du corps, définit les jobs autorisés, la touche de menu (F7) et cartographie les blessures par types d'armes.- Touche
F7: Ouvre le Quick Menu EMS pour interagir avec un patient. - Commande Admin : Taper
/clearinjuries [playerId]pour soigner instantanément toutes les blessures localisées d'un joueur.
Yol_Licenses
Services Dossier: [Others]/Yol_Licenses
Système de délivrance, d'affichage et de contrôle de permis et licences. Il intègre des interactions avec des PNJ pour passer des examens théoriques/pratiques et génère des cartes d'identité visuelles ultra-réalistes.
Dépendances
es_extendedox_libox_inventoryox_targetoxmysqlscreenshot-basic(recommandé pour la photo réelle)
Fonctionnalités
- PNJ Instructeurs : Dispersés sur la carte (Mairie, Auto-école, Aéro-club, Capitainerie, Armurerie).
- Photo d'identité automatique : Lors de l'achat d'une carte d'identité à la Mairie, l'appareil prend un cliché du visage du joueur en gros plan et l'applique directement sur le document physique.
- Visualisation Recto/Verso : Cliquer sur une licence dans son inventaire ouvre une carte interactive que l'on peut retourner ou présenter aux joueurs proches (synchronisation à 3.5m).
- Délivrance administrative : Les policiers ou agents habilités peuvent utiliser la commande
/licensepour attribuer, révoquer ou consulter le dossier d'un joueur.
Fichiers de Configuration
shared/config.lua: Configure le compte de prélèvement (bank/cash), le statut d'activation photo, la durée d'affichage, les PNJ et le groupe de jobs autorisés à délivrer les permis.shared/licenses.lua: Déclare les couleurs de thèmes de permis, les logos et les descriptifs par type de permis.
Yol_Phone
Rôleplay & Immersion Dossier: [Others]/Yol_Phone
Le smartphone ultime du serveur. Ce téléphone est entièrement indexé sur l'item d'inventaire physique. Si vous perdez, donnez ou vous faites voler votre téléphone, la carte SIM (numéro, messages, contacts, notes) suit l'item en temps réel.
Dépendances
es_extendedox_inventoryoxmysqlxsound(obligatoire pour la musique et sonneries)pma-voice(obligatoire pour les appels vocaux sans fil)
Fonctionnalités & Applications
- Prop Téléphone Physique : Un modèle 3D de smartphone apparaît dans la main droite du joueur dès que l'interface est ouverte.
- Appareil Photo Premium : Caméra scriptée fluide (Selfie / Objectif arrière) avec zoom molette, filtres et upload automatique sur base de données.
- Musique (YouTube) : Recherche, lecture, pause, réglage du volume et barre de recherche temporelle. Le son est diffusé en 3D spatiale autour de votre personnage via
xsound. - Garage connecté : Permet de verrouiller/déverrouiller son véhicule à distance, allumer le moteur, klaxonner, faire des appels de phares, et le localiser sur la carte.
- Services de Banque : Virement d'argent en ligne, consultation de l'historique bancaire (compatible
pefcl), paiement et création de factures. - Applications Sociales : Twitter (Instapix), DarkChat anonyme, Whatsapp (PingMe) avec gestion de salons groupés et publication de statuts.
Fichiers de Configuration
Le téléphone Yol_Phone ne possède pas de fichier config.lua autonome. Ses paramètres d'API et d'hébergement sont définis globalement dans le fichier de convar général de la machine config.cfg :
yol_phone_gallery_webhook: Webhook d'hébergement pour les photos prises.yol_phone_youtube_key: Clé API pour rechercher des titres sur YouTube.yol_phone_tenor_key: Clé d'accès à la recherche de GIFs.
Yol_Police
Métiers Dossier: [Others]/Yol_Police
Ressource d'interaction pour les forces de l'ordre. Elle regroupe un Quick Menu pour les officiers en service, un dispatch 911 civil, et un générateur de délits automatiques par des PNJ.
Dépendances
es_extendedox_targetox_inventoryYol_Admin(MDT et autorisations)
Fonctionnalités
- Actions Rapides (F7) : Fouille du suspect, identification (affiche les permis), menottage (nécessite l'item
handcuffssi Config.RequireItems = true), escorte, embarquer/sortir du véhicule, amende. - Dispatch Civil (911) : Permet aux citoyens d'alerter les forces de l'ordre, générant un repère GPS et un signal sonore.
- Random Dispatch (Appels PNJ) : Génère périodiquement (toutes les 20 min) des interventions de PNJ (ex: cambriolage, coup de feu) si au moins 1 policier est en service.
Fichiers de Configuration
config.lua: Paramètre la touche d'appel (F7), la liste de fallback des jobs autorisés (police, lspd, sheriff, sasp), les intervalles d'appels de détresse de PNJ et la restriction d'items de contention.
Yol_Speedometer
Dossier: [Others]/Yol_Speedometer
Compteur de vitesse moderne affiché en NUI en bas à droite lorsque vous montez dans un véhicule. Intègre la jauge d'essence, l'état moteur, les phares, et un système de ceinture de sécurité avec éjection.
Fichiers de Configuration
shared/config.lua: Permet de choisir l'unité (km/h ou mph), les couleurs HEX CSS du cadran, la touche de ceinture (K), d'activer ou non l'éjection forcée en cas d'accident (seuil à 50 km/h) et d'ajuster les taux d'optimisation en millisecondes.
Yol_Cruisecontrol
Dossier: [Others]/Yol_Cruisecontrol
Régulateur de vitesse électronique permettant de bloquer l'allure de votre véhicule d'une simple pression de touche.
Dépendances
pefcl(ou ESX pour le paiement électronique)
Fichiers de Configuration
shared/config.lua: Paramètre la touche d'activation (G), la vitesse minimale requise (18 km/h), le montant de la taxe électronique ($1), le compte crédité et la liste noire des types de véhicules exclus.
Yol_Tchat
Dossier: [Others]/Yol_Tchat
Système de chat textuel enrichi. Son design moderne en glassmorphism floute l'arrière-plan et s'estompe après inactivité pour ne pas obstruer l'écran de jeu.
Dépendances
es_extendedscreenshot-basic(obligatoire pour le partage photo)
Fichiers de Configuration
config.lua: Déclare les convars de webhooks Discord (yol_tchat_screenshot_webhookpour le stockage etyol_tchat_gallery_webhookpour la galerie photo en jeu).