• المنتجات
  • الميزات
  • Mod Master
  • تحميل
  • ألعاب
  • مدونة
  • التسعير

MoonstormSharedUtils

المؤلف:TeamMoonstormآخر تحديث:11/09/2021 03:40:242.6M530KB

Risk of Rain 2 MoonstormSharedUtils-1-لاغو فاست مودماستر

التبعيات المسبقة

مقدمة التعديل

واجهة برمجة تطبيقات تركز على نية العمل في بيئة المحرر باستخدام thunderkit، msu هو نظام واجهة برمجة تطبيقات معياري مصمم لسهولة الاستخدام والبساطة.

الاستخدامات المشتركة لـ moonstorm-تحميل المحتوى وإطار الأداة العامة لتعديلات المحتوى الكبيرة.

MoonstormSharedUtils، والمعروفة باسم msu، هي واجهة برمجة تطبيقات مصممة للعمل حول نظام thunderkit لإنشاء تعديلات المحتوى.

في الأصل جزء من واجهة برمجة تطبيقات وإطار عمل تم بناؤه للتحديث ستارستورم 2 إلى إعداد thunderkit لتجربة تطوير أفضل، فقد نمت بشكل كبير إلى مكتبة منفصلة خاصة بها حتى يتمكن أي شخص لديه رغبة في إنشاء تعديلات محتوى كبيرة باستخدام thunderkit من استخدامها.

أهداف API

تسعى msu إلى تحقيق الأهداف التالية فيما يتعلق بتطوير وإدارة التعديل.

  • أنظمة بسيطة ولكنها قوية لإدارة وتحميل المحتوى للعبة بطريقة غير متزامنة.
  • إطار عمل قوي مبني على وحدات يسمح لك بأتمتة أجزاء مختلفة من سير عمل التعديل، مثل تنفيذ المعدات، والوحش والتفريخ القابلة للتفاعل، والمزيد.
  • تبسيط سير عمل thunderkit من خلال توفير مجموعة مخصصة من الكائنات القابلة للامتلاك لإدارة البيانات والمسارات وخطوط الأنابيب.
  • التركيز الكبير على استخدام الأنظمة التي توفرها اللعبة عبر الخطافات كلما أمكن، مثل المندوبين المقدمين افتراضيًا، وسلوكيات العنصر الأساسي، والمزيد.
  • استخدام إطار r2api الحالي لأنظمة الطاقة مثل تعديلات المدير.
  • التركيز على العمل داخل المحرر بدلاً من العمل على التعليمات البرمجية لإنشاء الأصول.

الميزات الرئيسية

القطعة المؤثرة، موفر قطعة المؤثرة، وإطار الوحدة النمطية

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

يحل msu هذا من خلال ثلاثي المحتوى ، ومزود المحتوى ، وإطار الوحدة النمطية. يتم استخدام هذا الثلاثي للسماح للتعديلات بتحميل أصولها بشكل غير متزامن أثناء شاشة التحميل، وجعلها تعمل بشكل صحيح مع أنظمة اللعبة الأساسية.

