无人深空吧 关注:223,370贴子:2,175,324

[mod修改教程]解包、打包

取消只看楼主收藏回复

接我的上个帖子,我发现并不能直接用notepad++对mod进行修改,所以本帖将继续使用IncreasedShipInventoryDistance作为例子解释如何修改一个简单的mod。


IP属地:湖南1楼2018-08-08 22:30回复
    附:
    引用的资料:https://www.reddit.com/r/NoMansSkyMods/comments/51kjk4/quick_instructions_on_how_to_unpak_unmbin_rembin/
    本教程使用的mod(modder:Toddyupa):https://nomansskymods.com/mods/increased-ship-inventory-distance/
    表情可以直接去掉


    IP属地:湖南来自Android客户端2楼2018-08-08 22:37
    收起回复
      2026-04-19 21:36:31
      广告
      不感兴趣
      开通SVIP免广告
      友情提示:在进行本教程的时候一定要仔细看清楚,免得走很多弯路,特别是注意大小写的问题。那么,始めましょう~


      IP属地:湖南3楼2018-08-08 22:42
      收起回复
        首先准备好要使用的工具
        MBINCompiler----能将MBIN文件转化为可编辑的exml文件
        链接:https://github.com/monkeyman192/MBINCompiler/releases
        PSARC-Decompile-tool----能将psarc(实际上就是pak,,,这里我卡了半天)转为MBIN文件
        链接:别看了,直接百度nmsmod制作,随便下一个里面就有


        IP属地:湖南4楼2018-08-08 22:49
        回复
          1.准备好你的mod,将mod与两个工具存放在同一个目录下(位置任意,最好不在c盘下)
          2.在当前窗口下打开命令提示符,输入:psarc extract (当前目录地址)\modname.pak
          如果你用的是本教程使用的例子会看到一个文件夹和一个MBIN文件,
          在这里先说一下PCBANKS文件占了游戏体积90%左右,也就是说游戏的绝大部分代码都放在这了,你可以把他们解包然后修改他们,所以本教程亦是mod制作的指引(切记不要直接用修改后的东西去覆盖源文件,因为游戏会自动检查文件的完整性,没有备份就炸裂)


          IP属地:湖南5楼2018-08-08 23:08
          回复
            非常粗略的讲下mod加载的机制
            1.同样效果的mod只会加载最上面的那个
            2.加载过程实际上是将mod中的东西替代游戏原本要加载的东西,所以你打包的过程要严格按照原本的文件夹路径,z这点非常重要!!!


            IP属地:湖南6楼2018-08-08 23:14
            回复
              Modder都有一个习惯就是把修改的过的文件路径写在readme里,还有可能把修改过的代码直接写出来方便你查找要修改的参数,所以有兴趣的小伙伴一定不要忘记readme文件


              IP属地:湖南7楼2018-08-08 23:22
              回复
                接下来将里面的两个MBIN文件转成exml文件
                还是在命令窗口输入指令
                格式:MBINCompiler (路径)\filename.MBIN


                IP属地:湖南8楼2018-08-08 23:28
                收起回复
                  2026-04-19 21:30:31
                  广告
                  不感兴趣
                  开通SVIP免广告
                  现在你用txt打开exml文件后就能看到活生生的源码了,是不是很兴奋,在这里推荐使用notepad++打开,好处不多说,用过自然懂


                  IP属地:湖南9楼2018-08-08 23:31
                  回复
                    现在开始重点移向readme文件
                    如图:


                    IP属地:湖南10楼2018-08-08 23:35
                    回复
                      第一部分是教你如何安装mod
                      第二部分是交代他到底修改了哪些地方
                      第三部分是对mod的大致介绍
                      第四部分则是mod的不同版本的参数的定义表
                      vanilla这栏是游戏原本的定义,未安装传送器时与飞船的互动距离只有50u,后面那个是安装传送器后的增幅量
                      选择你之前解包的那个版本,用txt打开GCGAMEPLAYGLOBALS.GLOBAL.exml,Ctrl+F搜索DEFAULT对应的数据
                      你会得到这样一行代码:<Property name="ShipInteractRadius" value="你搜索的数值" />
                      ShipInteractRadius的意思是飞船互动半径,在这里你可任意修改你想要的样子
                      再打开NMS_REALITY_GCTECHNOLOGYTABLE.exml文件搜索TELEPOTER BONUS对应的数值
                      对应代码:
                      <Property name="StatsType" value="Ship_Teleport" />
                      </Property>
                      <Property name="Bonus" value="你搜索的数值" />
                      你可能会碰到很多搜索结果,这时就要看上下文代码了ship_teleport,或者直接搜索关键字例如teleport,因为现在修改的是装了传送器后的增幅数值代码里肯定会有传送这种英文单词,修改完后记得保存


                      IP属地:湖南12楼2018-08-09 00:05
                      收起回复
                        先推迟一下,明晚在更


                        IP属地:湖南13楼2018-08-09 00:15
                        回复
                          继续更新,虽然没什么人看


                          IP属地:湖南17楼2018-08-09 20:25
                          回复
                            其实应该早点解释psarc到底是个啥了,我们在PCBANKS下看到的pak后缀其实就是psarc(注意这里的pak跟其他地方的pak不一样)
                            那么究竟psarc是啥?它就是个压缩文件,看起来很高级是吧,然而就是这么普通,它就是一种压缩格式,唯一特殊的地方就是它不能像其他压缩文件一样可以轻松解压,就是为了不让一般用户打开(至于为什么不用我多说了吧)
                            一个pak里面装的可能有上百个代码文件,甚至还会有材质文件,modder在打包mod的时候只会把其中修改过的文件打包,这样节省资源,因为mod加载是替换游戏原本的代码、材质文件,所以mod里没有的就会加载游戏本身的,mod里有的就会优先加载mod跳过游戏原本自带的.
                            有人说为什么从网上下下来的mod只有几百k,而一个pak远不止几百k,相信说到这大家应该内心都有了个底


                            IP属地:湖南19楼2018-08-09 20:54
                            回复
                              2026-04-19 21:24:31
                              广告
                              不感兴趣
                              开通SVIP免广告
                              解包跟修改讲完了,剩下的就是打包+进入游戏测试了
                              如果跟着教程走,应该是这样,原来生成的两个MBIN旁边都有一个你修改后的同名exml文件,现在要做的就是解包的逆过程
                              还是在存在MBINCompiler、psarc这两个工具的直系文件夹打开命令窗口,不然系统会提示你无效的命令
                              exml转MBIN:MBINCompiler (path)\filename.exml
                              本教程使用的mod一共修改了两个文件所以都要转一遍
                              接下来在本窗口新建一个list.txt(名字任意)
                              在其中写下两个刚转好的MBIN文件的路径
                              格式:(path)\filename.MBIN(注意!后缀名必须是大写,不然mod不会生效!)


                              IP属地:湖南20楼2018-08-09 21:11
                              回复