• Produk
  • Fitur
  • Mod Master
  • Unduh
  • Permainan
  • Blog
  • Harga

Badai bulan sharedutils

Penulis:TeamMoonstormTerakhir diperbarui:2021-09-11 03:40:242.6M530KB

Risk of Rain 2 Badai bulan sharedutils-1-lagofast mod master

Pra-ketergantungan

Pengenalan Mod

Api yang difokuskan dengan niat bekerja di lingkungan editor menggunakan thunderkit, msu adalah sistem api modular yang dirancang untuk kemudahan penggunaan dan kesederhanaan.

Moonstorm berbagi utils-pemuatan konten dan kerangka utilitas umum untuk mod konten besar.

MoonstormSharedUtils, atau dikenal sebagai msu, adalah api yang dirancang untuk bekerja di sekitar sistem thunderkit untuk membuat mod konten.

Awalnya bagian dari api dan kerangka kerja yang dibangun untuk pembaruan Starstorm2 Ke pengaturan thunderkit untuk pengalaman pengembangan yang lebih baik, telah berkembang secara eksponensial menjadi perpustakaan terpisah sehingga siapa pun yang ingin membuat mod konten besar dengan thunderkit dapat menggunakannya.

Tujuan api

Msu berusaha untuk tujuan berikut mengenai pengembangan dan pengelolaan mod.

  • Sistem sederhana namun kuat untuk mengelola dan memuat konten untuk game secara asinkron.
  • Kerangka kerja yang kuat yang dibangun berdasarkan modul yang memungkinkan Anda mengotomatisasi berbagai bagian alur kerja modifikasi, seperti eksekusi peralatan, monster, dan pemijahan yang dapat berinteraksi, dan banyak lagi.
  • Penyederhanaan alur kerja thunderkit dengan menyediakan serangkaian objek yang dapat disesuaikan untuk mengelola manifes, jalur, dan pipa.
  • Fokus tinggi pada pemanfaatan sistem yang disediakan oleh permainan melalui hook bila memungkinkan, seperti delegasi yang disediakan secara default, perilaku item dasar, dan banyak lagi.
  • Pemanfaatan kerangka kerja r2api yang ada untuk sistem tenaga seperti modifikasi direktur.
  • Penekanan pada bekerja di dalam editor alih-alih mengerjakan kode untuk pembuatan aset.

Fitur utama

Kontentpiece, kontentpieceprovider, dan kerangka modul

Sementara kode hanya mod yang membuat kontennya (prefab, objek tabel skrip, dll) saat runtime dan biasanya saat terjaga, hal ini menyebabkan masalah yang dikenal sebagai "layar hitam selamanya", di mana sebagian besar sistem mod diinisialisasi sebelum layar pemuatan game dimulai. Ini memberikan gagasan bahwa game tersebut dibekukan dan tidak responsif terhadap pengguna yang tidak menyadari. Dan meskipun hal ini benar, mengelola pemuatan dan interaksi antara konten yang dibuat khusus dari asetbundles dan sistem game sulit.

Msu memecahkan hal ini dengan triad konten, penyedia konten, dan kerangka modul. Triad ini digunakan untuk memungkinkan mod memuat asetnya secara asinkron selama layar pemuatan, dan membuatnya bekerja dengan baik dengan sistem game dasar.

Potongan ikon

  • Mewakili beberapa bentuk konten yang sedang ditambahkan oleh mod
  • Setiap bagian konten terikat pada modul tertentu yang menangani pemuatan dan implementasi konten.
  • Contentpieces memiliki sistem ketersediaan, yang digunakan modul untuk mengetahui konten apa yang akan dimuat dan diinisialisasi.
  • Sebuah konten memiliki metode pemuatan asinkron yang digunakan modul selama inisialisasi, yang digunakan untuk memuat aset untuk konten Anda secara asinkron.
  • Sebagai antarmuka, api menyediakan implementasi lebih lanjut:
    • , yang mewakili konten yang terikat dengan suatu konten tertentu Mesin satuan.objek.
      • Msu mencakup antarmuka berikut yang mengimplementasikan Potongan ikon<T>
        • IArtifactContentPiece, untuk Artefaktdefs
        • IEquipmentContentPiece Defs peralatan
          • Potongan koneksi ielite Mengelola Definisi Elite Terkait dengan peralatan tertentu.
        • IItemContentPiece Definisi proyek.
          • Sub antarmuka yang disebut IVoidItemContentPiece Mengelola sistem korupsi item yang ditambahkan pada penyintas kekosongan.
        • IItemTierContentPieceUntuk itu ItemTierDefs
        • Bagian koneksi lainnya Defs pemandangan.
    • , yang mewakili konten yang terikat dengan jenis tertentu Unit engine.perilaku tunggal
      • Msu mencakup antarmuka berikut yang mengimplementasikan Benda konten igameobjek<TComponent>
        • Ikharactercontentpiece Untuk itu Tubuh karakter
          • Imonsterkonten bagian Dapat digunakan untuk mengelola monster bermusuhan
          • Sub-antarmuka yang disebut Konten yang bertahan hidupDapat digunakan untuk mengelola penyintas baru.
        • IInteractable Contentpiece Untuk itu Yang dapat berinteraksi.
    • IvanillassurvivorcontentpieceYang mewakili modifikasi bagi penyintas vanilla.
  • Kelas juga dapat mengimplementasikan IContentPackModifier, yang digunakan untuk berinteraksi langsung dengan paket konten mod Anda.

