mugen的吐槽与科普里面的神是如何战斗 (第3/3页)
方本体进入某个可以触发落下即死的状态,从而贯穿对方刚体。
即死返
控制对方helper后,用proj归属bug控制对方进入它自己为敌人准备的即死状态里。
tagin
控制对方player型helper或者本体之后放tagin,让对方的本体和player型helper进行状态跳转,解除某些状态锁定。
变数操作
取得对方本体后varset,取得对方helper后parentvarset等手段修改对方的变量,对于使用变量锁血的对手来说可以立死。
helper伪装
击中对方以后控制对方建立helper,这个helper的id和对方已有的helperid相同。这样对方如果用helper(123),var(0)为条件的话,读到的将是我们为它新建立的helper(123)的var(0)如果我们击中了对方原来的helper(123),可以顺手让其destroyself,用我们为它创建的helper(123)代替。
超即死·超即死改·超即死投·冻结当身·冻结超即死当身
把本体弄进我方状态后用状态控制器溢出bug写超过553个状态覆盖对方alive杀害对手。在当身中使用,利用对方招式本身的hitpause的就是超即死,控制对方攻击并写一个大数值的hitpausetime然后超即死就是超即死投。对方alive超过1时,一次超即死无法杀死,于是在超即死的最后写上指向超即死状态本身的状态跳转,反复循环直到对方alive为0,就是超即死改。hitpause似乎也有顺便用来封锁对方行动的用法之类的,大概吧。
helpernormal化,helperid变更,色表变更
同样是状态控制器溢出,将对方的helper变成normal型防止脱离,改变helper的id,改变对方的色表……从而影响对方的行动。
*亲变更
严格来说这个不是击中对方以后的事情,也不是击中对方的方法……因为根本不需要击中什么的……原理见“野指针”条目,作用就是把自己的helper的亲换成对方飞helper,从而用parentvarset修改对方helper的变量。
飞行道具的归属bug
在mugen中,由helper发出的飞行道具和由游戏者本人(下文简称为本体)发出的飞行道具一样视为由本体发出,所以飞行道具里的p1stateno改变的也是本体的状态。
状态控制器溢出
状态控制器,即sctrl,也就是statedef下的一个个state。每个statedef下最多可以有512个state,超过的话会在载入这个状态时报错。然而,当hitpausetime存在时,载入状态时只考察ignorehitpause=1的状态的数目,也就是说,只要ignorehitpause=1的state数目不超过512个,就不会报错。通过这个可以写超过512个状态在一个statedef里。每个state的persistent值都会在状态载入时写入内存中,当有hitpause存在时,ignorehitpause=0时跳过当前内存写下一个,ignorehitpause=1时则把persistent的值写入当前内存(如果当前内存里的数据为0的话。当前数据不为0的场合则减一)因为mugen只为persistent留出了512个空位,超出的话就会覆盖别的内存,从而修改本来不允许修改的数据。
野指针
指向已经被释放的内存的指针。主要是target和parentdist。
当游戏者命中对手时,对手在内存中的位置会被保存在游戏者的target下,直到游戏者的进攻结束才取消。而游戏者如果正在进行reversaldef,它的target一直不会被取消。这就是所谓的永续target,甚至即使那个位置已经没有人了或者已经换人了也依然不受影响。这就是混线bug得以成立的根源。
此外helper的创建者即helper的parent被消除的时候,指向这个parent在内存中的位置的信息并不会消失,依然指着那个已经没有helper存在的位置。如果这时有新的helper在那个位置被创建,同时我方使用状态控制器溢出修改helper的parentid和那个新的helper一致,那个新的helper就会被认定为我们手上这个helper的parent。
字符串格式漏洞
%nbug,mugen使用的c库函数printf()包含的安全漏洞,利用这个可以展开格式化字符串攻击,修改任意内存单元直至取得计算机的控制权(理论上可以做到)
以上并不都是神的攻击手段,因为很多手段对神都是无效的,比如伤害方面,就是一万亿攻击力的伤害对神也是无效——从这点上说,mugen为体系的世界某种意义上,真的是非常厉害的超武世界——只是让大家有个基本概念科普一下,以下才是神的攻击手段:
大伤害、伤害溢出无关
基本的生命型即死(lifeadd、targetlifeadd、p2state里lifeadd、lifeset)无关
即死投通过hitdef或者projectile带入p2state生命型即死的一种无关
即死当身通过reversaldef带入p2state或者取得target来进行生命型即死的一种无关
落下即死无关
超即死与512突破法有关
超即死投带入会产生hitpausetime的状态后再changestate进入超即死状态与512突破法有关
超即死当身顾名思义,当身(reversaldef)配合超即死与512突破法有关
色表弄以改变对方本体的p数而不是alive值为目的,需要更多的控制器可以配合超即死投和当身使用与512突破法有关
othk与projectile归属有关
othk超即死当身超即死当身和前者的共同使用
毒利用永续target的bug进行的生命型即死与永续target(对敌人本体的)有关
死之宣告前者在战斗结束后的使用与永续target(对敌人本体的)有关
强制死之宣告前者配合自杀后苏生与永续target(对敌人本体的)和512突破法(对自己苏生用)有关
混线不考虑后续的使用的话仅仅与永续target(对helper的)有关
变数弄以混线基础的技术,与永续target(对helper的)有关
装甲贯通炮落下即死和混线配合使用为基础的技术,与永续target(对helper的)以及projectile归属有关
潘多拉杀手以混线基础的技术,与永续target(对helper的)以及projectile归属有关
ayuayu杀手以混线基础的技术,同时利用了另外一种bug(进入一个不存在的状态时,hitoverride不会对溢出的伤害有反应),与永续target(对helper的)以及projectile归属有关
即死返有两种使用方法当身即死返无关混线即死返回与永续target(对helper的)以及projectile归属有关
超即死返原理同上但是因为是超即死,所以和512突破法(敌人自身的)有关
邪眼杀手本身的原理无关但是后续处理可能运用到混线和超即死
亲变更与永续target(对helper的)和512突破法(很多个控制器)有关
亲捏造同上与永续target(对helper的)和512突破法(非常非常多的控制器……)有关
直死和512突破法(非常非常多的控制器……)有关
%n无关