آموزش ساخت میشن Arma 3 به روش TFI.
در این مقاله سعی خواهیم کرد مبانی استفاده از این فریمورک را به شما یاد بدهیم
توجه: پیشنهاد میشود از یک کد ادیتور مانند NotePad++، Atom یا VScode استفاده کنید، برای همه ی اینها پکیچ های SQF هم موجود هست که خیلی کمک میکنند.
توجه: 3den Enhanced و HBQ spawner ماد های خیلی خوبی هستند پیشنهاد میشه از این دو استفاده کنید
ابتدا، باید پوشه میشن را ایجاد کنید. برای این کار، یک نقشه از ادیتور انتخاب کنید، سپس با فشردن کلیدهای ctrl+s
، میشن خود را در مسیر زیر ذخیره کنید: \Users\YOUR_USER\Documents\Arma 3 - Other Profiles\YOUR_PROFILE\mpmissions\
.
توجه: برای نامگذاری میشن، توصیه می شود از قرارداد نامگذاری زیر استفاده کنید
[TFI]_MissionMaker_OperationName.terrein
برای مثال
[TFI]_Misfit_CodeRed.altis
پس از ذخیره میشن، آخرین نسخه فریمورک را دانلود کرده و در پوشه میشن استخراج کنید.
https://codeload.github.com/Misfit-Ha/MalFramework-m/zip/refs/heads/master
در این بخش، یک نمودار و توضیح مختصری از پوشه هایی که دانلود کردید ارائه می شود:
mission_framework
├───config - حاوی تنظیمات میشن
│ ├───briefing - حاوی اطلاعات مربوط به هر جبهه
│ ├───debriefing - انواع پایان میشن
│ ├───gear - تجهیزات هر طرف
│ ├───img - هر تصویری که به میشن اضافه شده است (به طور پیش فرض شامل صفحه بارگذاری است)
│ ├───intel - تنظیمات اطلاعات
│ ├───config.cfg - فایل تنظیمات فریمورک و ماژول های آن
│ └───description.hpp - فایل تنظیمات میشن آرما
│
├───core - ماژول ها
│ └─── ...
تمامی مواردی که باید ویرایش شوند، در پوشه config قرار دارند. اگر نیاز به توضیحات بیشتر در مورد هر یک از ماژول ها داشتید، می توانید فایل README
مربوط به آن را در پوشه core
مطالعه کنید.
حالا که پوشه میشن ایجاد شده است، می توانیم به پیکربندی تنظیمات اولیه میشن بپردازیم.
description.hpp
این فایل شامل تنظیمات کاربردی description.ext
میباشد که شما با آن آشنایی دارید.
ابتدا، Steam UID خود را جایگزین نمایید. این عمل به فریمورک اجازه میدهد تا شما را به عنوان سازنده میشن شناسایی کند و دسترسی به پنل ادمین و ابزارهای دیباگ را برای شما فراهم کند.
مورد بعدی مهم، تنظیم VCOM AI است. اگر تمایل دارید از این ماژول استفاده کنید، باید آن را از حالت کامنت خارج کنید (لطفاً تاثیر این مود بر روی FPS را مد نظر داشته باشید).
توضیحات بیشتر درباره متغیرهای دیگر در اینجا آمده است.
config.cfg
این فایل حاوی تنظیمات فریمورک است و به دو بخش تقسیم شده است: بخش اول شامل تنظیمات ضروری است که باید برای هر میشن تنظیم شود، و بخش دوم شامل ماژولهای اختیاری است.
ماژولهای اختیاری و نحوه استفاده از آنها در README
توضیح داده شده است، اما ابتدا ما تنظیمات ضروری را انجام میدهیم:
DEBUG
نمایش داده میشوند که به فرآیند تست میشن کمک میکند. مطمئن شوید که پس از اتمام ساخت، این گزینه را غیرفعال کنید. پیامهای INFO
، WARNING
و ERROR
حتی اگر حالت دیباگ غیرفعال باشد نیز نمایش داده میشوند.AUTO
ریسپان را به صورت Wave فعال کنید، به این صورت که پس از گذشت زمان مشخص، همه بازیکنهای مرده با هم ریسپان میشوند. MANUAL
به این معنی است که بازیکنهای مرده باید صبر کنند تا فرمانده به صورت دستی درخواست تقویت قوا را ارسال کند. همچنین میتوانید تیکتهای انفرادی را مشخص کنید که تعداد دفعاتی که میتوانند بمیرند را محدود میکند.CfgDebriefing.hpp
این فایل در mission_framework\debriefing\
قرار دارد و همه پایانهای بازی را از اینجا تنظیم میکند. به صورت پیشفرض به چهار قسمت تقسیم شده است:
| **Section** | **Description** |
| ------------------ | --------------------------------------------------- |
| Coop endings | Mission endings in cooperative mission type |
| TvT endings | Mission endings in team vs. team mission type |
| Game master ending | Ending for when the admin ends the mission manually |
| Custom ending(s) | Custom endings added by the mission maker |
در قدم بعد، پیشنهاد میشود که توضیحات پایانهایی که مایلید استفاده کنید را ویرایش کنید
توجه: اسم پایانهای پیشفرض را حذف نکنید، زیرا ممکن است باعث بروز مشکل در عملکرد فریمورک شود.
چند مثال از Endingها:
بیشتر پیکربندیها از طریق فریمورک انجام میشوند، اما برخی از تنظیمات باید حتماً در ادیتور، در قسمت Attributes انجام شوند.
ابتدا، Independends Allegiance
را بر اساس میشن خود تنظیم کنید.
توجه: اگر بازیکنان
GREENFOR
هستند، از تنظیماتREDFOR
فریمورک استفاده کنید. (Briefing module, Gear script etc.)
توجه: این فریمورک در میشنهای TvT محدود است و فعلاً فقط میشنهای
BLUFOR
در برابرREDFOR
را پشتیبانی میکند. بنابراین، اگر میشنTvT
ایجاد میکنید، به بازیکنانGREENFOR
ندهید.
مورد بعدی، مطمئن شوید که گزینه Binarize the Scenario File
غیرفعال است.
کار ما اینجا به پایان رسید.
در این قسمت، زمان، تاریخ و آب و هوا تنظیم میشوند.
در این بخش، دو مورد را باید تنظیم کنید:
اول از همه Summary را بنویسید، برای مثال:
German forces engage Russans in Chernarus. // Assets: 1x Puma ifv (callsign:
HAMMER) // Respawns: unlimited, Wave // Reinsert: RP // Arsenal mode: Alt
Loadouts // Time limit: disabled // JIP: enabled
مورد دومی که باید تغییر دهید، Respawn
است. آن را از Disabled
به Respawn on Custom Position
تغییر دهید.
توجه: حتی اگر بازی شما امکان ریسپان هم نداشته باشد، باید این کار را انجام دهید.
توجه: برای تنظیم ریسپان tooltip داخل بازی رو بخونید.
هیچ چیز دیگری را تغییر ندهید.
توصیه میشود از Dynamic simulation استفاده کنید. این کار AI هایی که در دید بازیکن نیستند را از کار میاندازد و باعث بهبود performance
میشود.
اطلاعات بیشتر اینجا
garbage collector توسط فریمورک تنظیم شده است، نیازی به دستکاری آن نیست.
حالا که تنظیمات اولیه درست شده است، باید اسلات بازیکنها را تنظیم کنیم. توصیه میشود از یونیتهای پیشفرض NATO
و CSAT
استفاده کنید زیرا ممکن است مدل برخی از یونیتها با فریمورک سازگار نباشد.
به یاد داشته باشید که ترتیبی که یونیتها را قرار میدهید، با همین ترتیب در صفحه Slotting نشان داده میشود، اما اگر از مد 3den Enhanced استفاده میکنید، میتوانید این ترتیب را تغییر دهید.
حالا که ترتیب تیمها درست شده است، روی آیکن گروه یا مربع بالای سر رهبر کلیک کنید و نام تیم را بنویسید.
راه بهتر هم کپی کردن این کد در init گروه است:
this setGroupId ['ALPHA']
مرحله بعدی این است که باید اسلات هر بازیکن را به این صورت تنظیم کنید:
توجه: پارامترهایی که با "Optional" مارک شدهاند اختیاری هستند و میتوانید آنها را خالی بگذارید، اما به ترتیب پارامترها دقت کنید (برای مثال، دومین پارامتر همیشه نام Gear است).
توجه: پارامتر دوم ID منحصر به فرد مشخص شده در فایل gear است. 2. Playable: اگر یونیت بازیکن است، تیک خورده باشد. 3. Role description: نام یونیت در صفحه انتخاب اسلات. اگر یونیت رهبر گروه بود، از فرمت زیر استفاده کنید:
ROLE_NAME@GROUP_NAME
برای مثالSquad Leader@ALPHA
به این صورت 4. Rank: اگر دوست داشتید، میتوانید درجه را هم مشخص کنید.
.حالا که اسلات بازیکن ها تنظیم شدند وارد مرحله ی بعد میشویم
گام بعدی، تنظیم تجهیزات بازیکنها است. تجهیزات توسط اسکریپت gear تنظیم میشوند، بنابراین وسایلی که در ادیتور قرار میدهید، اضافی هستند.
بازی خود را ذخیره کنید، به صفحه اصلی بازی برگردید و ACE Arsenal را باز کنید.
تجهیزات مناسب برای نقشهایی که در بخش بازیکنها ایجاد کردهاید را انتخاب کنید و روی Export کلیک کنید.
لوداوتی که اکسپورت شده است را در فایل اسکریپت تجهیزات (mission_framework\config\gear\
) کپی کنید.
(فایلی که شما کپی میکنید، ممکن است مانند نمونه، فرمت زیبایی نداشته باشد و ممکن است کمی مشکل ساز باشد، برای حل این مشکل میتوانید از این ابزار استفاده کنید)
[
// Primary weapon
["arifle_SPAR_01_blk_ERCO_Pointer_F","","acc_pointer_IR","optic_ERCO_blk_F",["30Rnd_556x45_Stanag_red",30],[],""],
// Launcher
[],
// Secondary weapon
["hgun_P07_khk_Snds_F","muzzle_snds_L","","",["16Rnd_9x21_Mag",17],[],""],
// Uniform
["U_B_CTRG_Soldier_F",[["FirstAidKit",1],["30Rnd_556x45_Stanag_Tracer_Red",2,30],["30Rnd_556x45_Stanag_red",1,30],["SmokeShell",1,1]]],
// Vest
["V_TacVest_oli",[["30Rnd_556x45_Stanag_red",2,30],["16Rnd_9x21_Mag",2,17],["MiniGrenade",2,1],["SmokeShellGreen",1,1],["SmokeShellBlue",1,1],["SmokeShellOrange",1,1],["Chemlight_green",2,1]]],
// Backpack
["B_RadioBag_01_tropic_F"],
// Helmet
"H_HelmetB_TI_tna_F",
// Facewear
"G_Balaclava_TI_G_tna_F",
// Binoculars
["Rangefinder","","","",[],[],""],
// Linked items
["ItemMap","ItemGPS","ItemRadio","ItemCompass","ItemWatch","NVGogglesB_grn_F"]
]
شما میتوانید لوداوت مانند مثالی از در فایل Gear قرار داده شده از آیتمهای تصادفی هم استفاده کنید، اما این کار اجباری نیست.
در اینجا، شما تمام کارهای اولیه را انجام دادهاید و میتوانید شروع به ساخت ماموریت خود کنید. اگر نیاز به توضیحات بیشتر داشتید، README
ماژولها را از از اینجا بخوانید.
CBA settings: در فریمورک، یک فایل تنظیمات CBA وجود دارد. شما میتوانید تنظیمات مورد نظر خود را در فایل cba_settings.sqf قرار دهید.