《仙剑奇侠传4》修改原理之天卷


《仙剑奇侠传4》修改原理之天卷


会员:sunbeyond<原创>
仙剑4数据存储原理和地址规律
不想看原理的可以直接看最下面 。首先,系统下程序可用的内存地址是00400000-7FFFFFFF
但这回仙4的大部分人物属性相关地址都保存在7F966880之后……而且到现在为止都是双字节,装备是4字节,所以最大值是65535,但在一些情况下最好别取这个值,后面再说 。
仙4的人物属性数据分4块
战斗临时数据:仙4中战斗时所调用的地址,但是这个地址是会变的,地址范围也是很靠后,但应该在7F966880之前,这个等地卷解决 。
人物基础数据
人物现有MAX数据(就是在人物属性界面所看到的,但精气神保存的是最大值)
人物现有数据(同上,但精气神保存的是现有值)
接下来重点说每个部分,这里按云天河的内存地址为例(这里数据采用了2次收录,数据有差异,但位置没变)以下地址我试了2次,50%认为地址是不变的 。人物基础数据,人物最基础的几个属性,这里的属性是人物的原始值,就是没加装备前的 。依我判断,这里的值加上装备的加成就生成了[人物现有MAX数据]中的攻击 。修改这里最有效,但升级后是加成还是新算还待确认,但也可以直接锁定掉 。前面还有一些数据,没仔细研究 。
7F96688000000000AA060000050000006D000000
----------------------精----------?-----------气
7F966890F7000000AF000000CB000000DC000000
----------功----------防----------速-----------运
由于这里的功是人物基础值,基础值+装备加成才会=真正的输出攻击力,所以推荐这里基础值不要设到65535,容易溢出 。如果想最大攻击输出,那就FFFF减该人物拿着的武器攻击力的16位值,得出来的就可以添在这 。
7F9668A099000000CDCC4C3EAE47E13D00000000
----------灵----------4字节为一组的数据,暂时还不知道是什么
7F9668B000000000000000000000000000000000
7F9668C000000000000000000000000000000000
7F9668D000000000000000000000000000000000
7F9668E000000000000000000000000000000000
7F9668F000000000000000000000000000000000
7F96690000000000000000000000001300000000
-------------------------------------------待确认
7F96691000000000000000000000000000000000
7F96692000000000000000000000000000000000
7F96693000000000000000000000000000000000
7F96694000000000000000000000000000000000
人物现有MAX数据,这里的值都是按照人物基础值+装备加成后的值,所以大部分都是动态生成的,比如功,防,在这里修改是没用的,因为这里只是显示在游戏中人物状态里的结果,当进入新的战斗后,战斗中的攻击会重新计算,而不是直接调用这里值 。
7F96695000000000000000000000000014000000
----------------------------------------------等级
7F966960998E0000000000000000000000000000
----------总经验值
7F966970000000000000803F0000803F0000803F
7F9669800000803F000000000000803F0000803F
7F9669900000803F0000803F0000803F0000803F
7F9669A00000803F000000000000000000000000
这一大段可能是分割符的作用
7F9669B000000000000000000000000000000000
7F9669C000000000000000000001000000000000
----------------------------------未知
7F9669D000000000090600000500000061000000
----------------------精MAX------?----------气MAX
7F9669E021010000AF000000B3000000BF000000
----------攻值--------防值---------速值--------运值
7F9669F0840000009A99993ECDCCCC3D00000000
----------灵值--------这4个字节是武器,后4个字节就不知道了,而且这个武器我觉得,可能只是调用位置,而不是武器代码 。
比如CDCC4C3E铸云铁,9A99993E峰岭刃,但下面有个土属性戒指也是9A99993E 。

推荐阅读