您现在的位置: 首页>> 资讯 >> 正文

缺氧MOD开发 从小白到入门(二、第一个修改)

来源: 哔哩哔哩

一、准备工作:

前文已经创建了工程文件,内容如下


【资料图】

首先在前面添加引用文件

然后将第一行的public class Class1修改为public class Paches,其中“Paches”为自定义名称。之后所有的修改都在这个Paches类中进行。

二、开始修改

这里以修改液温调节器的功率和降低温度为例。

1、查找修改对象的内部名称

用Poedit打开strings_preinstalled_zh_文件,搜索“液温调节器”的英文如“<link="LIQUIDCONDITIONER">液温调节器</link>”中的“LIQUIDCONDITIONER”就是对应的游戏内部名称。

文件路径为:游戏安装文件夹\OxygenNotIncluded\OxygenNotIncluded_Data\StreamingAssets\strings\trings_preinstalled_zh_

2、查找修改对象的源代码

用dnspy打开,使用搜索功能搜索“LIQUIDCONDITIONER”,搜索结果中有一项CreateBuildingDef,双击即进入代码行,这段即为液温调节器的功能代码。

文件路径为:游戏安装文件夹\OxygenNotIncluded\OxygenNotIncluded_Data\Managed\

完整的代码如下,目前可以不用管具体代码内容,只需要找我们需要修改的代码即可。其他代码意思可以使用翻译软件查询。

在这段代码中,功率的代码是“ = 1200f”,意思是功率为1200瓦,输出温度的代码是“ = -14f”,意思是输出的物质温度降低14度。此外要注意的是,这两段代码分别在“public override BuildingDef CreateBuildingDef”和“public override void ConfigureBuildingTempla”函数中,记下这个区别。

3、开始修改代码

进入工程文件中,在类中添加如下代码

第一行[HarmonyPatch(typeof(“参数1”), "参数2")]的意思是需要修改的函数位置,参数1对应的是源文件中的第一行“public class LiquidConditionerConfig : IBuildingConfig”中的“LiquidConditionerConfig”。参数2对应的是功率所在的函数名字“CreateBuildingDef”。

第二行

public class 函数名,是自定义修改的执行函数,名称自定义,我这里为了方便区分使用了“Patch_修改对象_Create”的命名方法

第三行

public static void Postfix(ref BuildingDef __result),是固定写法

第四行

__result.修改对象 = 值;就是需要修改的内容

这里“__ = 200f;”的意思就是修改功率为200瓦。

同理,修改输出温度的代码如下

这样一来修改的代码就完成了。

三、mod安装

1、生成dll文件

点击启动,调试生成dll文件,输出窗口中出现如下信息,即表明DLL文件生成成功

2、建立测试文件夹

新建开发文件夹,用于mod的本地开发测试,如果不想上传到steam的话可以这样直接使用首先进入缺氧的存档文件夹,例如C:\Users\User\Documents\Klei\OxygenNotIncluded在mods文件夹中新建Dev文件夹和mod文件夹,完整的路径为,其中MyMod为自定义名称C:\Users\User\Documents\Klei\OxygenNotIncluded\mods\Dev\MyMod

3、将生成mod文件“”和“”拷贝进MyMod文件夹内

4、用文本编辑器新建两个和mod_文件

mod_:

至此这个液温调节器的修改MOD便可以用了,进入游戏内启用对应MOD即可。

相关新闻