# التثبيت

يستخدم هذا الدليل حزمة التوزيع التي تتضمن واجهة مبنية مسبقًا. لا تحتاج إلى Node.js ولا إلى إعادة بناء الواجهة لتثبيتها.

## المتطلبات

| المكوّن | متى تحتاج إليه |
| --- | --- |
| `oxmysql` واتصال فعّال بقاعدة البيانات | مطلوب لحفظ بيانات المورد. |
| Qbox أو QBCore أو ESX | إذا كنت تستخدم اقتصادها وأذوناتها. يمكنك ربط اقتصاد آخر عبر عمليات استدعاء مستقلة. |
| حزم الوشم | اختيارية. يمكنك تثبيت أي عدد منها. |
| `ox_lib` | اختياري لإشعار TextUI؛ يتوفر بديل أصلي. |
| نظام المظهر | إذا كان خادمك يستخدمه، فراجع [جسر المظهر](https://docs.cxgstudios.com/docs/ar/01-cxg-tattoos/05-integraciones.md#المظهر-وتحميل-الشخصية). |

تُشارك المخططات عبر رموز. لا تحتاج إلى إضافة عنصر إلى المخزون لاستخدام الإعداد المرفق.

## ضع المورد

1. فك ضغط الحزمة في أحد مجلدات موارد خادمك.
2. نستخدم في هذه الأدلة `cxg-tattoos` اسمًا للمجلد. إذا كان اسم مجلدك مختلفًا، فاستخدم اسمه الفعلي في أوامر `ensure` و`restart`.
3. احتفظ ببنية الملفات المرفقة. تحقق من وجود `config.lua` و`shared/tattoos.json` و`bridge/` و`ui/dist/index.html` مع ملفات الحزمة.
4. اضبط اتصال قاعدة البيانات وتأكد من أن `oxmysql` يعمل على نحو سليم.

## ترتيب التشغيل

مثال باستخدام Qbox ومن دون حزم خارجية:

```cfg
ensure oxmysql
ensure qbx_core
ensure cxg-tattoos
```

إذا كنت تستخدم QBCore أو ESX، فاستبدل `qbx_core` بـ `qb-core` أو `es_extended`. شغّل نظام المظهر قبل المورد إذا كنت تستخدمه. أما في وضع standalone، فاضبط أولًا [عمليات استدعاء المدفوعات والأذونات](https://docs.cxgstudios.com/docs/ar/01-cxg-tattoos/05-integraciones.md).

إذا كانت لديك حزم، فشغّل الحزم المثبّتة فقط قبل المورد. على سبيل المثال:

```cfg
ensure oxmysql
ensure qbx_core
ensure xgc_TattooClasic
ensure xgc_TattooGangs
ensure cxg-tattoos
```

لا تضف أسطر `ensure` لحزم لا تملكها. يمكن إبقاء المصادر الافتراضية في `Config.TattooCatalog.sources`؛ إذ يتم تخطي الحزم التي لم يبدأ تشغيلها.

## التشغيل الأول

يجهّز المورد مساحة التخزين تلقائيًا. لا تحتاج إلى استيراد مخطط يدويًا عند التثبيت الجديد.

قبل التجربة، راجع الملف `config.lua`:

- `Config.Locale`: اللغة العامة.
- `Config.Purchases`: الاقتصاد وحسابات التحصيل.
- `Config.Permissions`: صلاحيات الإدارة.
- `Config.Identity`: نظام الهوية في الخادم والمعرّف المستخدم لحفظ بيانات اللاعب واستعادتها. راجع [نظام الهوية](https://docs.cxgstudios.com/docs/ar/01-cxg-tattoos/03-configuracion.md#نظام-الهوية).
- `Config.Shops`: المواقع الأولية للمتاجر.

اقترب من متجر مضبوط واستخدم التفاعل الخاص به. تحقق من الكتالوج والمعاينة وإتمام عملية شراء بشخصية تجريبية. أعد تحميل الشخصية للتحقق من احتفاظها بالوشم.

يمكن ضبط الأمر الإداري المرفق في `Config.AdminCommand`؛ واسمه الافتراضي `/tattooadmin`. راجع [الأذونات والمدفوعات](https://docs.cxgstudios.com/docs/ar/01-cxg-tattoos/05-integraciones.md) قبل استخدامه.

## تطبيق التغييرات

بعد تعديل `config.lua` أو أحد الجسور، احفظ الملف وأعد تشغيل المورد:

```cfg
restart cxg-tattoos
```

تُقرأ مصادر الكتالوج مجددًا عند بدء التشغيل، ويمكن مزامنتها من لوحة الإدارة. تظل الإعدادات المحفوظة من اللوحة كما هي؛ لذا راجع [الإعداد](https://docs.cxgstudios.com/docs/ar/01-cxg-tattoos/03-configuracion.md) و[الكتالوج](https://docs.cxgstudios.com/docs/ar/01-cxg-tattoos/04-catalogo.md) قبل توقع أن تستبدلها قيمة موجودة في الملف.

## مشكلات شائعة

| العَرَض | ما ينبغي التحقق منه |
| --- | --- |
| المورد لا يبدأ | تحقق من تشغيل `oxmysql`، وسلامة الاتصال، واكتمال الحزمة. |
| حزمة غير موجودة في المتجر | تحقق من تشغيل موردها، ومن أن `enabled` ليست `false`، ومن مطابقة مسار JSON لمسار الحزمة. |
| الواجهة فارغة | تحقق من نسخ `ui/dist/index.html` والملفات المشار إليها في `ui/dist/assets/` معًا. |
| اللوحة ترفض الوصول | تحقق من `Config.AdminCommand.permission` وربط الأذونات والأدوار أو إعداد ACE. |
| رُفض الدفع | تحقق من إطار العمل المختار، وأسماء الموارد، والرصيد، وعمليات الاستدعاء المستقلة عند انطباقها. |
| ظهور تفاعلين للوشم في المكان نفسه | تحقق مما إذا كان مورد آخر للمظهر أو المتاجر يفعّل الموقع نفسه أيضًا. أبقِ مدخلًا واحدًا للمتجر الذي تريد استخدامه. |
| لم يُطبّق تغيير المتجر أو المستوى | تحقق مما إذا كان هناك إعداد محفوظ بالفعل من اللوحة. عدّل القيمة الفعلية هناك. |

يمكنك تفعيل `Config.Debug` و`Config.Permissions.debug` مؤقتًا لتشخيص المشكلات. أوقفهما بعد الانتهاء.

[تابع إلى الإعداد](https://docs.cxgstudios.com/docs/ar/01-cxg-tattoos/03-configuracion.md).
