PTB roywillow 原创,转载注明
在国外的PC上看某强人thethethethe的教程的时候,看到了关于训练师战斗的部分。里面提到训练师战斗所联系的训练师信息可以在某个叫PET的程序里面看到,每个训练师的代码就是PET码。但是……用PET打开中文,甚至英文的rom,都会出现问题,以至于无法察看PET码。结果无意中看到了别人用Hex修改训练师的教程。里面提到在某个地方有一大块训练师名称,然后怎么的就给把名字、精灵信息、PET码联系起来了……糊糊涂涂的……没办法……自立更生……
根据那个教程,我们首先根据训练师名称逆搜索训练师名称地址。这里,我们以火红常磐森林最右面的一条路的第一个捕虫少年为例。
此少年名叫“太美”(这个是公的还是母的名字……),转换为Hex就是“F67BF3AB”。到UE里面搜索,还好就一个结果。搜索到的结果就是这个捕虫少年的名字。
找到名字就没啦?怎么可能……咱就想,这名字前后是不是就是训练师信息的存储地址?或者这个名字是由精灵信息引用到这个名称地址的?看看数据,发现名字前后都不是FF,就先暂时定为前者。看看前面的数据,一串00,夹杂着01、02、1F什么的。等等?为什么01、02这些比较“小”的数跟着一个1F?(其实我是神经比较过敏才猜着的)。1F那里写着“FC 9A 1F”。哈哈,幸好今天看了the^4的教程,如果把这串数字倒过来,就是“1F9AFC”,不很像一个地址么?到达看看。对比国外教程修改训练师精灵的代码,发现跟实际差别很大:该少年有一只独角虫、一只绿毛虫,都是6级;找到的地址相差甚远。
就此放弃?
在看看后面的地址。FF之后有一大堆00,很多很多,夹杂01、02。继续往下,我们看到:翻过来,就是1F9B0C,到达,发现数据和实际恰好吻合哎!尝试把这段代码更改,运行,变化了!也就是说,
我们从训练师名找到了其精灵信息!
另外,
每个训练师名称前面有一段Hex,似乎是标记了训练师的种类,比如捕虫少年、山男、成熟大姐等等。
目前正在寻找PET码和训练师名称的关系。jerry在编写教程训练师战斗的时候不知道有没有发现PET码如何获得。
OK!努力了这十几分钟终于有了结果。PET码,说白了就是训练师排列的代码。
用AM关联的脚本编辑器察看那个捕虫少年的的脚本,发现其PET码是0x66。这66到底是什么呢……起初以为这个是从顶端的第一个训练师往下数的位次(第一个训练师:1FDFF9左右),数到66号,发现不是。郁闷地翻着PET的ini文件,突然灵光一闪,啊呀……原来自己犯了个很傻的错误:人家66是十六进制……于是,
从头数一遍,从1开始好像,数啊数啊,数到了102(耐心捣的鬼),转换到Hex,66!!这个,应该就是PET码了吧。别告诉我不是……别逼我跳楼。
在精灵信息的地址同一行的最前面,你会看到一个数字,那个数字大概是训练师拥有的精灵的数量。因为在精灵信息的一大块中,我们没发现有什么中断的地方,不像文本末尾会有FF。如果你修改了这个数字,可能会跑到别的训练师精灵身上……
感觉……有必要编写一个程序……W能帮忙么……?
附:训练师精灵信息读取
假如我们读取到了:
< 0000 > < 1A00 > < 4A01 > < 0000 > | < 0000 > < 1A00 > < 4A01 > < 0000 >
对应关系就是:
< 0000 ><级别>< 00 >< POKÉMON 1 ><携带物品(0000无物品)>|< 0000 ><级别>< 00 >< POKÉMON 2 ><携带物品>
其中,级别、精灵号码都要倒过来看,也就是把Hex分两部分,前后颠倒。
PTB roywillow 原创,转载注明
[
本帖最后由 海洋之囧 于 2009-1-18 12:01 编辑 ]