• 제품
  • 특징
  • Mod Master
  • 다운로드
  • 게임
  • 블로그
  • 요금

달폭풍 Sharedutils

저자:TeamMoonstorm마지막 업데이트:2021-09-11 03:40:242.6M530KB

Risk of Rain 2 달폭풍 Sharedutils-1-라고패스트 모드마스터

사전 종속성

모드 소개

Thunderkit을 사용하여 편집기 환경에서 작업하려는 API에 초점을 맞추는 msu는 사용이 편리하고 간단하도록 설계된 모듈식 API 시스템이다.

moonstorm 공유 utils-대형 콘텐츠 모드에 대한 콘텐츠 로드 및 일반 유틸리티 프레임워크.

MoonstormSharedUtils는 msu로 알려져 있으며, 콘텐츠 모드를 만들기 위해 thunderkit 시스템을 주위로 작동하도록 설계된 API입니다.

업데이트를 위해 구축된 API 및 프레임워크의 일부입니다. 스타스토머2 더 나은 개발 경험을 위해 Thunderkit의 설정으로, 그것은 기하급수적으로 자체 독립된 라이브러리로 성장하여 Thunderkit을 사용하여 대규모 콘텐츠 모드를 만들고 싶은 사람은 누구나 사용할 수 있다.

API 목표

msu는 mod 개발 및 관리에 관한 다음과 같은 목표를 위해 노력합니다.

  • 비동기식 방식으로 게임의 콘텐츠를 관리하고 로드하는 간단하지만 강력한 시스템.
  • 장치 실행, 몬스터 및 상호 작용 가능한 산란과 같은 모딩 워크플로우의 다양한 부분을 자동화할 수 있는 모듈에 기반한 강력한 프레임워크입니다.
  • 매니페스트, 경로 및 파이프라인을 관리하는 사용자 정의 composable objects 세트를 제공하여 thunderkit 워크플로우를 단순화합니다.
  • 기본적으로 제공되는 위임, 기본 항목 행동 등과 같은 게임이 제공하는 시스템을 가능한 한 후크를 통해 활용하는 데 중점을 둔다.
  • 기존 r2api 프레임워크를 이용하여 디렉터 수정과 같은 전력 시스템에 사용합니다.
  • 자산 생성을 위한 코드를 만드는 것이 아니라 편집기 내에서 작업하는 것을 강조합니다.

주요 특징

contentpiece, contentpiece provider 및 모듈 프레임워크

코드는 모드만이 런타임과 일반적으로 깨어날 때 콘텐츠(프리팩,스크립트 오브젝트 등)를 생성하지만, 이것은 게임의 로드 화면이 시작되기 전에 대부분의 모드의 시스템이 초기화되는 "영원한 검은 화면"이라고 불리는 문제를 일으킨다. 이것은 게임이 동결되고 잊혀진 사용자들에게 반응하지 않는다는 생각을 준다. 이것은 사실이지만, assetbundle에서 사용자 정의 콘텐츠와 게임 시스템 간의 로드와 상호작용을 관리하는 것은 어렵다.

msu는 contentpiece, contentpiece 공급자, 모듈 프레임워크의 삼합을 통해 이를 해결합니다. 이 트리아드는 모드가 로드 화면 중에 자산을 비동기적으로 로드할 수 있도록 하고 기본 게임 시스템과 제대로 작동할 수 있도록 하는 데 사용됩니다.

상태 조각

  • mod가 추가하는 어떤 형태의 콘텐츠를 나타냅니다.
  • 각 콘텐츠는 로드와 콘텐츠의 구현을 처리하는 특정 모듈에 연결됩니다.
  • contentpieces는 가용성 시스템을 가지고 있으며, 모듈은 이 시스템을 사용하여 로드하고 초기화할 콘텐츠를 알 수 있다.
  • 콘텐츠 피스는 모듈이 초기화 과정에서 사용하는 비동기식 로드 방법을 가지고 있으며, 이 방법은 콘텐츠에 대한 자산을 비동기식으로 로드하는 데 사용됩니다.
  • 인터페이스로서 API는 다음과 같은 추가 구현을 제공합니다.
    • 특정한 내용과 연결된 내용을 나타냅니다. UnityEngine.Object.
      • msu에는 다음 인터페이스가 포함되어 있습니다. 상태 조각<T>
        • IArtifactContentPiece, 다음 ArtifactDefs
        • iEquipment 콘텐츠 장비 Defs
          • ielite contentpiece 관리 엘리트 정의 특정 장비와 연관됩니다.
        • IItemContentPiece 프로젝트 정의.
          • 이라는 하위 인터페이스 IVoidItemContentPiece 공백의 생존자에 추가된 항목 손상 시스템을 관리합니다.
        • IItemTierContentPiece다음 ItemTierDefs
        • 다른 연결 부품 장면 Defs.
    • 특정 유형과 연결된 내용을 나타냅니다. UnityEngine.MonoBehaviour
      • msu에는 다음 인터페이스가 포함되어 있습니다. IGameObjectContentPiece<TComponent>
        • ICharacterContentPiece 다음 특성체
          • IMonsterContentPiece 적대적인 괴물을 관리하는 데 사용할 수 있습니다.
          • 호출되는 하위 인터페이스 ISurvivorContentPiece새로운 생존자를 관리하는 데 사용할 수 있습니다.
        • iInteractable Contentpiece 다음 상호 작용성.
    • IVanillaSurvivorContentPiece바닐라 생존자의 수정을 나타냅니다.
  • 클래스는 또한 IContentPackModifiermod의 콘텐츠 팩과 직접 인터페이스하는 데 사용됩니다.

