引言
本指南将介绍两种魔改方式,各有利弊,请各位根据自身情况自行选择。
修改矿物配置
+ 仅需要一个文本编辑器
+ 可以自行配置不同矿物的倍率,你甚至可以降低矿脉储量来折磨自己
- 仅在创建新存档时生效
- 倍率有上限,无法实现真正的无限资源
修改矿机行为
+ 真正意义上的无限矿物
+ 对现有存档有效
- 修改过程较为复杂,可能遇到各种各样的问题
Part1 矿物配置修改
打开游戏安装目录
右键左侧列表里的本游戏 - 管理 - 浏览本地文件
打开矿物配置代码
用任意文本编辑器打开Plan B Terraform\Plan B Terraform_Data\StreamingAssets\Lua\items_ground.lua
如果你没有合适的文本编辑器,记事本也可以
在末尾加入修改代码
将以下代码粘贴在文件末尾
local minerals_list = {items.iron,items.sulfur,items.aluminumOre,items.fluorite} for i, v in ipairs(minerals_list) do v.quantityMax=65535 end
保存该文件,重启游戏,创建新星球,地图里的矿脉储量应类似于图片中储量。
修改完成!
更多
你可以自行修改quantityMax设置的值来改变生成数量。作为参考,当前版本游戏默认值为450。
由于游戏内采用ushort存储矿物,任何试图修改至65536及以上的尝试都会引起(可能存在的)溢出。
如果游戏后续加入新的矿物,需要更改修改列表minerals_list以适配。
Part2 矿机行为修改
注意:本部分笔者将默认你具有一定的计算机基础,会略过许多细节,仅讲述核心思路。如果你遇到了无法解决的问题,建议退回第一种方法。
准备软件
准备一个dotnet逆向工具,笔者在此选择dnSpy[github.com] ,后续步骤也会以本软件为基础。
当然,如果你是面包机或者已经机械飞升的种族,你的大脑加上一个hex编辑器也是可以的
修改游戏二进制
用dnspy打开Plan B Terraform\Plan B Terraform_Data\Managed\Assembly-CSharp.dll
菜单栏 编辑 搜索程序集 搜索CItem_ContentExtractor.Update01s 可以找到一个名为Update01s的函数,内容如图
右键该函数 编辑方法 删去ptr -= 1; 点击右下角编译
菜单栏 文件 全部保存
重启游戏,现在你的开采机将不再消耗矿物储量
更多
这种修改方式可以修改几乎全部游戏内部逻辑,不在此过多叙述。
如果游戏更新Assembly-CSharp.dll,需要从头再做一次。
结语
本文基于Version 0.64 build 637,且可以预见这篇指南会随着开发者的后续更新而丧失时效性。本文应当不会再更新,如要参考请注意版本差异。
Source: https://steamcommunity.com/sharedfiles/filedetails/?id=2934173747