Modul modul

  • Modul adalah kelas yang mengelola pemuatan dan interaksi Potongan ikon Kelas dengan permainan dasar.
  • Setiap modul menangani jenis antarmuka tertentu, bersama dengan kemungkinan sub-antarmuka.
  • Modul tahu kelas apa yang harus diinstansiasi dan diinisialisasi menggunakan Sistem.
  • Setelah Anda menyediakan a Penyedia ikonKe sebuah modul, Anda dapat menyebutnya Menginisialisasi Metode untuk mendapatkan kembali koroutine yang akan menginisialisasi konten Anda secara asinkron.
  • Msu menyediakan modul berikut:
    • Modul artifak IArtifactContentPieces, antarmuka modul artefakt dengan R2api. kode artefakt Untuk menambahkan kode artefak baru ke game. Itu juga akan menangani pengait dan pelepasan artefak yang tepat, sehingga hanya ketika artefak diaktifkan, pengaitnya diaktifkan.
    • Modul karakter, mengelola Ikharactercontentpiece, Item konten yang bertahan hidup Imonsterkonten bagian, antarmuka modul dengan R2api. direktur Untuk menangani pemijahan monster untuk tahapan permainan.
    • Modul Perangkat IEquipmentContentPieceDan. Potongan koneksi ielite, modul menggunakan satu hook untuk mengelola panggilan eksekusi untuk peralatan.
    • Modul interaktif, mengelola IInteractable Contentpiece, antarmuka modul dengan R2api. direktur Untuk menangani pemeliharaan interaktable untuk tahapan permainan.
    • Modul Proyek IItemContentPiece Dan. IVoidItemContentPiece. secara otomatis menangani kerusakan item.
    • Modul Proyek IItemTierContentPiece, secara otomatis membuat koleksi saat run start dari daftar drop yang tersedia untuk tingkat tersebut.
    • Modul Adegan, mengelola Bagian koneksi lainnya, ia bermuka dengan R2api. tahapan Untuk menangani penambahan panggung ke dalam permainan.
    • Modul kelangsungan hidup vanilla, mengelola Ivanillassurvivorcontentpiece. yang digunakan untuk menambahkan konten baru ke penyintas game dasar (kulit, keterampilan, dll.)

  • Agar modul mengetahui bagian konten apa yang akan dibuat, dimuat, dan diinisialisasi. Msu menggunakan Untuk menyediakan Potongan ikonS ke modul.
    • Sementara Anda dapat membuat implementasi Anda sendiri Penyedia potongan ikon Antarmuka untuk mengelola skenario ketersediaan, MSU Konten yang berguna Kelas berisi metode untuk membuatnya dari awal, hanya dengan menganalisis rakitan Anda.

Sistem ramah ror2

Salah satu tujuan utama msu adalah bekerja bersama dengan risiko sistem hujan 2, membuat konten yang berfungsi dengannya alih-alih memaksa sistem game dasar bekerja dengan sistem kami. Dengan demikian, msu menyediakan sistem yang kuat untuk berinteraksi bersama dengan sistem utama game seperti peralatan, buff, item, dan banyak lagi.

Antarmuka untuk komponen

Untuk menghindari penghubung yang tidak diperlukan untuk tipe yang umum digunakan, msu menyediakan antarmuka yang dapat digunakan di dalam komponen untuk sistem berikut:

  • Ioncomingdamageotherserverreceiver, ini berfungsi sebagai pengait pada takedamage, yang dapat digunakan untuk mengubah kerusakan yang masuk bagi korban.
  • Perilaku statistik, antarmuka yang berfungsi sebagai pengait untuk menghitung ulang statistik, berisi metode untuk menjalankan sebelum dan sesudah menghitung ulang statistik.
  • Modifikator iBodyStatArg, antarmuka yang berfungsi sebagai implementasi R2api. statistik perhitungan ulangDelegasi getstatcoefficient.

BaseItemMasterBehavior

