• Các sản phẩm
  • Đặc trưng
  • Mod Master
  • Tải xuống
  • Trò chơi
  • Blog
  • Giá cả

Bão trăng sharedutils

Tác giả:TeamMoonstormCập nhật lần cuối:2021-09-11 03:40:242.6M530KB

Risk of Rain 2 Bão trăng sharedutils-1-lagofast mod master

Tiền phụ thuộc

Giới thiệu về Mod

Một api tập trung vào ý định làm việc trong môi trường biên tập bằng thunderkit, msu là một hệ thống api mô-đun được thiết kế để dễ sử dụng và đơn giản.

Moonstorm chia sẻ utils-tải nội dung và khung tiện ích chung cho các mod nội dung lớn.

MoonstormSharedUtils, còn được gọi là msu, là một api được thiết kế để hoạt động xung quanh hệ thống thunderkit để tạo các mod nội dung.

Ban đầu là một phần của api và framework được xây dựng để cập nhật Starstorm2 đến thiết lập thunderkit để có trải nghiệm phát triển tốt hơn, nó đã phát triển theo cấp số nhân thành thư viện riêng biệt của riêng mình để bất kỳ ai có mong muốn tạo các mod nội dung lớn với thunderkit đều có thể sử dụng nó.

Mục tiêu của api

Msu cố gắng đạt được các mục tiêu sau liên quan đến phát triển và quản lý mod.

  • Hệ thống đơn giản nhưng mạnh mẽ để quản lý và tải nội dung cho trò chơi một cách không đồng bộ.
  • Một khuôn khổ mạnh mẽ được xây dựng dựa trên các mô-đun cho phép bạn tự động hóa các phần khác nhau của quy trình làm việc sửa đổi, chẳng hạn như thực thi thiết bị, sinh sản quái vật và tương tác, v.v.
  • đơn giản hóa quy trình làm việc của thunderkit bằng cách cung cấp một tập hợp các đối tượng có thể bao gồm được tùy chỉnh để quản lý bản kê khai, đường dẫn và đường ống.
  • Tập trung cao độ vào việc sử dụng các hệ thống do trò chơi cung cấp qua các móc bất cứ khi nào có thể, chẳng hạn như các đại biểu được cung cấp mặc định, hành vi mục cơ bản, v.v.
  • Sử dụng khung r2api hiện có cho các hệ thống điện như sửa đổi giám đốc.
  • Nhấn mạnh vào việc làm việc trong trình soạn thảo thay vì làm việc trên mã để tạo tài sản.

Tính năng chính

Contentpiece, contentpieceprovider và khung mô-đun

Trong khi mã chỉ các mod mới tạo nội dung của chúng (prefab, scriptableobject, v.v.) trong thời gian chạy và thường là khi thức, điều này gây ra các vấn đề được gọi là "màn hình đen mãi mãi", trong đó hầu hết các hệ thống của mod đều được khởi tạo trước khi màn hình tải của trò chơi bắt đầu. điều này tạo ra ý tưởng rằng trò chơi bị đóng băng và không phản ứng với những người dùng quên mất. Và mặc dù điều này đúng nhưng việc quản lý việc tải và tương tác giữa nội dung được tạo tùy chỉnh từ assetbundles và hệ thống của trò chơi rất khó khăn.

Msu giải quyết vấn đề này bằng bộ ba của contentpiece, nhà cung cấp contentpiece và khung mô-đun. Bộ ba này được sử dụng để cho phép các mod tải tài sản của họ một cách không đồng bộ trong màn hình tải và làm cho chúng hoạt động bình thường với hệ thống của trò chơi cơ bản.

