الإعداد
توجد إعدادات هذا الدليل في config.lua. عدّل الحقول في الجداول الموجودة وأعد تشغيل المورد لتطبيق التغييرات.
القيم الأولية والإعدادات المحفوظة
تُستخدم المتاجر وقواعد التقدم الموجودة في الملف كإعداد أولي. بعد حفظها من لوحة الإدارة، تظل قيمها الفعلية محفوظة بين مرات إعادة التشغيل. تعديلها في الملف لا يستبدل تلقائيًا القيم المحفوظة؛ استخدم اللوحة لتحديث المتاجر والقواعد وخيارات النظام التي سبق تهيئتها.
تُضبط اللغة وموفّرو الخدمات والجسور والكاميرا وملابس المعاينة في الملف. وتُشرح المصادر والوشوم في الكتالوج والحزم.
اللغة العامة
Config.Locale = 'es'
Config.LocaleFallback = 'en'
يحدد Locale لغة الواجهة والرسائل لجميع اللاعبين. أعد تشغيل المورد بعد تغييره؛ ولا يستطيع اللاعب تغييره من NUI. أما LocaleFallback فهي لغة الرجوع الاحتياطية.
اللغات المضمنة: en وes وpt-BR وfr وde وit وpl وru وtr وth وar. تستخدم الواجهة العربية اتجاه القراءة من اليمين إلى اليسار.
نظام الهوية
يضبط Config.Identity التكامل مع نظام الهوية في الخادم. ويحدد كيفية الحصول على معرّف الشخصية أو الحساب الذي يستخدمه المورد لحفظ الوشوم ونقاط XP والمخططات واستعادتها.
Config.Identity.mode = 'auto'
Config.Identity.qbxResource = 'qbx_core'
| الوضع | الاستخدام |
|---|---|
auto | في Qbox، يستخدم معرّف الشخصية النشطة (citizenid). وفي الخوادم الأخرى، يستخدم معرّف FiveM الثابت. |
qbx_character | يستخدم صراحةً معرّف شخصية Qbox (citizenid). |
license | يستخدم ترخيص FiveM معرّفًا للحساب. تتشارك شخصيات ذلك الحساب الوشوم وXP والمخططات. |
اختر الوضع قبل إتاحة المورد للاعبين. تغييره لاحقًا يغيّر الهوية التي تُطلب بها البيانات، ولا ينقل البيانات تلقائيًا بين الأوضاع. لا تختر license إذا كنت تريد فصل الوشوم بين شخصيات الحساب الواحد.
إشعار التفاعل
Config.HelpText.enabled = true
Config.HelpText.provider = 'auto'
Config.HelpText.position = 'left-center'
| الحقل | القيم أو الأثر |
|---|---|
enabled | يعرض إشعار التفاعل للمتاجر ذات العلامة أو يخفيه. |
provider | auto أو ox_lib أو native. يستخدم auto واجهة TextUI إن كانت متاحة، وإلا فيعرض الإشعار الأصلي. |
position | left-center أو right-center أو top-center أو bottom-center، وذلك لواجهة TextUI. |
style | الألوان والحدود والظل والخط والمسافة الداخلية لواجهة TextUI. |
مثال على التنسيق:
Config.HelpText.style.backgroundColor = '#172328'
Config.HelpText.style.color = '#eef3f3'
Config.HelpText.style.fontSize = '15px'
المتاجر الأولية
يتضمن Config.Shops ستة مواقع. لتغيير مدخل أولي، حافظ على بنيته:
{
label = 'Tattoo Studio',
coords = vector3(322.62, 180.34, 103.59),
heading = 156.2,
drawDistance = 10.0,
interactDistance = 1.5,
shopRadius = 4.0,
marker = {
type = 1,
scale = vector3(1.0, 1.0, 1.0),
color = { r = 255, g = 100, b = 0, a = 100 },
},
},
| الحقل | الاستخدام |
|---|---|
label | اسم المتجر. |
coords, heading | الموقع والاتجاه. |
drawDistance | مسافة عرض العلامة. |
interactDistance | مسافة التفاعل. |
shopRadius | نصف القطر الذي يُسمح داخله بتنفيذ عملية المتجر. |
marker.type, scale, color | مظهر العلامة. |
اجعل interactDistance ضمن shopRadius. وبالنسبة إلى المتاجر المنشأة بالفعل، استخدم قسم المتاجر في لوحة الإدارة؛ فلا تتوقع أن يعيد تعديل الملف إنشاء تلك المتاجر أو استبدالها.
المستويات وXP
إعداد Config.Levels | القيمة الأولية | الاستخدام |
|---|---|---|
enabled | true | يفعّل التقدم والمتطلبات والخصومات. |
maxLevel | 10 | الحد الأقصى للمستوى. |
defaultXpPerTattoo | 10 | نقاط XP للوشم الذي لا يحدد قيمة Xp. |
thresholds | المستويات من 1 إلى 10 | إجمالي XP المطلوب لكل مستوى. |
formula.base, formula.exponent | 100, 1.5 | معاملا الصيغة البديلة لحساب عتبات المستويات. |
zoneRequirements | 1 لكل منطقة | متطلب المنطقة عند عدم وجود متطلب خاص بالوشم. |
discounts | مفعلة، 3 لكل مستوى، والحد الأقصى 25 | الخصم بالنسبة المئوية. |
blueprintSlots | أساس 5 وزيادة 3 | خانات المخططات بحسب المستوى. |
يجب أن تبدأ العتبات بالمستوى 1 مع 0 XP، ثم تتتابع من دون تخطٍ مع زيادة XP المطلوبة:
Config.Levels.thresholds = {
{ level = 1, xpRequired = 0 },
{ level = 2, xpRequired = 100 },
{ level = 3, xpRequired = 250 },
}
Config.Levels.maxLevel = 3
يُحسب الخصم بضرب المستوى في perLevel، مع تقييده بقيمة maxDiscount. وفق القيم الأولية، يحصل المستوى 5 على خصم 15%، والحد الأقصى للخصم هو 25%.
تُحسب الخانات بضرب المستوى ناقص 1 في perLevel، ثم إضافة base. وفق الإعداد الأولي، يتوفر للمستوى 1 عدد 5 خانات، وللمستوى 5 عدد 17 خانة.
تكون الأولوية لقيمة RequiredLevel المحددة للوشم في الكتالوج على متطلب المنطقة. راجع حقول الكتالوج.
عند تعطيل المستويات، لا تُطبّق قيود المستوى أو XP أو الخصومات؛ ويُستخدم Config.Blueprints.maxPerPlayer حدًا للمخططات. لا يؤدي تعطيل النظام إلى حذف XP المحفوظة. وفي التثبيتات التي سبق تهيئتها، حدّث أيضًا الحالة الفعلية من لوحة الإدارة.
المخططات
تحفظ المخططات مجموعات من الوشوم وتتيح مشاركتها باستخدام رموز. وتوجد حدودها الأولية في Config.Blueprints:
| الحقل | القيمة الأولية | الاستخدام |
|---|---|---|
enabled | true | يفعّل النظام. |
codePrefix | INK | بادئة الرموز، مثل INK-A3X9. |
codeLength | 4 | عدد الأحرف بعد البادئة. |
maxPerPlayer | 20 | عدد الخانات المستخدمة عند عدم تفعيل التقدم. |
maxTattoosPerBlueprint | 50 | الحد الأقصى للوشوم في المجموعة. |
nameMaxLength | 60 | الحد الأقصى لعدد أحرف الاسم. |
يجهّز استرداد الرمز الوشوم ضمن خطوات الشراء؛ لكنه لا يمنح عملية شراء مجانية. اضبط الاقتصاد في التكاملات.
الكاميرا
| الجدول | ما يتحكم به |
|---|---|
CameraOffsets | العظمة المستهدفة والمسافة والإزاحات ومجال الرؤية لكل منطقة. |
CameraFraming | التكوين العام وإزاحة نقطة التركيز. |
CameraFramingBySide | إعدادات إضافية للمشهدين الأمامي والخلفي. |
CameraManualControls | عناصر التحكم اليدوية وخطوات الحركة والدوران والتقريب وحدودها. |
المناطق المضبوطة هي ZONE_HEAD وZONE_TORSO وZONE_LEFT_ARM وZONE_RIGHT_ARM وZONE_LEFT_LEG وZONE_RIGHT_LEG.
أمثلة على تغييرات محددة:
Config.CameraOffsets['ZONE_TORSO'].fov = 50.0
Config.CameraFraming.screenOffset = 0.35
Config.CameraManualControls.enabled = true
Config.CameraManualControls.step = 0.035
Config.CameraManualControls.zoomStep = 0.08
تُزيح قيمة screenOffset الموجبة الشخصية إلى اليسار لإفساح المجال للقائمة الموجودة على اليمين. يغيّر lookAtOffsetX/Y/Z نقطة التركيز؛ أما camOffsetX/Y/Z في إعدادات كل جانب فيغيّر موضع الكاميرا.
في عناصر التحكم اليدوية، تضبط horizontalDegrees وrotationStepDegrees الدوران. وتحدّ ranges.y/z وradialClamp وmaxDistance من الإزاحات. يضبط zoomCompositionMinBias توسيط الصورة عند التقريب. غيّر قيمة واحدة في كل مرة واختبر المناطق الست بشخصيات ذكورية وأنثوية.
ملابس المعاينة
يتيح Config.PreviewOutfit كشف مناطق الوشم أثناء فتح الواجهة:
Config.PreviewOutfit.enabled = true
Config.PreviewOutfit.useDefaultVariation = false
Config.PreviewOutfit.presets['mp_m_freemode_01'].components[11] = {
drawable = 15,
texture = 0,
}
تراعي الإعدادات المسبقة المضمنة mp_m_freemode_01 وmp_f_freemode_01. ويحدد كل مكوّن قيمتي drawable وtexture؛ أما clearProps فيزيل الإكسسوارات أثناء المعاينة. اضبط الفهارس لتناسب الملابس المثبتة في خادمك. أبقِ useDefaultVariation = false إذا كنت تريد تطبيق مكونات الإعداد المسبق فقط من دون إعادة ضبط المظهر كليًا.
الأذونات والاقتصاد وQbox
تجد شرح Config.Permissions وConfig.AdminCommand وConfig.Purchases وConfig.QbxMulticharacterPreview في التكاملات. اضبط الأسماء الفعلية لمواردك إذا كانت تختلف عن الأسماء الافتراضية.
التشخيص
يفعّل Config.Debug التشخيص العام. ويتيح Config.Permissions.debug مراجعة قرارات الوصول. أبقهما معطلين بعد الانتهاء.
يكون Config.DebugCommands.clientTattooCommand معطلًا في البداية. لا تفعّل هذا الأمر المرئي إلا للاختبار: فهو لا يحفظ الوشوم ولا يحل محل الشراء.