Perilaku master dasar, mirip dengan tubuhnya (Perilaku dasar) digunakan untuk menciptakan perilaku yang ditambahkan ke karaktermaster ketika item tertentu diperoleh.

Perilaku basebuff

Behavior basebuffbehavior adalah komponen yang dapat digunakan untuk mengelola efek buff. Untuk alasan kinerja, basebuffbehaviours tidak dihancurkan ketika buff dihapus, sebaliknya, ketika buff pertama kali diperoleh oleh suatu badan, perilaku ditambahkan, ketika tumpukan buff habis, perilaku adalah Nonaktifkan., setelah itu, ketika tubuh menerima buff lagi, perilakunya adalah Diaktifkan.. ini mengurangi beban kerja pengumpul sampah dan secara keseluruhan meningkatkan kinerja sistem.

Alur kerja thunderkit yang lebih baik:

Karena tujuan msu berkisar pada bekerja di editor, msu dilengkapi dengan banyak utilitas mengenai pembuatan konten untuk game tersebut.

Dukungan wwise

Msu menyediakan ekstensi import khusus yang dapat digunakan untuk mendaftarkan hitam rakitan wwise dari game, memungkinkan Anda menggunakan sistem integrasi wwise untuk proyek Anda.

Objek yang dapat diskrip

Msu menyediakan objek tabel skrip berikut yang memungkinkan pembuatan konten "runtime only" pada waktu editor.

  • Dapat dicapai dapat dibuka kunci def, berfungsi sebagai abstraksi dari sistem def dan pencapaian yang dapat dibuka kunci, itu a Def yang dapat dibuka Itu dibuka melalui sebuah pencapaian.
  • Point BuffDef, bekerja sebagai abstraksi dari dotdef, dan secara otomatis menetapkan dotdef ke buffdef yang ditentukan.
  • Ekstensi Hapus Definisi, bekerja sebagai perpanjangan dari Definisi Elite Kelas, mendukung penambahan otomatis ke tingkat permainan dasar, tanjakan elit, bahan overlay, dan banyak lagi.
  • Penyedia kartu interaktable, objek tabel skrip yang berisi metadata yang diperlukan untuk melahirkan interaktable secara bertahap, beberapa tahap dapat ditetapkan ke satu kartu.
  • Penyedia kartu monster, objek tabel skrip yang berisi metadata yang diperlukan untuk melahirkan monster secara bertahap, beberapa tahap dapat ditetapkan ke satu kartu.
  • Kamus tampilan item, objek tabel skrip yang bekerja mirip dengan R2api. itemSistem itemdisplaydictionary, dapat digunakan untuk menambahkan beberapa grup aturan ke yang ada Set aturan tampilan item, aset utama dan prefab tampilan didukung oleh
  • Set aturan tampilan item bernama, objek tabel skrip yang dapat digunakan untuk membuat objek lengkap Set aturan tampilan item Untuk model karakter. Aset utama dan prefab tampilan didukung oleh Katalog tampilan itemSistem dalam msu.
  • Elitetierdef yang dapat diserialisasikan, bekerja sebagai abstraksi dari Elite DEF Sistem dalam game, dapat menetapkan pengganda biaya, referensi yang dapat dialamat ke tingkat dan mode elit game dasar.
  • UberSkinDef, berfungsi sebagai utilitas yang menyeluruh untuk skindefs, menerapkan dukungan untuk sistem skinvfx r2api dan menambahkan skin ke karakter vanilla

Benda-benda yang dapat dimiliki yang telah dibuat sebelumnya

Karena msu dibuat dengan mempertimbangkan thunderkit, msu menyediakan objek yang dapat dimiliki berikut untuk proyek Anda:

  • Yang sederhana Manifest. Dengan yang diperlukan Tanggal manifest Untuk mendeklarasikan mod Anda
  • Sebuah pengaturan dari Keberkesanan pathS yang digunakan untuk bangunan bersih dan rilis mod Anda
  • Sistem pipa yang sangat dapat dikonfigurasi:
    • Pipa rilis yang secara otomatis membuat file zip siap untuk rilis mod Anda.
    • Pipa generik, yang dapat digunakan untuk membangun rakitan Anda, membangun paket aset Anda yang dikompresi atau tidak dikompresi, dan mementaskan aset streaming mod Anda.
    • Pengaturan pipa kontributor, yang dapat digunakan kontributor untuk dengan mudah mengatur pipa untuk membangun mod Anda.

Manajemen konfigurasi dan token

Membuat konfigurasi untuk mod Anda bisa sangat terperinci menggunakan implementasi bepinex default, msu mengimplementasikan sistem konfigurasi di atas bepinex yang memungkinkan Anda mengonfigurasi apa pun dengan mudah.