모듈

  • 모듈은 로드 및 상호작용을 관리하는 클래스입니다. 상징물 기본 게임을 가진 클래스.
  • 각 모듈은 가능한 하위 인터페이스와 함께 특정 유형의 인터페이스를 처리합니다.
  • 모듈은 어떤 클래스를 인스턴스화하고 초기화해야 하는지 알고 있습니다. 시스템.
  • 일단 여러분이 상태 공급자모듈로, 당신은 그것을 초기화 비동기적인 방식으로 콘텐츠를 초기화하는 코루틴을 회복하는 방법.
  • msu는 다음과 같은 모듈을 제공합니다.
    • 아티팩트 모듈 IArtifactContentPiece%s, artifactmodule 인터페이스는 r2api. artifactcode 게임에 새로운 신품 코드를 추가합니다. 또한 구성요소의 올바른 후크 및 해제를 처리하므로 구성요소가 활성화된 경우에만 구성요소의 후크가 활성화됩니다.
    • 특성 모듈, 관리 ICharacterContentPiece, ISurvivorContentPiece IMonsterContentPiece모듈과 인터페이스 r2api. 감독 게임의 단계를 위한 괴물의 산란을 처리합니다.
    • 장치 모듈 iEquipment 콘텐츠ielite contentpiece이 모듈은 장비의 실행 호출을 관리하기 위해 단일 후크를 사용한다.
    • 상호작용 모델, 관리 iInteractable Contentpiece모듈 인터페이스 r2api. 감독 게임 단계의 상호 작용 가능한 탄생을 처리합니다.
    • 프로젝트 모듈 IItemContentPieceIVoidItemContentPiece. 그것은 자동으로 품목 손상을 처리합니다.
    • 프로젝트 모듈 IItemTierContentPiece실행 시작 시 계층에 대한 사용 가능한 드롭리스트의 컬렉션을 자동으로 생성합니다.
    • 장면 모듈, 관리 다른 연결 부품그것은 r2api. 단계 게임에 무대를 추가하는 것을 처리하다.
    • 바닐라 살아있는 모듈, 관리 IVanillaSurvivorContentPiece. 기본 게임의 생존자(스킨, 스킬 등)에 새로운 콘텐츠를 추가하는 데 사용됩니다.

  • 모듈이 어떤 콘텐츠 조각을 생성, 로드 및 초기화할 것인지를 알 수 있습니다. msu 사용 제공하다 상징물%s를 모듈로 만듭니다.
    • 자신의 구현을 만들 수 있습니다. 상태 조각 공급자 가용성 시나리오를 관리하는 인터페이스, MSU's 유용한 내용 클래스에는 어셈블리만 분석함으로써 처음부터 작성하는 메서드가 포함되어 있습니다.

ror2 친화적인 시스템

msu의 핵심 목표 중 하나는 비2 시스템의 위험과 함께 작동하는 것이다. 기본 게임 시스템이 우리의 시스템과 작동하도록 강요하는 것이 아니라 그것과 작동하는 콘텐츠를 만드는 것이다. 따라서 msu는 장비, 버프, 아이템 등과 같은 게임의 주요 시스템과 함께 상호작용할 수 있는 강력한 시스템을 제공합니다.

구성 요소의 인터페이스

자주 사용되는 유형에 대한 불필요한 후킹을 피하기 위해 msu는 다음 시스템의 구성 요소 내부에서 사용할 수 있는 인터페이스를 제공합니다.

  • ionincomingdamageotherserverreceiver그것은 takedamage의 후크 역할을 하며, 피해자의 입력 피해를 수정하는 데 사용할 수 있다.
  • 통계적 행동통계 재계산을 위한 On Hook으로 작동하는 인터페이스로, 통계 재계산 전후에 실행되는 메서드가 포함됩니다.
  • iBodyStatArg 수정자구현으로 작동하는 인터페이스 R2API. 재계산 상태의 getstatcoefficient 대리자입니다.

BaseItemMasterBehaviour

