【Mod合并教程】多部位切换[10.11更新]

首先,将所有差分版本的mod进行批量重命名

可以手动重命名,如果数量太多也可以下载一个重命名工具(如ReNamer Lite)。

然后使用“GIMI-Mod合并工具”的-c参数合并mod,使用-c参数是为了删除重复文件,缩小合并后mod的体积。但使用该参数需要确保你的ini代码没有多余的引用,否则会合并失败。

所以使用-c参数进行合并前,建议先备份mod文件。如果合并失败,可以用“文件一致性检查工具”检查ini代码是否有多余引用。

-c参数使用方法:

将“GIMI-Mod合并工具”放入文件夹中,在路径栏中输入cmd并回车,打开命令行窗口:

在窗口中输入“GIMI-Mod合并工具.exe -c”并回车,然后正常合并即可:

合并完成后打开Merged.ini进行修改,建议使用VSCode打开,记事本也能改但是费眼睛。

修改方法1:

打开ini后先修改切换键部分:

想要的效果是H切换配色,J切换尾巴,K切换发光,L切换大雷。

将切换键部分修改如下:

其实就是将[KeySwap]部分复制粘贴出4个,分别改好标题、切换键、变量名和切换(0,1),[Constants]下面的变量也是复制粘贴改成对应的4个。

然后就是修改切换逻辑。

首先讲一下这个逻辑,设“黑红兔尾正常发光”为(0,0,0,0),那么“粉白鼠尾巨大不发光”就是(1,1,1,1)。对照你一开始重命名时候的顺序:

那么00原本对应的是“$swapvar == 0”,只要检索$swapvar == 0”,全部替换成“$color == 0 && $tail == 0 && $Chest == 0 && $Glow == 0”即可:

(图片内容仅供参考,替换内容少打了个&,正确写法看文字。)

01~15的修改同理。建议从后向前进行替换,即先替换15,因为当你检索1时,11、12、13等也会被检索到。

全部替换后如图:

最后说一下,建议如果各部位是单独的mod的话,每个部位单独做合并切换。(此例子中的切换因为都在身体上,是同一个mod,没法再拆分了。)因为各个部位全都放一起做切换的话可能逻辑会变得太繁杂。

修改方法2:

如果觉得一个个进行替换太过繁杂,也可以在[Present]部分写入切换逻辑,前提是你能看懂并会写一些简单的if语句

下面用4个变体合并后的ini进行演示,将两个按键分别绑定到颜色切换和身体切换。

首先展示修改前的constants部分:

首先,在[Constants]下添加两个新的变量$color和$body:

脚本生成的变量$swapvar需要保留,因为下面需要用到。

变量名可以根据需求命名,大小写不敏感。

另外解释一下变量前的 persist 修饰词的作用,这是为了给变量赋予持续性,这样在按下F10后会固定在当前变体,而不是恢复默认。但这要求mod所处的路径不含中文,实际情况是你很难保证玩家使用的路径非中文,所以效果不够理想,不如使用命名空间,不加这个修饰词也可以。

然后用两个新的[KeySwap1]和[KeySwap2]替换脚本生成的[KeySwap]:

标题名称可以根据需求来决定,原则上可以是[Key+任意内容],比如[KeyBody]、[KeyColor]等

最后,在[Present]下写入切换逻辑:

结果如下:

切换逻辑还可以使用嵌套结构

最终效果是可以实现用方向键↑和方向键↓分别控制两种切换(示例为颜色和身体)。

也可以按照此示例继续增加变体和切换键,来做出更加复杂的多部位切换。

by 哈米猫特HammyCatte 更新于 2024-10-11
打赏后可直接下载附件 赠人玫瑰 手留余香
默认
最新
1