إعداد CXG-GTFAT
عدّل config.lua ثم أعد تشغيل CXG_GTFAT. تُحدد قيم الوزن بالكيلوغرام ويجب أن توافق شبكة الخطوات المضبوطة.
اللغة والوزن
Config.Locale = 'ar'
Config.Weight = {
minKg = 50,
maxKg = 180,
defaultKg = 75,
fatThresholdKg = 100,
stepKg = 0.5,
}
اللغات المتاحة: en وes وpt-BR وfr وde وit وpl وru وtr وth وar وsv وbr. تحتفظ br بالنصوص القديمة بالبرتغالية البرازيلية؛ ويوصى باستخدام pt-BR للاختيار العادي.
يتراوح الوزن الابتدائي بين 50 و180 كغ، والقيمة الافتراضية 75 كغ، ويبدأ Fat عند 100 كغ أو أكثر. يجب أن تكون minKg صفراً أو أكثر، وأن تكون stepKg موجبة، وأن يتحقق الشرط minKg <= defaultKg <= maxKg. يجب أن تكون العتبة أعلى من الحد الأدنى وألا تتجاوز الحد الأقصى. يجب أن تقع القيمة الافتراضية والعتبة والحد الأقصى على الشبكة التي تبدأ من minKg؛ مثلاً، عند حد أدنى قدره 50 كغ وخطوة 0.5 كغ، تكون 75 و100 كغ قيمتين صالحتين. يؤدي الإعداد غير الصالح إلى تعطيل عمليات الوزن.
تحوّل LB القيمة المعروضة فقط. يخزّن الخادم القيم بالكيلوغرام ويتحقق منها بهذه الوحدة.
الأوامر والصلاحيات
Config.Commands = {
enabled = true,
access = 'ace',
ace = 'cxg_gtfat.use',
job = nil,
group = nil,
custom = nil,
open = 'fatweight',
control = 'fatdecal',
}
عند التفعيل، تُسجّل الأوامر المضبوطة. أمر الفتح الافتراضي هو /fatweight وأمر التحكم هو /fatdecal. يقبل أمر التحكم on أو off أو status أو ui. يرفع on الوزن إلى العتبة على الأقل، ويخفضه off إلى ما لا يزيد على خطوة واحدة دون العتبة. هذه الأوامر ليست مفاتيح مستقلة لتغيير المظهر.
| access | السلوك |
|---|---|
| ace | يتطلب صلاحية ACE المحددة في ace. وهو الوضع الافتراضي. |
| everyone | يسمح لأي لاعب يجتاز فحوص الخادم بالاستخدام. |
| jobs, groups, custom | يتطلب تنفيذ السياسة في bridge/server.lua؛ ولا يتصل تلقائياً بإطار العمل. |
لمنح المسؤولين وصول ACE:
add_ace group.admin cxg_gtfat.use allow
يمكن لقائمة أو target طلب فتح الواجهة، لكن الخادم يظل يتحقق من الصلاحية. لا يمنع إيقاف تسجيل الأوامر مورداً خادمياً آخر من استدعاء export OpenWeightUI.
المحطات
لا يتم تفعيل أي ميزان فعلي بعد التثبيت. أضف سجلاً لمحطة إلى Config.Stations، واستخدم مفتاحاً فريداً، وأدخل الإحداثيات الفعلية، ثم فعّله.
Config.Interaction = {
key = 'E',
streamDistance = 60.0,
}
Config.Stations = {
gimnasio = {
enabled = true,
coords = { x = 0.0, y = 0.0, z = 0.0 },
heading = 0.0,
distance = 1.8,
bucket = 0,
access = 'ace',
ace = 'cxg_gtfat.use',
job = nil,
group = nil,
custom = nil,
model = false,
spawnProp = false,
},
}
استبدل الإحداثيات المثالّية. تدعم distance مسافة تصل إلى 5 أمتار. يجب أن تطابق bucket قيمة routing bucket الخاصة بالمحطة، وعادةً تكون 0. لكل محطة سياسة access خاصة بها.
| النمط | الإعدادات | النتيجة |
|---|---|---|
| نقطة بلا كائن | model = false, spawnProp = false | تفاعل غير مرئي عند الإحداثيات المحددة. |
| كائن موجود | model = 'اسم_النموذج', spawnProp = false | يجب أن يوجد النموذج على بُعد متر واحد من الإحداثيات. لا يزيله المورد. |
| كائن يُنشأ محلياً | model = 'اسم_النموذج', spawnProp = true | ينشئ كائناً محلياً ثابتاً عند الاقتراب ويزيله عند الابتعاد أو إيقاف المورد. |
لا تضع نقطة التفاعل الكائن على الأرض تلقائياً. اجعل coords نقطة أصل الكائن الفعلية وheading اتجاهه. يستخدم التنبيه E افتراضياً؛ ويمكن للاعب إعادة تعيين «استخدام الميزان» في FiveM Settings > Key Bindings.
يدعم المحوّل الافتراضي ace وeveryone. تتطلب الأنماط الأخرى تنفيذاً على الخادم. لا تمنح المطالبة أو الكائن صلاحية؛ إذ يعيد الخادم التحقق من الإذن والقرب.
الحفظ لكل شخصية
Config.Persistence = { framework = 'none' }
| الوضع | الاستخدام |
|---|---|
| none | افتراضي. للجلسة فقط؛ وبعد الاتصال مجدداً أو إعادة التشغيل تُستخدم defaultKg. |
| qb | يحدد الشخصية من خلال qb-core وcitizenid الخاص بها. |
| esx | يحدد الشخصية من خلال es_extended والمعرّف الخاص بها. |
| custom | يستخدم GTFatCustomCharacterId(source) في identity.lua. |
لا يكتشف المورد Qbox تلقائياً. في الخوادم متعددة الشخصيات، أعدّ معرّفاً ثابتاً وفريداً لكل شخصية عبر خيار متوافق أو محوّل خاص. لا تستخدم معرّفاً مشتركاً بين الشخصيات ولا تقبل معرّفاً يرسله العميل. في وضع custom، أعد nil إلى أن يتم تحميل الشخصية.
يُخزّن الوزن الدائم منفصلاً عن الملابس والأزياء. حافظ على اسم المورد CXG_GTFAT وانسخ تخزين KVP الخاص بالخادم احتياطياً مع بقية البيانات الدائمة.