查看: 4010|回复: 0

【改版教程】运用数据控制游戏●第一弹

[复制链接]

三地鼠 Lv:100
泡泡 发表于 2014-5-26 22:00 | 显示全部楼层 |阅读模式
本帖最后由 泡泡 于 2014-5-26 22:05 编辑

第一章 ♥和数据做机油之前提篇
     数据,在口袋妖怪的改版中都是以十六进制形式呈现的,这里说明一下玩数据活该用到的工具~~UE(或者Winhex),这些用度妈妈宝典都可以下载到。

     用ue打开一个口袋妖怪游戏,出现了一堆数字和字母,基本上都是1-10, a~f之间的数拼凑成的,每两个合在一起代表一个字节(不用过分去记,只要知道一个字节要用两个东东拼在一起。)。

     基本上游戏里的一切,包括图像,文字,动画都是用数据形式储存的,我们所用的很多工具只不过是把这些数据自动处理存到游戏rom里去,不需要你自己慢慢去输入数据了。
比如常用的工具uz,当你把图片替换进去后找到对应地址用ue打开就可以看到一串数据,把他乱修改后再回去看图片就错误了。

了解了数据的基本储存后要了解一些他的规则。
首先,很多数据储存的地址的结尾都有一些特殊要求,比如:一部分数据存放位置地址结尾数必须是0,4,8,c,不要问为什么,因为我也不知道。

然后就是读取地址的方式。
一个小例子:
98 00 25 08 08 02 29 08
这是一段在ue状态下的数据,  它指向了两个地址,那我们改怎么得到这两个地址呢?
首先,你需要知道gba口袋妖怪存地址的字节只有4个,也就是说这一串数据指向了两个地址。
然后,分差开来就是
98 00 25 08和08 02 29 08
接着,我们把其中一个来做实验。
比如:98 00 25 08
先把08从最后面调到第一个就是:
08 98 00 25
接着把后面的三个字节 98 00 25中的98和25对调,就是
08 25 00 98
最后,把最前面的08化成00就是:
00 25 00 98
去掉前面的00得出:
25 00 98
于是,我们可以得到这段数据指向的地址是:250098
同样的方法,第二个就是:290208
这样我们就能容易得到地址了。所以你可以看看rom地址的128处的数据,他们指向了游戏中一些地方。
比如火红中:
转到128后的数据是:
ac 50 23 08 4c 65 23 08
0c 73 23 08 cc 80 23 08
a0 37 3d 08 80 3e 3d 08
38 40 3d 08 e0 5e 24 08
他们分别对应游戏里的:
宠物图片       宠物背面闪光图
图片调色板     背面闪光调色板
小图标图形     小图标调色板
×××不知          宠物名字
技能名字       ×××不知
同样1bc处也有一片,大家可以去试试,对以后数据可能有帮助。

但不是所有的数据都是地址,我们怎么去分辨呢?
首先:需要有4个字节,其次:要以08或 09结尾的
上面说了08那么09怎么变呢?
很简单,在08变成00时,09对应变成01,比如
12345609
对应1563412
而gba口袋妖怪最大只能32mb就是因为指针问题32mb是属于指针极限,32mb之后有不能用0a结尾!

于是这是基础的知识,以后学习中很有用尽可能多去尝试吧!!!!
课后习题:
把一下数据转换成地址形式:
①   98065808
②   32581209
值得注意:以08,09结尾的称视为指针,
最后,回帖请注明你的个人观念,否则视为水贴,予以处罚
转载注明==口袋大学城
您需要登录后才可以回帖 登录 | 入住

本版积分规则

快速回复 返回顶部 返回列表