기본 마스터 행동은 몸과 비슷합니다.기본 체형 행동) 지정된 항목을 얻을 때 특성 마스터에 추가되는 동작을 만드는 데 사용됩니다.

basebuff행동

basebuffbehaviore는 버프의 효과를 관리하는 데 사용할 수 있는 구성요소입니다. 성능의 이유로, 버프가 제거될 때 basebuffbehaviours는 파괴되지 않습니다. 대신, 버프가 처음 본체에 의해 얻어지면, 동작이 추가되고, 버프 스택이 고갈되면, 동작은 비활성화그 후, 신체가 다시 버프를 받을 때, 그 행동은 활성화. 이것은 쓰레기 수거기의 작업량을 줄이고 전반적으로 시스템 성능을 향상시킨다.

향상된 thunderkit 워크플로우:

msu의 목표가 편집기에서 작업하는 것을 중심으로 전개되기 때문에 msu는 게임을 위한 콘텐츠 생성에 관한 많은 유틸리티와 함께 함께 제공됩니다.

wwise 지원

msu는 게임의 wwise 어셈블리를 블랙리스트에 포함할 수 있는 사용자 정의 import extension을 제공하여 프로젝트에 wwise 통합 시스템을 사용할 수 있습니다.

스크립트 가능한 객체

msu는 다음과 같은 scriptableobject를 제공하여 편집기 시간에 '런타임 전용' 콘텐츠를 생성할 수 있습니다.

  • 달성 가능 잠금 해제 가능 def잠금 해제 가능한 def 및 실현 def 시스템의 추상으로 작동합니다. 잠금 해제 가능 def 이것은 성과를 통해 잠금이 해제되었습니다.
  • 포인트 BuffDefdotdef의 추상으로 작동하고 지정된 buffdef에 dotdef를 자동으로 할당합니다.
  • 확장 삭제 정의확장으로 작동합니다. 엘리트 정의 클래스, 기본 게임 계층, 엘리트 경사로, 재료 오버레이 등에 자동 추가를 지원합니다.
  • 인터랙티브 카드 공급자단계별로 상호작용을 생성하는 데 필요한 메타데이터를 포함하는 스크립트 오브젝트입니다. 단일 카드에 여러 단계를 할당할 수 있습니다.
  • 몬스터카드 공급자단계별로 괴물을 탄생시키는 데 필요한 메타데이터를 포함하는 스크립트 오브젝트입니다. 단일 카드에 여러 단계를 할당할 수 있습니다.
  • itemdisplay사전같은 작동 스크립트 오브젝트 r2api. 항목기존 규칙 그룹에 여러 규칙 그룹을 추가하는 데 사용할 수 있는 itemdisplaydictionary 시스템 ItemDisplayRuleSets주요 자산과 디스플레이 프리캐스트는
  • NamedItemDisplayRuleSet완전한 작성에 사용할 수 있는 스크립트 오브젝트 ItemDisplayRuleSet 캐릭터 모델의 경우. 주요 자산과 디스플레이 프리캐스트는 itemdisplay카탈로그msu 내의 시스템.
  • 직렬화 가능한 elitetierdef추상적인 작용으로 작동합니다. 엘리트 DEF 게임 내의 시스템은 비용 승수를 할당하고, 기본 게임 엘리트 계층과 모드에 주소 가능한 참조를 할 수 있다.
  • UberSkinDefr2api의 skinvfx 시스템을 지원하고 바닐라 캐릭터에 스킨을 추가하는 skindefs를 위한 통합 유틸리티로 작동합니다.

사전 구축 가능한 물체

msu는 thunderkit을 고려하여 생성되었기 때문에 msu는 프로젝트에 다음과 같은 composableobjects를 제공합니다.

  • 간단한 명시 필요한 물건과 함께 명세서 날짜 Mod를 선언하기 위해서
  • 의 설정 파트레퍼런스깨끗한 건축과 모드 출시에 사용되는
  • 고도로 구성되는 파이프라인 시스템:
    • 모드를 출시할 준비가 된 zip 파일을 자동으로 만드는 릴리스 파이프라인입니다.
    • 일반 파이프라인은 어셈블리를 구축하고, 압축되거나 압축되지 않은 asset bundles 를 구축하며, mod의 streamingassets를 단계화하는 데 사용할 수 있습니다.
    • 기여자가 모드를 만드는 파이프라인을 쉽게 설정할 수 있는 기여자 파이프라인 설정.

구성 및 토큰 관리

모드에 대한 구성을 만드는 것은 기본 bepinex 구현을 사용하여 매우 세밀할 수 있다. msu는 bepinex 위에 구성 시스템을 구현하여 어떤 것도 쉽게 구성할 수 있다.

configuredfield, ConfiguredVariable 및 옵션의 위험

