Agency-Lifeinvader V3 Установка
Рекламное агентство города для FiveM на QBCore, Qbox, ESX или полностью автономно.

01Установка
- 1Поместите Agency-LifeinvaderV3 в папку resources
- 2Добавьте ensure Agency-LifeinvaderV3 в server.cfg после вашего фреймворка, oxmysql и Agency Phone или Agency Pad
- 3Предоставьте администраторам доступ с помощью add_ace group.admin agency.lifeinvader.admin allow или используйте Config.Admin
- 4При использовании oxmysql таблицы создаются при первом запуске. install/agency_lifeinvader.sql нужен только серверам, которые создают таблицы вручную
- 5Обновление со старой версии: замените папку и используйте новый config.lua. Объявления, черновики и настройки игроков сохранятся, таблицы обновятся на месте
02Зависимости
Зависимости не требуютсяQBCore, Qbox или ESX (необязательно, работает в Standalone без них)oxmysql (необязательно, без него всё сохраняется в хранилище ключ-значение сервера)Agency Phone или Agency Pad версии 27.0.2 или новее (необязательно, для приложения и Agency Pay)Agency Banking (необязательно, для денег на серверах Standalone)Agency-Notify (необязательно, уведомления в стиле Agency)
03SQL файл
Необязательно: ресурс сам создаёт эти таблицы при запуске. Импортируйте файл, только если настраиваете базу данных вручную:
-- =============================================================================
-- 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;
+Полезно знать
Lifeinvader не требует других ресурсов. Установите его, запустите после фреймворка и предоставьте администраторам доступ. Таблицы, приложение на устройстве и способы оплаты настроятся автоматически.
- Порядок запуска
- Добавьте ensure Agency-LifeinvaderV3 после фреймворка, oxmysql и Agency Phone или Agency Pad в server.cfg, чтобы скрипт обнаружил их при запуске.
- Администраторы
- add_ace group.admin agency.lifeinvader.admin allow предоставляет администраторам доступ к панели Admin. Config.Admin также поддерживает группы фреймворка и отдельные идентификаторы.
- Работа в агентстве
- Сотрудники , это игроки с профессией lifeinvader в вашем фреймворке (Config.Agency.job): с grade 0 они могут открыть панель сотрудников, с grade 3 , выплачивать деньги. На серверах в режиме Standalone используется ACE agency.lifeinvader.staff.
- База данных
- При первом запуске с oxmysql создаются таблицы lifeinvader_ads, lifeinvader_ad_drafts, lifeinvader_player_settings и lifeinvader_admin_logs. Таблицы с V2 и V3 обновляются на месте. install/agency_lifeinvader.sql нужен только серверам, которые создают таблицы вручную.
?Частые вопросы
Нужно ли импортировать SQL-файл?
Нет. Это нужно только серверам, которые создают таблицы вручную. С oxmysql скрипт сам создаёт и обновляет свои таблицы.
Как обновиться с V3?
Остановите сервер, сохраните копию старой папки, замените её новой и используйте новый config.lua, так как появилось много новых параметров. Объявления, черновики и настройки игроков сохранятся.