قطعة الأرقام

  • يمثل شكلاً من أشكال المحتوى التي يضيفها التعديل
  • ترتبط كل قطعة محتوى بوحدة معينة تتعامل مع التحميل وتنفيذ المحتوى.
  • تحتوي قطع المحتوى على أنظمة توفر، تستخدمها الوحدة النمطية لمعرفة المحتوى الذي يجب تحميله وتهيئته.
  • تحتوي قطعة المحتوى على طريقة تحميل غير متزامنة تستخدمها الوحدة أثناء التهيئة، والتي يتم استخدامها لتحميل الأصول غير المتزامنة للمحتوى الخاص بك.
  • كونها واجهة، توفر واجهة برمجة التطبيقات المزيد من التطبيقات:
    • والذي يمثل محتوى مرتبط بمحدد UnityEngine.Object.
      • يتضمن msu الواجهات التالية التي تنفذ قطعة الأرقام<T>
        • IArtifactContentPiece، لـ ArtifactDefs
        • IEquipmentContentPiece Defs المعدات
          • IEliteContentPiece يدير تعريف النخبة المرتبطة بمعدات محددة.
        • IItemContentPiece تعريف المشروع.
          • واجهة فرعية تسمى قطعة المحتوى IVoidItemContentPiece يدير نظام فساد العنصر المضاف في الناجين من الفراغ.
        • IItemTierContentPieceلـ ItemTierDefs
        • قطعة اتصال أخرى سينديفس.
    • والذي يمثل محتوى مرتبط بنوع معين من Unityengine.monobehavior
      • يتضمن msu الواجهات التالية التي تنفذ IGameObjectContentPiece<TComponent>
        • المحتوى ICharacterContentPiece لـ هيئات الشخصيات
          • IMonsterContentPiece يمكن استخدامه لإدارة الوحوش المعادية
          • الواجهة الفرعية التي تسمى محتوى البقاء على قيد الحياةيمكن استخدامها لإدارة الناجين الجدد.
        • قطعة الاتصال التفاعلية لـ قابلية للتفاعل.
    • Ivanillassurvivorcontentpieceوالذي يمثل تعديلات لناجي الفانيليا.
  • يمكن للفصول أيضًا تنفيذ IContentPackModifierوالتي يتم استخدامها للتواصل مباشرة مع حزمة محتوى التعديل الخاص بك.

وحدات

  • الوحدة النمطية هي فئة تدير التحميل والتفاعل قطعة الأرقام فصول مع اللعبة الأساسية.
  • تتعامل كل وحدة مع نوع معين من الواجهات ، جنبًا إلى جنب مع الواجهات الفرعية المحتملة.
  • تعرف الوحدة النمطية الفئات التي يجب إنشاؤها وتهيئتها باستخدام النظام.
  • بمجرد أن تقدم أ مزود الأرقامإلى وحدة نمطية، يمكنك تسميتها تهيئة طريقة لاستعادة كوروتين من شأنه تهيئة المحتوى الخاص بك بطريقة غير متزامنة.
  • تزود msu الوحدات التالية:
    • وحدة مصنوعة IArtifactContentPieces ، واجهات وحدة artifactmodule مع R2api. artifactcode لإضافة رموز قطع أثرية جديدة إلى اللعبة. سيتعامل أيضًا مع ربط القطعة الأثرية وفكها بشكل صحيح، بحيث يتم تمكين الخطافات فقط عند تمكين القطعة الأثرية.
    • وحدة الشخصية، يدير المحتوى ICharacterContentPiece, محتوى البقاء على قيد الحياة IMonsterContentPiece، واجهات الوحدة مع R2api. مدير للتعامل مع توليد الوحوش لمراحل اللعبة.
    • وحدة المعدات المعدات المحتوى قطعةو IEliteContentPieceتستخدم الوحدة خطافًا واحدًا لإدارة مكالمات التنفيذ للمعدات.
    • إمكانية التفاعل، يدير قطعة الاتصال التفاعلية، واجهات الوحدة مع R2api. مدير للتعامل مع التفريخ من المواد التفاعلية لمراحل اللعبة.
    • وحدات المشروع IItemContentPiece و قطعة المحتوى IVoidItemContentPiece. إنه يتعامل تلقائيًا مع أضرار العنصر.
    • وحدات المشروع IItemTierContentPieceيقوم تلقائيًا بإنشاء مجموعات بدء التشغيل للقائمة الإسقاطية المتاحة للطبقة.
    • وحدة المشهد، يدير قطعة اتصال أخرى، إنه يتوافق مع R2api. مراحل للتعامل مع إضافة مرحلة إلى اللعبة.
    • وحدة البقاء على قيد الحياة فانيلا، يدير Ivanillassurvivorcontentpiece. والتي تستخدم لإضافة محتوى جديد إلى الناجين من اللعبة الأساسية (الجلود والمهارات وما إلى ذلك)

  • لكي تعرف الوحدة النمطية قطع المحتوى التي يجب إنشاؤها وتحميلها وتهيئتها. يستخدم msu لتوفير قطعة الأرقامS إلى الوحدات.
    • بينما يمكنك إنشاء تطبيقاتك الخاصة مزود قطعة الأرقام واجهة لإدارة سيناريوهات التوافر، MSU المحتوى مفيد تحتوي الفئة على طرق لإنشائها من الصفر، عن طريق تحليل التجميع الخاص بك فقط.

