【lmt教程】白给向·初探参数区

大家好,这里是唯。正式开始之前首先感谢一下  orca'x 大佬的启示。虽然和初衷找霸体参数不太一样,但我今天摸鱼的过程中确实有了一些收获。经过实践也完全符合我的推测,因此在这里写个教程。本人对参数区研究不是很透彻,如果有大佬清楚的话欢迎指正。

本教程主要面向对lmt文件有基础的朋友,当然,不是说小白萌新就不能上手,只是鉴于上手难度(主要是理解方面)比较大,所以如果是没有基础,但又对lmt文件有兴趣的朋友,在站里直接搜索lmt,把每个教程都好好看一遍。当然,大家都会有写错或者不准的地方,毕竟都是探究阶段,如果一开始就知道结论谁还去探究呢?(笑) 好了,话不多,开始我们今天的教程。



前言:本教程所有内容用大剑做示范(为什么?因为我是狼跳大剑的作者啊,用自己熟悉的武器来讲肯定会事半功倍),本教程内容在之后的新版狼跳大剑里会有所体现,敬请期待(打个广告qwq)


约定:在正式开始说明一些内容之前,我们先做一个约定。众所周知,lmt文件打开方式是十六进制编辑器,hex或者010 editor,鉴于010可以运行模板,首推010。里面的是十六进制字节(eg:00 就是一个字节)。在这里,我们约定四个字节(eg:05 00 01 00)为一个组,至于为什么这样约定,我之后会讲。


step1:寻找伤害判定的标志:EA 82 FF 38(之后的内容里我把它叫做伤害标志)

Xovea大佬找出的这个标志性字符真的很有帮助,上可逆推动画块头,下可深入跳转判定区

先按照我红框的标注全部查找一下伤害标志。


step2:寻找参数区

  

如果我们已经找到了某个招式(这里用上捞斩举例,啥?你不会找招式对应的伤害标志? 请去看Xove的教程)

上捞斩的伤害标志 的地址是0B 6E 50,如图所示。(为什么上捞斩的伤害标志地址是这里?因为是我自己测试的结果= =,表格我已经发过了,其他武器自己测,这也是我发悬赏帖的原因)。你可以看到这里有大量的指针,我只是随便框了几个,我们一路往下翻,直到翻到没有指针的地方。

简要分析一下几个地方:

红框:指针结束之后有大片空白,这是参数区和判定区之间的过渡区域。

绿框:参数区开始的标志,当01 00 00 00出现时,且它之后隔一行有05 00 01 00的话,就是参数区开始了。

蓝色部分:参数区开始的第一个时间结构,几乎所有的时间结构都是四个组,也就是十六字节。(以下简称结构)

橙框:对于无霸体的动作,两个橙框是分别对应判定的开始和结束的两个时间段。记录方式是浮点数。


霸体部分个人能力有限,研究浅尝辄止,好在南风大佬已经写了教程,我就不用丢人现眼了。

下面重点说一下两个橙框:

第一个橙框:每个招式都有自己的动画,动画到某一帧数才开始判定,所以第一个橙框内的四字节是判定(主要是伤害判定)开始的帧数。

第二个橙框:判定结束的帧数。


Q:如果开始帧数设置为0会怎么样?

A:会直接触发判定(主要是伤害判定)。


Q:如果结束帧设置为0会怎么样?

A:会失去判定(比如没有伤害判定)


Q:如果开始和结束帧都设置为0会怎么样?

A:会失去判定(比如没有伤害判定)


Q:如果缩短开始和结束帧之间的帧数会怎么样?

A:缩短了帧数的话会导致判定域(我把开始和结束帧之间的帧数称为判定域)变窄,导致有些判定判定不到。(eg:横扫斩的判定域变窄会导致刀尖没有伤害判定)


step3:按键数据解析

刚才讲解的时候用上捞斩做例子,但是上捞斩之后的动作我改的时候忘了记录地址,不影响,我们用横扫斩之后的上捞斩来继续教程。

往下翻,会看见很多结构。下面的图是横扫斩后上捞斩的结构。(具体在哪里看我地址)

和上面一样,每个结构最后一组四字节数据是一个时间(主要是帧数)。

补充:如果结构中最后一组四字节的数据记录的浮点数很奇怪,那么很明显这玩意儿是边界,两个不同按键招式之间的边界。


如图,这是横扫斩之后上捞对应的按键帧数结构。

第一个红框是开始,对应右边浮点数58,意思是动作进行到58帧的时候开始。

第二个红框和第三个红框是中间的按键输入到按键生效的间隔时间之类的东西,把间隔改短了会让反应变快,简单地说就是,本来横扫斩还在动作中,但是你按下了上捞斩的按键,那么能够随着按键的输入很快打出上捞(不会跳帧,不吞动画)。

第三个红框是按键的有效时间,这玩意儿不能改,改了按键判定会很严格。想知道自己改这个是不是按键有效时间有两种方法:

1、看下一个时间段是不是0或者其他奇怪的浮点数。

2、自己测试的时候看是不是按键有效时间变得不再那么宽松。


多补充一句,找时间数据是有方法的,如果聪明的朋友应该根据我的框已经看出来了,对角线法则,每个时间数据之间一般是呈对角线分布的


原理:按键输入帧数→按键输入和生效之间的间隔帧数→按键生效帧数

我们做的就是直接把输入和生效之间的间隔帧数大砍一刀削了,以此实现快速派生。


那么,改好了就可以进游戏看了,具体是哪个对应哪个我也不清楚,得自己实际去测。

放一下今天的研究成果,免得有人嘤帝质疑。



好了,教程到此结束,我知道没多少人看得懂,也没多少人感兴趣,就这样吧。如果有错误(恐怕很多)欢迎指出,但我能确信我的教程是行之有效的。



















by 爱尔斯蒂亚 更新于 2022-03-16
打赏后可直接下载附件 赠人玫瑰 手留余香
1个大佬推荐该主题
默认
最新
1