Field konfigurasi, variabel konfigurasi, dan risiko opsi

Msu menyediakan abstraksi berikut dari sistem konfigurasi bepinex:

  • Bidang konfigurasi

    • Atribut khusus yang dapat diterapkan ke bidang statis untuk mengonfigurasinya secara otomatis.
    • Proses konfigurasi menggunakan id string unik yang Anda tetapkan ke konfigurasi khusus untuk mengikat konfigurasi ke konfigurasi.
    • Yang itu. Bagian konfigurasi Dan. Nama panggilan Tidak perlu diimplementasikan, msu secara default menggunakan MemberInfo KonfigurasiName, dan itu Jenis DeklarasiNama sebagai Bagian konfigurasi
    • Ada versi "RiskOfOptions" dari bidang konfigurasi, yang secara otomatis membuat opsi menggunakan api RiskOfOptions. Namun opsi ini tidak dapat disesuaikan secara besar-besaran karena keterbatasan atribut.
  • Variabel yang dikonfigurasi

    • Variabel konfigurasi adalah kelas yang mewakili variabel yang dapat dikonfigurasi.
    • Dapat digunakan untuk membuat skenario konfigurasi yang kompleks dengan risiko opsi.

Sistem formattoken

Mengikat perubahan konfigurasi ke nilai token adalah salah satu bagian terbaik dalam membuat token menggunakan kode, namun terjemahan token ini mungkin sulit dikelola karena mengharuskan penerjemah untuk mengkode terjemahan langsung ke c# file sumber.

Msu menyediakan Token format Sistem, sekarang Anda dapat menulis nilai token Anda menggunakan sistem pemformatan string c Dengan ini, Anda dapat menggunakan file json langauge dengan benar, yang dapat dengan mudah digunakan penerjemah untuk terjemahan selama mereka menjaga urutan pengindeksan yang tepat.

Dokumentasi dan kode sumber

  • Dokumentasi dan kode sumber dapat ditemukan di repositori github moonstormsharedutil, yang dapat ditemukan Di sini.

Sumbangan.

Msu adalah proyek gairah dari salah satu anggota teammoonstorm, Nebby. Dengan demikian, dia bekerja di waktu luangnya untuk memungkinkan komunitas lainnya membuat konten yang menakjubkan dan mengagumkan.

Msu akan selamanya gratis untuk digunakan dan tidak pernah terjebak di balik paywall, namun donasi sangat dihargai.

ko-fi

Mod menggunakan msu

(klik aku!)

(catatan: klik ikon untuk membuka tab baru ke mod!)

Ikon/URL Nama. Deskripsi.
StarstormIcon Starstorm2 Sekuel dari starstorm 1. Menambahkan penyintas baru, mekanik, item, keterampilan, musuh, dan banyak lagi!
LostInTransitIcon Hilang dalam transit Hilang dalam transit adalah mod yang berfokus pada pemulihan fitur yang hilang karena risiko hujan 1, yang saat ini termasuk item.
VarianceAPIIcon Api varians Varianceapi memungkinkan Anda membuat varian untuk tubuh karakter, varian dapat memiliki tekstur, lampu, keterampilan, dan banyak lagi yang berbeda.
FortunesFromTheScrapyardIcon Akan dilepaskan-kekayaan dari tempat sampah Mod konten seperti ekspansi yang berputar di sekitar perusahaan ruang angkasa pihak ketiga, dan secara visual didasarkan pada tema tempat sampah dan cyberpunk.
RulersOfTheRedPlaneIcon Penguasa pesawat merah Mod konten umum yang meluas pada bidang merah

Terima kasih dan kredit

  • Twiner untuk pembuatan thunderkit.
  • Ide dan harb untuk membantu dengan berbagai pertanyaan pengkodean.
  • Kingenderbrine dan runefox237 untuk ror2skinbuilder, yang digunakan sebagai dasar untuk sistem vanillaskindef.
  • Groovesalad untuk membantu selama konseptualisasi sistem modul dan menyediakan stubbedshader.
  • Tidak diketahui glasir untuk logo msu
  • Tim starstorm 2, karena membiarkan nebby keluar dari ujung dalam dan membuat msu sejak awal.
  • Kekayaan dari tim scrapyard, karena percaya pada tujuan saya dan menggunakan msu untuk mod mereka.
  • KevinFromHPCustomerService, untuk membuat sistem modul asli yang akhirnya menjadi msu 2.0
  • Semua orang dari komunitas risiko hujan 2 karena menghargai pekerjaan saya.
Alat ini disediakan oleh pihak ketiga [bufftool]Ikon perhatian

Unduh Mod Sekarang

Instal LagoFast, mulai Risk of Rain 2 dan mainkan mod yang Anda sukai.