Phần biểu tượng

  • đại diện cho một số dạng nội dung mà một mod đang thêm
  • Mỗi nội dung được gắn với một mô-đun cụ thể xử lý việc tải và triển khai nội dung.
  • Contentpieces có hệ thống khả dụng, mô-đun sử dụng hệ thống này để biết nội dung nào cần tải và khởi tạo.
  • Nội dung có phương pháp tải không đồng bộ mà mô-đun sử dụng trong quá trình khởi tạo, được sử dụng để tải tài sản không đồng bộ cho nội dung của bạn.
  • Là một giao diện, api cung cấp các triển khai tiếp theo:
    • , đại diện cho một nội dung gắn liền với một nội dung cụ thể động cơ đơn lực.đối tượng.
      • Msu bao gồm các giao diện sau để triển khai Phần biểu tượng<T>
        • Iartifactnội dung mảnh, đối với Các tác phẩm bảo vệ
        • Nội dung thiết bị Thiết bị bảo vệ
          • Phần liên lạc ielite Quản lý Định nghĩa Elite Liên quan đến một thiết bị cụ thể.
        • Nội dung của iitemContent Định nghĩa dự án.
          • Một giao diện con được gọi là Ivoiditemnội dung mảnh Quản lý hệ thống tham nhũng vật phẩm được thêm vào những người sống sót sau khoảng trống.
        • Iitemtiernội dungĐối với ItemTierDefs
        • Mảnh liên lạc khác Cảnh tượng.
    • đại diện cho một nội dung gắn liền với một loại cụ thể động cơ đơn lực.hành vi đơn
      • Msu bao gồm các giao diện sau để triển khai Nội dung đối tượng igamenội dung<TComponent>
        • Nội dung icharactercontent Đối với Cơ thể đặc trưng
          • Nội dung của imonsternội dung Có thể được sử dụng để quản lý những con quái vật thù địch
          • Giao diện con được gọi là Nội dung sống sótCó thể được sử dụng để quản lý những người sống sót mới.
        • Phần kết nối tương tác iActable Đối với Khả năng tương tác.
    • Ivanillassurvivornội dung, đại diện cho những sửa đổi cho một người sống sót vani.
  • Lớp học cũng có thể triển khai IContentPackModifier, được sử dụng để giao tiếp trực tiếp với gói nội dung của mod của bạn.

Mô-đun

  • Mô-đun là một lớp quản lý việc tải và tương tác của Phần biểu tượng Lớp học với trò chơi cơ bản.
  • Mỗi mô-đun xử lý một loại giao diện cụ thể, cùng với các giao diện con có thể có.
  • Mô-đun biết các lớp cần khởi tạo và khởi tạo bằng cách sử dụng Hệ thống.
  • Một khi bạn cung cấp một Nhà cung cấp biểu tượngđến một mô-đun, bạn có thể gọi nó là Khởi tạo Phương pháp lấy lại coroutine sẽ khởi tạo nội dung của bạn một cách không đồng bộ.
  • Msu cung cấp các mô-đun sau:
    • Mô-đun hiện vật Iartifactnội dung mảnhs, giao diện mô-đun artifactvới R2api. mã nghệ thuật để thêm mã hiện vật mới vào trò chơi. Nó cũng sẽ xử lý việc móc và tháo móc thích hợp của hiện vật, do đó chỉ khi hiện vật được bật thì các móc của nó mới được bật.
    • Mô-đun đặc trưng, quản lý Nội dung icharactercontent, Nội dung sống sót Nội dung của imonsternội dung, giao diện mô-đun với R2api. giám đốc để xử lý việc sinh sản của quái vật cho các giai đoạn của trò chơi.
    • Mô-đun thiết bị Nội dung thiết bịPhần liên lạc ielite, mô-đun sử dụng một móc duy nhất để quản lý các cuộc gọi thực thi cho các thiết bị.
    • Module tương tác, quản lý Phần kết nối tương tác iActable, giao diện mô-đun với R2api. giám đốc để xử lý việc tạo ra các khả năng tương tác cho các giai đoạn của trò chơi.
    • Mô-đun dự án Nội dung của iitemContentIvoiditemnội dung mảnh. nó tự động xử lý các hư hỏng mặt hàng.
    • Mô-đun dự án Iitemtiernội dung, nó tự động tạo các bộ sưu tập bắt đầu chạy của danh sách thả có sẵn cho lớp.
    • Mô-đun cảnh, quản lý Phần liên kết khác, nó giao diện với R2api. giai đoạn để xử lý việc bổ sung một sân khấu vào trò chơi.
    • Mô-đun sống sót vanilla, quản lý Ivanillassurvivornội dung. được sử dụng để thêm nội dung mới cho những người sống sót của trò chơi cơ bản (da, kỹ năng, v.v.)

  • để một mô-đun biết những phần nội dung cần tạo, tải và khởi tạo. Msu sử dụng Để cung cấp Phần biểu tượngS đến các mô-đun.
    • Trong khi bạn có thể tạo ra các triển khai của riêng mình về Nhà cung cấp mảnh biểu tượng Giao diện để quản lý các kịch bản khả dụng, MSU Nội dung hữu ích Class chứa các phương thức để tạo chúng từ đầu, chỉ bằng cách phân tích assembly của bạn.

