• Produtos
  • Características
  • Mod Master
  • Baixar
  • Jogos
  • Blog
  • Preços

Moonstorm Sharedutiles

Autor:TeamMoonstormÚltima atualização:2021-09-11 03:40:242.6M530KB

Risk of Rain 2 Moonstorm Sharedutiles-1-lagofast mod master

Pré-dependências

Introdução ao Mod

O MSU é uma API modular projetada para funcionar em um ambiente de editor usando o ThunderKit, projetada para ser fácil de usar e simples.

Moonstorm Shared Utilities - Carregamento de conteúdo e estrutura de utilidade geral para grandes módulos de conteúdo.

Moonstorm ShareDutils, também conhecido como MSU, é uma API projetada para criar módulos de conteúdo em torno do sistema ThunderKit.

Originalmente fazendo parte de uma API e estrutura construídos para atualizações Starstorm2 Para uma melhor experiência de desenvolvimento, as configurações do ThunderKit aumentaram exponencialmente e se tornaram sua própria biblioteca independente, para que qualquer pessoa que queira usar o ThunderKit para criar módulos de conteúdo grandes possa usá-lo.

Objetivos da API

O MSU se esforça para atingir os seguintes objetivos relacionados ao desenvolvimento e gestão do Departamento de Defesa.

  • Um sistema simples e poderoso usado para gerenciar e carregar conteúdo do jogo de maneira assíncrona.
  • Uma estrutura poderosa construída em um módulo permite que você automatize a modificação de várias partes do seu fluxo de trabalho, como execução de dispositivos, monstros e postura interativa de ovos.
  • Simplifique o fluxo de trabalho do ThunderKit fornecendo um conjunto de objetos combináveis personalizados para gerenciar listas, caminhos e pipelines.
  • A ênfase é colocada em fazer o máximo possível dos sistemas fornecidos pelo jogo, como comissões padrão, comportamentos básicos do projeto, etc.
  • Use a estrutura R2API existente para alimentar o sistema, como modificações do controlador.
  • Enfatize o trabalho no editor, não no código, para criar ativos.

Características-chave

Estrutura Icontestante, Icontestante e módulo

Embora apenas mods de código criem seu conteúdo durante o tempo de execução e geralmente quando acordados (predefinidos, escritórios, etc.), isso leva a um problema conhecido como "tela preta para sempre", com a maioria dos sistemas dos mods sendo inicializados antes que a tela de carregamento do jogo comece. Isso dá às pessoas a sensação de que o jogo está congelado e não há resposta a usuários esquecidos. Embora isso seja verdade, gerenciar o carregamento e a interação entre conteúdo personalizado da Assetbundles e o sistema de jogos é difícil.

O MSU resolve esse problema por meio da trindade de conteúdo, provedores de conteúdo e estruturas de módulos. Este triplo é usado para permitir que os MODs carreguem seus ativos assíncronamente enquanto a tela é carregada, permitindo que eles funcionem corretamente com o sistema do jogo básico.

Conteúdo

  • Indica alguma forma de conteúdo que o mod está adicionando
  • Cada contexte está vinculado a um módulo específico que lida com o carregamento e a implementação do conteúdo.
  • O ContentePieces tem um sistema de disponibilidade que os módulos usam para saber o que carregar e inicializar.
  • O ContentePieke tem um método de carregamento assíncrono que o módulo usa durante a inicialização para carregar ativos de conteúdo assíncronamente.
  • Como interface, a API fornece implementação adicional:
    • Representa vinculação a um específico UnityEngine.Object.
      • O MSU inclui as seguintes interfaces implementadas Conteúdo<T>
        • IARTIFTATPIECEPara Artifaktdefs
        • IequIPMentContPiect Definição de Dispositivo
          • Ielite Conténtepique Gestão Definição de Elite Associado a um dispositivo específico.
        • ItemContentePique Definição do Projeto.
          • Uma subinterface é chamada de Ivoidetementpique Gerenciamento de itens adicionados ao Vazio Survivor danificam o sistema.
        • IITEMTIENTEECEfor ITEMTEREFS
        • ISCENENTEECE Definição de cena.
    • , indica vinculação a um tipo específico Unityengine.monobehaviur
      • O MSU inclui as seguintes interfaces implementadas IgamioBECTENTEPECE<TComponent>
        • IcaractereContentePique for Personagens
          • IMONSTENTEECE Pode ser usado para lidar com monstros hostis
          • Sub-interface chamada iSURVIVOR Content PiquePode ser usado para gerenciar novos sobreviventes.
        • Conteúdo interativo for Interativo.
    • IvanillaasurVIVOR Contente Piecé, representa uma modificação para sobreviventes de baunilha.
  • A classe também pode ser implementada Modificador de IContentepack, usado para interface de contextpack diretamente com seu mod.

