Mordhau Guides 1.1.1 متاح الآن — الأدلة مستقرة، ونرحب دائمًا بالتصحيحات.

Skip to content

المخططات (Blueprints) ​

المخطط (Blueprint) هو نظام البرمجة المرئية في Unreal: فئة تبنيها في رسم بياني بدل كتابتها بلغة C++‎. وفي محرر Mordhau نادرًا ما تكتب مخططًا من الصفر؛ بل ترث شيئًا تشحنه اللعبة أصلًا وتغيّر الجزء الذي يهمك.

هذا هو التصور الذي يستحق أن تحمله قبل أن تفتح أي شيء:

  • فئات C++‎: كتبتها Triternion وتُصرَّف داخل اللعبة: MordhauGameMode، ControlPoint، MordhauPlayerStart، MordhauWeapon. لا يمكنك تعديلها.
  • أصول Blueprint: موجودة في /Game/Mordhau/Blueprints/… داخل Content Browser، وهي ما تستخدمه الخرائط والأوضاع الرسمية فعليًا. تُسمّى BP_شيء.
  • مخططاتك أنت: فئات فرعية من فئاتهم، تعيش في مجلد التعديل الخاص بك. وهذا كل ما تصنعه.

إبقاء عملك في مجلدك الخاص ليس مسألة ترتيب فحسب؛ فتعديل مخططات اللعبة في مكانها يُنتج تعديلًا يتعارض مع كل تعديل آخر فعل الشيء نفسه.

WARNING

المسارات وأسماء الخصائص أدناه مأخوذة من فئات اللعبة وأدوات المجتمع وملفات إعدادات الخوادم. والتحديثات تنقل الأشياء من مكانها. تحقّق من كل ما يهمّك داخل Content Browser لديك، وأخبرنا عندما تتغير الأمور.

وضع اللعب هو أول مخطط ستلمسه ​

كل وضع هو زوج: GameMode يملك القواعد ويعمل على الخادم، وGameState يحمل ما يجب أن يراه كل العملاء: المؤقّت، والنتائج، وحالة الأهداف.

الوضعالمخططات، ضمن /Game/Mordhau/Blueprints/GameModes/
DeathmatchBP_DeathmatchGameMode + BP_DeathmatchGameState
Team DeathmatchBP_TeamDeathmatchGameMode + BP_TeamDeathmatchGameState
SkirmishBP_SkirmishGameMode + BP_SkirmishGameState
FrontlineBattle/BP_FrontlineGameMode
HordeHorde/BP_HordeGameMode

وتتبع البقية التسمية نفسها BP_<الوضع>GameMode / BP_<الوضع>GameState، راجع المجلد بدل التخمين.

هذه هي الفئات نفسها التي يحررها مشرف الخادم في Game.ini، ولهذا يبدو السطر [/Game/Mordhau/Blueprints/GameModes/BP_DeathmatchGameMode.BP_DeathmatchGameMode_C] مألوفًا إن كنت قد قرأت دليل الخادم المخصص. مفاتيح الإعدادات وخصائص المخطط هي الخصائص ذاتها.

ما ترثه من MordhauGameMode ​

مهما كان الوضع الذي ترث منه، فهذه تأتي معه. وهي المقابض التي تحركها معظم الأوضاع المخصصة فعليًا:

الخاصيةالأثر
PlayerRespawnTime، bPlayersSpawnInWaves، bUsesSlowPlayerSpawningتوقيت إعادة الظهور، وهل يكون على شكل موجات
SpawnProtectionDurationمدة الحصانة بعد الظهور
DamageFactor، TeamDamageFactor، TeamDamageFlinchمعاملات الضرر العامة، بما فيها ضرر الفريق
bDisableDamage، bDisableStaminaتعطيل أنظمة القتال — أساس معظم الأوضاع غير القتالية
bPlayersDropAllGearOnDeath، bEquipmentDoesNotDespawn، OverrideEquipmentDespawnTimeسلوك العتاد المتساقط
KillScoreChange، KillTeamScoreChange، TeamKillScoreChange، AssistScoreFactor، bIsScoringDisabledاحتساب النقاط
AutoKickOnTeamKillAmountعقوبة قتل الزملاء
HorseRespawnTime، CatapultRespawnTime، BallistaRespawnTimeإعادة ظهور المركبات ومعدات الحصار
MapRotation، MapVoteMapsما الذي يأتي بعد المباراة

