Agency Docs
QBESXStandalone

Agency-Shops التثبيت

كل متجر 24/7 وLTD وRob's Liquor ومتجر أجهزة وAmmu-Nation ومحطة وقود على الخريطة في سكربت واحد لـ FiveM.

v1.0.0مدفوع5 صفحاتاعتبارًا من October 19, 2026, 20:00 CEST

01التثبيت

  1. 1Extract Agency-Shops into your resources folder
  2. 2تأكد من تفعيل OneSync على خادمك
  3. 3Add ensure Agency-Shops to server.cfg, after your framework, your inventory and oxmysql
  4. 4شغل الخادم: يتم إنشاء جداول قاعدة البيانات عند التشغيل الأول (ملف install/agency_shop.sql مطلوب فقط إذا كان مستخدم قاعدة البيانات لا يملك صلاحية إنشاء الجداول)
  5. 5أضف add_ace group.admin agency.shop allow لمنح المسؤولين الوصول إلى لوحة /ashops
  6. 6هل تشغل qb-shops أو esx_shops أو متاجر ox_inventory؟ قم بإزالة إدخالات 24/7 الخاصة بها، وإلا سيقف كاشيران خلف نفس المنصة
  7. 7هل تشغل qb-storerobbery أو سكربت مشابه؟ عطل أحدهما، أو اضبط Config.Robbery.Enabled = false
  8. 8هل تشغل سكربت وقود بمضخات خاصة به؟ عطل التفاعل مع مضخاته، أو اضبط Config.GasStations.Enabled = false
  9. 9الوضع المستقل (Standalone): املأ Config.Standalone للأموال والعناصر (راجع صفحة الإعدادات)
  10. 10اختياري: ضع عناوين Discord webhook في config_server.lua، والذي لا يتم إرساله أبداً للاعبين

02المتطلبات

  • oxmysql (مطلوب)
  • OneSync (مطلوب)
  • QBCore أو QBox أو ESX (اختياري، يعمل بدونها في الوضع المستقل)
  • نظام حقيبة (اختياري: ox_inventory أو qs-inventory أو الخاص بإطار عملك، يتم اكتشافه تلقائياً)
  • Agency Phone (اختياري، يضيف Agency Pay كوسيلة دفع)
  • Agency-Notify (اختياري، وإلا يعرض المتجر رسائله الخاصة)
  • ox_target أو qb-target (اختياري، وإلا يتم استخدام موجه الأزرار)
  • ps-dispatch أو cd_dispatch (اختياري، لتنبيهات السطو وسرقة المتاجر، وإلا يتم استخدام تنبيه مدمج)
  • سكربت وقود (اختياري: LegacyFuel أو ox_fuel أو cdn-fuel أو ps-fuel أو lc_fuel أو Renewed-Fuel أو okokGasStation أو qs-fuelstations، وإلا سيعمل نظام الوقود المدمج)

03ملف SQL

اختياري: ينشئ المورد هذه الجداول بنفسه عند بدء التشغيل. استورد هذا الملف فقط إذا كنت تُعدّ قاعدة البيانات يدويًا:

