番外1

您所在的位置:网站首页 mod怎么写 番外1

番外1

#番外1| 来源: 网络整理| 查看: 265

其实最早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