番外1 |
您所在的位置:网站首页 › mod怎么写 › 番外1 |
其实最早up学习MOD的时候,就是从修改大佬写的MOD开始的。 在最早的时候甚至是用各种工具把dll文件反编译成IL代码来进行简单的文本修改。 后来发现github有大部分MOD的源代码,于是开始着手研究如何编译已有的代码。 好了,回忆到此结束,下面开始正题: 准备工作: 将游戏目录的Managed的所有UnityEngine开头的dll文件、Assembly-CSharp、PlayMaker以及常用的前置dll(ModCommon、Vasi、SeanprCore等)复制到一个文件夹(下文中将该文件夹称呼为dll文件夹) 其实把Managed目录的全部dll都复制过去也行dll文件夹的目的是为了方便我们解决引用上的问题。 准备工作做好了之后,可以上github搜索想要的源码了 在搜索框输入HollowKnight,将结果按Recently updated排序获取源码的方式有3个,这里介绍最简单的一种。 点击Code->Download ZIP即可 这里我们用刚更新没多久的随机5门MOD作为例子下载完成之后解压 不要直接在压缩包里打开项目!打开解决方案(.sln)在资源管理器上能看到依赖项那里有个感叹号,说明依赖缺失,需要补回来。 如果找不到资源管理器,可以点击 视图-解决方案资源管理器展开,可以看到有5个缺失的引用,我们需要把感叹号消去,才能正常编译代码 其中前4个都可以在Managed轻易找到,最后一个Vasi需要另外下载右键程序集-添加程序集引用-浏览-选择感叹号对应的dll(这里选Assembly-CSharp) 如果选完之后,变成了两个有感叹号的同名程序集,那就把原来的那个删掉,保留刚刚添加的。 添加完PlayMaker之后,把原本的PlayMaker移除小技巧:可以用文本编辑软件打开csproj文件,直接替换里面的引用路径比手动修改更快 此方法比较方便,但可能没上一种方法简单解决完所有感叹号之后,点击生成 一般来说此时应该能够成功生成,不过有时候会报这种错:命令 copy xxxxx已退出。 这种错误是由于MOD的作者写了后期生成脚本,脚本会在生成之后自动复制MOD到游戏的MODS目录。 如果你不会解决此类错误,其实大可当它不存在,因为此时的MOD已经成功生成,你可以在项目的bin/Debug目录里找到它。然后手动复制到游戏的MODS目录即可 结语: 本篇文章写的时候比较仓促,因为宿舍要熄灯睡觉了,只能草草完结,甚至来不及检查,以后有空可能完善一下。(其实本来打算录个视频的,但是宿舍打游戏的声音太大,只能写专栏了 |
CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3 |