-- ============================================================================= -- AGENCY SHOP - database tables -- Created automatically on start (Config.AutoApplySql = true). Run this file by -- hand only if your database user may not create tables. -- ============================================================================= CREATE TABLE IF NOT EXISTS `agency_shop_owned` ( `id` VARCHAR(64) NOT NULL, `kind` VARCHAR(16) NOT NULL DEFAULT 'store', `owner` VARCHAR(80) NOT NULL, `owner_name` VARCHAR(120) NOT NULL DEFAULT '', `name` VARCHAR(60) NULL DEFAULT NULL, `balance` INT NOT NULL DEFAULT 0, `prices` LONGTEXT NULL, `stock` LONGTEXT NULL, `staff` LONGTEXT NULL, `fuel` INT NOT NULL DEFAULT 0, `fuel_prices` LONGTEXT NULL, `sales_total` INT NOT NULL DEFAULT 0, `revenue_total` BIGINT NOT NULL DEFAULT 0, `last_sale` TIMESTAMP NULL DEFAULT NULL, `bought_at` TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP, PRIMARY KEY (`id`), KEY `owner` (`owner`) ); CREATE TABLE IF NOT EXISTS `agency_shop_orders` ( `id` INT NOT NULL AUTO_INCREMENT, `shop` VARCHAR(64) NOT NULL, `kind` VARCHAR(16) NOT NULL DEFAULT 'goods', `items` LONGTEXT NULL, `crates` INT NOT NULL DEFAULT 0, `litres` INT NOT NULL DEFAULT 0, `cost` INT NOT NULL DEFAULT 0, `fee` INT NOT NULL DEFAULT 0, `status` VARCHAR(16) NOT NULL DEFAULT 'open', `courier` VARCHAR(80) NULL DEFAULT NULL, `courier_name` VARCHAR(120) NULL DEFAULT NULL, `eta` INT NULL DEFAULT NULL, `created_at` TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP, PRIMARY KEY (`id`), KEY `shop` (`shop`), KEY `status` (`status`) ); CREATE TABLE IF NOT EXISTS `agency_shop_points` ( `id` INT NOT NULL AUTO_INCREMENT, `shop` VARCHAR(64) NOT NULL, `kind` VARCHAR(16) NOT NULL, `x` DOUBLE NOT NULL, `y` DOUBLE NOT NULL, `z` DOUBLE NOT NULL, `h` DOUBLE NOT NULL DEFAULT 0, `category` VARCHAR(40) NULL DEFAULT NULL, PRIMARY KEY (`id`), KEY `shop` (`shop`) ); CREATE TABLE IF NOT EXISTS `agency_shop_ledger` ( `id` INT NOT NULL AUTO_INCREMENT, `shop` VARCHAR(64) NOT NULL, `kind` VARCHAR(24) NOT NULL, `amount` INT NOT NULL DEFAULT 0, `note` VARCHAR(160) NULL DEFAULT NULL, `created_at` TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP, PRIMARY KEY (`id`), KEY `shop` (`shop`) ); -- What admins change with /ashops: catalogs and store settings, laid over config.lua. CREATE TABLE IF NOT EXISTS `agency_shop_overrides` ( `kind` VARCHAR(16) NOT NULL, `id` VARCHAR(64) NOT NULL, `data` LONGTEXT NULL, `updated_at` TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP, PRIMARY KEY (`kind`, `id`) ); -- Every sale of an owned store or station, line by line: the owner's analytics. CREATE TABLE IF NOT EXISTS `agency_shop_sales` ( `id` INT NOT NULL AUTO_INCREMENT, `shop` VARCHAR(64) NOT NULL, `sale` VARCHAR(24) NOT NULL, `item` VARCHAR(64) NOT NULL, `qty` INT NOT NULL DEFAULT 0, `amount` INT NOT NULL DEFAULT 0, `account` VARCHAR(16) NOT NULL DEFAULT 'cash', `created_at` TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP, PRIMARY KEY (`id`), KEY `shop_time` (`shop`, `created_at`) );

+من المفيد معرفته

يعمل Agency-Shops مباشرة بعد سطر ensure. هناك أربع نقاط تستحق المراجعة قبل التشغيل الأول: ترتيب التشغيل، وقاعدة البيانات، وصلاحيات الإدارة، وسكربتات المتاجر أو السطو أو الوقود الأخرى.

ترتيب التشغيل وOneSync
ضع ensure Agency-Shops بعد إطار عملك وحقيبتك وoxmysql في server.cfg. يجب أن يكون OneSync مفعلاً، وoxmysql مطلوب.
قاعدة البيانات
يتم إنشاء الجداول agency_shop_owned و agency_shop_orders و agency_shop_points و agency_shop_ledger و agency_shop_overrides و agency_shop_sales عند أول تشغيل. الملف install/agency_shop.sql مطلوب فقط إذا كان مستخدم قاعدة البيانات لا يملك صلاحية إنشاء الجداول، وتعيين Config.AutoApplySql = false يوقف الخطوة التلقائية.
صلاحيات الإدارة
المسؤولون هم اللاعبون الذين يملكون ACE agency.shop أو group.admin أو group.superadmin، أو مجموعة من Config.Admin.Groups. يمنح الأمر add_ace group.admin agency.shop allow لوحة /ashops لمجموعة الإدارة لديك. في خوادم standalone يسرد Config.Standalone.admins التراخيص.
سكربتات المتاجر الأخرى
قم بإزالة مدخلات 24/7 من qb-shops أو esx_shops أو متاجر ox_inventory، وإلا سيقف كاشيران خلف نفس المنضدة. أوقف تشغيل qb-storerobbery والسكربتات المشابهة، أو عيّن Config.Robbery.Enabled = false. بالنسبة لسكربت الوقود الذي يمتلك مضخاته الخاصة، أوقف التفاعل مع مضخاته أو عيّن Config.GasStations.Enabled = false.

?الأسئلة المتكررة

أين توضع Discord webhooks؟

في config_server.lua، لكل من Ownership و Register و Deliveries و Shoplift و Robbery. هذا الملف لا يتم إرساله إلى اللاعبين أبدًا.

هل أحتاج إلى Agency Phone؟

لا. عندما يعمل agency-phone، يتوفر Agency Pay عند الدفع وعند المضخة تلقائيًا. بدونه يدفع اللاعبون نقدًا أو بالبطاقة.

ما زلت عالقًا بعد هذه الصفحة؟ فريق الدعم يتولّى الأمر من هنا.