蒙自零度科技_游游网

使用FCEUX调试器寻找游戏初始物品

蒙自零度科技_游游网 https://www.hhtc.cc 2018-02-28 19:52 出处:原创 作者:游游编辑:@游游
本文以勇者斗恶龙3为例。 首先需要知道游戏中的物品代码,这个可以通过内存搜索,或者在EmuCheat的金手指文件中寻找,具体操作此处略过。正常进入游戏,可以看到主角初始的道具是:铜剑、旅人服,这两个物品的代码分

本文以勇者斗恶龙3为例。

首先需要知道游戏中的物品代码,这个可以通过内存搜索,或者在EmuCheat的金手指文件中寻找,具体操作此处略过。正常进入游戏,可以看到主角初始的道具是:铜剑、旅人服,这两个物品的代码分别是02、30。而这两个道具默认就是已装备的状态,道具装备以后物品代码会变为:物品代码+80(16进制),那么这两个道具实际的代码应为:82、B0

知道物品代码之后,我们先找到它在内存中的地址。打开FCEUX的内存搜索,将下方的:数据 类型/显示 选择为16进制,然后在指定值那里填入82,按下搜索,这个时候我们将得到图中的内容:

使用FCEUX调试器寻找游戏初始物品

此时不要关闭内存搜索窗口,我们在游戏中将铜剑取消装备,再看内存搜索:

使用FCEUX调试器寻找游戏初始物品

076C这个地址变换了一次,值正是物品原始的代码02,其它地址的值都不符合,证明076C这个地址就是铜剑这个物品在内存中的地址。

打开调试器,添加一个写入断点,然后重置游戏。

在第二次断点的地方,我们看到这样的代码:

01FEF3:B1 3C     LDA ($3C),Y @ $621A = #$82

01FEF5:A4 04     LDY $0004 = #$00

> 01FEF7:91 3E     STA ($3E),Y @ $076C = #$00

如下图:

使用FCEUX调试器寻找游戏初始物品

第一句代码LDA ($3C),Y @ $621A = #$82 表示82这个值是从内存地址$621A读入寄存器。

我们将076C这个地址的断点取消,重新添加621A这个地址的写断点,然后重置游戏,并删除、重新制作冒险书。

在第三次断点的地址,代码如下:

  01F731:A9 82     LDA #$82

> 01F733:8D 1A 62  STA $621A = #$A0

使用FCEUX调试器寻找游戏初始物品

代码LDA  #$82 表示将82这个值送入寄存器A中,执行位置在ROM文件中的:01F731(16进制) 。

主角的初始物品代码就这样找到了!使用16进制编辑器打开ROM文件,定位到地址0x1F731处,将A9后面的82修改为想要的物品代码即可。

使用FCEUX调试器寻找游戏初始物品

需要注意的是,要使修改生效,必须重新制作冒险书。


游游

2018.02.28


0
×
给作者送弹药
¥1 ,用微信支付更换
立即支付
×

微信扫码支付

赞赏金额:¥2

精彩评论

暂无评论...
验证码 换一张
取 消