启动PCSX2模拟器1.6.0,载入奥特曼格斗进化3日版镜像。进入自由对战模式,停在角色选择画面。打开Cheat Engine 7.0,点进程选择按钮,从列表里选中带有“pcsx2”字样的进程。这里注意,如果模拟器用了多线程渲染,可能会有两个同名进程,选内存占用最大的那个。
CE左上角数值类型改为“4字节”,扫描类型选“未知的初始值”,点“首次扫描”。这个操作会把整个模拟器内存里所有4字节数据都记录一遍,方便后续过滤。
回到游戏,用方向键在角色列表上横向移动几格,移动时不要按确定键。切回CE,点“再次扫描”,扫描类型选“变动的数值”,数值留空,点“再次扫描”。反复做这个动作,每移动一次角色就过滤一次。大约过滤五六次之后,地址列表还剩几百个,这时候改成“未变动的数值”来过滤,因为当你让光标停在同一位置不动时,大部分无关地址不会变化。这样交替使用“变动”和“未变动”两个条件,能把候选地址压缩到几十个以内。
当候选地址小于50个时,逐个点选地址,然后看CE右下角的内存预览。角色ID所在的内存区域通常在选人界面会随着光标移动产生规律变化。你可以在CE的数值栏里输入一个临时值比如100,然后回到游戏看看光标位置有没有变。如果角色跳了一下,说明这个地址就是你要找的。找到后双击地址加到列表,把数值改成24。
24这个数字是我用日版光盘镜像在PCSX2上跑出来的结果。加坦杰的代码在内存里显示为0x18,十进制24。不同版本的游戏镜像可能存在一个数值偏移,比如汉化