ثم الدوال والأحداث الجديرة بالمعرفة، لأنها نقاط التعليق للسلوك المخصص:

  • IsSpawnpointAllowed(PlayerStart, Controller) وGetSpawnpointPreference(PlayerStart, Controller): اختيار نقطة الظهور، وتعمل بالتوازي مع أحداث MordhauPlayerStart
  • OnAfterLogin وOnBeforeLogout: دخول اللاعبين وخروجهم
  • OnMessageBroadcasted وOnRconStringCommand: الدردشة وRCON، ومفيدة إن كان وضعك يجب أن يتفاعل مع أوامر الإدارة
  • GetNextMap وGetNextMaps وVoteLevel: التدوير والتصويت

المستويات الفرعية: مستوى لكل وضع لعب ​

خريطة Mordhau ليست مستوى واحدًا. بل مستوى أساسي يحمل الأشكال الهندسية، ومستوى فرعي لكل وضع لعب يحمل نقاط ظهور ذلك الوضع وأهدافه. وبادئة اسم المستوى الفرعي هي ما يخبر اللعبة بالوضع المقصود.

البادئةالوضع
BR_Battle Royale
FFA_Deathmatch
FL_Frontline
HRD_Horde
INV_Invasion
SG_Sword Game
SKM_Skirmish
TDM_Team Deathmatch

وشكل العمل داخل المحرر:

  1. ابنِ الخريطة نفسها كمستوى عادي، أشكال هندسية وإضاءة وعناصر.
  2. أنشئ مستوى فارغًا لكل وضع، والبادئة أولًا: SKM_CabbageLand.
  3. افتحه، ثم افتح نافذة Levels، واضبط طريقة البثّ للمستوى الدائم على Always Loaded. تعود القيمة إلى Blueprint-only مع كل مستوى فرعي جديد، فاضبطها في كل مرة.
  4. Add Existing ← خريطتك الأساسية، ليحمّل المستوى الفرعي الأشكال الهندسية تحته.
  5. انقر نقرًا مزدوجًا على المستوى الدائم ليعود أزرق (والأزرق هو ما تحرره) واقفل المستوى الأساسي تجنبًا لتعديله سهوًا.
  6. ضَع وضع اللعب الخاص بذلك الوضع، ونقاط الظهور، والأهداف.

بعدها يحمّله الأمر changemap SKM_CabbageLand.

وهذه البنية هي بالضبط سبب أهمية التحذير الخاص بالوضع: فالأهداف التي تُسقَط في المستوى الأساسي بدل المستوى الفرعي تظهر في كل الأوضاع دفعة واحدة.

TIP

للأوضاع خارج قائمة البادئات هذه، يوسّع MetaMod المجتمعي ما يمكن للخريطة دعمه. والخطوات أعلاه مختصرة من Mordhau Modding Wiki، حيث تجد لقطات الشاشة.

البيانات الوصفية: كيف تعرف اللعبة ما هي خريطتك ​

فئتان صغيرتان قابلتان للاشتقاق تحملان كل ما تعرضه القوائم. يسهل نسيانهما، وحينها تبقى خريطتك بلا اسم وبلا صورة.

MapMetaData

الخاصيةما تحمله
Name، Descriptionما يراه اللاعبون في المتصفح
BaseMapالمستوى الأساسي
GameModeMapsالمستويات الفرعية للأوضاع التابعة لهذه الخريطة
Thumbnail، BackgroundImages، ForegroundImagesصور القوائم وشاشات التحميل
Tipsنصائح شاشة التحميل

