MUGEN State Controller

MUGENで良いキャラを作るポイントは… 「良いキャラのソースコードを読む」->「コピペ」->「記述を理解」->「自分でアレンジ」
MUGEN SuperPause

Type = SuperPause

時間停止 > 暗転させて時間と処理を止めます。 | 実装されたバージョン: 2002.04.14 | 対象: 時間


必殺技演出用に時間を止めます。画面の暗転、超必殺技エフェクトも指定可能。

時間が止まっている間は、ステート時間も経過しませんが、設定によっては行動可能。設定されていないステートは全て停止しているので注意。

Pauseコントローラ実行中にSuperPauseが実行されると、Pauseは中断されます。SuperPauseの効果が終了すると、Pauseの効果が再開されます。

関連するステートコントローラー: Pause


バージョンごとの変更点・バグ・エラー・仕様

内容
-RoundState=3,RoundState=4ではパワーゲージが増減されません。
※ただし、パラメーターは読み込まれます。
警告文SET ILLEGAL PAUSETIME: Timeに0以下
警告文NEGATIVE SPARK ANIMENO IGNORE: Animeに-2以下
警告文SET ILLEGAL PAUSEMOVETIME: MoveTimeに -1以下またはパラメータのTime+1以上
警告文NEGATIVE P2DEFMUL FOR SUPERPAUSE: P2DefMulに0未満
警告文SET ILLEGAL ENDCMDBUFTIME: EndCmdBufTimeに-1以下


パラメーター

Time = 停止時間 (整数)

止める時間をフレーム単位の整数で指定。Timeは必ずMoveTimeより大きい値にしてください。

※1秒=60フレーム

最小値: 0 , 最大値: 2147483647
省略時のデフォルト値: 30
MoveTime = 停止無視時間 (整数)

停止時間中に動ける時間をフレーム単位で指定。時間内は全てのステートが通常通り動きます。

※1秒=60フレーム

最小値: 0 , 最大値: 2147483647
省略時のデフォルト値: 0
PauseBG = 背景停止フラグ (0か1)

もし、1が設定されていた場合、pauseで停止している間は背景もストップします。0の場合、停止中でも背景は動き続けます。

省略時のデフォルト値: 1
EndCmdBufTime = bt (整数)

相手がPause中にコマンドを入力した場合,tフレーム経過後、btフレームの間コマンドが成功している状態を維持する。Pause中動けないキャラのみ有効。

省略時のデフォルト値: 0
Darken = 暗転フラグ (0か1)

1で、時間停止中は画面が暗くなります。暗くしたくない場合、0を指定。

省略時のデフォルト値: 1
Anim = 超必殺演出アニメ番号 (整数)

演出用のアニメを指定。fightfx.airの30番が再生されます。自分のairから選ぶ場合は、"anim = S10"のように、最初にSを記述。

省略時のデフォルト値: 30
Pos = x表示位置, y表示位置 (浮動小数点数, 浮動小数点数)

アニメの表示位置を指定。

省略時のデフォルト値: 0, 0
P2DefMul = p2防御力 (浮動小数点数)

ターゲット(自分の攻撃でヒット/ガード状態になった相手)の防御力を倍数で指定。1だと、生でぶち当てた場合と同じダメージになります。

0で、この場合は、mugen.cfgの[Rules]セクションで設定したSuper.TargetDefenceMul?の値が適用されます。

省略時のデフォルト値: 0
PowerAdd = パワーゲージ増減量 (整数)

パワーゲージを増減します。通常、-3000~-1000を指定することになるでしょう。

省略時のデフォルト値: 0
UnHitTable = 無敵フラグ (0か1)

0を指定すると、時間停止中も相手の攻撃を受けるようになります。

省略時のデフォルト値: 1
Sound = サウンド番号, グループ番号 (整数, 整数)

演出用のサウンドを指定。-1で音なし。標準ではcommon.sndから再生されますので、自分のsndから選ぶ場合は、"sound = S10,0"のように、最初にSを記述。

省略時のデフォルト値: -1
Persistent = HitPause無視時間 (整数)

Persistentの値をNに設定した場合、設定したステートコントローラーはNフレーム後にもう一度実行されます。0の場合、トリガーが成立しても1回しかステートコントローラーが実行されません。※トリガーは読み込みますが、パラメーターは完全に無視されます。

Persistentが管理されている配列が初期化される条件は、ステート処理開始(ChangeState,SelfState,TagOut,TagInなどでステート移動)でTime=0の場合に実行されます。また、初期化される個数が決まっており、10個のPersistentしか初期化されません。ですので、Persistentの多様やChangeStateでの使用は避けましょう。もし、特定のステートが実行されない場合は、この仕様を疑ったほうがいいかもしれません。

その他にも、var,fvar,sysvar変数は利用できない・常時ステート([StateDef -1],[StateDef -2],[StateDef -3])では、常にPersistent=1の状態・IgnoreHitPause=1が設定されていた場合、アドレスを書き換え(Alive偽装・Persistent偽装?など)・バージョンによる動作の違いなどバグが満載です。

結論、Persistentの値が0以外の場合は省略して、TriggerTimevarを使って管理した方がいいです。

最小値: 0 , 最大値: 128
省略時のデフォルト値: 1
IgnoreHitPause = HitPauseを無視フラグ (0か1)

IgnoreHitPauseの記述されたステートコントローラー処理がHitPause(ヒット停止時間)を無視して実行されます。基本的に1に設定しておくべきパラメーター。

パラメーター自身にvar,fvar,sysvar変数は利用できません。

攻撃を当てたり受けたりした時にVarSetしたり、Explodの演出をずれないようにしたり用途はさまざま。

最小値: 0 , 最大値: 1
省略時のデフォルト値: 0


省略した時のデフォルト値

  • [State ,SuperPause]
  • Type = SuperPause
  • Trigger1 = 1
  • Time = 30
  • MoveTime = 0
  • PauseBG = 1
  • EndCmdBufTime = 0
  • Darken = 1
  • Anim = 30
  • Pos = 0, 0
  • P2DefMul = 0
  • PowerAdd = 0
  • UnHitTable = 1
  • Sound = -1
  • Persistent = 1
  • IgnoreHitPause = 0


パラメーターの読み込み順

Time(1) => MoveTime(2) => PauseBG(3) => EndCmdBufTime(4) => Darken(5) => Anim(6) => Pos(7, 8) => P2DefMul(9) => PowerAdd(20) => UnHitTable(11) => Sound(12, 13) => Persistent(?) => IgnoreHitPause(?) =>


*バージョンや実行環境,パラーメーターの指定の仕方によって、読み込まれる順番が変わる可能性があります。参考程度なものだと思ってください。
  
公開日:
最終更新日:
この記事は役に立ちましたか?
ご意見・ご要望はございますか?
記事に不備があった場合

不備があればGithubTwittersuteadddayov@gmail.comにご報告下さい。

記事を編集してみませんか?

ページ編集・翻訳にご協力いただける方を募集しております。お気軽にご連絡下さい。

We are looking for someone who can cooperate on page editing / translation. Please feel free to contact us.