Agency-Lifeinvader V3 Installation
L’agence de publicité de la ville pour FiveM sur QBCore, Qbox, ESX ou en mode totalement autonome.

01Installation
- 1Placez Agency-LifeinvaderV3 dans votre dossier resources
- 2Ajoutez ensure Agency-LifeinvaderV3 à server.cfg, après votre framework, oxmysql et Agency Phone ou Agency Pad
- 3Donnez accès à vos administrateurs avec add_ace group.admin agency.lifeinvader.admin allow, ou utilisez Config.Admin
- 4Avec oxmysql, les tables sont créées au premier démarrage. install/agency_lifeinvader.sql sert uniquement aux serveurs qui créent les tables manuellement
- 5Mise à jour depuis une ancienne version : remplacez le dossier et récupérez le nouveau config.lua. Les publicités, les brouillons et les paramètres des joueurs sont conservés, les tables sont mises à niveau sur place.
02Dépendances
Aucune dépendance requiseQBCore, Qbox ou ESX (facultatif, fonctionne en mode autonome sans framework)oxmysql (optionnel, sinon tout est enregistré dans le stockage clé-valeur du serveur)Agency Phone ou Agency Pad 27.0.2 ou version ultérieure (facultatif, pour l’application et Agency Pay)Agency Banking (facultatif, pour gérer l’argent sur les serveurs autonomes)Agency-Notify (facultatif, messages dans le style Agency)
03Fichier SQL
Optionnel : la ressource crée ces tables elle-même au démarrage. N'importez ce fichier que si vous préparez la base de données à la main :
-- =============================================================================
-- Agency Lifeinvader 3.2: database tables (OPTIONAL)
-- -----------------------------------------------------------------------------
-- You do not need to run this file. With oxmysql the script creates these
-- tables on the first start and upgrades the tables of Lifeinvader V2 and V3
-- in place. Run it only if your server creates tables by hand.
-- =============================================================================
CREATE TABLE IF NOT EXISTS `lifeinvader_ads` (
`id` INT NOT NULL AUTO_INCREMENT,
`identifier` VARCHAR(100) NOT NULL,
`author_name` VARCHAR(100) DEFAULT NULL,
`message` TEXT NOT NULL,
`category` VARCHAR(50) DEFAULT 'other',
`anonymous` TINYINT DEFAULT 0,
`boosted` TINYINT DEFAULT 0,
`repetitions_total` INT DEFAULT 1,
`repetitions_left` INT DEFAULT 1,
`interval_seconds` INT DEFAULT 60,
`display_duration` INT DEFAULT 8,
`status` VARCHAR(16) NULL DEFAULT 'active',
`approved` TINYINT DEFAULT 1,
`approved_by` VARCHAR(100) DEFAULT NULL,
`rejected_reason` TEXT DEFAULT NULL,
`next_send_time` DATETIME DEFAULT NULL,
`scheduled_for` DATETIME DEFAULT NULL,
`review_requested_at` DATETIME DEFAULT NULL,
`reviewed_at` DATETIME DEFAULT NULL,
`review_decision` VARCHAR(32) DEFAULT NULL,
`queue_priority` INT DEFAULT 0,
`ai_score` INT DEFAULT 0,
`ai_flags` LONGTEXT DEFAULT NULL,
`admin_notes` LONGTEXT DEFAULT NULL,
`price_paid` INT DEFAULT NULL,
`paid_with` VARCHAR(16) DEFAULT NULL,
`refunded` INT DEFAULT 0,
`reviewer` VARCHAR(100) DEFAULT NULL,
`sent_count` INT DEFAULT 0,
`last_sent_at` DATETIME DEFAULT NULL,
`created_at` DATETIME DEFAULT CURRENT_TIMESTAMP,
`updated_at` DATETIME DEFAULT CURRENT_TIMESTAMP,
PRIMARY KEY (`id`),
KEY `idx_identifier` (`identifier`),
KEY `idx_status` (`status`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;
CREATE TABLE IF NOT EXISTS `lifeinvader_ad_drafts` (
`id` INT NOT NULL AUTO_INCREMENT,
`identifier` VARCHAR(100) NOT NULL,
`title` VARCHAR(120) DEFAULT NULL,
`message` TEXT NOT NULL,
`category` VARCHAR(50) DEFAULT 'other',
`anonymous` TINYINT DEFAULT 0,
`boosted` TINYINT DEFAULT 0,
`repetitions_total` INT DEFAULT 1,
`interval_seconds` INT DEFAULT 60,
`display_duration` INT DEFAULT 8,
`delay` INT DEFAULT 0,
`scheduled_for` DATETIME DEFAULT NULL,
`created_at` DATETIME DEFAULT CURRENT_TIMESTAMP,
`updated_at` DATETIME DEFAULT CURRENT_TIMESTAMP,
PRIMARY KEY (`id`),
KEY `idx_identifier` (`identifier`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;
CREATE TABLE IF NOT EXISTS `lifeinvader_player_settings` (
`id` INT NOT NULL AUTO_INCREMENT,
`identifier` VARCHAR(100) NOT NULL,
`notification_position` VARCHAR(20) DEFAULT 'middle-left',
`notification_enabled` TINYINT DEFAULT 1,
`notification_scale` FLOAT DEFAULT 1.0,
`ui_transparency` FLOAT DEFAULT 0.55,
`accent_color` VARCHAR(20) DEFAULT NULL,
`sound_enabled` TINYINT DEFAULT 1,
`admin_panel_scale` FLOAT DEFAULT 1.0,
`muted_categories` VARCHAR(255) DEFAULT NULL,
`created_at` DATETIME DEFAULT CURRENT_TIMESTAMP,
`updated_at` DATETIME DEFAULT CURRENT_TIMESTAMP,
PRIMARY KEY (`id`),
UNIQUE KEY `uniq_identifier` (`identifier`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;
CREATE TABLE IF NOT EXISTS `lifeinvader_admin_logs` (
`id` INT NOT NULL AUTO_INCREMENT,
`admin_identifier` VARCHAR(100) DEFAULT NULL,
`admin_name` VARCHAR(100) DEFAULT NULL,
`action` VARCHAR(64) NOT NULL,
`ad_id` INT DEFAULT NULL,
`metadata` LONGTEXT DEFAULT NULL,
`created_at` DATETIME DEFAULT CURRENT_TIMESTAMP,
PRIMARY KEY (`id`),
KEY `idx_action` (`action`),
KEY `idx_ad_id` (`ad_id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;
+Bon à savoir
Lifeinvader ne nécessite aucune autre ressource. Installez-le, démarrez-le après votre framework et donnez l'accès à vos administrateurs. Les tables, l'application de l'appareil et les modes de paiement se configurent automatiquement.
- Ordre de démarrage
- Dans server.cfg, assurez-vous que Agency-LifeinvaderV3 démarre après votre framework, oxmysql et Agency Phone ou Agency Pad, afin que le script puisse les détecter au démarrage.
- Administrateurs
- add_ace group.admin agency.lifeinvader.admin allow donne à vos administrateurs accès au panneau Admin. Config.Admin accepte également les groupes du framework et les identifiants individuels.
- Le métier Agency
- Les employés sont des joueurs qui ont le métier lifeinvader de votre framework (Config.Agency.job) : dès le grade 0, ils peuvent ouvrir le panneau du personnel, et à partir du grade 3, ils peuvent verser de l'argent. Les serveurs autonomes utilisent l'ACE agency.lifeinvader.staff.
- Base de données
- Avec oxmysql, les tables lifeinvader_ads, lifeinvader_ad_drafts, lifeinvader_player_settings et lifeinvader_admin_logs sont créées au premier démarrage et mises à niveau sur place depuis les versions V2 et V3. Le fichier install/agency_lifeinvader.sql est uniquement destiné aux serveurs qui créent les tables manuellement.
?Questions fréquentes
Dois-je importer le fichier SQL ?
Non. Cela concerne uniquement les serveurs qui créent les tables manuellement. Avec oxmysql, le script crée et met à niveau ses tables automatiquement.
Comment effectuer la mise à jour depuis V3 ?
Arrêtez le serveur, conservez une copie de l'ancien dossier, remplacez-le par le nouveau et récupérez le nouveau config.lua, car de nombreuses options sont nouvelles. Les annonces, les brouillons et les paramètres des joueurs sont conservés.