sff文件体积过大的人物包在1.1下运行时可能会报错

即死

作者:不该有名字(四娘)


原帖://tieba.baidu.com/p/1132838047


正文:


凶恶人物解析第一弹:即死


什么是即死?

即死就是在一次攻击中杀死对手,这就被称为即死

诸如北斗死星,战国香蕉杀等


即死种类基本分为两种类型


伤害型

生命型


伤害型,利用超过对手生命上限的伤害数值击中对手,使得对手生命归0而死亡

存在通过伤害溢达成相同结果的情况


生命型,利用targetlifeadd,或者lifeadd或者lifeset

targetlifeadd,成功击中无防护的对手,取得对手目标,通过targetlifeadd设置负值的生命使得对手生命归0而死亡

lifeset和lifeadd,利用攻击中的p2stateno,让对手进入自定义的状态号,改变对手生命,让对手死亡


其他即死类型


落下即死

超即死

直死/%n


落下即死

通过攻击参数的fall.damage,设置超过对手生命或是负值的数值

同时写上p2stateno=5110和p2getp1state=0

让对手被击中后进入自己的5110状态号,同时因该状态号下默认有HitFallDamage这段代码

会让对手受到mugen内置的fall伤害影响而使生命归0死亡


超即死

通常情况下一个状态号内最多只能存在512条代码,否者会出现MAX 512错误

但当hitpausetime大于1的情况下,该错误会暂时被忽略

普通写法为写上超过512个的

[state ]

type = null

trigger1 = 1

ignorehitpause=1

当然实际上是533个最佳

原理,当ignorehitpause为1时,该内存位置会写入persistent的值

如果你没有指定persistent,那么persistent的值默认为0

而alive的内存位置,则是在533这个地方

于是在内存被改动,而alive为0的时候,对手就被判定为死亡


直死/%n

直死原理同超即死,但只是所需要的null数量超大幅度上升,约13832个

由自己的内存位置溢出到对手的内存位置

%n,字符串攻击,通过displaytoclipboard的%n来直接影响对手的alive



不管是什么样的即死

都不超出以上这几种类型

只有运用方式上的差别而已


你,确定要这么做吗?
正在处理中...