Todos os itens lançados, incluindo, entre outros: binários, arquivos de origem, documentação, são disponibilizados sob a licença AGPL, com a disposição adicional de que os itens lançados não podem ser usados para criar produtos bifurcados ou concorrentes. Um produto concorrente seria aquele que pudesse compilar e executar código .NET (por exemplo, C#) em tempo de execução para criar ativos de jogo modificados.
A provisão adicional pode ser removida assim que o Repositório for arquivado (ou seja, o desenvolvimento | a manutenção for interrompido).
Requer que o .NET Desktop Runtime 8.x x64 seja instalado para versões >= superiores a 5.00.1.0.
Requer que o .NET Desktop Runtime 6.x x64 seja instalado para versões >= que 3.82.1.
Requer a instalação do .NET Desktop Runtime 5.x x64 para versões até 3.82.1.
Baixe a versão mais recente ou selecione uma versão e baixe o ativo NMSModBuilder.7z correspondente.
Não há instalador, basta descompactar o conteúdo do NMSModBuilder.7z em uma (nova) pasta.
O GitHub pode ter versões de pré-lançamento não carregadas no Nexus. As versões geralmente são marcadas como pré-lançamento quando uma quantidade significativa de código é adicionada ou alterada. A tag de pré-lançamento pode ser removida assim que estiver em uso por algum período de tempo sem nenhum problema detectado.
Ao atualizar, lembre-se de fazer backup de todos os scripts Util, Query ou Mod incluídos que você possa ter modificado, antes de substituí-los por aqueles de uma versão mais recente.
O NMSMB deve poder ser executado sem que o usuário precise fazer alterações na configuração.
Pode ser necessário substituir o libmbin.dll incluído pelo exigido pela versão do jogo que você deseja carregar.
Quando o NMSMB é iniciado, ele carrega o libMBIN.dll na pasta NMSMB. Ele o utiliza para a maioria das guias de pesquisa, para exibir o conteúdo de vários mbins, por exemplo, idiomas. Também é usado pelos scripts quando eles extraem ou criam mbin's. Como tal, a versão do libMBIN.dll na pasta NMSMB deve corresponder àquela exigida pelo lançamento do jogo que você deseja modificar. O arquivo cmkNMSReleases.txt lista qual versão libMBIN.dll é necessária para cada versão do jogo.
Se você tiver várias instâncias de jogo que deseja modificar, cada uma exigindo uma versão libMBIN.dll diferente, a opção mais fácil é criar uma pasta de instalação NMSMB para cada instância de jogo, cada uma com a versão libMBIN.dll apropriada; caso contrário, você terá que certificar-se manualmente de que a versão correta do libMBIN.dll está na pasta NMSMB antes de modificar uma determinada instância do jogo.
O aplicativo pode baixar outras versões do libmbin, por exemplo, libmbin_3.9.0.1.dll. Eles são usados SOMENTE ao descompilar mbins. Eles NÃO são usados ao iniciar o aplicativo, para carregar as guias de pesquisa ou ao compilar | executar scripts.
Uma determinada versão do NMSMB só pode avançar a versão libmbin.dll. Por exemplo, NMSMB versão 4.0.0.0 vem com libmbin 4.0.0.2, você só pode tentar substituir a libmbin incluída por versões mais recentes como 4.0.0.3, você não pode usar versões mais antigas como 4.0.0.1. Se o lançamento do seu jogo precisar de um libmin mais antigo, você precisará usar uma versão mais antiga do NMSMB que o suporte. Consulte o change.log do NMSMB para ver qual versão da libmbin está incluída em cada versão do NMSMB ou apenas verifique a libmbin no arquivo de download.
no_github
Impedir que o NMSMB se conecte ao GitHub.
Por padrão, o NMSMB se conectará ao GitHub para obter:
no_registry
Impedir que o NMSMB armazene o estado da janela no registro quando ele for fechado e restaure-o do registro quando for iniciado.
NMSMB armazena o estado da janela em HKCUSOFTWAREcmkushnirNMSMBWindows .
O usuário é responsável por excluir as informações do registro se remover o NMSMB, não há desinstalador. Observe que se você usar várias cópias do NMSMB, todas compartilharão a mesma chave de registro.
p"path"
Adicione um único local de jogo à barra de ferramentas. Um botão será adicionado à esquerda dos botões GoG, Steam, Select.
r#.#.#
Forçar o lançamento do jogo para a instância do jogo p
. Usado apenas se p
também for especificado. Ignorado se v
for especificado.
v#.#.#.#
Força a versão MBINC para a instância do jogo p
. Usado apenas se p
também for especificado. Substitui r
.
lg
, ls
, lx
ou lp
Tente carregar automaticamente uma instância do jogo na inicialização (GoG, Steam, Xbox Game Pass ou p
).
Se
p
for especificado, mas nemr
ouv
forem especificados, a data de construção do NMS.exe será pesquisada em cmkNMSReleases.txt para determinar a versão.
O arquivo .editorconfig, na pasta NMSMB, é usado pelo botão da barra de ferramentas Formato do script para controlar coisas como recuo e espaçamento.
O arquivo cmkNMSReleases.txt, na pasta NMSMB, vincula as versões do jogo ao MBINCompiler | Versões libMBIN. Geralmente é atualizado quando novos jogos são lançados e | ou MBINCompiler | versões libMBIN são lançadas | instalado.
O NMSMB mesclará automaticamente as entradas do arquivo local com as entradas mais recentes do arquivo GitHub quando iniciado, a menos que a opção de linha de comando no_github seja especificada. Isso significa que o usuário geralmente não precisa editar este arquivo, desde que o arquivo GitHub seja mantido atualizado.
A data de construção do NMS.exe para um determinado lançamento de jogo pode ser diferente para cada plataforma, incluindo GoG vs Steam. A data de compilação do NMS.exe pode ser alguns dias antes da data de lançamento oficial. As datas de compilação do cmkNMSReleases.txt devem corresponder às datas de compilação do Steam NMS.exe.
Você só poderá criar mods para lançamentos de jogos suportados pela versão libMBIN.dll na pasta NMSMB, conforme especificado em cmkNMSReleases.txt.
Uma dll de plug-in é uma dll principal do .NET que simplesmente faz referência a cmkNMSCommon.dll e cmkNMSModBuilder.exe e tem uma classe derivada de cmk.NMS.ModBuilder.Plugin. Quando o NMSMB for iniciado, ele carregará todos os arquivos ./Plugins/*.dll. Para cada dll, ele criará uma instância da primeira classe derivada cmk.NMS.ModBuilder.Plugin que encontrar e chamará seu método Load(). Quando o NMSMB fechar, ele chamará o método Unload() para todas as instâncias do Plugin.
Plugins podem ser usados para coisas como:
Veja: Plugins/Sample/ no Repositório.
Execute cmkNMSModBuilder.exe com qualquer opção de linha de comando desejada, por exemplo:
X:GamesNMSToolsNMSModBuilder>cmkNMSModBuilder.exe p"G:GamesNo Man's Sky" lp
Quando o NMSMB é iniciado, pode levar de 1 a 3 segundos para que a janela seja exibida. Durante esse tempo, o NMSMB está carregando e vinculando todas as enums, classes e campos do libMBIN.dll na pasta NMSMB, procurando por instâncias de jogos GoG, Steam e Xbox Game Pass instaladas, carregando quaisquer arquivos ./Plugins/*.dll, ....
Janela de log padrão e botões de alternância de estado NMSMB.
Todos os Enums, Structs, Campos do libMBIN.dll vinculado.
Estruturas de nível superior possuem links para mbins que as utilizam.
Pode filtrar itens exibidos usando curinga ou padrão regex.
Lista consolidada e ordenada de todos os pares ID - Texto para o idioma selecionado.
O idioma selecionado é usado para exibir texto em todas as guias que usam um ID de idioma.
Pode filtrar itens exibidos usando curinga ou padrão regex.
Listar itens de METADATA/REALITY/TABLES/*.MBIN
correspondente.
Para cada item exibe ícone, ID's, texto, descrição, requisitos.
Pode filtrar itens exibidos usando curinga ou padrão regex.
Listar itens de METADATA/REALITY/TABLES/NMS_REALITY_GCRECIPETABLE.MBIN
.
Para cada item exibe ícones, IDs, texto, descrição, requisitos.
Pode filtrar itens exibidos usando curinga ou padrão regex.
Use o padrão curinga ou regex para pesquisar todos os caminhos de itens nos arquivos do jogo ou mod pak.
Use o padrão curinga ou regex para pesquisar todos os caminhos *.dds nos arquivos do jogo ou mod pak.
Uma imagem em miniatura é exibida para cada resultado.
Use o padrão curinga ou regex para pesquisar itens em arquivos de jogo ou mod pak que podem ser representados como texto.
Opcionalmente, armazene em cache o texto mbin para acelerar significativamente as pesquisas subsequentes.
Exibido apenas se forem detectados conflitos.
NMSMB monitora a pasta GAMEDATA/PCBANKS/MODS/
do jogo selecionado para *.pak adiciona | exclui | mudanças. Sempre que uma alteração é detectada, ele verifica novamente se há conflitos e exibe a guia se houver algum, caso contrário, oculta a guia.
Veja itens em arquivos de jogo ou mod pak. Pode salvar itens no disco.
Visualizadores especializados e visualizadores de diferenças para tipos de itens comuns, por exemplo, mbin, dds, spv, txt, ... .
Crie, edite e compile scripts C# que podem ser usados por scripts de consulta e modificação.
Crie, edite, compile e execute scripts C# que podem consultar dados de arquivos de jogos e mod pak.
Crie, edite e compile scripts C# que criam cópias modificadas de jogos e arquivos mod pak instalados.
Execute objetos de script Mod, use os itens modificados resultantes para construir novos arquivos mod pak.
Exibido apenas se um caminho de linha de comando p
válido for especificado.
Verifica o registro de HKEY_LOCAL_MACHINESOFTWAREWOW6432NodeGOG.comGames1446213994
.
A chave de registro contém o caminho de instalação e o lançamento do jogo.
Pesquisa todos os locais de instalação de jogos Steam por appmanifest_275850.acf
.
O manifesto contém o caminho de instalação e o lançamento do jogo em cmkNMSReleases.txt com base na data de construção do NMS.exe.
Usa o gerenciador de pacotes do Windows para procurar o ID do pacote HelloGames.NoMansSky
.
O pacote contém o caminho de instalação e a versão do jogo.
A seleção de um caminho de jogo válido exibirá a data de compilação do NMS.exe e a versão do jogo correspondente em cmkNMSReleases.txt. O usuário pode substituir o lançamento do jogo.
https://github.com/cmkushnir/NMSModBuilder
Observação: scripts e documentos contribuídos por usuários podem ser encontrados em:
https://github.com/cmkushnir/NMSModBuilderContrib
Exibir tela inicial e links para dependências.
A versão do link carregado libMBIN.dll na pasta NMSMB determina quais versões de jogos podem ser modificadas. Ele não controla quais versões do mbin podem ser visualizadas, o NMSMB solicitará o download do libMBIN.dll apropriado necessário para visualizar um determinado mbin conforme necessário.
A data de construção é armazenada em NMS.exe, portanto, o arquivo precisa ser legível.
O Xbox Game Pass NMS.exe não pode ser lido por padrão, a data é cmkNMSReleases.txt com base no lançamento do jogo.
Minimize a janela NMSMB e inicie o NMS.exe selecionado em um novo processo.
Clicar neste botão consultará o GitHub para obter a versão mais recente. O usuário será solicitado a baixar NMSModBuilder.7z se uma versão mais recente estiver disponível.
Como libMBIN.dll, NMSMB não tenta ser compatível com versões anteriores, portanto, apenas versões de libMBIN.dll lançadas na mesma época que a versão NMSMB fornecida podem ser suportadas para modding, ou seja, versões anteriores e posteriores de libMBIN.dll podem alterar algumas classes que são diretamente usado por NMSMB (NMSString*, serializar namespaces e assinaturas de métodos, idioma, substância, produto, tecnologia, receitas mbin's).
Há duas ocasiões em que o NMSMB pode solicitar que você baixe um arquivo:
https://github.com/cmkushnir/NMSModBuilderContrib
Contribuições do usuário, por exemplo, scripts, plug-ins, documentos, ...
https://github.com/monkeyman192/MBINCompiler
Descompilar e recompilar itens *.mbin para | de dom na memória e texto.
https://github.com/dotnet/roslyn
Compilador Microsoft .NET, usado para compilar scripts C#.
https://github.com/icsharpcode/Avalon
Visualize e edite itens que podem ser convertidos em texto.
https://github.com/nickbabcock/Pfim
Converta *.dds em bitmaps para visualização.
https://github.com/KhronosGroup/SPIRV-Cross
Converter *.spv em | do texto glsl.
https://github.com/mellinoe/veldrid-spirv
Converter *.spv em | do texto glsl.
https://github.com/mmanela/diffplex
Determine diferenças entre itens de texto.
https://github.com/octokit/octokit.net
Consulte o GitHub para obter informações de lançamento.
https://github.com/MiloszKrajewski/K4os.Compression.LZ4
Descompactar | compactar arquivos pak HGPAK (MacOS).
https://github.com/ClosedXML/ClosedXML
Exporte para arquivo .xlsx do Excel.