QBESXStandalone
Agency-Lifeinvader V3 التثبيت
وكالة إعلانات المدينة لـ FiveM على QBCore أو Qbox أو ESX أو بنظام مستقل بالكامل.
v3.2.1مدفوع5 صفحات

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 (اختياري، يعمل بشكل مستقل دون أي منها)oxmysql (اختياري، بدونه يُحفظ كل شيء في مخزن المفتاح والقيمة الخاص بالخادم)Agency Phone أو Agency Pad 27.0.2 أو أحدث (اختياري، للتطبيق وAgency Pay)Agency Banking (اختياري، للأموال على الخوادم المستقلة)Agency-Notify (اختياري، للرسائل بأسلوب Agency)
03ملف SQL
اختياري: ينشئ المورد هذه الجداول بنفسه عند بدء التشغيل. استورد هذا الملف فقط إذا كنت تُعدّ قاعدة البيانات يدويًا:
-- =============================================================================
-- 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 مسؤوليك صلاحية الوصول إلى لوحة المسؤولين. كما يقبل Config.Admin مجموعات إطار العمل والمعرّفات الفردية.
- وظيفة Agency
- الموظفون هم اللاعبون الذين لديهم وظيفة lifeinvader في إطار العمل لديك (Config.Agency.job): ابتداءً من الدرجة 0 يمكنهم فتح لوحة الموظفين، وابتداءً من الدرجة 3 يمكنهم دفع الأموال. تستخدم الخوادم المستقلة 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 الجديد، لأن العديد من الخيارات جديدة. ستبقى الإعلانات والمسودات وإعدادات اللاعبين كما هي.