Hệ thống thân thiện với ror2

Một trong những mục tiêu chính của msu là làm việc cùng với nguy cơ hệ thống mưa 2, tạo ra nội dung hoạt động với nó thay vì buộc hệ thống của trò chơi cơ bản phải hoạt động với hệ thống của chúng tôi. Do đó, msu cung cấp một hệ thống mạnh mẽ để tương tác cùng với các hệ thống chính của trò chơi như thiết bị, buffs, vật phẩm, v.v.

Giao diện cho các thành phần

để tránh móc nối không cần thiết cho các loại thường được sử dụng, msu cung cấp các giao diện có thể được sử dụng bên trong các thành phần cho các hệ thống sau:

  • Ionincomingdamageotherserverreceiver, nó hoạt động như một móc trên takedamage, có thể được sử dụng để sửa đổi thiệt hại đến cho nạn nhân.
  • Hành vi thống kê, một giao diện hoạt động như một móc trên để tính toán lại số liệu thống kê, chứa các phương thức chạy trước và sau khi tính toán lại số liệu thống kê.
  • Công cụ sửa đổi iBodyStatArg, một giao diện hoạt động như một sự triển khai của R2api. tính toán lại số liệuđại biểu getstatfactor của.

BaseItemMasterHành vi

Hành vi chính cơ bản, giống như đối tác cơ thể của nó (Hành vi cơ bản) được sử dụng để tạo ra một hành vi được thêm vào nhân vật chính khi thu được một mục cụ thể.

Hành vi cơ sở

Behavior basebuffbehavior là một thành phần có thể được sử dụng để quản lý hiệu ứng của buff. Vì lý do hiệu suất, basebuffbehaviours không bị phá hủy khi buff bị xóa, thay vào đó, khi buff được một cơ thể thu được lần đầu tiên, hành vi được thêm vào, khi các ngăn xếp buff bị cạn kiệt, hành vi là Tình trạng vô hiệu hóa, sau đó, khi cơ thể nhận được buff một lần nữa, hành vi đó là Đã kích hoạt. điều này làm giảm khối lượng công việc của máy thu gom rác và tổng thể cải thiện hiệu suất của hệ thống.

Quy trình làm việc thunderkit được cải thiện:

Vì mục tiêu của msu xoay quanh việc làm việc trong trình soạn thảo, msu đi kèm với rất nhiều tiện ích liên quan đến việc tạo nội dung cho trò chơi.

Hỗ trợ wwise

Msu cung cấp một extension tùy chỉnh có thể được sử dụng để liệt kê đen các cụm wwise từ trò chơi, cho phép bạn sử dụng hệ thống tích hợp wwise cho dự án của mình.

đối tượng có thể viết kịch bản