Módulo

  • Um módulo é uma classe que gerencia Conteúdo Há cursos de jogos básicos.
  • Cada módulo lida com um tipo específico de interface, bem como possíveis subinterfaces.
  • O módulo sabe como usar Sistema.
  • Depois que você fornece Provedor IContenteViderPara um módulo, você pode chamá-lo de Inicialização Método para obter um cocoro que inicializa seu conteúdo assíncronamente.
  • O MSU oferece os seguintes módulos:
    • Módulo de peça de trabalho IARTIFTATPIECEs, ArtifaModule e R2API.ArtifaktCode Adicione um novo código de artefato ao jogo. Ele também processará o gancho e o desacoplamento corretos da peça de trabalho, de modo que seu gancho só será ativado quando a peça for ativada.
    • Módulo de caracteres, Gestão IcaractereContentePique, iSURVIVOR Content Pique IMONSTENTEECE, módulos e R2API.Director Lidar com a postura de ovos de monstros em várias etapas do jogo.
    • Módulo de equipamento IequIPMentContPiecte Ielite ConténtepiqueEste módulo usa um único gancho para gerenciar as chamadas de execução do dispositivo.
    • Módulo de interação, Gestão Conteúdo interativo, módulos e R2API.Director Processe gerações interativas para cada etapa do jogo.
    • Módulo de Projeto ItemContentePique e Ivoidetementpique.Ele lida automaticamente com danos ao projeto.
    • Módulo de Projeto IITEMTIENTEECEEle cria automaticamente uma coleção de listas suspensas disponíveis para a camada no início da execução.
    • Módulo de cena, Gestão ISCENENTEECE, ele e R2API. Estágio Para lidar com a adição de uma etapa ao jogo.
    • Módulo Vanilla Survivor, Gestão IvanillaasurVIVOR Contente Piecé.usado para adicionar novo conteúdo (skins, habilidades, etc.) aos sobreviventes de jogos básicos

  • Deixe o módulo saber quais fragmentos de conteúdo criar, carregar e inicializar. Utilização de MSU Fornecer Conteúdos para módulo.
    • Embora você possa criar seu próprio Provedor de Icontentepie Interface para gerenciar soluções de disponibilidade, MSU Conteúdo útil As classes contêm métodos para criar montagens do zero simplesmente analisando-as.

Sistema amigável à RoR2

Um dos principais objetivos do MSU é trabalhar com os riscos do sistema Rain 2 e criar conteúdo com o qual ele trabalha, em vez de forçar o sistema de jogos básicos a trabalhar com o nosso sistema. Portanto, o MSU fornece um sistema poderoso para interagir com sistemas-chave do jogo (como equipamentos, buffs, itens, etc.).

Interface do componente

Para evitar ganchos desnecessários para tipos comumente usados, a MSU fornece interfaces que podem ser usadas dentro dos seguintes componentes do sistema:

  • IONINGDAMGETHERECIEREle serve como um gancho no TakeDamage e pode ser usado para modificar os danos causados pela vítima.
  • Comportamento estatístico do projetoComo uma interface instantânea para recalcular informações estatísticas, ela inclui métodos que são executados antes e depois da recalculação das informações estatísticas.
  • Modificador iBodystatg, uma interface que serve como R2API. Recalculando as estatísticascomissionado por

BasiteMaster BehaAviur