msu는 bepinex config 시스템에 대해 다음과 같은 추상을 제공합니다.

  • 구성 필드

    • 정적 필드에 적용하여 자동으로 구성할 수 있는 사용자 특성입니다.
    • 구성 프로세스는 사용자 정의 구성 파일에 할당하는 고유한 문자열 ID를 사용하여 구성을 구성 파일에 연결합니다.
    • 그만큼 구성 섹션별명 구현이 필요하지 않으며, msu는 기본적으로 회원 정보 구성Name그리고 선언 유형이름은 구성 섹션
    • RiskOfOptions API를 사용하여 자동으로 옵션을 생성하는 configurfield의 "RiskOfOptions" 버전이 존재합니다. 그러나 이러한 옵션은 속성의 제한으로 인해 크게 맞춤화할 수 없습니다.
  • 구성 변수

    • configuredvariable은 구성할 수 있는 변수를 나타내는 클래스입니다.
    • 옵션의 위험이 있는 복잡한 구성 시나리오를 만드는 데 사용할 수 있습니다.

포맷 토큰 시스템

구성 변경을 토큰 값에 연결하는 것은 코드를 사용하여 토큰을 만드는 가장 좋은 부분 중 하나이지만, 번역자가 번역을 c# 소스 파일로 직접 코딩해야 하기 때문에 이러한 토큰의 번역은 관리하기 어려울 수 있습니다.

msu 제공합니다. 포맷 토큰 시스템, 이제 c#의 문자열 서식 시스템을 사용하여 토큰 값을 작성할 수 있습니다. 이를 통해 json langauge 파일을 적절히 levrage 할 수 있으며, 인덱싱의 적절한 순서를 유지하기만 하면 번역자는 번역에 쉽게 사용할 수 있습니다.

문서 및 소스 코드

  • 문서와 소스 코드는 moonstormsharedutil의 github 저장소에서 찾을 수 있습니다. 여기

기부

msu는 teammoonstorm의 멤버 중 한 명인 Nebby의 열정 프로젝트입니다. 그래서 그는 공동체의 나머지 사람들이 놀라운 경외로운 콘텐츠를 만들 수 있도록 여가 시간에 이를 위해 노력합니다.

msu는 영원히 자유롭게 사용할 수 있고 페이벽 뒤에 게이팅 되지 않을 것입니다, 그러나 기부는 믿을 수 없게 감사합니다.

ko-fi

MSU를 이용한 MOD

(나를 클릭해라!)

(참고: 아이콘을 클릭하여 mod의 새 탭을 엽니다!)

아이콘/URL 이름 설명
StarstormIcon 스타스토머2 별폭풍 1의 속편. 새로운 생존자, 메커니즘, 아이템, 스킬, 적 등을 추가합니다!
LostInTransitIcon 운송중에 잃어버리다 운송중의 손실은 비의 위험으로 손실된 기능을 복원하는 데 초점을 맞춘 모드입니다. 1은 현재 항목을 포함하고 있습니다.
VarianceAPIIcon 분산 api varianceapi를 사용하면 특성에 대한 변형을 만들 수 있습니다. 변형은 다양한 텍스처, 라이트, 스킬 등을 가질 수 있습니다.
FortunesFromTheScrapyardIcon 석방될 것-폐기장에서 나온 운이 제3자 공간 회사를 중심으로 쓰레기장과 사이버펑크 테마를 시각적으로 기반으로 하는 확장식 콘텐츠 모드
RulersOfTheRedPlaneIcon 빨간 비행기의 통치자 빨간색 평면에 확장되는 일반적인 콘텐츠 모드

감사와 크레미트

  • 트위너는 썬더키트를 만들기 위한 것이다.
  • 다양한 코딩 문제를 도와주는 아이디어와 하브입니다.
  • vanillaskindef 시스템의 기반으로 사용된 ror2skinbuilder용 kingenderbrine 및 runefox237.
  • 모듈 시스템의 개념화 과정에서 도움을 주고 stubbedshader를 제공하는 groovesalad.
  • msu 로고를 위한 unknownglaze
  • 스타스토밍 2 팀은 네비가 깊은 끝에서 벗어나 msu를 만들 수 있도록 허용했기 때문이다.
  • 나의 목표를 믿고 msu를 그들의 모드에 사용했기 때문에 폐기장 팀의 운이 있다.
  • KevinFromHPCustomerService, 최종적으로 msu 2.0이 되는 원래 모듈 시스템을 만들기 위한
  • 우의 위험 2커뮤니티에서 온 모두들 나의 작품을 감상했습니다.
본 도구는 타사 [bufftool]에서 제공합니다.주의 아이콘

지금 모드를 다운로드하세요

LagoFast를 설치하고 Risk of Rain 2을(를) 시작한 후 좋아하는 모드로 플레이해 보세요.