QBESXStandalone
Agency-Housing التثبيت
نظام سكن قائم على قاعدة بيانات لـ FiveM. يكتشف QBCore وQBox وESX تلقائياً، أو يعمل بشكل مستقل تماماً دون أي إطار عمل.
v1.1.0مدفوع5 صفحات

01التثبيت
- 1استخرج Agency-Housing إلى مجلد resources
- 2ثبّت PolyZone إن لم يكن لديك بعد
- 3أضف ensure PolyZone وensure Agency-Housing إلى server.cfg بعد oxmysql
- 4شغّل الخادم: تُنشأ جداول قاعدة البيانات عند التشغيل الأول
- 5تحقّق من وحدة التحكم: تذكر إطار العمل المكتشف أو تعرض Running standalone
- 6اختياري: add_ace group.admin agency.housing allow يمنح صلاحية الوصول إلى أداة الإنشاء
- 7الوضع المستقل: املأ Config.Standalone للأموال والمشرفين (راجع صفحة الإعدادات)
- 8التحديث من الإصدار 1.0: استبدل المجلد بالكامل، وانقل قيمك إلى config.lua الجديد وأعد تشغيل المورد مرة واحدة؛ تُحدّث قاعدة البيانات نفسها.
- 9بعد التحديث، شغّل /ahousethumbs مرة واحدة بصلاحيات الأدمن لإنشاء صور الأثاث الجديد.
02المتطلبات
oxmysql (مطلوب)PolyZone (مطلوب، تُبنى حدود العقارات عليه)QBCore أو QBox أو ESX (اختياري، يعمل بدونها في الوضع المستقل)نظام مخزون للتخزين (اختياري: ox_inventory أو qb-inventory أو qs أو ps أو lj أو jpr)illenium-appearance أو qb-clothing (اختياري، وإلا تُستخدم الخزانة المدمجة)سكربت كراج (اختياري: Agency-Garage أو jg-advancedgarages أو qb-garages، يُكتشف تلقائياً)هاتف لتطبيق Housing (اختياري: Agency Phone أو Agency Pad أو lb-phone أو qs-smartphone-pro)
03ملف SQL
اختياري: ينشئ المورد هذه الجداول بنفسه عند بدء التشغيل. استورد هذا الملف فقط إذا كنت تُعدّ قاعدة البيانات يدويًا:
-- =====================================================
-- Agency Housing: database tables
-- =====================================================
--
-- Optional. Agency-Housing creates all of these on start and adds any column an
-- older database is missing, so a fresh server needs no import. Run this by
-- hand only if your database user is not allowed to create tables.
--
-- Safe to run more than once: CREATE TABLE IF NOT EXISTS leaves an existing
-- table and its data alone. Works on MariaDB and MySQL 8.
--
-- If you changed Config.TableName, change `agency_houses` below to match.
-- Houses, their owners, keys and everything placed in them.
CREATE TABLE IF NOT EXISTS `agency_houses` (
`id` INT NOT NULL AUTO_INCREMENT,
`name` VARCHAR(100) NOT NULL,
`shell` VARCHAR(64) NOT NULL,
`price` INT NOT NULL DEFAULT 0,
`entrance` LONGTEXT NOT NULL,
`interior` LONGTEXT DEFAULT NULL,
`owner` VARCHAR(80) DEFAULT NULL,
`owner_name` VARCHAR(100) DEFAULT NULL,
`locked` TINYINT(1) NOT NULL DEFAULT 1,
`for_sale` TINYINT(1) NOT NULL DEFAULT 1,
`show_blip` TINYINT(1) NOT NULL DEFAULT 1,
`keys` LONGTEXT DEFAULT NULL,
`created_by` VARCHAR(100) DEFAULT NULL,
`created_at` DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP,
`garage` LONGTEXT DEFAULT NULL,
`exit_point` LONGTEXT DEFAULT NULL,
`stash_point` LONGTEXT DEFAULT NULL,
`wardrobe_point` LONGTEXT DEFAULT NULL,
`zone` LONGTEXT DEFAULT NULL,
`kind` VARCHAR(16) NOT NULL DEFAULT 'interior',
`furniture` LONGTEXT DEFAULT NULL,
`upgrades` LONGTEXT DEFAULT NULL,
`cameras` LONGTEXT DEFAULT NULL,
`doors` LONGTEXT DEFAULT NULL,
`blip` LONGTEXT DEFAULT NULL,
PRIMARY KEY (`id`),
KEY `owner` (`owner`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;
-- Who disconnected inside which house, so they are put back on rejoin.
CREATE TABLE IF NOT EXISTS `agency_house_inside` (
`identifier` VARCHAR(80) NOT NULL,
`house_id` INT NOT NULL,
`since` DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP,
PRIMARY KEY (`identifier`),
KEY `house_id` (`house_id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;
-- Outfits of the built-in wardrobe.
CREATE TABLE IF NOT EXISTS `agency_house_outfits` (
`id` INT NOT NULL AUTO_INCREMENT,
`identifier` VARCHAR(80) NOT NULL,
`name` VARCHAR(40) NOT NULL,
`model` INT NOT NULL,
`data` LONGTEXT NOT NULL,
`created_at` DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP,
PRIMARY KEY (`id`),
KEY `identifier` (`identifier`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;
-- Agency Companion app: this server's id and the linked phones.
CREATE TABLE IF NOT EXISTS `agency_housing_cmp_meta` (
`k` VARCHAR(64) NOT NULL PRIMARY KEY,
`v` TEXT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;
CREATE TABLE IF NOT EXISTS `agency_housing_cmp_devices` (
`id` INT NOT NULL AUTO_INCREMENT,
`identifier` VARCHAR(60) NOT NULL,
`player_name` VARCHAR(80) DEFAULT NULL,
`token_hash` CHAR(64) NOT NULL,
`device_name` VARCHAR(64) DEFAULT NULL,
`created_at` TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP,
`last_seen` TIMESTAMP NULL DEFAULT NULL,
`revoked` TINYINT(1) NOT NULL DEFAULT 0,
PRIMARY KEY (`id`),
UNIQUE KEY `token_hash` (`token_hash`),
KEY `identifier` (`identifier`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;