Basetemmaster Behavior, muito semelhante ao seu contraparte Body (Comportamento físico básico) Usado para criar comportamentos adicionados ao CharacterMaster quando um projeto especificado é obtido.

BasebuffBehaAviur

BaseBuffBehaviour é um componente que pode ser usado para gerenciar o efeito do Buff. Por razões de desempenho, quando o buff é removido, o BasebuffBehaviors não é destruído. Pelo contrário, esse comportamento é adicionado quando o buff é obtido pela primeira vez pelo corpo. Quando a pilha de buff se esgota, esse comportamento é Pessoas com deficiênciaDepois, quando o corpo recebe o buff novamente, o comportamento é habilitadoIsso reduz a carga de trabalho do coletor de lixo e melhora o desempenho geral do sistema.

Fluxo de trabalho Thunderkit aprimorado:

Como o objetivo da MSU gira em torno de trabalhar no editor, ela agrupa um grande número de utilidades para criar conteúdo para jogos.

Suporte WISE

O MSU oferece um importex personalizado que pode ser usado para listar na lista negra de montagens WISE em jogos, permitindo que você use o sistema integrado WISE em seu projeto.

Objetos scriptáveis

O MSU fornece os seguintes segredos que permitem a criação de conteúdo "somente em tempo de execução" durante a edição.

  • Definição de desbloqueio implementávelComo abstração dos sistemas Unlockkabledef e AchievementDef, seu Desbloqueie a definição Isso é desbloqueado por meio de conquistas.
  • Clique em BuffDef, como abstração do DotDef e atribui automaticamente o DotDef ao seu bufffef especificado.
  • Definição de exclusão estendida,como Definição de Elite Classe, suporta adição automática à camada básica de jogo, rampa de elite, materiais de cobertura, etc.
  • Provedor de cartão interativoUma escrita que contém metadados necessários para gerar interatividade em etapas, com múltiplas etapas alocadas a um único cartão.
  • MonstercardProvederUma escrita que contém metadados necessários para monstros que depositam ovos em etapas, e várias etapas podem ser alocadas a uma carta.
  • Dicionário de exibição de itensUm Scriptboreject que funciona de uma forma semelhante a R2API. ProjetoO sistema itemdisplaydisonary, que pode ser usado para adicionar vários grupos de regras aos existentes ITEMDISPLAYRULESTETSAtivos-chave e exibição predefinidos por
  • NAMEDEMDISPLAYRULEST, Scriptboreject, que pode ser usado para criar ITEMDISPLAYRULEST Para modelos de personagens. Ativos-chave e predefinições de exibição são ItemDisplayCatalogSistemas internos do MSU.
  • Serializielitetierdef,como Elite DEF Para jogos dentro do sistema, um multiplicador de custo pode ser alocado, que pode ser endereçado como referência à camada e ao modo de elite do jogo básico.
  • UberSkinDefComo uma utilidade abrangente do SkinDefs, ele oferece suporte ao sistema SkinVFX da API R2API e adiciona skins a personagens comuns

Objetos combináveis pré-construídos

Como a MSU foi criada com o thunderkit em consideração, a MSU fornece os seguintes compostos para seu projeto:

  • Simples Lista Use o necessário Data do manifesto Usado para declarar seu mod
  • Configurações Referência de CaminhoIsto é para construir e publicar seu mod de forma limpa
  • Sistema de tubulação altamente configurável:
    • Um canal de publicação cria automaticamente um arquivo zip para preparar o lançamento do seu mod.
    • Pipeline universal que pode ser usado para construir sua montagem, criar pacotes de ativos comprimidos ou não comprimidos e armazenar temporariamente ativos de fluxo para seu mod.
    • Configurações de pipeline do Contribuidor, que os contribuidores podem usar para configurar facilmente um pipeline para construir seu mod.

Configuração e gerenciamento de token

Usando a implementação padrão do BepInEx, criar configurações para seu mod pode ser muito demorado. A MSU implementa um sistema de configuração no BepInEx que permite configurar qualquer coisa facilmente.

Configuração, Configuração e Risco Opcional

