玩家:bkvm<原创>
大家知道,MOV的04H所指定的动作都是包含在MOT内的,只有MOT内有了这个动作,才可以通过修改MOV让人物使用出相应招式来。所以,只有替换了MOT才能根本上改变一个人物的招式。比如我们可以用关羽的ATK1MOT和吕布的ATK2MOT,组合一个拥有关羽C4和无双,又拥有吕布C3,C6的角色。。。
不过354S的MOT都是打包在LINKDATA.BIN内的,这给我们替换MOT带来很大的不方便,修改时仔细备份一下是必要的。目前的方法还不是很完善,本贴也是本着抛砖引玉的目的,希望大家能发现更好的办法。
以吕布为例,我们可以进入到它的ATK内,拖到底,看见下一个文件头几个字节是42 50 4B 30(这是打包文件开头的标志)这个文件就是吕布的NORMALMOT,再用WINHEX的搜索功能,沿着这里往下搜“42 50 4B 30”,1012C350这行也有个42 50 4B 30,这是ATK1MOT;再往下1018F310行,这是ATK2MOT;再往下101E4000,这是PLAYMOT。 拥有大众招式关联的人(比如刘备,马超)每个人都只有ATK2MOT和PLAYMOT(PLAYMOT在后),而其他人在ATK之后按顺序依次拥有NORMALMOT,ATK1MOT,ATK2MOT,PLAYMOT,每个MOT的结尾是后一个MOT的第一个字节的前一个字节。这样我们就可以把全部人物的全部MOT找到了。。。
找到了MOT,下一步就是替换了。一般来说,NORMALMOT和ATK1MOT尽量不要改变,只通过替换ATK2MOT,就可以实现不同人物的招式之间的不同组合了。但由于每个MOT的长度不一,所以一般我们只能用较小的MOT来替换较大的MOT,否则原来的较小的MOT的空间是装不下较大的新MOT的,会影响到后面的文件。比如马超可以装下吕布的ATK2MOT,但是吕布却装不下马超的,(会影响到后面的PLAYMOT)这给我们的修改造成了一些限制。
假如碰到这种“装不下”的情况,可以换个方法(燕子启发的。。。)。把光标拖到整个BIN文件的底部,然后把第一个人的MOV(包含MOV的前两行,也就是42 50 4B 30开头那两行)-ATK和除了PLAYMOT外的3个MOT全部复制到BIN文件尾部,也就是扩容了。。。然后把第2个人的ATK2MOT覆盖到相应位置,再次扩容就可以了。然后,我们再进入IDX文件内,把相应人物的IDX代码指向新的扩容后的地址即可。
IDX代码的前三个字节与BIN的对应关系为:(第3个字节*10000 第2个字节*100 第1个字节)*800=BIN文件内该文件的行地址。比如香香MOV的IDX在第1760行,其前三个字节为4B 04 02 ,那么可以算出其BIN地址为(02*10000 04*100 4B)*800=10225800 ,假如我们在BIN文件末尾扩容了,那么可以通过BIN地址反算IDX代码。扩容前的BIN的最后一行的下一行(也是扩容后新的MOV的地址)的地址是8E822800,8E822800/800=11D045,那么我们只需要把香香的IDX的前三个字节改为450D11,就可以让香香使用新的扩容后的招式。
附武将MOV的BIN地址和IDX地址列表:(感谢蜉蝣和凉宫的破解工作)
BIN地址 /角色/IDX地址
0F193000 赵云 15C0
0F2DF800关羽 15E0
0F413000张飞 1600
0F562000侯惇 1620
0F6B3800典韦 1640
0F7E1800 许楮 1660
0F947800周瑜 1680
0FA82800陆逊 16A0
0FBCB800 太史慈 16C0
0FD0C800 貂蝉 16E0
0FE49800 诸葛亮 1700
0FF80000 曹操 1720
100C6800 吕布 1740
10225800 孙尚香 1760
10382000 刘备 1780
103FF800 孙坚 17A0
1047A000 孙权 17C0
104FD000 董卓 17E0
1057D800 袁绍 1800
105F5000 马超 1820
106A0000 黄忠 1840
1071A000 夏侯渊 1860
10797800 张辽 1880
10827000 司马懿 18A0
1095E000 吕蒙 18C0
109CF000 甘宁 18E0
10A4F800 姜维 1900
10ADE000 张角 1920
10C15000 徐晃 1940
10D6B800 张颌 1960
10EB5800 甄宓 1980
10FEA000 黄盖 19A0