Author: ninehills
Labels: blog
Created: 2020-05-03T13:33:35Z
Link and comments: ninehills#78
LP:我想玩植物大战僵尸。 我:iOS上只有一个氪金的2代,我给你买原版的。英文可以接受不? LP:你小看我了! 我:那马上好。
LP:我不想从第一关开始玩,都玩腻了,我要直接玩无尽模式。 我:我来研究下。
搜了一圈,发现Mac上没有修改器,只好自己去修改存档文件。
主要参考:https://plantsvszombies.fandom.com/wiki/User_file_format
wiki上说存档文件在./Application Support/PopCap/PlantsVsZombiesMac/userdata
下,但是Steam版本的该路径只有userdata_backup
,真正的userdata
通过find
命令可以找到,在./Application Support/Steam/userdata/124091088/3590/remote/
中(其中124091088是你的steam id)。
找到user1.dat
即为存档文件(存在多个用户找对应的user${n}.dat
, 用户序号可以在users.dat
中找到
然后先备份存档文件(所有操作前请先备份)
在Mac上直接用vim即可,通过vim user1.dat
可以打开文件。然后输入:%!xxd
可以将其显示为HEX格式,之后便可以进行修改。修改完成后,一定要先:%!xxd -r
转换为二进制文件,然后在:wq
保存。(注意修改时游戏需要关闭或者使用不同的用户)
参考 https://plantsvszombies.fandom.com/wiki/User_file_format 修改存档即可。存档格式:
- 存档文件是小端模式,也就是比如四个字节的0x12345678,实际上存放是0x78563412。
- 存档中的所有变量都是四个字节的整数
如果要实现解锁无尽模式,那么需要修改的:
- 修改 Adventure Mode的完成次数,改成 >= 2,修改后解锁 Mini-Game 等模式。
- 修改生存模式各个子模式的完成度,全部设置为完成(大于给定的值,我统一设成0x0b),从而直接解锁最终的无尽模式。
最终效果