Msu cung cấp các đối tượng scriptableobject sau cho phép tạo nội dung "chỉ trong thời gian chạy" tại thời điểm trình soạn thảo.

  • Có thể đạt được có thể mở khóa def, hoạt động như một bản trừu tượng của hệ thống def và đạt được có thể mở khóa, nó là một Có thể mở khóa def điều đó được mở khóa thông qua một thành tựu.
  • Điểm BuffDef, hoạt động như một bản trừu tượng của dotdef và tự động gán một dotdef cho buffdef được chỉ định của nó.
  • Định nghĩa xóa mở rộng, hoạt động như một phần mở rộng của Định nghĩa Elite Lớp học, hỗ trợ tự động thêm vào các cấp trò chơi cơ bản, đường dốc ưu tú, vật liệu phủ, v.v.
  • Nhà cung cấp thẻ tương tác, một đối tượng scriptablechứa siêu dữ liệu cần thiết để tạo ra các tệp tương tác theo từng giai đoạn, nhiều giai đoạn có thể được gán cho một thẻ duy nhất.
  • Nhà cung cấp thẻ quái vật, một đối tượng scriptablechứa siêu dữ liệu cần thiết để sinh ra quái vật theo từng giai đoạn, nhiều giai đoạn có thể được gán cho một thẻ duy nhất.
  • Hiển thị mục từ điển, một đối tượng scriptablework hoạt động tương tự như R2api. mụcHệ thống từ điển hiển thị mục của nó, nó có thể được sử dụng để thêm nhiều nhóm quy tắc vào hiện có Bộ quy tắc hiển thị mục, các tài sản chính và màn hình tiền chế được cung cấp bởi
  • Tập quy tắc hiển thị tên mục, một đối tượng scriptableobject có thể được sử dụng để tạo hoàn chỉnh Bộ quy tắc hiển thị mục Cho các mô hình nhân vật. Các tài sản chính và màn hình tiền chế được cung cấp bởi Hiển thị mục danh mụcHệ thống trong msu.
  • Def có thể tuần tự hóa, hoạt động như một bản trừu tượng của DEF ưu tú Hệ thống trong trò chơi, có thể gán hệ số nhân chi phí, các tham chiếu có thể định địa chỉ cho các cấp và chế độ ưu tú của trò chơi cơ bản.
  • UberSkinDef, hoạt động như một tiện ích toàn diện cho skindefs, triển khai hỗ trợ hệ thống skinvfx của r2api và thêm skins vào nhân vật vani

đồ vật có thể sở hữu được xây dựng sẵn

Vì msu được tạo với tính đến thunderkit, msu cung cấp các đối tượng có thể sử dụng sau đây cho dự án của bạn:

  • Một điều đơn giản Biểu hiện Với những thứ cần thiết Ngày kê khai để khai báo mod của bạn
  • Một thiết lập của Trái timS được sử dụng để xây dựng sạch sẽ và phát hành mod của bạn
  • Một hệ thống đường ống có thể cấu hình cao:
    • Một đường ống phát hành tự động xây dựng tệp zip sẵn sàng để phát hành mod của bạn.
    • Các đường ống chung, có thể được sử dụng để xây dựng lắp ráp của bạn, xây dựng các gói tài sản được nén hoặc không nén và dàn dựng các tài sản hợp lưu của mod của bạn.
    • Thiết lập đường ống đóng góp, mà những người đóng góp có thể sử dụng để dễ dàng thiết lập đường ống để xây dựng mod của bạn.

Quản lý cấu hình và mã thông báo

Tạo cấu hình cho mod của bạn có thể cực kỳ chi tiết bằng cách sử dụng các triển khai bepinex mặc định, msu triển khai một hệ thống cấu hình trên cùng của bepinex cho phép bạn dễ dàng cấu hình bất cứ thứ gì.

Trường cấu hình, biến được cấu hình và rủi ro của các tùy chọn

Msu cung cấp bản trừu tượng sau của hệ thống cấu hình bepinex:

  • Trường cấu hình

    • Một thuộc tính tùy chỉnh có thể được áp dụng cho các trường tĩnh để tự động cấu hình chúng.
    • Quy trình cấu hình sử dụng id chuỗi duy nhất mà bạn gán cho tệp cấu hình tùy chỉnh để gắn cấu hình với tệp cấu hình.
    • Điều này Phần cấu hìnhBiệt danh Không cần thiết phải được triển khai, theo mặc định msu sử dụng Thông tin thành viên Cấu hìnhNameVà nó Loại tuyên bốTên của nó là Phần cấu hình
    • Tồn tại phiên bản "RiskOfOptions" của trường cấu hình, phiên bản này tự động tạo các tùy chọn bằng cách sử dụng api RiskOfOptions. Tuy nhiên các tùy chọn này không thể được tùy chỉnh nhiều do hạn chế của các thuộc tính.
  • Biến được định cấu hình

    • Configuredvariable là một lớp đại diện cho một biến có thể được cấu hình.
    • Nó có thể được sử dụng để tạo các kịch bản cấu hình phức tạp với rủi ro tùy chọn.