أنظمة صديقة لـ ror2

أحد الأهداف الرئيسية لـ msu هو العمل جنبًا إلى جنب مع خطر أنظمة المطر 2، وإنشاء محتوى يعمل معها بدلاً من إجبار أنظمة اللعبة الأساسية على العمل مع أنظمتنا. على هذا النحو، توفر msu نظامًا قويًا للتفاعل جنبًا إلى جنب مع الأنظمة الرئيسية للعبة مثل المعدات والمشجعين والعناصر والمزيد.

واجهات للمكونات

لتجنب الربط غير الضروري للأنواع الشائعة الاستخدام، يوفر msu واجهات يمكن استخدامها داخل المكونات للأنظمة التالية:

  • Ionincomingdageotherserserreiverيعمل كخطاف على takedamage، والذي يمكن استخدامه لتعديل الضرر الوارد للضحية.
  • سلوك إحصائيوهي واجهة تعمل كخطاف لإعادة حساب الإحصائيات، وتحتوي على طرق للتشغيل قبل وبعد إعادة حساب الإحصائيات.
  • معدل iBodyStatArgواجهة تعمل كتطبيق لـ R2api. إعادة الحسابمندوب getstatcoefficient.

BaseItemMasterBehaviour

السلوك الرئيسي الأساسي، مثل نظيره في الجسم (السلوك الجسدي الأساسي) يتم استخدامه لإنشاء سلوك يتم إضافته إلى الشخصية عند الحصول على عنصر محدد.

سلوك الأساس

Behaviour basebuffbehaviour هو مكون يمكن استخدامه لإدارة آثار buff. لأسباب تتعلق بالأداء، لا يتم تدمير سلوكيات basebuffbehaviours عند إزالة البوف ، وبدلاً من ذلك ، عندما يتم الحصول على البوف لأول مرة بواسطة جسم ، يتم إضافة السلوك ، وعندما يتم استنفاد أكوام البوف ، يتم إضافة السلوك. معاقوبعد ذلك، عندما يتلقى الجسم البوف مرة أخرى، يكون السلوك هو تمكين. هذا يقلل من عبء العمل لجامع القمامة ويحسن بشكل عام أداء النظام.

سير عمل thunderkit المحسن:

نظرًا لأن أهداف msu تدور حول العمل في المحرر، يأتي msu مجمعًا مع العديد من الأدوات المساعدة فيما يتعلق بإنشاء محتوى للعبة.

دعم wwise

يوفر msu ملحوظًا مخصصًا يمكن استخدامه لإدراج مجموعات wwise في القائمة السوداء من اللعبة ، مما يسمح لك باستخدام نظام تكامل wwise لمشروعك.

كائنات قابلة للنصوص

