JA3 手工修改存档文件,调整佣兵技能, 无需重开档
本帖最后由 wait4friend 于 2023-10-7 14:32 编辑背景
作为一个老年单机玩家,每个游戏都需要或多或少的修改一下,才能满足自己的习惯。目标并不是想无双割草,但是能自己掌控的感觉总是很好的。
我对JA3的修改需求,大致分为以下几类
[*]功能性的调整,这个已经有各种Mod可以满足
[*]获取特定武器,通过内置修改器可以实现
[*]佣兵属性的增加,风灵月影可以实现,虽然只能增加不能减少
[*]佣兵特技的修改,目前我找到的各种Mod,都需要重开存档才能生效。而我的需求是随时可以调整,方便玩花活。
所以,目前已有的工具和Mod,暂时不能满足的就是随时可以调整佣兵特技。截至2023-09-26,我还没有在网上找到现成可用的JA3存档修改工具,所以只能自己研究了一下如何修改存档。
需要工具和知识
[*]hpk.exe工具,用于解压存档文件
[*]任何文本编辑工具,这里使用 NPP
[*]简单的Windows CMD操作
核心流程
其实很简单,几个动作就完成了。
[*]解压缩名称格式为 xxxx.savegame.sav的存档文件
[*]格式化文本内容,这一个动作不是必须的,目的是为了肉眼看起来比较方便
[*]调整技能的代码,按需修改
[*]重新压缩存档文件
[*]读取存档,Enjoy
后面对每一个步骤进行详细说明
解压缩存档文件
JA3的存档目录,在 C:/Users/你的用户名字/Saved Games/Jagged Alliance 3/76561199468976101
JA3的存档文件,可以用hpk工具解压。随便找一个存档文件,比如我这里用的是 savebackup.savegame.sav 这个名字的文件。新建一个bat文件,写入下面这段代码
for %%g in (savebackup.savegame.sav) do mkdir "%%~ng"
for %%g in (savebackup.savegame.sav) do hpk.exe extract "%%g" "%%~ng"
echo All Done!
rem pause
执行上面代码后,会生成一个新的目录(如果已经存在,就删除先),名字叫savebackup.savegame,是的,和刚才存档同名,主要是为了方便。
目录里面会有3个文件,分别是
[*]game_session, 这个就是我们要修改的存档文件本体
[*]savegame_metadata, 存档的信息,包括名称、时间、Mod,等等
[*]screenshot1138x640,封面图片
格式存档文件内容
这里我们已经可以直接修改game_session这个文件了。是的,你没看错。JA3的存档文件,其实用hpk工具解压之后,就是明文了。(我这里用的是学习版,不知道steam版的情况)
但是,默认这里面的内容是没有经过格式化的,也就是说肉眼可以看懂,但是看的很累。截图如下
反正我看得受不了,所以还需要使用工具格式一下。 我这里使用的是 https://www.sojson.com/ 这个在线工具,当然也可以用其他的。格式化之后的内容,如下
按需修改技能的代码
注意,JA3的技能有三种,分别是 talent ,trait , perk 。但是在存档中不需要进行特意区分,只要有正确的技能代码即可。
技能代码,从解压后的Lua.hpk里面找,目录是 Lua.hpk / Lua / CharacterEffectCompositeDef ,每个技能有独立的文件。以 MrFixit 为例,在MrFixit.generated.lua文件中,可以看到显示的名称和代码是不同的,我们使用的是代码 MrFixit
以火线为例,火线的名字是Livewire,所以在存档中先搜索 Livewire = PlaceUnitData 这个字符串,只会有唯一的一个结果,如下图
我这个存档是刚到旗山的一个档,所有的数据都是初始的。从这个位置向下看,很快就能看到技能部分,StatusEffects,非常好找。如下图
注意,有个别技能的格式不同,主要是有时间周期那些,比如巴里的自动造炸弹,医生自动造药草这几个。在存档里面会有所有佣兵的资料,所以修改前多确认一下。
修改很简单,就是按照上图红框中的格式,构造两个部分的内容,然后替换原来的内容即可。我这里给火线修改了10个技能,如下图
为了在读取的时候,方便找到我修改后的存档,我一般会同时修改savegame_metadata里面的显示名字
重新压缩存档文件
新建一个bat文件,写入下面这段代码
hpk create --dont-compress-files savebackup.savegame save_modified.savegame.sav
echo All Done!
rem pause
执行上面代码后,会生成一个新的文件save_modified.savegame.sav(如果已经存在,会自动覆盖),把这个文件拷贝回JA3的存档目录。
-----------------------------------
完了。开玩。游戏过程中任何时间,都可以调整技能,不需要重新开档。
厉害,自己不会,智能羡慕 666,感谢分享!!! 大大,按你给的代码+hpk解压不了存档,执行bat一闪就自动关闭,没有反应 抱歉,原来是有中文的原因 修改成功,感谢大神!!!
大佬,求问怎么找到IMP自建佣兵?
hpk.exe怎样获取 感谢!
主要羡慕伊凡的击杀回AP天赋,想改到自建佣兵上。。。。。。。 感谢分享厉害,自己不会,智能羡慕 大神,可不可以研究一下新游戏 亚瑟王:第九军团 的修改 牛人!! 非常感谢,改改更舒心g:P 666感谢楼主分享!!
页:
[1]