O MSU fornece a seguinte abstração do sistema de configuração BepInEx:

  • Configurar campos

    • Pode ser aplicado a campos estáticos para configurar automaticamente suas propriedades personalizadas.
    • O processo de configuração vincula a configuração ao perfil usando um ID de string exclusivo atribuído ao perfil personalizado.
    • TE Seção de configuração e apelido Não é necessária implementação, o MSU é usado por padrão Informações do Membro Nome de configuraçãoe Tipo de DeclaraçãoO nome é Seção de configuração
    • Existe uma versão "RiskoFotions" do Confight Refield, que usa a API RiskoFotions para criar opções automaticamente. Entretanto, devido a limitações de propriedade, essas opções não podem ser personalizadas em grandes quantidades.
  • Variáveis de configuração

    • Configuração é uma classe que representa variáveis que podem ser configuradas.
    • Pode ser usado para criar cenários de configuração complexos com riscos opcionais.

Sistema FormatToken

Vincular alterações de configuração a valores de token é uma das melhores partes para criar token usando código, mas a tradução desses token pode ser difícil de gerenciar porque exige que um tradutor codifique a tradução diretamente no arquivo de origem C#.

Fornecido por MSU Token de formato Sistema, você agora pode usar o sistema de formatação de string C# para escrever o valor do token. Com isso, você pode guiar corretamente os arquivos da língua JSON. Desde que você mantenha a ordem de indexação correta, os tradutores podem usá-los facilmente para tradução.

Documentação e código-fonte

  • Documentos e códigos-fonte podem ser encontrados no depósito Github da MoonstormSharedUtil. Aqui

Doações

MSU é um projeto apaixonado pela Nebby, um membro do TeamMoonstorm. Então, ele dedica seu tempo livre a isso, permitindo que o resto da comunidade crie conteúdo incrível e inspirador.

O MSU será sempre gratuito e nunca ficará fechado atrás do muro de pagamento, mas doar é uma gratidão incrível.

ko-fi

Usando Mods MSU

(Clique em mim!)

(Observação: clique no ícone para abrir o novo rótulo do Mod!)

Icone/URL Nome Explicação
StarstormIcon Starstorm2 A sequência da Storm Interestelar 1. Adicione novos sobreviventes, mecanismos, projetos, habilidades, inimigos e assim por diante!
LostInTransitIcon Perdido durante o transporte Perdido em Transporte é um mod focado em restaurar a função perdida do Risco de Chuva 1, atualmente incluindo itens.
VarianceAPIIcon API de Variância O VarianceAPI permite que você crie variantes para personagens que podem ter texturas diferentes, iluminação, habilidades e muito mais.
FortunesFromTheScrapyardIcon Aguardando para ser liberado - a riqueza do depósito residual Um mod de conteúdo em formato de chips centrado em uma empresa espacial terceirizada, visualmente baseado em temas de lixão e ciberpunk.
RulersOfTheRedPlaneIcon O governante do plano vermelho Padrões de conteúdo comuns estendidos no plano vermelho

Agradecimentos e créditos

  • Crie o Twinder do ThunderKit.
  • IDeath e Harb ajudam a resolver vários problemas de codificação.
  • O Kingenerbrine e o RuneFox237 do RoR2SkinBuilder servem como base para o sistema VanillaSkinDef.
  • O GrooveSalad auxilia na conceitualização de sistemas modular e fornece StubbeDSHADS.
  • Esmalte desconhecido para o logotipo MSU
  • A equipe Starstorm 2 foi a primeira a ajudar nebby a sair dessa situação difícil e criar o MSU.
  • Riqueza da equipe do depósito de sucata porque eles acreditam nos meus objetivos e usam o MSU para seu Departamento de Defesa.
  • KEVINFROMHPCSTOMERVICE, usado para criar o sistema modular original que eventualmente se tornará MSU 2.0
  • Risco da Chuva 2 Todos na comunidade apreciam meu trabalho.
Esta ferramenta é fornecida por terceiros [bufftool]Ícone de atenção

Baixe Mods Agora

Instale o LagoFast, inicie Risk of Rain 2 e brinque com os mods que você ama.