يوفر msu كائنات جدول النص التالية التي تسمح بإنشاء محتوى "وقت التشغيل فقط" في وقت المحرر.

  • قابلة للتحقيق قابلة للفتح defيعمل كتجريد لنظام def القابل للفتح وتحقيق def، إنه أ قابل للفتح def هذا مفتوح من خلال إنجاز.
  • نقطة BuffDefيعمل كتجريد لـ dotdef، ويعين dotdef تلقائيًا إلى buffdef المحدد.
  • توسيع حذف التعريفيعمل كامتداد لـ تعريف النخبة الفئة، التي تدعم الإضافة التلقائية إلى مستويات اللعبة الأساسية، ومنحدرات النخبة، ومواد التراكب، والمزيد.
  • مزود بطاقة تفاعليةوهو كائن جدول نصي يحتوي على البيانات الوصفية اللازمة لإنشاء أدوات تفاعلية على مراحل، ويمكن تعيين مراحل متعددة لبطاقة واحدة.
  • مزود بطاقة الوحشكائن جدول نصي يحتوي على البيانات الوصفية اللازمة لإنتاج الوحوش على مراحل، ويمكن تعيين مراحل متعددة لبطاقة واحدة.
  • عرض العنصر القاموسكائن جدول نصي يعمل على غرار R2api. itemsنظام قاموس عرض العناصر الخاص به، ويمكن استخدامه لإضافة مجموعات قواعد متعددة إلى المجموعات الموجودة مجموعات قواعد عرض العناصر، يتم تشغيل الأصول الرئيسية والعرض الجاهزة بواسطة
  • مجموعة قواعد عرض الاسمكائن جدول نصي يمكن استخدامه لإنشاء كامل مجموعة قواعد عرض العناصر للنماذج الشخصية. يتم تشغيل الأصول الرئيسية وأجهزة العرض الجاهزة بواسطة كتالوج عرض العناصرالنظام داخل msu.
  • التسلسلية elitetierdef، يعمل كتجريد لـ النخبة DEF النظام داخل اللعبة، يمكن تعيين مضاعف التكلفة، والمراجع القابلة للمعالجة إلى مستويات ووضع نخبة اللعبة الأساسية.
  • UberSkinDefيعمل كأداة مساعدة شاملة لـ skindefs، وتنفيذ الدعم لنظام skinvfx الخاص بـ r2api وإضافة جلود إلى شخصية الفانيليا

الأشياء القابلة للامتلاك المصممة مسبقًا

منذ أن تم إنشاء msu مع وضع thunderkit في الاعتبار، يوفر msu الأشياء القابلة للاستخدام التالية لمشروعك:

  • بسيط تبيان مع الضرورية تاريخ البيان للإعلان عن التعديل الخاص بك
  • إعداد من باثريفيرنسS التي تستخدم للبناء النظيف وإصدار التعديل الخاص بك
  • نظام خط أنابيب قابل للتكوين للغاية:
    • خط أنابيب الإصدار الذي يقوم تلقائيًا بإنشاء ملف zip جاهز لإصدار التعديل الخاص بك.
    • خطوط أنابيب عامة، والتي يمكن استخدامها لإنشاء التجميع الخاص بك، وإنشاء حزم الأصول الخاصة بك إما مضغوطة أو غير مضغوطة، وتنظيم أصول البث الخاصة بالتعديل الخاص بك.
    • إعداد خط أنابيب المساهم، والذي يمكن للمساهمين استخدامه لإعداد خط أنابيب بسهولة لبناء التعديل الخاص بك.

إدارة التكوينات والرموز

يمكن أن يكون إنشاء التكوين للتعديل الخاص بك مفصلاً للغاية باستخدام تطبيقات bepinex الافتراضية، وينفذ msu نظام تكوين فوق bepinex يسمح لك بتكوين أي شيء بسهولة.

حقل التكوين ، متغير التكوين ، ومخاطر الخيارات

يوفر msu التجريد التالي لنظام تكوين bepinex:

  • حقل التكوين

    • سمة مخصصة يمكن تطبيقها على الحقول الثابتة لتكوينها تلقائيًا.
    • تستخدم عملية التكوين معرف سلسلة فريد يتم تعيينه لملف تكوين مخصص لربط التكوين بملف تكوين.
    • هذا قسم التكوين و الاسم المستعار ليست ضرورية لتنفيذها، يستخدم msu افتراضيًا معلومات العضوية التكوينName، و نوع الإعلاناسمه باسم قسم التكوين
    • يوجد إصدار "RiskOfOptions" من حقل التكوين ، والذي ينشئ خيارات تلقائيًا باستخدام واجهة برمجة تطبيقات RiskOfOptions. ومع ذلك، لا يمكن تخصيص هذه الخيارات بشكل كبير بسبب قيود السمات.
  • متغير مكوّن

    • Configuredvariable هي فئة تمثل متغيرًا يمكن تكوينه.
    • يمكن استخدامه لإنشاء سيناريوهات تكوين معقدة مع خطر الخيارات.

