分享到新浪微博 分享到QQ空间 打印

[其他] 改版方法---数据对比法应用+实例运用(增加精灵升级技能数量/初始博士介绍时扔宠)

改版方法---数据对比法应用+实例运用(增加精灵升级技能数量/初始博士介绍时扔宠)

数据对比法,顾名思义,就是对2个ROM进行对比,找出不同的数据。
针对其不同数据内容,地址等进行进一步的操作,是一个比较常用的改版方法!

在说这个之前首先你得了解16进制编辑器,它是将文件解析成16进制数据进行编辑的工具。
对于游戏ROM,其中不管是图片,声音,脚本等都以16进制数据表示。
常常用于游戏汉化,破解,存档修改等。
具体请百度了解!

推荐使用专业的16进制编辑器“WinHex”(置顶工具箱可下载)。
可能你比较习惯用“UltraEdit-32 (UE)”,凭个人喜好啦!

我们在做改版的过程中会用到很多工具,很多都是针对性的修改某项的工具。
比如“A-Starter”是修改初始选3主角精灵的修改器,而在“WinHex”中对应只是3字节的数据。
工具是修改数据,而“WinHex”是解析数据。所以理论上“WinHex”可以充当所有工具的修改工作!
当然有的用“WinHex”修改时候还是相对较为繁琐的过程。

但工具的功能毕竟是有限的,工具的作者有时只考虑到某项的修改功能,有时想作进一步修改却无能为力。
这里以实例来说下数据对比法的应用:

1,增加某精灵(如百变怪)的升级技能列表。
对于修改技能,马上会想到“PokemonRomViewer”。但是该工具只能对现有的技能作修改,而无法做到增加升级技能。
而工具也没给出这部分数据的地址。


先来小试牛刀用对比法找百变怪升级技数据地址吧!
①首先备份ROM(用于之后的对比)。
②用“PokemonRomViewer”修改百变怪的唯一技能“变身”成任意技能。
③用对比工具“HexCmp2”和之前备份ROM进行对比查找,只找到一处不同!显然我们要的地址就是“2F4592”。
引用:
这里简单介绍下今天的主角,“Fairdell HexCmp2”是一款16进制对比工具,简称“HexCmp2”,附件内提供下载。
使用时左上角“ 1 2”分别载入2个要对比的ROM,要查不同时点击工具栏上“跳转至下一个不同处”等。软件已汉化,应该来说使用起来问题不大。主界面处,如有不同会以红色颜色标出。左侧提供2个ROM的数据资料,当前地址等。
然后来试试增加一串升级技能吧!
①通过修改乘龙升级技,修改成之后百变怪想要的技能。


②用对比工具“HexCmp2”和之前备份ROM进行对比查找,得到一串新数据“90043D04400445104B1C532859345A405F4C78588F64CA70”
发现不同之处正是之前百变怪数据串的前面一部分数据。
引用:
这里基本上观察这部分数据形式可以猜想得到:
一项技能有2字节决定(技能种类和习得等级的参数),一个精灵的一组升级技能是连续排列并以“FFFF”结尾。
同时也观察到在原百变怪的升级技的地址处是写不了那么长串的数据的。
③打开“WinHex”载入ROM,找一块空位写入之前得到的数据串“90043D04400445104B1C532859345A405F4C78588F64CA70”
这里我随便找了处“9C6200”。大家可以手动输入这串数据,也可以先复制,然后按“Ctrl+B”选择“ASCII Hex”粘贴16进制数据。

④重定向百变怪技能的指针地址。打开“WinHex”载入ROM。单击菜单项“搜索-查找16进制数据”,
输入“92452F08”(百变怪指针),找到这个指针后将其改成上步中的新指针“00629C08”。


⑤重新用“PokemonRomViewer”检验百变怪的升级技时发现“PokemonRomViewer”无法正常读取其技能列表。(属正常现象)
可以通过游戏中实际检测,不停的给百变怪吃奇异甜食或到哈吉镇学习技能的NPC那查看。
另外,别忘了把乘龙的升级技能用“PokemonRomViewer”改回来吧!


================================================================================================

2,修改汉化版初始博士介绍时的扔宠
如图绿宝石中文版,博士初始在作自我介绍时会扔出莲叶童子。


想要试试改成其他的宠物吗,其实有专门的工具!
引用:
“Advance IntroEd”是专门针对于美版ROM进行博士介绍时扔宠更改的工具,只不过对中文版却无能为力!
同样来试试用数据对比法来让中文版也能实现更改这部分数据吧。
①首先你得有一个绿宝石美版,然后对其进行备份(用于其后的对比工作)

②用"Advance IntroEd” 载入绿宝石美版,用下拉菜单将莲叶童子改成菊叶草。菜单项“File -- Save ROM"。


