超即死

超即死


通常はステコン数が512を超えたステートを実行すると、「OverMAXController」のエラーメッセージによりMUGENが強制終了する
しかしReversalDefでそのステートに移動した場合には強制終了せずその代わりに死亡フラグが立つ
またこの死亡フラグはAssertSpecialのnokoフラグを無視する
nokoを無視できるほど強力な死亡フラグ、だから超即死(多分)

注意点としてはある程度以上数値が大きいPauseTimeが必要なこと
またP2GetP1State=0が設定されたReversalDefを利用し、相手を相手自身の超即死用ステートに飛ばした場合もこれは成立する(即死返し)

ちなみにReversalDefのPauseTimeを膨大な値に設定すると凍結当て身になる
搭載が簡単でかなり強力なため多くのキャラに使われている



詳細な原理としては、HitPauseTime中にステコン数が512を超えたステートを実行した場合は強制終了が発生せず、
自身のステコンバッファ以降を書き換えてしまうバッファオーバーフローが原因である。
何故、強制終了されないかというと、512エラー判定が行われるのがtime=0の時のみだからである。
よって、凍結中であればtimeは-1となり、エラーが検出されない。
MUGENの変数は全て4バイトであり、1ステート毎に1バイト割り当てられている。
ignorehitpause=1が設定されているステートは実行され、実行されたステートに対応したアドレスから
値が-1される。(値によっては例外あり、0より小さくはならない)
これによってaliveの値00000001(16進数)が00000000となり死亡する。
selfstateやchangestateに関しては別の挙動をし、selfstateにより他のステートに移動すると
対応したアドレス値が01となる。
また、凍結中は一度実行したselfstate系ステコンは一回実行されない。

実際に書き換える事が可能な変数は、多岐にわたる。
書き換えが簡単なものは自身のAliveフラグや、HitPauseTime、StateType・MoveType(1,2,3に限らない)など。
自身のAliveフラグを自在に0から1へと書き換えられるため、条件付きでの蘇生も可能となった。

現在は10万を超える莫大なステコンを利用することで、P1以降の変数領域を書き換える事が可能と判明している。
OSの種類によっては2万足らずでも可能。
直死
ツールボックス

下から選んでください:

新しいページを作成する
ヘルプ / FAQ もご覧ください。