Hệ thống định dạng token

Ràng buộc các thay đổi cấu hình với các giá trị mã thông báo là một trong những phần tốt nhất của việc tạo mã thông báo bằng cách sử dụng mã, tuy nhiên, việc dịch các mã thông báo này có thể khó quản lý vì nó yêu cầu người dịch mã các bản dịch trực tiếp vào tệp nguồn c #.

Msu cung cấp Mã thông báo định dạng Hệ thống, bây giờ bạn có thể viết giá trị mã thông báo của mình bằng cách sử dụng hệ thống định dạng chuỗi của c Với điều này, bạn có thể sử dụng đúng các tập tin json langauge, mà các dịch giả có thể dễ dàng sử dụng cho các bản dịch miễn là họ duy trì thứ tự lập chỉ mục thích hợp.

Tài liệu và mã nguồn

  • Tài liệu và mã nguồn có thể được tìm thấy trong kho lưu trữ github của moonstormsharedutil, có thể được tìm thấy Ở đây

Quyên góp

Msu là một dự án đam mê từ một trong những thành viên của teammoonstorm, Nebby. Như vậy, anh ấy làm việc trong thời gian rảnh rỗi của mình để cho phép phần còn lại của cộng đồng tạo ra nội dung tuyệt vời và đáng kinh ngạc.

Msu sẽ mãi mãi được sử dụng miễn phí và không bao giờ bị cấm đằng sau các bức tường trả tiền, tuy nhiên, các khoản quyên góp được đánh giá cao vô cùng.

ko-fi

Mod sử dụng msu

(nhấp vào tôi!)

(lưu ý: nhấp vào biểu tượng để mở một tab mới cho mod!)

Biểu tượng/URL Tên Mô tả
StarstormIcon Starstorm2 Phần tiếp theo của starstorm 1. Thêm những người sống sót mới, cơ khí, vật phẩm, kỹ năng, kẻ thù, v.v.!
LostInTransitIcon Mất trong quá trình vận chuyển Mất trong quá trình vận chuyển là một mod tập trung vào việc khôi phục các tính năng bị mất do nguy cơ mưa 1, hiện bao gồm các mặt hàng.
VarianceAPIIcon API phương sai Varianceapi cho phép bạn tạo các biến thể cho các nhân vật, các biến thể có thể có kết cấu, ánh sáng, kỹ năng khác nhau, v.v.
FortunesFromTheScrapyardIcon Sẽ được thả-vận may từ bãi phế liệu Một mod nội dung kiểu mở rộng xoay quanh một tập đoàn không gian của bên thứ ba và dựa trên các chủ đề bãi rác và cyberpunk một cách trực quan.
RulersOfTheRedPlaneIcon Những người cai trị của mặt phẳng đỏ Một mod nội dung chung mở rộng trên mặt phẳng màu đỏ

Cảm ơn và tín dụng

  • Twiner để tạo ra thunderkit.
  • ý tưởng và ý tưởng để giúp đỡ các câu hỏi mã hóa khác nhau.
  • Kingenderbrine và runefox237 cho ror2skinbuilder, được sử dụng làm cơ sở cho hệ thống vanillaskindef.
  • Groovesalad để giúp đỡ trong quá trình khái niệm hóa hệ thống mô-đun và cung cấp các shader gốc.
  • Unknownglaze cho logo của msu
  • đội starstorm 2, vì đã cho phép nebby đi sâu và tạo ra msu ngay từ đầu.
  • Vận may từ nhóm bãi phế liệu, vì tin vào mục tiêu của tôi và sử dụng msu cho mod của họ.
  • KevinFromHPCustomerService, để tạo các hệ thống mô-đun ban đầu cuối cùng đã trở thành msu 2.0
  • Mọi người từ cộng đồng nguy cơ mưa 2 đã đánh giá cao công việc của tôi.
Công cụ này được cung cấp bởi bên thứ ba [bufftool]Biểu tượng chú ý

Tải xuống bản mod ngay

Cài đặt LagoFast, khởi động Risk of Rain 2 và chơi các bản mod bạn yêu thích.