Agency-Lifeinvader V3 Installation
Die Werbeagentur der Stadt für FiveM auf QBCore, Qbox, ESX oder vollständig standalone.

01Installation
- 1Lege Agency-LifeinvaderV3 in deinen resources-Ordner
- 2Füge ensure Agency-LifeinvaderV3 zur server.cfg hinzu, nach deinem Framework, oxmysql und Agency Phone oder Agency Pad
- 3Gib deinen Admins Zugriff mit add_ace group.admin agency.lifeinvader.admin allow oder verwende Config.Admin
- 4Mit oxmysql werden die Tabellen beim ersten Start erstellt. install/agency_lifeinvader.sql ist nur für Server gedacht, auf denen Tabellen manuell erstellt werden
- 5Update von einer älteren Version: Ersetze den Ordner und übernimm die neue config.lua. Anzeigen, Entwürfe und Spielereinstellungen bleiben erhalten, die Tabellen werden direkt aktualisiert
02Abhängigkeiten
Keine Abhängigkeit erforderlichQBCore, Qbox oder ESX (optional, läuft auch ohne Framework im Standalone-Modus)oxmysql (optional, ohne wird alles im Key-Value-Speicher des Servers gesichert)Agency Phone oder Agency Pad 27.0.2 oder neuer (optional, für die App und Agency Pay)Agency Banking (optional, für Geld auf Standalone-Servern)Agency-Notify (optional, Nachrichten im Agency-Stil)
03SQL Datei
Optional: Die Resource legt diese Tabellen beim Start selbst an. Importiere die Datei nur, wenn du die Datenbank von Hand einrichtest:
-- =============================================================================
-- 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;
+Gut zu wissen
Lifeinvader benötigt keine weiteren Ressourcen. Füge es hinzu, starte es nach deinem Framework und gib deinen Admins Zugriff. Tabellen, die Geräte-App und die Zahlungsmethoden werden automatisch eingerichtet.
- Installationsreihenfolge
- ensure Agency-LifeinvaderV3 kommt in server.cfg nach deinem Framework, oxmysql und Agency Phone oder Agency Pad, damit das Script sie beim Start findet.
- Admins
- add_ace group.admin agency.lifeinvader.admin allow gibt deinen Admins Zugriff auf das Admin-Panel. Config.Admin unterstützt auch Framework-Gruppen und einzelne Identifiers.
- Der Agency-Job
- Mitarbeiter sind Spieler mit dem Job lifeinvader deines Frameworks (Config.Agency.job): Ab Rang 0 können sie das Mitarbeiter-Panel öffnen, ab Rang 3 Geld auszahlen. Standalone-Server verwenden ACE agency.lifeinvader.staff.
- Datenbank
- Mit oxmysql werden die Tabellen lifeinvader_ads, lifeinvader_ad_drafts, lifeinvader_player_settings und lifeinvader_admin_logs beim ersten Start erstellt und direkt von V2 und V3 aktualisiert. install/agency_lifeinvader.sql ist nur für Server gedacht, die Tabellen manuell erstellen.
?Häufige Fragen
Muss ich die SQL-Datei importieren?
Nein. Es ist nur für Server gedacht, auf denen Tabellen manuell erstellt werden. Mit oxmysql erstellt und aktualisiert das Script seine Tabellen selbst.
Wie aktualisiere ich von V3?
Stoppe den Server, behalte eine Kopie des alten Ordners, ersetze ihn durch den neuen und übernimm die neue config.lua, da viele Optionen neu sind. Anzeigen, Entwürfe und Spielereinstellungen bleiben erhalten.