nullexistencex吧 关注:27贴子:293
  • 2回复贴,共1

【科普向】mugen中的即死技术介绍

取消只看楼主收藏回复

常见A.B站的一些弹幕刷超即死啊,死宣啊,强制死宣啊,过不了开幕啊之类。为了让大家稍微了解下,不至于被弹幕误导什么的,今天就转个科普吧,科普来源和mugen常见凶恶人物一样。如果哪里错了欢迎提出和修改.


IP属地:北京1楼2014-05-27 09:47回复
    即死技术介绍其1(上)
    在mugen中,即死,就是让对手立即死亡的方法。
    即死的方法有很多,下面简单介绍一些,以供那些一头雾水的人参考。
    这次介绍的是伤害即死、生命即死、即死投、即死当身、落下即死
    伤害即死最基本的即死手段。正常的mugen人物血量为1000,只要把攻击的伤害调高点,就能达到即死的效果。
    比如damage=10000,即死一般人物绰绰有余。
    稍微不自重点,可以采用伤害溢出来即死。mugen能表示的最大伤害值是2的31次方减1,即2147483647。超出这个数值的伤害就叫伤害溢出,会导致对方血量归0。除了正数的伤害溢出,也可以写极大的负数伤害来溢出。本来负数伤害会为对手加血,但超过2147483647后一样会令其血量归0。
    另一种常见的即死方法是生命即死,命中对手后通过targetlifeadd代码扣减其生命,可以配合p2stateno使用。至于什么是p2stateno,在下面的即死投中将会介绍。
    第三种方法是即死投,即死投涉及一个概念:p2stateno。它的作用是令对手进入某个自定义状态,而详细的解释则要把它分成几部分来看。
    mugen人物的代码是写在一个一个的状态号下的,这些状态号称为state。p2stateno实际上就是令对手进入某个你指定的状态号,在这里,p2指代对手,stateno后面则接你想让他进入的状态号。比如:
    p2stateno=100,意思就是对手进入你的第100号状态。
    一旦对手进入了你的状态,就要运行你写在该状态下的代码。这个时候想怎么做就是你的自由了。在刚才的例子中,你可以在100号状态下写lifeset,设置对手的生命值。如果设置成0就是即死投。
    下面介绍的是即死当身,顾名思义,即死当身就是含有即死的当身。
    mugen中的攻击方式分为三大类:打击(hitdef),飞行道具(projectile,简称proj)和当身(reversaldef),这三类攻击分别有各自的特性。
    打击是最基本是攻击方式,比如普通人物的拳脚攻击。命中后可以对对手造成伤害,也可以令其进入p2stateno。
    飞行道具是一类出现在屏幕上的物体的统称。格斗游戏中,人物发出的“波”、“光束”等远程攻击基本都属于飞行道具。飞行道具的特点是不会被当身。
    当身是一种特殊的攻击方式,事先定义某个状态,如果你该状态下受到攻击,则触发当身。对手的攻击无效,同时视为你击中对手。
    当身成功后,通过p2stateno令对手进入你的状态,然后在那个状态下弄死它,就叫即死当身。至于弄死的方法就是前面那几种,可依据喜好自行选择。
    当身的优点是可以无视对手的无敌(nothitby)。
    最后介绍的是落下即死。mugen中存在落下伤害(falldamage)的设定,当对手进入落下(也就是倒地)的状态时,可以为其设定因倒地而受的伤害,把这个伤害改得大点就是落下即死。
    在实际操作中,一般利用p2stateno令对手进入落下状态,然后在这些状态里对其造成落下伤害。
    以上是一些常见的即死方法。这些方法并不凶恶,正常的角色也可能用到。至于凶恶的方法,以后再讲。


    IP属地:北京本楼含有高级字体2楼2014-05-27 09:48
    回复
      即死技术介绍其1(下)
      注意,从这篇开始介绍的都是凶恶技术,正常人物是不会用到的,对凶恶不适者请绕行。
      这次要介绍的是OTHK、混线、超即死
      上一篇中介绍了一些基本的即死方法,不过这些方法对不自重的人物是没用的,比如下面这个远古人物:
      Omega Tom Hanks,简称OTH。
      OTH的特点是本体常时无敌,而且不攻击,全部攻击都通过helper进行。
      helper,中文为援护或者援助,是一种特殊的人物。举个例子,在KOF里,你在战斗前要选择一个人物,战斗中可以暂时召唤出他来帮忙,这个人物就是你的helper。
      在mugen中,helper的应用非常广泛,能用来达到各种各样的效果。
      话题回到OTH身上,OTH本体常时无敌,意味着他不会被击中,因此伤害即死、生命即死、即死投和落下即死都无效。
      使用helper来攻击而本体不攻击,意味着本体不会被当身,因此即死当身也无效。
      换句话说,上篇介绍的所有即死方法,对OTH都是没用的。
      为了对付OTH,我们需要点别的办法,比如下面要提到的OTHK。
      OTHK,是“OTH杀手”的意思,它最开始是专杀OTH的技术,不过后来泛用化了,只要是有相似特性的人物都可以用它来杀。
      虽然OTH本体不能被当身,但他的helper使用hitdef,是可以被当身的,因此先当身helper。
      这里需要引入一个概念:target。
      target是目标,在你击中对手的时候,你会取得他的target,然后你可以对这个target进行想要的操作——比如造成伤害,或者把它代进p2stateno。
      当你当身了OTH的helper,你就取得了这个helper的target,helper的控制权会暂时转交于你。
      下面要做的是命令这个helper发出proj。
      为什么要发出proj?因为mugen有这样一个bug:PROJ归属BUG, helper发出的proj属于创建这个helper的本体。
      你可以在这个proj下写p1stateno,令发出它的人进入某个状态。
      由于proj归属bug的影响,这个proj被视为由本体发出,因此进入p1stateno的并不是helper,而是本体。
      那么要把本体代入什么状态呢?答案是有hitdef的状态。
      说得简单点,这个过程就是“利用BUG,让本来不用hitdef的人物使用hitdef” 。
      通过上面的一系列操作,令OTH的本体使用了hitdef,这样一来你就可以当身他,然后即死了。
      在这个过程中,OTHK只是取得target的方法,target到手以后就没OTHK什么事了。也就是说它其实是没杀伤力的,这一点一定要注意。
      接下来要介绍的是混线
      和OTHK一样,混线也是一种取得target的方法,本身无杀伤力。只有混线,不配合其他手段的话,是杀不死任何人的。
      混线的原理是mugen的另一个BUG,永续target 。
      之前说过,击中或当身对手能够取得其target。正常情况下,这个target会在攻击结束后消失。而永续target就是让它不消失,一直保持下去的办法。
      如果在取得target时,人物处于当身状态,则该target会被暂时保留,直到当身结束。
      那么,只要一直保持当身,target就永远不会消失,这就是永续target。
      在利用永续target的情况下,只要击中对手一次,取得了target,就能随时对这个target进行操作。
      在混线时,你先召唤若干个helper,攻击他们取得target,然后用永续target保持,再让这些helper自灭,留下空位。
      由于mugen中helper的数量是有限制的,如果对手召唤了helper,他的helper就可能被写入那些空位中。
      这时,你保持的那些target就变成了对手helper的target,换句话说就是你控制了对手的helper。
      混线到这里就结束了。
      至于后续的处理,有许多选择,比如OTHK、比如即死返、比如变数弄,要选哪种就看你的了。
      混线,可以说是最基础的凶恶代码,基本上每个神都必备。
      如果一个人物没有混线,他是神级的几率就相当低了。
      为了提高成功率,混线一般在开幕时进行,但并不是所有开幕杀都是混线,可能的情况很多,这一点请务必注意。
      本篇的最后,简单介绍一下超即死。
      在mugen中,人物的死活并不由生命值决定,而是由一个叫alive的值决定。alive=1时为生,alive=0时为死。
      正常情况下,血量为0时alive会归0。不过,如果对手使用了特殊断言“NOKO”的话,情况就不同了。
      NOKO的效果是:即使人物血量为0,alive也不归0。
      为了突破NOKO,就需要使用超即死。 超即死直接将alive改为0,因此可以无视NOKO。
      在解释超即死之前,先解释一下hitpausetime,这指的是攻击命中对手后的暂停时间。
      超即死本质上是内存溢出,覆盖对手的alive使其归0。
      为了能顺利溢出,超即死中含有很多的空状态(NULL)。
      正常情况下,一个statedef下的状态号最多为512个,超过此数量会引起mugen报错。
      然而,在hitpausetime存在的情况下,这个问题会被暂时忽略,不会报错。
      这就是512突破BUG,它和上面的PROJ归属BUG、永续target合称mugen三大BUG。这三大BUG是mugen众多凶恶技术的原理,几乎所有凶恶技术都是建立在它们中的一个或几个之上的。
      利用512突破法避免报错,把对手的target代入一堆NULL里面,就是超即死。
      超即死需要先取得target ,取得的方法基本就是之前介绍的那几种。
      超即死有许多改版。 当身转入超即死就是超即死当身,投技转入超即死就是超即死投,将target代入对手的超即死状态就是超即死返,等等。
      那么这篇到此结束。更多凶恶技术可参考介绍2和3。


      IP属地:北京本楼含有高级字体3楼2014-05-27 09:59
      回复