نظام formattoken

يعد ربط تغييرات التكوين لقيم الرمز المميز أحد أفضل أجزاء إنشاء الرموز المميزة باستخدام التعليمات البرمجية، ومع ذلك، قد يكون من الصعب إدارة ترجمة هذه الرموز المميزة لأنه يتطلب من المترجمين ترميز الترجمات مباشرة في ملف المصدر c #.

يوفر msu رمز التنسيق النظام، يمكنك الآن كتابة قيم الرمز المميز الخاص بك باستخدام نظام تنسيق السلسلة من c مع هذا، يمكنك levrage ملفات json langauge بشكل صحيح، والتي يمكن للمترجمين استخدامها بسهولة للترجمات طالما أنها تحافظ على الترتيب المناسب للفهرسة.

الوثائق والرمز المصدر

  • يمكن العثور على الوثائق ورمز المصدر في مستودع github الخاص بـ moonstormsharedutil، والذي يمكن العثور عليه هنا

التبرعات

Msu هو مشروع عاطفي من أحد أعضاء teammoonstorm، Nebby. على هذا النحو، فهو يعمل في وقت فراغه على هذا الأمر للسماح لبقية المجتمع بإنشاء محتوى مذهل ومثير للرهبة.

ستكون msu مجانية للاستخدام إلى الأبد ولن تكون مغلقة أبدًا خلف جدران الدفع ، ومع ذلك ، يتم تقدير التبرعات بشكل لا يصدق.

ko-fi

التعديلات التي تستخدم msu

(انقر علي!)

(ملاحظة: انقر فوق الرمز لفتح علامة تبويب جديدة للتعديل!)

أيقونة/URL الاسم وصف
StarstormIcon ستارستورم 2 تكملة لـ Starstorm 1. يضيف ناجين جدد وميكانيكا وعناصر ومهارات وأعداء وأكثر من ذلك!
LostInTransitIcon فقدت أثناء النقل فقدت أثناء النقل هو تعديل يركز على استعادة الميزات المفقودة بسبب خطر الأمطار 1، بما في ذلك حاليًا العناصر.
VarianceAPIIcon التباين API يسمح لك varianceapi بإنشاء متغيرات للأجسام الشخصية، ويمكن أن تحتوي المتغيرات على قوام وأضواء ومهارات مختلفة وأكثر من ذلك.
FortunesFromTheScrapyardIcon سيتم إطلاق سراحها-ثروات من حديقة الخردة تعديل محتوى على غرار التوسع يدور حول شركة فضائية تابعة لطرف ثالث، ويستند بصريًا إلى موضوعات حوض النفايات وسايبر بانك.
RulersOfTheRedPlaneIcon حكام الطائرة الحمراء تعديل محتوى عام يتوسع على الطائرة الحمراء

شكرا والاعتمادات

  • توينر لإنشاء ثاندركيت.
  • الفكرة والقناة للمساعدة في أسئلة الترميز المختلفة.
  • Kingenderbrine وrunefox237 لـ ror2skinbuilder، والذي تم استخدامه كقاعدة لنظام vanillaskindef.
  • Groovesalad للمساعدة أثناء تصور نظام الوحدة النمطية وتوفير stubbedshaders.
  • تصقيل غير معروف لشعار msu
  • فريق starstorm 2، للسماح لـ Nebby بالخروج من الطرف العميق وإنشاء msu في المقام الأول.
  • ثروات فريق حديقة الخردة، لإيمانه بأهدافي واستخدام msu لتعديلهم.
  • KevinFromHPCustomerService، لإنشاء أنظمة الوحدات الأصلية التي أصبحت في النهاية msu 2.0
  • الجميع من مجتمع خطر المطر 2 لتقديري لعملي.
هذه الأداة مقدمة من طرف ثالث [bufftool]أيقونة التنبيه

تنزيل التعديلات الآن

قم بتثبيت LagoFast، ثم قم بتشغيل Risk of Rain 2 والعب بالتعديلات التي تحبها.