انتقل إلى المحتوى
CXGdocs.الأدلة
cxg-tattoosالإعداد
CXG DOCUMENTATION

الإعداد

توجد إعدادات هذا الدليل في 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يعرض إشعار التفاعل للمتاجر ذات العلامة أو يخفيه.
providerauto أو ox_lib أو native. يستخدم auto واجهة TextUI إن كانت متاحة، وإلا فيعرض الإشعار الأصلي.
positionleft-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القيمة الأوليةالاستخدام
enabledtrueيفعّل التقدم والمتطلبات والخصومات.
maxLevel10الحد الأقصى للمستوى.
defaultXpPerTattoo10نقاط XP للوشم الذي لا يحدد قيمة Xp.
thresholdsالمستويات من 1 إلى 10إجمالي XP المطلوب لكل مستوى.
formula.base, formula.exponent100, 1.5معاملا الصيغة البديلة لحساب عتبات المستويات.
zoneRequirements1 لكل منطقةمتطلب المنطقة عند عدم وجود متطلب خاص بالوشم.
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:

الحقلالقيمة الأوليةالاستخدام
enabledtrueيفعّل النظام.
codePrefixINKبادئة الرموز، مثل INK-A3X9.
codeLength4عدد الأحرف بعد البادئة.
maxPerPlayer20عدد الخانات المستخدمة عند عدم تفعيل التقدم.
maxTattoosPerBlueprint50الحد الأقصى للوشوم في المجموعة.
nameMaxLength60الحد الأقصى لعدد أحرف الاسم.

يجهّز استرداد الرمز الوشوم ضمن خطوات الشراء؛ لكنه لا يمنح عملية شراء مجانية. اضبط الاقتصاد في التكاملات.

الكاميرا

الجدولما يتحكم به
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 معطلًا في البداية. لا تفعّل هذا الأمر المرئي إلا للاختبار: فهو لا يحفظ الوشوم ولا يحل محل الشراء.

تابع إلى الكتالوج.

CXG · التوثيقأساس جيد. إمكانيات لا حدود لها.
الإعداد · cxg-tattoos · CXG Docs