③用对比工具“HexCmp2”和之前备份ROM进行对比查找,发现一处不同,且数据地址为“031924”
这里记下备份ROM的这部分数据,(注意:不是修改后的数据)。我这里取“4727010000”


④打开“WinHex”载入你的中文绿宝石ROM(注意现在开始改自己的ROM了),单击菜单项“搜索-查找16进制数据”
输入“4727010000”,似乎可以找到唯一,看来比较幸运的。
引用:
这里的操作时什么意思呢?
其实不管是美版还是中文版,控制博士扔宠的数据都是存在的。只是地址不同罢了,所以通过美版中找的数据串切换到中文版中进行查找,应该也能找到。
不过并不一定能找到,这里需要大家灵活变通下。
⑤看看第③步中修改的数据,在中文版的这部分数据也相应的修改吧。“2701”改成“9800”,保存!


⑥重新打开我们的游戏看下吧


总结:
可能你觉得这样很麻烦,也说不定以后有更直接的工具出现。
但重点不是这个,而是你要学会这种方法,这种数据对比法。
说不定等你能灵活运用这种方法你能解决很多以前没法解决的问题。
到时候你会发现今天的这堂课是受益匪浅!!

本帖隐藏的内容需要回复才可以浏览


[ 本帖最后由 Nightind 于 2010-8-4 10:26 编辑 ]
附件: 您所在的用户组无法下载或查看附件
本帖最近评分记录
  • 口袋精灵 PT币 +50 极好的教程~ 2013-2-11 22:44
  • 口袋精灵 热度 +2 极好的教程~ 2013-2-11 22:44
  • chaotix PT币 +20 very useful 2010-8-4 17:33
  • chaotix 热度 +5 very useful 2010-8-4 17:33
  • lo554987509 热度 +2 学了方法+得了2教程,太帅了 2010-8-3 22:59
  • jirachi 热度 +2 精品文章 2010-8-3 18:47

TOP

谢谢!!!!!!!!!!!!!!!!!!!!!

TOP

写得很好!

TOP

嗯,的确我的改版里好多都用到了这个办法呢
其实我比较感兴趣的是怎么让rv识别重定位的技能列表
(有个日文工具可以,但不识别扩容后的部分)
本帖最近评分记录
  • Nightind 热度 +1 有必要吗,只要游戏能正常读取即可! 2010-8-4 10:18
闪耀吧...我的希望!

TOP

学了方法还得了2教程,太帅了

TOP

我懂了,只不过用工具这部份不太明白了,多谢LZ。
[img][/img]

TOP

首页留名...
发完再仔细看

TOP

当然有必要了,如果就这一个还好
像我那改版里25只的技能都是这样一个个复制过来的
而且我最近改了几个技能,还得再接着复制写入,超麻烦~
如果能用RV岂不是方便许多.

另外不知道你发现没有,比如说仅仅把百变怪的技能重定位到原本游戏中的其他pm技能列表上
(比如把百变怪的技能指针改成雪拉比的),RV却可以正常读取.你不觉得很奇怪吗?
闪耀吧...我的希望!

TOP

那是工具兼容性之类的问题,
就像OverworldEditor也是如此,如果你把一个本来只有一帧图的OW(如玩偶)改成9张图的正常行走图就会发现工具无法读取到后8张。
你可以试着去解析工具,如改ini配置文件之类的.

不过这个不在本贴讨论的范围内。
另外改版本来就是很麻烦的事!

TOP

谢谢!!!!!!!!!!!!!!!!!!

TOP

我正好需要这篇教程,现在能够无私奉献的人好少哦

TOP

很详细呢——看看隐藏

TOP

我学习仍宠物的教程
谢谢lz

腰酸背痛腿抽筋,,,,

TOP

引用:
原帖由 chaotix 于 2010-8-4 18:25 发表
当然有必要了,如果就这一个还好
像我那改版里25只的技能都是这样一个个复制过来的
而且我最近改了几个技能,还得再接着复制写入,超麻烦~
如果能用RV岂不是方便许多.

另外不知道你发现没有,比如说仅仅把百变怪的 ...
我记得那个工具叫什么Pokemon Editor pro能办到重定向精灵技能列表,并且全部GUI的,不过对中文的支持不是很好,主要是因为中文精灵名的原因,位置长度都不一样

还有,UE有对比功能,感觉WinHex也应该有吧……

RV有源码但是根本不会改……

[ 本帖最后由 roywillow 于 2010-8-10 17:02 编辑 ]

TOP

好啊回复一下

TOP

谢谢LZ
回复为下载唉

TOP

都是国外的工具,支持中文少……我们改版走很多弯路

TOP

好复杂啊,不太懂!

TOP

为下载工具而回复

TOP