دليل fxmanifest.lua: اتقن ملف تعريف مورد FiveM
اكتب fxmanifest.lua نظيفًا في كل مرة. السكريبتات، صفحات الواجهة، التبعيات، الملفات المشتركة وكل المفاتيح المهمة لموارد FiveM الحديثة.
Agency Scripts
المؤسس والمطور الرئيسي في Agency Scripts
ما هو fxmanifest.lua؟
كل مورد FiveM يتطلب ملف manifest يخبر السيرفر بما يحتويه المورد وكيفية تحميله. ال fxmanifest.lua الملف يحل محل __resource.lua التنسيق ويوفر طريقة نظيفة وتصريحية لتعريف بيانات المورد الخاصة بك. يحدد هذا الملف أي السكربتات تعمل على العميل، وأيها تعمل على الخادم، وملفات NUI التي يجب تضمينها، واعتمادات المورد، وبيانات وصفية إضافية. الحصول على ملف التعريف بشكل صحيح أمر ضروري لأن الأخطاء هنا قد تمنع تحميل المورد بالكامل.
الحقول المطلوبة
يجب أن يبدأ كل ملف تعريف بحقلين مطلوبين: fx_version و games. ال fx_version يحدد إصدار تنسيق البيان، مع 'cerulean' كونه المعيار الحالي الذي يدعم كل الميزات الحديثة. ال games الحقل يحدد اللعبة التي يدعمها المورد، عادةً {'gta5'} لـ FiveM. حذف أي من هذه الحقول سيسبب فشل تحميل المورد بالكامل، لذا قم دائمًا بتضمينها كأول سطرين في البيان الخاص بك.
تصريحات السكريبت
استخدم client_scripts, server_scripts، و shared_scripts لإعلان ملفات Lua الخاصة بك. تعمل سكربتات العميل على جهاز لاعب اللعبة وتتولى العرض، الإدخال، والتفاعل المحلي مع اللعبة. تعمل سكربتات الخادم على الخادم وتتولى المنطق السلطوي، عمليات قاعدة البيانات، وإدارة اللاعبين. تعمل السكربتات المشتركة على الجانبين وتكون مفيدة لملفات التكوين، دوال الأدوات، والثوابت المشتركة. يمكنك استخدام أنماط glob مثل 'client/*.lua' لتضمين جميع الملفات في دليل، لكن قوائم الملفات الصريحة تمنحك التحكم في ترتيب التحميل.
إعلانات NUI والملفات
إذا كان المورد الخاص بك يتضمن واجهة مستخدم، أعلن عن ملف HTML الإدخالي باستخدام ui_page 'html/index.html'. ثم قم بإدراج جميع أصول الويب التي يحتاجها واجهة المستخدم الخاصة بك في files جدول، يشمل HTML وCSS وJavaScript والصور والخطوط. فقط الملفات المدرجة هنا ستكون متاحة لمتصفح NUI. استخدم أنماط glob مثل 'html/**/*' لتضمين أدلة كاملة. تذكر أن ملفات NUI تُرسل إلى العميل أثناء تحميل المورد، لذا حافظ على تحسين أصول الويب لتقليل أوقات التنزيل واستخدام النطاق الترددي.
الاعتمادات وترتيب التحميل
أعلن عن تبعيات الموارد باستخدام dependencies الحقل لضمان بدء الموارد المطلوبة قبل مواردك. التبعيات الشائعة تشمل موارد الإطار مثل qb-core أو es_extended، موارد قاعدة البيانات مثل oxmysql، والمكتبات المشتركة. إذا لم يتم بدء تبعية، سيفشل المورد الخاص بك في التحميل ويسجل تحذيراً. استخدم provide للدلالة على أن المورد الخاص بك يعمل كبديل لآخر، وهو أمر مفيد عند إنشاء جسور إطار العمل أو تنفيذات بديلة للسكربتات الشائعة.
ميزات متقدمة للمانيفست
يدعم البيان عدة توجيهات إضافية لحالات استخدام متخصصة. استخدم data_file لتحميل ملفات بيانات GTA مثل weapon metas، handling files، أو بيانات نموذج المركبة. ال export و server_export الحقول تعلن عن دوال يمكن لموارد أخرى استدعاؤها. أضف بيانات وصفية مع description, author، و version الحقول لأغراض التوثيق. ال lua54 تفعيل توجيه Lua 5.4 عند ضبطه على 'yes'، يمنحك الوصول إلى القسمة الصحيحة، عوامل التشغيل على مستوى البت، وتحسينات لغوية أخرى يمكن أن تبسط السكربتات المعقدة.