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

[灌水] 游戏里地址都是反着写的……

游戏里地址都是反着写的……

加入UE看到的是 EF CD AB 08 那么这个地址就指向0x00ABCDEF
如果是 EF CD AB 09就指向 0x01ABCDEF

这帖子没有存在感啊……但是……怎么感觉好多人没有这个意识呢……
本帖最近评分记录

TOP

这真是达子么


怎么没有存在意识呢……

不光是地址,很多数据都是反写着的,比如精灵编号、道具、级别……


不过08、09什么的是什么意思

TOP

主要是16进制文件的写方法和一般书写习惯不一样。
我在Pokescript图文教程里已经开始加16进制的初步内容了,算作附属章节
以下是预览:
引用:
※16进制的一些常用知识

随着脚本的深入,越来越多的数字和信息都需要依赖于16进制的知识,所以我特地加了一节,用来说说16进制的事.

首先,16进制是一种类似于10进制的计数方法.相比于10进制,16进制是2进制的衍生产品,它更接近于真实的CPU计算.使用16进制可以给电脑运算带来不可言表的便利.
在GBA平台上,为了方便,所有的游戏数据都以16进制进行储存、计算,PM也是一样的.
大家可能知道一些金手指,100级PM的金手指中,一定带着64吧?金手指就是手动将数值写进内存,因为内存中充满了16进制的数据,因此100级这个数据也必须写作16进制形式,即64.

100怎么会变成64呢?
16进制以16个字符作为数字,除去1,2,3,4,5,6,7,8,9,0之外,还加入了A,B,C,D,E,F.所以在16进制中,3F是数字,EF也是数字.
因为人的大脑长期习惯于10进制,所以要在16进制与10进制之间自由转化还是比较有难度的,如果大家想快速转化,可以借助Windows自带计算器的科学型.

现在不难理解100=64了吧?

不过如果在任何场合下都直接写16进制数字,会引起误解.为了更加清楚,我们这样写16进制数:0x64或者&h64(在英文中,hex就是16进制的意思).

最后,就是16进制长串变短串了.
在Pokescript中,未被编译的命令一旦要写入数值,就必须一个字节一个字节的写,这样,16进制的长串,如0x13EF,显然就没法写进一个字节(一个字节只允许写0x00~0xFF,也就是0~256).
在16进制中,短串数字的排列必须遵从一定的规则才可以被识别,那就是"高位存高数,低位存低数".怎么说呢,比如对于0x13EF,首先切分为0x13,0xEF,紧接着再进行排序,0xEF 0x13,这就是最终结果了.
在教程中,一旦提到倒序,就是这么个意思.另外对于共有奇数位的数字时,从后向前分割,最前处补0,例如:0x1EF→0xEF 0x01.有些地方可能要求其体积为两个字节,而对于0x19这样的单字节数字怎么办呢?我们直接补写一个0x00,合起来就是0x19 0x00.
(注:凡是涉及道具、PM等可能含有大量数字的参数,一般都为2个字节的容量;而大地图中NPC的形象这种数字容量小的参数,一般只有1个字节)
现在,基本上和16进制有关的知识都简略的说到了.
注:以上关于16进制的知识都是我个人的理解,如果我的理解有问题,请及时告诉我,以免误人子弟.
以上都是以前看别的文章总结出来的,估计还有概念上的错误,等待纠正……


想死你们了!

TOP

16进制的高低位是非常基本的东西,不能连这个都忘了啊啊啊啊啊啊啊~

TOP

引用:
原帖由 小巴达 于 2008-7-31 16:00 发表
16进制的高低位是非常基本的东西,不能连这个都忘了啊啊啊啊啊啊啊~
放心,改版越是深入,这些原始而基础的东西就越要求的多


想死你们了!

TOP

所以我说学好基本功是很重要的

TOP

似乎09用不到。游戏最大的地址才是00ffffff,到不了01XXXXXX

TOP

引用:
原帖由 roywillow 于 2008-7-31 18:11 发表
似乎09用不到。游戏最大的地址才是00ffffff,到不了01XXXXXX
实际可行的地址,不过似乎很多修改器不支持

TOP

估计扩容之后才会有09吧……


PS:达子头像是什么啊……看那服装有种凉宫春日的感觉……

TOP

引用:
原帖由 roywillow 于 2008-8-1 12:05 发表

PS:达子头像是什么啊……看那服装有种凉宫春日的感觉……
本帖隐藏的内容需要积分高于 1.844674407371E+19 才可浏览


[ 本帖最后由 小巴达 于 2008-8-1 13:39 编辑 ]

TOP

达子……

本帖隐藏的内容需要积分高于 1.84467440737E+19 才可浏览

这个不是故意的吧……

TOP

剛剛有去用UE開過火紅的ROM看了一下  裡面的數據好亂 看不太懂.....

TOP