GameModeMetadata

الخاصيةما تحمله
Prefixبادئة المستوى الفرعي من الجدول أعلاه — وهنا بالضبط يُعرَّف هذا العُرف
Name، Description، Thumbnail، Tipsطريقة عرض الوضع

لذا فإن صنع وضع جديد فعلًا يعني فئة فرعية من GameModeMetadata ببادئتك الخاصة، إلى جانب GameMode وGameState.

مخطط المستوى (Level Blueprint) ​

لكل مستوى واحد منه، وفي Mordhau يرث من MordhauLevelScriptActor. وهو المكان الصحيح للبرمجة التي تخص هذه الخريطة وحدها، باب يُفتح عند نتيجة معينة، أو جسر ينهار عند سقوط نقطة.

وهو أيضًا حيث تنطلق الأنظمة الخاصة بالخريطة. فمثلًا نظام الظهور العشوائي المجتمعي يُثبَّت بإسقاط وحدة التحكم الخاصة به داخل مخطط المستوى وربطها بـ Event BeginPlay.

أما ما تريد إعادة استخدامه عبر عدة خرائط فيجب أن يكون فئة Blueprint كاملة: لا يمكن الوراثة من مخططات المستويات.

الأسلحة والعتاد والروبوتات ​

الموضوعمن أين تبدأ
الشخصياتBP_MordhauCharacter في /Game/Mordhau/Blueprints/Characters/
الأسلحةMordhauWeapon وMordhauEquipment، إضافة إلى MordhauShield وFistsWeapon وKickWeapon
الأسلحة البعيدةMordhauProjectile وQuiver
توقيت الهجماتAttackMotion وفئات الحركة — لكل من التحضير والإطلاق والخداع والصد والرد فئة خاصة
الرسوم المتحركةMeleeWeaponAnimationProfile — أي AnimationProfile الذي يشير إليه السلاح
الروبوتاتBotProfile وBotBehaviorProfile، مع BTTask_MeleeAttack وBTTask_MeleeDefend وBTTask_RangedAttack وأمثالها كعُقد لشجرة السلوك

صنع سلاح مخصص هو في معظمه تمرين على الأرقام بعد أن تنسخ سلاحًا موجودًا: التحضير، والإطلاق، ومصفوفات الضرر حسب الدرع، وتكاليف اللياقة، والارتداد. وصفحة متغيرات الأسلحة في Mordhau Modding Wiki هي أفضل مرجع مكتوب لمعنى كل قيمة، ويستحق أن يُقرأ قبل تغيير أي رقم.

إن لم تتعلم إلا خمسة ​

  1. مخطط وضع اللعب الخاص بك: مشتق من أقرب وضع رسمي
  2. MordhauPlayerStart: بلا نقاط ظهور لا توجد خريطة
  3. ControlPoint ورايته: طبقة الأهداف كاملة في Frontline وInvasion
  4. MapMetaData وGameModeMetadata: كيف تعرّف خريطتك عن نفسها
  5. مخطط المستوى: للبرمجة الفريدة التي تجعل الخريطة خريطتك

ساعدنا في إكمال هذه الصفحة ​

لم يكتب أحد دليلًا متكاملًا لتعديل Mordhau من البداية إلى النهاية، وهذه الصفحة خريطة للمنطقة أكثر منها دليلًا خطوة بخطوة كما ينبغي أن تكون. فإذا سبق أن نشرت وضعًا أو خريطة، فما تعرفه (أي الخصائص تهم فعلًا، وما الذي ينكسر عند التغليف، وما تفعله الخرائط الرسمية مما ليس بديهيًا) هو تحديدًا ما ينقص هنا. افتح مشكلة أو ألصق ملاحظاتك الخام في Discord وسنتولى التنسيق.