MUGEN State Controller

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

ステートコントローラー一覧

A

空中 Air 地上にいても「A」なら攻撃を受けると空中へ吹っ飛びます。

  • [StateDef 『正の整数』]
  • Type = 状態
  • Physics = 重力
  • MoveType = 行動状態
  • HitCountPersist = 引継ぎフラグ
  • MoveHitPersist = 引継ぎフラグ
  • HitDefPersist = 引継ぎフラグ
  • SprPriority = 画像の表示優先度
  • FaceP2 = 相手へ振り向くフラグ
  • Juggle = ジャグル値に加算する値
  • VelSet = X軸の移動速度, Y軸の移動速度
  • Anim = アニメ番号
  • Ctrl = キー入力受付可能フラグ
  • PowerAdd = パワーゲージの増減量

AfterImage

キャラクターやノーマルヘルパーにに残像を付けます。パラメータはすべて省略可能で、省略した場合、残像は青くなります。

AfterImage実行後、別のAfterImageを実行すると設定が上書きされ、直前まで表示していた残像は消去されます。

表示できる残像の数を増やしたい場合は、mugen.cfgAfterImageMaxで設定が可能。初期値は8、最小値は0、最大値は100。

  • [State ]
  • Type = AfterImage
  • Trigger1 = 1
  • Time = 持続時間
  • Length = 残像用情報の保存枚数
  • Timegap = 残像画像の保存間隔
  • Framegap = 残像の表示間隔
  • PalColor = 彩度
  • PalInvertall = 色反転フラグ
  • PalBright = 加算する赤, 加算する緑, 加算する青
  • PalContrast = 乗算する赤, 乗算する緑, 乗算する青
  • PalPostBright = add2_赤, add2_緑, add2_青
  • PalAdd = 加算する赤色, 加算する緑色, 加算する青色
  • PalMul = 合成する赤色, 合成する緑色, 合成する青色
  • Trans = 透過の種類
  • Alpha = ソースアルファ, デスティネーションアルファ
  • Persistent = ?
  • IgnoreHitPause = ?

AfterImageTime

AfterImageのTime(残像表示時間)を上書きすることができます。

AfterImageを連続で実行した場合、今まで表示されていた残像が消えてしまいます。なので、AfterImageのTimeを持続させたい場合はAfterImageTimeを使用します。

ただし、AfterImageTimeで残像を消去する処理は厳しいです。なぜなら、残像が表示される時間を変更するだけなので、残像の履歴が残っており履歴がなくなるまで残像が表示され続けます。ですので、完全に消去した場合はAfterImageでTime=0に設定し、1フレームだけ実行することによって一瞬で残像を消去できます。

また、AfterImageが実行されていない時は、AfterImageTimeのパラメータは無視されます。例えば、"Time = var(0) := 9"としていた場合、代入が実行されません。

  • [State ]
  • Type = AfterImageTime
  • Trigger1 = 1
  • Time = 新しい継続時間
  • ; Value = 新しい時間
  • Persistent = ?
  • IgnoreHitPause = ?

AllPalFX

画面全体のパレットに指定色を加算・乗算します。

OwnPalパラメーターを無視して、画面,ステージ,ライフバー,キャラクター(Explod,Helperを含む)などのオブジェクトに適用されます。ただし、AllPalFXは影響を受けない,PalFX系で上書き,SuperPauseによる暗転を行うと背景や相手への効果が消える,AfterImageの残像,ライフバーのアニメーション,キャラクターの影など例外があります。

キャラクターのみに加算する場合はPalFX,背景のみに加算する場合はBGPalFX,指定色で塗りつぶしたい場合はEnvColor

  • [State ]
  • Type = AllPalFX
  • Trigger1 = 1
  • Time = 持続時間
  • Color = 彩度
  • Add = 加算する赤色, 加算する緑色, 加算する青色
  • Mul = 合成する赤色, 合成する緑色, 合成する青色
  • SinAdd = 周期する赤色, 周期する緑色, 周期する青色, 周期
  • InvertAll = 色反転フラグ
  • Persistent = ?
  • IgnoreHitPause = ?

AngleAdd

AngleDrawで回転させる角度を増減します。

単位は度。角度を返すトリガー(arc●●●)は、戻り値がラジアンなので、変換が必要となります。

  • [State ]
  • Type = AngleAdd
  • Trigger1 = 1
  • value = 加算角度
  • Persistent = ?
  • IgnoreHitPause = ?

AngleDraw

プレイヤーの軸を中心に回転させて表示します。AngleAdd、AngleMul、AngleSetと併せて使用。角度は、右向き時、反時計回りが正方向になります。

1フレームしか効果がないので、triggerの指定には注意。

Helperと組み合わせて、グルグル回転する、飛び道具とか、オプション等に使えるほか、回転やられに使う人もいます。

ただし、90の倍数角度回転なら問題ありませんが、それ以外の場合はジャギィがでてしまいます。

このステート実行中は、AIRファイル中の座標指定、反転表示、透過表示は無効になります。回転の中心を変えたい場合は、sffに別なスプライトとして登録しなければなりません。なお、これらの無効化は、AfterImageにも影響を及ぼします。また、判定枠は回転しませんので、判定を持たせる場合は、最初から原点(0,0)を中心とする正方形とするか、回転に合わせてAirを設定する必要があります。

キャラクターの見た目を大きくしたり、回転させることはできますが、当たり判定食らい判定は大きくなりません。

  • [State ]
  • Type = AngleDraw
  • Trigger1 = 1
  • value = 角度
  • Scale = 横縮尺, 縦縮尺
  • Persistent = ?
  • IgnoreHitPause = ?

AngleMul

AngleDrawで回転させる角度を倍数で指定。

単位は度。角度を返すトリガー(arc●●●)は、戻り値がラジアンなので、変換が必要となります。

  • [State ]
  • Type = AngleMul
  • Trigger1 = 1
  • value = 倍数
  • Persistent = ?
  • IgnoreHitPause = ?

AngleSet

AngleDrawで回転させる角度を指定値に変更。

単位は度。角度を返すトリガー(arc●●●)は、戻り値がラジアンなので、変換が必要となります。

  • [State ]
  • Type = AngleSet
  • Trigger1 = 1
  • value = 角度
  • Persistent = ?
  • IgnoreHitPause = ?

AppendToClipboard

基本的にはDisplayToClipboardと同じで、併用も可能。

DisplayToClipboardは、すでにメッセージが存在する場合、上書きされますが、こちらは改行して表示されます。

直前の値と見比べることができますが、頻繁に値が変わる場合、却って見にくくなってしまいます。

  • [State ]
  • Type = AppendToClipboard
  • Trigger1 = 1
  • Text = "所定の文字列"
  • Params = 引数1, 引数2, 引数3, 引数4, 引数5, 引数6
  • Persistent = ?
  • IgnoreHitPause = ?

AssertSpecial

実行したフレームあるいは実行直後に、特殊処理を行います。

1フレームのみ有効。

1つのAssertSpecialで指定できるフラグは3種類だけです。※4つ以上のフラグを指定したい場合は複数のAssertSpecialを記述します。

  • [State ]
  • Type = AssertSpecial
  • Trigger1 = 1
  • Flag = フラグ名
  • Flag2 = フラグ名
  • Flag3 = フラグ名
  • Persistent = ?
  • IgnoreHitPause = ?

AttackDist

攻撃を行ったときに相手が防御体制をとる距離を変更します。

  • [State ]
  • Type = AttackDist
  • Trigger1 = 1
  • value = 攻撃認識距離
  • Persistent = ?
  • IgnoreHitPause = ?

AttackMulSet

攻撃力を倍数で指定します。一時的に攻撃力が上がる技などに。効果は1フレーム。

  • [State ]
  • Type = AttackMulSet
  • Trigger1 = 1
  • value = 攻撃力係数
  • Persistent = ?
  • IgnoreHitPause = ?

BGPalFX

背景のパレットに指定色を加算・乗算します。

全画面に加算する場合はAllPalFX,キャラクターのみに加算する場合はPalFX,指定色で塗りつぶしたい場合はEnvColor

  • [State ]
  • Type = BGPalFX
  • Trigger1 = 1
  • Time = 持続時間
  • Color = 彩度
  • Add = 加算する赤色, 加算する緑色, 加算する青色
  • Mul = 合成する赤色, 合成する緑色, 合成する青色
  • SinAdd = 周期する赤色, 周期する緑色, 周期する青色, 周期
  • InvertAll = 色反転フラグ
  • Persistent = ?
  • IgnoreHitPause = ?

BindToParent

Helperのステート内で記述します。そのhelperを呼び出したステートのスプライトを基準に位置を固定します。

親がHelperの場合、当然そのHelperのスプライトが対象となります。

※Helper等がルートの場合、ルートがDestroySelfすると、このステートコントローラーは無効になります。でも、Helperがルートになるって、ありえるのか?なお、親がDestroySelfした場合も、無効となります。

  • [State ]
  • Type = BindToParent
  • Trigger1 = 1
  • Time = 固定時間
  • Facing = 向きフラグ
  • Pos = x座標, y座標
  • Persistent = ?
  • IgnoreHitPause = ?

BindToRoot

Helperのステート内で記述します。そのhelperを呼び出したステートのスプライトを基準に位置を固定します。

親がHelperの場合、当然そのHelperのスプライトが対象となります。

※Helper等がルートの場合、ルートがDestroySelfすると、このステートコントローラーは無効になります。でも、Helperがルートになるって、ありえるのか?なお、親がDestroySelfした場合も、無効となります。

  • [State ]
  • Type = BindToRoot
  • Trigger1 = 1
  • Time = 固定時間
  • Facing = 向きフラグ
  • Pos = x座標, y座標
  • Persistent = ?
  • IgnoreHitPause = ?

BindToTarget

特定のターゲット(プレイヤーの攻撃を受けてヒット・ガード状態になっている敵)を基準にプレイヤーの位置を固定します。

  • [State ]
  • Type = BindToTarget
  • Trigger1 = 1
  • ID = ヒットID
  • Time = 固定時間
  • Pos = x座標 , y座標 , 基準位置
  • Persistent = ?
  • IgnoreHitPause = ?

C

屈み Crouching
  • [StateDef 『正の整数』]
  • Type = 状態
  • Physics = 重力
  • MoveType = 行動状態
  • HitCountPersist = 引継ぎフラグ
  • MoveHitPersist = 引継ぎフラグ
  • HitDefPersist = 引継ぎフラグ
  • SprPriority = 画像の表示優先度
  • FaceP2 = 相手へ振り向くフラグ
  • Juggle = ジャグル値に加算する値
  • VelSet = X軸の移動速度, Y軸の移動速度
  • Anim = アニメ番号
  • Ctrl = キー入力受付可能フラグ
  • PowerAdd = パワーゲージの増減量

ChangeAnim

アニメーションを変更します。

  • [State ]
  • Type = ChangeAnim
  • Trigger1 = 1
  • value = アクション番号
  • Elem = 要素番号
  • Persistent = ?
  • IgnoreHitPause = ?

ChangeAnim2

ChangeAnimと似た効果があります。パラメータについてはそちらを参照のこと。

HitDefのp2stateパラメータやTargetStateを使って相手に参照させるステート内で、プレイヤーのairファイルを使用して相手のアニメーションを変更するのに使用します。

  • [State ]
  • Type = ChangeAnim2
  • Trigger1 = 1
  • value = アクション番号
  • Elem = 要素番号
  • Persistent = ?
  • IgnoreHitPause = ?

ChangeState

実行者のステート・アニメーション・コントロールを変更します。

  • [State ]
  • Type = ChangeState
  • Trigger1 = 1
  • value = ステート番号
  • Ctrl = コントロールフラグ
  • Anim = アクション番号
  • Persistent = ?
  • IgnoreHitPause = ?

ClearClipboard

デバッグ用。クリップボードの内容(デバッグ情報)を消去します。

  • [State ]
  • Type = ClearClipboard
  • Trigger1 = 1
  • Persistent = ?
  • IgnoreHitPause = ?

CtrlSet

プレイヤーのコントロールフラグをセットします。フラグが立っていると技の途中でも歩行、ジャンプ等の動作ができてしまいます。

通常はStateDef?の冒頭でセットするので、ステートの途中でフラグを変更するときなどに使用します。

  • [State ]
  • Type = CtrlSet
  • Trigger1 = 1
  • value = コントロールフラグ
  • Persistent = ?
  • IgnoreHitPause = ?

DefenceMulSet

防御力を倍数で指定します。一時的に防御力が上がる技などに。バグか仕様かはわかりませんが、win版ではMovetypeがHのときしか効果がありません。

(1ヒット目のダメージには適用されない)

  • [State ]
  • Type = DefenceMulSet
  • Trigger1 = 1
  • value = 防御力係数
  • Persistent = ?
  • IgnoreHitPause = ?

DestroySelf

Helperのステートに記述します。そのHelperを消すことができます。パラメータはありません。

Helperは同時に存在する数に上限がありますので、常駐させるとき以外は、必ず消すようにしましょう(ラウンド終了時も自動で消えますが)。Helper以外のステートでは無効。

  • [State ]
  • Type = DestroySelf
  • Trigger1 = 1
  • recursive = recursive_flag
  • removeexplods = remove_explods
  • Persistent = ?
  • IgnoreHitPause = ?

DisplayToClipboard

デバッグモード(Ctrl+D)でのみ有効なステートコントローラ。

クリップボードの内容を消去し、デバッグ用のメッセージを表示します。

直前の値と見比べたい場合は、AppendToClipboardを使用します(併用も可)。

  • [State ]
  • Type = DisplayToClipboard
  • Trigger1 = 1
  • text = "所定の文字列"
  • Params = 引数1, 引数2, 引数3, 引数4, 引数5, 引数6
  • Persistent = ?
  • IgnoreHitPause = ?

EnvColor

画面を指定色で塗りつぶします。

ただし、AllPalFX(PalFX・BGPalFXはダメ ※PalFXはライフバーのLayerNo=1以上に設定されたFaceには効果がある。)・ヒットスパークやOnTop=1のスプライト・アニメーションやライフバーでLayer=1以上に設定されたスプライト(アニメーションは除く)は表示されます。ステージは、LayerNoの設定関係なしに塗りつぶされます。

超必殺・特殊技の演出などに使用出来ます。

  • [State ]
  • Type = EnvColor
  • Trigger1 = 1
  • value = 赤, 緑, 青
  • Time = 効果持続時間
  • Under = 背面フラグ
  • Persistent = ?
  • IgnoreHitPause = ?

EnvShake

画面を揺らします。ただし、ライフバーは揺れません。

次のフレームからTime-1フレーム後まで作用。1フレーム毎に実行すると、前回の効果に上書きされるため、内容が同じだと画面が揺れません。

揺れは正弦波であり、初期位相Phase°、角周波数Freq°/フレーム、振幅Amplピクセル。(正弦波は円周上を回る点を縦軸に映した影と見ることが出来、円の半径をAmpl、1フレームに反時計回りに回る角度をFreq、スタート地点をPhaseと考えることが出来る。)

  • [State ]
  • Type = EnvShake
  • Trigger1 = 1
  • Time = 揺れる時間
  • Ampl = 揺れ幅
  • Phase = 位相開始位置
  • Freq = 揺れの速度
  • Persistent = ?
  • IgnoreHitPause = ?

Explod

指定した番号のアニメーションをAIRファイルから呼び出して表示します。

同時に存在できる総数には上限があり、標準では64個(Mugen1.0から256個)となっています。仮にプレイヤー1(P1)が64個出してしまった場合、プレイヤー2(2P)は1つも出せなくなります。総数の上限はmugen.cfgExplodMaxで変更できます。大きい値にするほど、PCへの負荷が大きくなります。動作が重かったりする場合は、この値を下げることにより改善する場合があります。

  • [State ]
  • Type = Explod
  • Trigger1 = 1
  • ID = ExplodのID
  • Facing = 向き
  • VFacing = 上下の向き
  • Pos = x座標, y座標
  • PosType = 基準点の位置
  • Space = 座標の方法
  • Random = x範囲, y範囲
  • Vel = x速度, y速度
  • Accel = x加速度, y加速度
  • Scale = 横縮尺 [,縦縮尺]
  • Angle = 角度
  • XAngle = 角度
  • YAccelAngle = 角度
  • BindID = bind_id
  • BindTime = 固定時間
  • SprPriority = スプライト表示優先順位
  • OnTop = 手前表示フラグ
  • RemoveTime = 消滅時間
  • SuperMove = superpause無視フラグ
  • SuperMoveTime = SuperPause無視時間
  • PauseMoveTime = Pause無視時間
  • Shadow = 赤影, 緑影, 青影
  • RemoveOnGethit = やられ消滅フラグ
  • Trans = 透過型
  • Alpha = ソースアルファ, デスティネーションアルファ
  • Anim = [F]アクション番号
  • OwnPal = 独自パレットフラグ
  • ReMapPal = dst_pal_grp, dst_pal_item
  • Persistent = ?
  • IgnoreHitPause = ?

ExplodBindTime

有効なExplodのBindTimeパラメータを変更します。

  • [State ]
  • Type = ExplodBindTime
  • Trigger1 = 1
  • ID = ExplodのID
  • Time = 固定時間
  • ; value = 固定時間
  • Persistent = ?
  • IgnoreHitPause = ?

FallEnvShake

プレイヤーが攻撃を受けているときに有効。相手のHitDef中のfall.envshakeパラメータを実行します。やられステートを上書きするときや、特殊なやられなどに使用。

  • [State ]
  • Type = FallEnvShake
  • Trigger1 = 1
  • Persistent = ?
  • IgnoreHitPause = ?

ForceFeedback

対応しているゲームパッドを振動させます。

現在は廃止されているはずなのですが、最新(2013.08更新)common1.cnsには、まだ記載されています。また、対応しているゲームパッドの詳細も不明です。使用しないほうがいいです。

  • [State ]
  • Type = ForceFeedback
  • Trigger1 = 1
  • WaveForm = 振動パターン
  • Time = 持続時間
  • Ampl = 初期振幅 (integer constant), d1, d2, d3
  • Freq = 初期振動数 (integer constant), d1, d2, d3
  • Self = 自分フラグ
  • Persistent = ?
  • IgnoreHitPause = ?

GameMakeAnim

ヒットマークやダウン衝撃などの共通アニメを表示します。

  • [State ]
  • Type = GameMakeAnim
  • Trigger1 = 1
  • value = アクション番号
  • Pos = x_座標, y_座標
  • Random = 出現範囲
  • Under = 背面フラグ
  • Persistent = ?
  • IgnoreHitPause = ?

Gravity

cnsで設定した"yaccel"の値を利用してプレイヤーに重力をかけます。効果は1フレーム。パラメータはありません。

"yaccel"以外の重力をかけるときはVelAddを使用します。VelAddでも代用可能ですが、GravityはPosFreeze中に加速の影響を受けないという特徴があります。

そのステート中、プレイヤーに対して常に重力がかかります。

このコントローラを使う場合は、phisycsがNのはずなので、着地したときの記述を忘れないようにしましょう。

  • [State ]
  • Type = Gravity
  • Trigger1 = 1
  • Persistent = ?
  • IgnoreHitPause = ?

Helper

プレイヤー以外のキャラクターを出現させます。Helperが参照するステートを別に記述する必要がありますが、様々な動きが可能。複雑な動作の飛び道具・プレイヤーについて動き回るサポートキャラ特殊ゲージなどの特殊システム自分自身の分身などに利用します。

攻撃判定や当たり判定を持たせることが可能ですが、攻撃を喰らったり、当身をされた場合予期せぬステートに飛ぶことがあり、対策をしていないとプレイヤーの全く動かない分身が生まれてしまいます。

Helperは、プレイヤーとはシステムが独立しているため、変数・ヒットフラグ・ジャグルやターゲットなどは、ヘルパー固有のものとなります。Helperが消滅すると、ターゲットも存在しなくなるため、敵がのけぞり中でもコンボカウンターが途切れます。但し、消滅前に別キャラが攻撃を当てた場合や、別キャラのターゲットに対してヘルパーが攻撃した場合は、そのキャラのターゲットとして継続しますので、コンボカウンターは途切れません。

なお、全プレイヤーのHelper合計数には上限があり、初期設定は32個で最大56個まで増やせます。上限はmugen.cfgにて設定可能。設定数を超えるとHelperを射出できなくなります。

  • [State ]
  • Type = Helper
  • Trigger1 = 1
  • HelperType = ヘルパーの種類
  • Name = "ヘルパー名"
  • OwnPal = 独自パレットフラグ
  • Size.XScale = 横縮尺
  • Size.YScale = 縮尺
  • Size.Ground.Back = 前ぶつかり判定
  • Size.Ground.Front = 後ぶつかり判定
  • Size.Air.Back = 空中での前ぶつかり判定
  • Size.Air.Front = 空中での後ぶつかり判定
  • Size.Height = 縦ぶつかり判定
  • Size.Proj.DoScale = 飛び道具縮尺適用フラグ
  • Size.Head.Pos = 頭の位置
  • Size.Mid.Pos = 体の中間の位置
  • Size.ShadowOffset = 影の表示位置
  • StateNo = ステート番号
  • KeyCtrl = コントロールフラグ
  • ID = ヘルパーID
  • Pos = x座標, y座標
  • PosType = 基準点の位置
  • Facing = ヘルパーの向き
  • PauseMoveTime = Pause無視時間
  • SuperMoveTime = SuperPause無視時間
  • ReMapPal = dst_pal_grp, dst_pal_item
  • Persistent = ?
  • IgnoreHitPause = ?

HitAdd

連続技実行中、ヒット数を増減します。

  • [State ]
  • Type = HitAdd
  • Trigger1 = 1
  • value = ヒット数増減値
  • Persistent = ?
  • IgnoreHitPause = ?

HitBy

一時的に特定の攻撃以外食らわないようにします。回り込み(投げのみ食らう)などに。

ジャンプの瞬間など「投げのみ食らわない」といった場合は姉妹品のNotHitByを使います。

また、HitBy効果持続中に、同じスロットのHitBy、NotHitByが実行されると、それまでのHitByの効果は無効となります。

2つのスロットが用意されており、どちらもHitByとNotHitByで利用されます。

ステートコントローラーが実行されると、指定されたスロットのtimeパラメータで指定された時間がカウントダウンし、0になるまでの間はそのスロットが有効と判断され、有効なすべてのスロットの攻撃属性の攻撃のみ受け付けられます。

HitByを使用することにより、これらのスロットに有効な攻撃属性をセットできます。

  • [State ]
  • Type = HitBy
  • Trigger1 = 1
  • value = 攻撃属性
  • value2 = 攻撃属性
  • Time = 効果持続時間
  • Persistent = ?
  • IgnoreHitPause = ?

HitDef

AIRファイルで設定されている、実行者のClsn1(攻撃判定:赤い四角)が相手のClsn2(やられ判定:青い四角)に重なった時の処理を設定。設定された各種パラメーターの条件が相手の状態を満たしていた場合にヒットし、くらいアニメ・ダメージ・ふっとび速度などの処理が実行されます。

HitDefの処理は、ステートを移動するかReversalDefが実行されるまで続きます。

そのステート中効果が持続しますが、1回ヒットしたキャラに対しては、効果を及ぼさなくなります。このため、複数ヒットする技の場合は、ヒットさせたい数だけHitDefを定義するか、複数回効果があるようにトリガーを設定する必要があります。

Clsn1がない、または実行者のMoveTypeIだった場合、HitDefは機能しません。

HitDefの定義をもった攻撃判定へヒットするのがReversalDef。仕様上ReversalDefとは併用できません。

  • [State ]
  • Type = HitDef
  • Trigger1 = 1
  • Attr = ステートタイプ, 攻撃属性(技の強さと属性), 以降攻撃属性をカンマで複数記述可...
  • HitFlag = ヒットフラグ
  • GuardFlag = ガードフラグ
  • AffectTeam = 影響チーム
  • AnimType = アニメタイプ
  • Air.AnimType = 空中でのアニメタイプ
  • Fall.AnimType = Fall状態時のアニメタイプ
  • Ground.Type = 地上でののけぞり方
  • Air.Type = 空中でののけぞり方
  • ID = ヒットid番号
  • ChainID = 連続ヒットid番号
  • NoChainID = 不連続ヒットid番号1, 不連続ヒットid番号2
  • Kill = KOフラグ
  • Guard.Kill = ガードKOフラグ
  • Fall.Kill =
  • HitOnce = 1回ヒットフラグ
  • Air.Juggle = ジャグルポイント
  • Damage = ヒットダメージ, ガードダメージ
  • GetPower = p1ヒットゲージ増加量, p1ガードゲージ増加量
  • GivePower = p2ヒットゲージ増加量, p2ガードゲージ増加量
  • PauseTime = p1停止時間, p2ブルブル時間
  • NumHits = ヒットカウント数
  • HitSound = グループ番号, アイテム番号
  • GuardSound = グループ番号, アイテム番号
  • Priority = ヒット優先度, 相打ちの挙動
  • P1StateNo = ヒット時移行するステート番号
  • P2StateNo = ヒット時相手に参照させるステート番号
  • P2GetP1State = ステート奪取フラグ
  • P1SprPriority =
  • P2SprPriority =
  • ; SprPriority = スプライト表示優先度
  • ForceStand = 強制立たせフラグ
  • ForceNoFall =
  • Fall = 落下フラグ
  • Fall.Damage = damage_amt
  • Fall.XVelocity = 落下バウンド水平速度
  • Fall.YVelocity = 落下バウンド垂直速度
  • Fall.Recover = 受身可能フラグ
  • Fall.RecoverTime = 受身可能受付開始時間
  • SparkNo = ヒットスパークのアクション番号
  • Guard.SparkNo = ガードスパークのアクション番号
  • SparkXY = スパークx座標, スパークy座標
  • P1Facing = p1の向き
  • P1GetP2Facing = p1の向き
  • Snap = x固定座標, y固定座標
  • ; MinDist = x最小座標, y最小座標
  • ; MaxDist = x最大座標, y最大座標
  • P2Facing = p2の向き
  • Ground.HitTime = ヒット時間
  • Ground.SlideTime = ヒットバック時間
  • Ground.Velocity = ヒット速度X, ヒット速度Y
  • Ground.CornerPush.VelOff = 地上コーナープッシュ速度
  • Air.HitTime = 空中でのヒット時間
  • Air.Fall = value
  • Air.Velocity = 空中ヒット速度X, 空中ヒット速度Y
  • Air.CornerPush.VelOff = 空中コーナープッシュ速度
  • Down.Bounce = ダウン追い討ちヒットバウンドフラグ
  • Down.HitTime = ダウン追い討ちヒット時間
  • Down.Velocity = ダウン追い討ち水平速度, ダウン追い討ち垂直速度
  • Down.CornerPush.VelOff = ダウンコーナープッシュ速度
  • Guard.Velocity = ガード速度X
  • Guard.HitTime = ガード時間
  • Guard.SlideTime = ガードバック時間
  • Guard.CtrlTime = ガードからの復帰時間
  • Guard.Dist = ガード認識距離
  • Guard.PauseTime = p1停止時間, p2ブルブル時間
  • Guard.CornerPush.VelOff = 地上ガードコーナープッシュ速度
  • AirGuard.Velocity = 空中ガード速度X, 空中ガード速度Y
  • AirGuard.CtrlTime = 空中ガード復帰時間
  • AirGuard.CornerPush.VelOff = 地上ガードコーナープッシュ速度空中
  • YAccel = 重力
  • PalFX.Time = 持続時間
  • PalFX.Color = 彩度
  • PalFX.Add = 加算する赤色, 加算する緑色, 加算する青色
  • PalFX.Mul = 合成する赤色, 合成する緑色, 合成する青色
  • PalFX.SinAdd = 周期する赤色, 周期する緑色, 周期する青色, 周期
  • PalFX.InvertAll = 色反転フラグ
  • EnvShake.Time = ヒット時画面振動時間
  • EnvShake.Ampl = 揺れ幅
  • EnvShake.Phase = 位相
  • EnvShake.Freq = 揺れの速度
  • Fall.EnvShake.Time = 落下時画面振動時間
  • Fall.EnvShake.Ampl = 振幅
  • Fall.EnvShake.Phase = 位相
  • Fall.EnvShake.Freq = 振動数
  • Attack.Width = z1, z2
  • Persistent = ?
  • IgnoreHitPause = ?

HitFallDamage

攻撃を受けたとき、HitDefで設定された落下ダメージを与えます(自分に)。共通ステートを上書きするときや、相手に参照させるステートで使用します。

  • [State ]
  • Type = HitFallDamage
  • Trigger1 = 1
  • Persistent = ?
  • IgnoreHitPause = ?

HitFallSet

プレイヤーがヒットモーション中にあるとき、落下状態にします。共通ステートを上書きするときや、相手に参照させるステートで使用します。

  • [State ]
  • Type = HitFallSet
  • Trigger1 = 1
  • value = 落下フラグ
  • XVel = 水平速度
  • YVel = 垂直速度
  • Persistent = ?
  • IgnoreHitPause = ?

HitFallVel

プレイヤーがヒットモーション中の落下状態にあるとき、相手のHitDefで指定されたfall.xvelとfall.yvelの値を有効にします。

 共通ステートを上書きするときや、相手に参照させるステートで使用します。

  • [State ]
  • Type = HitFallVel
  • Trigger1 = 1
  • Persistent = ?
  • IgnoreHitPause = ?

HitOverRide

指定した種類の攻撃を受けたときに、指定したステートに移行することができます。カウンター技や、helperのやられなどに。ただし、攻撃側がp2Statenoを設定していると、攻撃が当たらなくなります(不具合防止のため?)。

なお、このコントローラでMovetypeがH以外のステートに移行すると、HitDefを無効にできますが、ヒットスパークとヒット音は必ず発生してしまいます。

一度に8種類の指定が可能。

  • [State ]
  • Type = HitOverRide
  • Trigger1 = 1
  • Attr = 攻撃属性
  • Slot = スロット番号
  • StateNo = ステート番号
  • Time = 効果時間
  • ForceAir = 空中ヒットフラグ
  • Persistent = ?
  • IgnoreHitPause = ?

HitVelSet

プレイヤーがやられモーション中であるとき、相手のHitDefで指定された速度を有効にします。

 ヒットバックを発生させる、共通ステートを上書きするときや、相手に参照させるステートで使用します。

  • [State ]
  • Type = HitVelSet
  • Trigger1 = 1
  • X = 水平速度フラグ
  • Y = 垂直速度フラグ
  • Persistent = ?
  • IgnoreHitPause = ?

L

転倒 Lying down
  • [StateDef 『正の整数』]
  • Type = 状態
  • Physics = 重力
  • MoveType = 行動状態
  • HitCountPersist = 引継ぎフラグ
  • MoveHitPersist = 引継ぎフラグ
  • HitDefPersist = 引継ぎフラグ
  • SprPriority = 画像の表示優先度
  • FaceP2 = 相手へ振り向くフラグ
  • Juggle = ジャグル値に加算する値
  • VelSet = X軸の移動速度, Y軸の移動速度
  • Anim = アニメ番号
  • Ctrl = キー入力受付可能フラグ
  • PowerAdd = パワーゲージの増減量

LifeAdd

体力を増減します。回復技、自爆技などに。相手の防御力は考慮されますが、無視することも可能。

  • [State ]
  • Type = LifeAdd
  • Trigger1 = 1
  • Absolute = 絶対量フラグ
  • Kill = KOフラグ
  • value = 体力増減量
  • Persistent = ?
  • IgnoreHitPause = ?

LifeSet

体力を指定値に変更します。全回復技、自分が瀕死になる技などに。

  • [State ]
  • Type = LifeSet
  • Trigger1 = 1
  • value = 体力変更値
  • Persistent = ?
  • IgnoreHitPause = ?

MakeDust

土埃を表示します。絵はfightfx.airのものが使用されます。効果は1フレーム。

  • [State ]
  • Type = MakeDust
  • Trigger1 = 1
  • Spacing = -
  • Pos = -, -
  • Pos2 = -, -
  • Persistent = ?
  • IgnoreHitPause = ?

ModifyExplod

既に出したExplodの設定を変える命令。指定したIDのExplodが存在しない場合は、ID以降のパラメータは読み込まれません。

IgnoreHitPause = 1ではHitPauseTime中にも出る、またAnimが動く。IgnoreHitPauseを省略するとHitPauseTime中には出ない、またAnimeが動く。IgnoreHitPause = 0ではHitPauseTime中には出ない、またAnimが動かない。

  • [State ]
  • Type = ModifyExplod
  • Trigger1 = 1
  • ID = ExplodのID番号
  • Facing = 向き
  • VFacing = 上下の向き
  • Pos = x座標, y座標
  • PosType = 基準点の位置
  • Random = x範囲, y範囲
  • Vel = x速度, y速度
  • Accel = x加速度, y加速度
  • Scale = 横縮尺 [,縦縮尺]
  • BindTime = 固定時間
  • OnTop = 手前表示フラグ
  • RemoveTime = 消滅時間
  • SuperMoveTime = superpause無視時間
  • SprPriority = スプライト表示優先順位
  • PauseMoveTime = move_time
  • SuperMove = superpause無視フラグ
  • Shadow = 赤影, 緑影, 青影
  • RemoveOnGethit = やられ消滅フラグ
  • Trans = 透過型
  • Alpha = ソースアルファ, デスティネーションアルファ
  • Persistent = ?
  • IgnoreHitPause = ?

MoveHitReset

ヒットフラグ(MoveContact?、MoveGuarded?、MoveHit?、WinではMoveReversed?も)を0にします。

  • [State ]
  • Type = MoveHitReset
  • Trigger1 = 1
  • Persistent = ?
  • IgnoreHitPause = ?

NotHitBy

一時的に特定の攻撃を食らわなくなります。無敵技、ジャンプ開始モーションなどに。

姉妹品にHitByがあります。指定方法が異なるだけで、実質的に同じコントローラと思ってよいです。

2つのスロットが用意されており、どちらもHitByとNotHitByで利用されます。

ステートコントローラーが実行されると、指定されたスロットのtimeパラメータで指定された時間がカウントダウンし、0になるまでの間はそのスロットが有効と判断され、有効なすべてのスロットの攻撃属性の攻撃のみ受け付けられます。

NotHitByを使用することにより、これらのスロットに有効な攻撃属性をセットできます。

  • [State ]
  • Type = NotHitBy
  • Trigger1 = 1
  • value = 攻撃属性
  • value2 = 攻撃属性
  • Time = 効果持続時間
  • Persistent = ?
  • IgnoreHitPause = ?

Null

何もしません。ステートコントローラーを一時的に無効にするときなどに使用します。動作チェック用。

  • [State ]
  • Type = Null
  • Trigger1 = 1
  • Persistent = ?
  • IgnoreHitPause = ?

Offset

プレイヤースプライトの表示位置を変更します。Clns枠もしっかり移動します。1フレームのみ有効。

 見た目のみキャラを移動させる場合に使えます。

  • [State ]
  • Type = Offset
  • Trigger1 = 1
  • X = x位置
  • Y = y位置
  • Persistent = ?
  • IgnoreHitPause = ?

PalFX

キャラクターなどのパレットに加算・乗算します。

全画面に加算する場合はAllPalFX,背景のみに加算する場合はBGPalFX,指定色で塗りつぶしたい場合はEnvColor

  • [State ]
  • Type = PalFX
  • Trigger1 = 1
  • Time = 持続時間
  • Color = 彩度
  • Add = 加算する赤色, 加算する緑色, 加算する青色
  • Mul = 合成する赤色, 合成する緑色, 合成する青色
  • SinAdd = 周期する赤色, 周期する緑色, 周期する青色, 周期
  • InvertAll = 色反転フラグ
  • Persistent = ?
  • IgnoreHitPause = ?

ParentVarAdd

Helperのステート内で記述。Helperの親の変数を増減します。Helper以外のステートで書いても意味なし。

Helperは固有の変数を持ちますので、VarAddだとHelper自身の変数を増減することになります。

  • [State ]
  • Type = ParentVarAdd
  • Trigger1 = 1
  • v = 整数変数番号
  • value = 整数増加量
  • ; fv = 浮動小数変数番号
  • ; value = 浮動小数変数増加量
  • ; var(番号) = 整数増減量
  • ; fvar(番号) = 小数増減量
  • Persistent = ?
  • IgnoreHitPause = ?

ParentVarSet

Helperのステート内で記述。Helperの親の変数をセットします。Helper以外のステートで書いても意味なし。

Helperは固有の変数を持ちますので、VarSetだとHelper自身の変数をセットすることになります。

  • [State ]
  • Type = ParentVarSet
  • Trigger1 = 1
  • v = 整数変数番号
  • value = 整数増加量
  • ; fv = 浮動小数変数番号
  • ; value = 浮動小数変数増加量
  • ; var(番号) = 整数増減量
  • ; fvar(番号) = 小数増減量
  • Persistent = ?
  • IgnoreHitPause = ?

Pause

時間を止めます。画面上の全てのスプライト、キャラクター、背景に効果を及ぼします。また、-1,-2,-3ステート等はPause中実行されません。(未検証)

ですが、Helper、Explod等は設定により停止時間中も動くことが可能。

このコントローラによる停止時間中に同じコントローラが実行されると、それまでのPauseは無効となります。

SuperPause停止時間中にPauseが実行された場合は、SuperPauseの効果時間が切れてからPauseが有効になります。

  • [State ]
  • Type = Pause
  • Trigger1 = 1
  • Time = 停止時間
  • MoveTime = 停止無視時間
  • PauseBG = 背景停止フラグ
  • EndCmdBufTime = bt
  • Persistent = ?
  • IgnoreHitPause = ?

PlaySnd

音を鳴らします。

  • [State ]
  • Type = PlaySnd
  • Trigger1 = 1
  • Channel = チャンネル番号
  • value = グループ番号, サウンド番号
  • Volume = 音量
  • LowPriority = 先方優先フラグ
  • FreqMul = 周波数
  • Loop = 繰り返しフラグ
  • Pan = パノラマ位置
  • AbsPan = パノラマ位置
  • Persistent = ?
  • IgnoreHitPause = ?

PlayerPush

プレイヤーのぶつかり判定の有無を指定します。相手をすり抜けたりする場合に使用。効果は1フレーム。

  • [State ]
  • Type = PlayerPush
  • Trigger1 = 1
  • value = ぶつかりフラグ
  • Persistent = ?
  • IgnoreHitPause = ?

PosAdd

PosAddの実行者を指定した値だけ瞬時に移動させます。単位はピクセル。

基準点(0,0)は、AIRファイルで設定した基準点になります。実行者が動くと基準点も同じように動きます。

  • [State ]
  • Type = PosAdd
  • Trigger1 = 1
  • X = 水平方向の移動距離
  • Y = 垂直方向の移動距離
  • Persistent = ?
  • IgnoreHitPause = ?

PosFreeze

一時的に速度・重力による移動を無効化します。効果は1フレーム(実行中)のみ有効。PosSet・PosAddは無効になりません。

停止している間もVelAdd・Gravityの影響を受けます。PosFreezeが終了した時に、停止していた間の速度が加算された状態で動き出すので注意。

  • [State ]
  • Type = PosFreeze
  • Trigger1 = 1
  • value = 停止フラグ
  • Persistent = ?
  • IgnoreHitPause = ?

PosSet

PosSetの実行者を指定座標へ瞬時に移動します。単位はピクセル。

基準点(0,0)は、X軸が地面・Y軸がステージの中央となります。画面が動いても軸は絶対に動きません。

  • [State ]
  • Type = PosSet
  • Trigger1 = 1
  • X = 水平方向の座標
  • Y = 垂直方向の座標
  • Persistent = ?
  • IgnoreHitPause = ?

PowerAdd

パワーゲージに指定した値を加算します。

1000で1ゲージ。パワーゲージの値は最小値「0」~最大値「[Data]で設定した値」までしか変更できません。

キャラクターのパワーゲージ最大値は「×××××.defcns = △△△△△.cns」の「△△△△△.cns内の[Data]」に記載された「Power = ○○○○」で変更します。最小値・最大値は旧MUGENでは-12415139831241513983、MUGEN1.0以降では-21474836272147483627なのでちょっとだけ注意。

  • [State ]
  • Type = PowerAdd
  • Trigger1 = 1
  • value = 増減量
  • Persistent = ?
  • IgnoreHitPause = ?

PowerSet

パワーゲージを指定した値に変更します。

1000で1ゲージ。パワーゲージの値は最小値「0」~最大値「[Data]で設定した値」までしか変更できません。

キャラクターのパワーゲージ最大値は「×××××.defcns = △△△△△.cns」の「△△△△△.cns内の[Data]」に記載された「Power = ○○○○」で変更します。最小値・最大値は旧MUGENでは-12415139831241513983、MUGEN1.0以降では-21474836272147483627なのでちょっとだけ注意。

  • [State ]
  • Type = PowerSet
  • Trigger1 = 1
  • value = 変更値
  • Persistent = ?
  • IgnoreHitPause = ?

Projectile

飛び道具を出現させます。独自のパラメータ以外にHitDefの全てのパラメータを設定可能。

ちなみに、飛び道具でもやられ判定を付けないと相殺しません。

割と細かい設定が可能ですが、それでもあまり複雑な動きはできません。

このステートコントローラーで役不足な場合はHelperを使用します。

なお、WinではプレイヤーへのPalFXの影響を受けてしまいます(バグ?)。OwnPal=1を指定してもエラーとはなりませんが、無効です。

ちなみに、Helperが出したProjectileも、本体管理となります。当然、パレットも本体と共用です。

  • [State ]
  • Type = Projectile
  • Trigger1 = 1
  • Attr = 反撃属性1, 反撃属性2, ...
  • HitFlag = ヒットフラグ
  • GuardFlag = ガードフラグ
  • AffectTeam = 影響チーム
  • AnimType = アニメタイプ
  • Air.AnimType = 空中でのアニメタイプ
  • Fall.AnimType = fall状態時のアニメタイプ
  • Ground.Type = 地上でののけぞり方
  • Air.Type = 空中でののけぞり方
  • ProjID = 飛び道具のID番号
  • ProjRemove = 消滅フラグ
  • ProjRemoveTime = 射程時間
  • ProjShadow = 赤影, 緑影, 青影
  • ProjMissTime = ミス時間
  • ProjHits = ヒット数
  • ProjPriority = 飛び道具優先度
  • ProjHitAnim = ヒット時のアニメ番号
  • ProjRemAnim = 消滅時のアニメ番号
  • ProjCancelAnim = 相殺時のアニメ番号
  • Velocity = 水平速度, 垂直速度
  • VelMul = 水平速度係数, 垂直速度係数
  • RemVelocity = 消滅時水平速度, 消滅時垂直速度
  • Accel = 水平加速度, 垂直加速度
  • ProjScale = x縮尺, y縮尺
  • ID = ヒットid番号
  • ChainID = 連続ヒットid番号
  • NoChainID = 不連続ヒットid番号1, 不連続ヒットid番号2
  • Kill = KOフラグ
  • Guard.Kill = ガードKOフラグ
  • Fall.Kill =
  • HitOnce = 1回ヒットフラグ
  • Air.Juggle = ジャグルポイント
  • Damage = ヒットダメージ, ガードダメージ
  • GetPower = p1ヒットゲージ増加量, p1ガードゲージ増加量
  • GivePower = p2ヒットゲージ増加量, p2ガードゲージ増加量
  • PauseTime = p1停止時間, p2ブルブル時間
  • NumHits = ヒットカウント数
  • HitSound = グループ番号, アイテム番号
  • GuardSound = グループ番号, アイテム番号
  • Priority = ヒット優先度, 相打ちの挙動
  • P1StateNo = ヒット時移行するステート番号
  • P2StateNo = ヒット時相手に参照させるステート番号
  • P2GetP1State = ステート奪取フラグ
  • P1SprPriority =
  • ; SprPriority = スプライト表示優先度
  • P2SprPriority =
  • ForceStand = 強制立たせフラグ
  • ForceNoFall =
  • Fall = 落下フラグ
  • Fall.Damage = damage_amt
  • Fall.XVelocity = 落下バウンド水平速度
  • Fall.YVelocity = 落下バウンド垂直速度
  • Fall.Recover = 受身可能フラグ
  • Fall.RecoverTime = 受身可能受付開始時間
  • SparkNo = ヒットスパークのアクション番号
  • Guard.SparkNo = ガードスパークのアクション番号
  • SparkXY = スパークx座標, スパークy座標
  • P1Facing = p1の向き
  • P1GetP2Facing = p1の向き
  • Snap = x固定座標, y固定座標
  • ; MinDist = x最小座標, y最小座標
  • ; MaxDist = x最大座標, y最大座標
  • P2Facing = p2の向き
  • Ground.HitTime = ヒット時間
  • Ground.SlideTime = ヒットバック時間
  • Ground.Velocity = ヒット速度X, ヒット速度Y
  • Ground.CornerPush.VelOff = 地上コーナープッシュ速度
  • Air.HitTime = 空中でのヒット時間
  • Air.Fall = value
  • Air.Velocity = 空中ヒット速度X, 空中ヒット速度Y
  • Air.CornerPush.VelOff = 空中コーナープッシュ速度
  • Down.Bounce = ダウン追い討ちヒットバウンドフラグ
  • Down.HitTime = ダウン追い討ちヒット時間
  • Down.Velocity = ダウン追い討ち水平速度, ダウン追い討ち垂直速度
  • Down.CornerPush.VelOff = ダウンコーナープッシュ速度
  • Guard.Velocity = ガード速度X
  • Guard.HitTime = ガード時間
  • Guard.SlideTime = ガードバック時間
  • Guard.CtrlTime = ガードからの復帰時間
  • Guard.Dist = ガード認識距離
  • Guard.PauseTime = p1停止時間, p2ブルブル時間
  • Guard.CornerPush.VelOff = 地上ガードコーナープッシュ速度
  • AirGuard.Velocity = 空中ガード速度X, 空中ガード速度Y
  • AirGuard.CtrlTime = 空中ガード復帰時間
  • AirGuard.CornerPush.VelOff = 地上ガードコーナープッシュ速度空中
  • YAccel = 重力
  • PalFX.Time = 持続時間
  • PalFX.Color = 彩度
  • PalFX.Add = 加算する赤色, 加算する緑色, 加算する青色
  • PalFX.Mul = 合成する赤色, 合成する緑色, 合成する青色
  • PalFX.SinAdd = 周期する赤色, 周期する緑色, 周期する青色, 周期
  • PalFX.InvertAll = 色反転フラグ
  • EnvShake.Time = ヒット時画面振動時間
  • EnvShake.Ampl = 揺れ幅
  • EnvShake.Phase = 位相
  • EnvShake.Freq = 揺れの速度
  • Fall.EnvShake.Time = 落下時画面振動時間
  • Fall.EnvShake.Ampl = 振幅
  • Fall.EnvShake.Phase = 位相
  • Fall.EnvShake.Freq = 振動数
  • Offset = 水平発射位置, 垂直発射位置
  • PosType = 基準点の位置
  • ProjSprPriority = スプライト表示優先度
  • ProjStageBound = ステージ外射程
  • ProjEdgeBound = 画面外射程
  • ProjHeightBound = 上空射程, 地上射程
  • ProjAnim = 飛び道具のアニメ番号
  • PauseMoveTime = pause無視時間
  • SuperMoveTime = superpause無視時間
  • AfterImage.Time = 持続時間
  • AfterImage.Length = ヒストリーバッファ容量
  • AfterImage.TimeGap = スキップフレーム数
  • AfterImage.FrameGap = フレーム間隔
  • AfterImage.PalColor = 彩度
  • AfterImage.PalInvertAll = 色反転フラグ
  • AfterImage.PalBright = add_赤, add_緑, add_青
  • AfterImage.PalContrast = mul_赤, mul_緑, mul_青
  • AfterImage.PalPostBright = add2_赤, add2_緑, add2_青
  • AfterImage.PalAdd = add_赤, add_緑, add_青
  • AfterImage.PalMul = mul_赤, mul_緑, mul_青
  • Attack.Width = z1, z2
  • ReMapPal = dst_pal_grp, dst_pal_item
  • Persistent = ?
  • IgnoreHitPause = ?

RemapPal

m.u.g.e.n 1.0から追加されたステートコントローラ。

それより前のバージョンは、パレット(ていうかsff)の仕様が異なるため、使用不可。

プレイヤーのパレットのうちひとつを別なものに換えます。

  • [State ]
  • Type = RemapPal
  • Trigger1 = 1
  • Source = 変更前パレットのグループ番号, 変更前パレットのアイテム番号
  • Dest = 変更後パレットのグループ番号, 変更後パレットのアイテム番号
  • Persistent = ?
  • IgnoreHitPause = ?

RemoveExplod

Explodで出現させたスプライトを消滅させます。

  • [State ]
  • Type = RemoveExplod
  • Trigger1 = 1
  • ID = 消滅させるExplodのID
  • Persistent = ?
  • IgnoreHitPause = ?

ReversalDef

プレイヤーの攻撃判定枠Clns1(赤い四角)と敵の攻撃判定枠(つまり攻撃判定同士)が接触したときの動作(以下、「反撃」)を設定します。

設定できるのはHitDefのパラメータのうちpausetime, sparkno, sparkxy, hitsound, p1stateno, p2statenoと、以下の必須パラメータです。

当て身投げ、弾き、回避技などに。

  • [State ]
  • Type = ReversalDef
  • Trigger1 = 1
  • Reversal.Attr = 反撃属性1, 反撃属性2, ...
  • Attr = 反撃属性1, 反撃属性2, ...
  • HitFlag = ヒットフラグ
  • GuardFlag = ガードフラグ
  • AffectTeam = 影響チーム
  • AnimType = アニメタイプ
  • Air.AnimType = 空中でのアニメタイプ
  • Fall.AnimType = fall状態時のアニメタイプ
  • Ground.Type = 地上でののけぞり方
  • Air.Type = 空中でののけぞり方
  • ID = ヒットid番号
  • ChainID = 連続ヒットid番号
  • NoChainID = 不連続ヒットid番号1, 不連続ヒットid番号2
  • Kill = KOフラグ
  • Guard.Kill = ガードKOフラグ
  • Fall.Kill =
  • HitOnce = 1回ヒットフラグ
  • Air.Juggle = ジャグルポイント
  • Damage = ヒットダメージ, ガードダメージ
  • GetPower = p1ヒットゲージ増加量, p1ガードゲージ増加量
  • GivePower = p2ヒットゲージ増加量, p2ガードゲージ増加量
  • PauseTime = p1停止時間, p2ブルブル時間
  • NumHits = ヒットカウント数
  • HitSound = グループ番号, アイテム番号
  • GuardSound = グループ番号, アイテム番号
  • Priority = ヒット優先度, 相打ちの挙動
  • P1StateNo = ヒット時移行するステート番号
  • P2StateNo = ヒット時相手に参照させるステート番号
  • P2GetP1State = ステート奪取フラグ
  • P1SprPriority =
  • ; SprPriority = スプライト表示優先度
  • P2SprPriority = スプライト表示優先度
  • ForceStand = 強制立たせフラグ
  • ForceNoFall = Fall解除フラグ
  • Fall = 落下フラグ
  • Fall.Damage = damage_amt
  • Fall.XVelocity = 落下バウンド水平速度
  • Fall.YVelocity = 落下バウンド垂直速度
  • Fall.Recover = 受身可能フラグ
  • Fall.RecoverTime = 受身可能受付開始時間
  • SparkNo = ヒットスパークのアクション番号
  • Guard.SparkNo = ガードスパークのアクション番号
  • SparkXY = スパークx座標, スパークy座標
  • P1Facing = p1の向き
  • P1GetP2Facing = p1の向き
  • Snap = x固定座標, y固定座標
  • ; MinDist = x最小座標, y最小座標
  • ; MaxDist = x最大座標, y最大座標
  • P2Facing = p2の向き
  • Ground.HitTime = ヒット時間
  • Ground.SlideTime = ヒットバック時間
  • Ground.Velocity = ヒット速度X, ヒット速度Y
  • Ground.CornerPush.VelOff = 地上コーナープッシュ速度
  • Air.HitTime = 空中でのヒット時間
  • Air.Fall = value
  • Air.Velocity = 空中ヒット速度X, 空中ヒット速度Y
  • Air.CornerPush.VelOff = 空中コーナープッシュ速度
  • Down.Bounce = ダウン追い討ちヒットバウンドフラグ
  • Down.HitTime = ダウン追い討ちヒット時間
  • Down.Velocity = ダウン追い討ち水平速度, ダウン追い討ち垂直速度
  • Down.CornerPush.VelOff = ダウンコーナープッシュ速度
  • Guard.Velocity = ガード速度X
  • Guard.HitTime = ガード時間
  • Guard.SlideTime = ガードバック時間
  • Guard.CtrlTime = ガードからの復帰時間
  • Guard.Dist = ガード認識距離
  • Guard.PauseTime = p1停止時間, p2ブルブル時間
  • Guard.CornerPush.VelOff = 地上ガードコーナープッシュ速度
  • AirGuard.Velocity = 空中ガード速度X, 空中ガード速度Y
  • AirGuard.CtrlTime = 空中ガード復帰時間
  • AirGuard.CornerPush.VelOff = 地上ガードコーナープッシュ速度空中
  • YAccel = 重力
  • PalFX.Time = 持続時間
  • PalFX.Color = 彩度
  • PalFX.Add = 加算する赤色, 加算する緑色, 加算する青色
  • PalFX.Mul = 合成する赤色, 合成する緑色, 合成する青色
  • PalFX.SinAdd = 周期する赤色, 周期する緑色, 周期する青色, 周期
  • PalFX.InvertAll = 色反転フラグ
  • EnvShake.Time = ヒット時画面振動時間
  • EnvShake.Ampl = 揺れ幅
  • EnvShake.Phase = 位相
  • EnvShake.Freq = 揺れの速度
  • Fall.EnvShake.Time = 落下時画面振動時間
  • Fall.EnvShake.Ampl = 振幅
  • Fall.EnvShake.Phase = 位相
  • Fall.EnvShake.Freq = 振動数
  • ; Attack.Width = z1, z2
  • Persistent = ?
  • IgnoreHitPause = ?

S

立ち Standing
  • [StateDef 『正の整数』]
  • Type = 状態
  • Physics = 重力
  • MoveType = 行動状態
  • HitCountPersist = 引継ぎフラグ
  • MoveHitPersist = 引継ぎフラグ
  • HitDefPersist = 引継ぎフラグ
  • SprPriority = 画像の表示優先度
  • FaceP2 = 相手へ振り向くフラグ
  • Juggle = ジャグル値に加算する値
  • VelSet = X軸の移動速度, Y軸の移動速度
  • Anim = アニメ番号
  • Ctrl = キー入力受付可能フラグ
  • PowerAdd = パワーゲージの増減量

ScreenBound

カメラ?がプレイヤーを追うか否かを設定します。

軌道の低いジャンプや高速で往復したりする場合などは、画面を固定した方がよいことが多いです。1フレームのみ有効。

  • [State ]
  • Type = ScreenBound
  • Trigger1 = 1
  • value = 画面固定フラグ
  • MoveCamera = 水平移動フラグ, 垂直移動フラグ
  • Persistent = ?
  • IgnoreHitPause = ?

SelfState

ChangeStateと同じく、ステートを変更するコントローラですが、相手のステートを参照している場合に、自分のステートに変更するという点で異なります。

HitDefのP2StateパラメータやTargetStateを使った場合、必ずSelfStateで元に戻すようにしましょう。

また、ChangeStateの代わりとして普通に使えます。-2ステートに記述すれば、相手のステートから無理矢理抜けることもできますが、不具合の元です。

  • [State ]
  • Type = SelfState
  • Trigger1 = 1
  • value = ステート番号
  • Ctrl = コントロールフラグ
  • Anim = アクション番号
  • Persistent = ?
  • IgnoreHitPause = ?

SndPan

PlaySnd実行中、特定チャンネルのサウンドのpan/abspanパラメータを変更します。PlaySndで音が再生されていて、指定したチャンネル存在しないとPan,AbsPanは読み込まれません。

  • [State ]
  • Type = SndPan
  • Trigger1 = 1
  • Channel = チャンネル番号
  • Pan = パノラマ距離
  • AbsPan = パノラマ距離
  • Persistent = ?
  • IgnoreHitPause = ?

SprPriority

プレイヤーのスプライト表示優先度を変更します。

  • [State ]
  • Type = SprPriority
  • Trigger1 = 1
  • value =
  • Persistent = ?
  • IgnoreHitPause = ?

StateTypeSet

プレイヤーのステートタイプ、行動状態、物理状態を変更します。技の途中で宙に浮いたりする場合に使用します。

  • [State ]
  • Type = StateTypeSet
  • Trigger1 = 1
  • StateType = ステートタイプ
  • Physics = 物理状態
  • MoveType = 行動状態
  • Persistent = ?
  • IgnoreHitPause = ?

StopSnd

特定チャンネルのサウンドを止めます。

  • [State ]
  • Type = StopSnd
  • Trigger1 = 1
  • Channel = チャンネル番号
  • Persistent = ?
  • IgnoreHitPause = ?

SuperPause

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

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

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

  • [State ]
  • Type = SuperPause
  • Trigger1 = 1
  • Time = 停止時間
  • MoveTime = 停止無視時間
  • PauseBG = 背景停止フラグ
  • EndCmdBufTime = bt
  • Darken = 暗転フラグ
  • Anim = 超必殺演出アニメ番号
  • Pos = x表示位置, y表示位置
  • P2DefMul = p2防御力
  • PowerAdd = パワーゲージ増減量
  • UnHitTable = 無敵フラグ
  • Sound = サウンド番号, グループ番号
  • Persistent = ?
  • IgnoreHitPause = ?

TagIn

パートナーがいる時に使用可能。実行者のCtrlは継続されるが、パートナーのCtrlは0になります。ChangeStateと同じくStateNoでループ構造にすると”stopped after 2500 loops”が発生。

パートナーが存在しない場合、パラメータを読み込まず、StandByを1にしない事以外はTagOutと同じ動作(Timeをリセットせずに実行時の[StateDef]を読み込み直す=TagIn以降のステートコントローラーは実行されない)をします。なので、シングルでも2500ループは発生するためエラーを起こさないようにNumPartnerや変数で対策が必要になります。

ヘルパー内部では動作しません。もしかしたら、同じステートでループした場合Timeがリセットされない可能性があるかもしれません。

使い方は、タッグパトナーとの同時攻撃、魅せる演出に使用します。例えば、”(´・ω・`)とヘイちゃんのダブルカットインだしてカッコヨク技を発動”させたり”TagInで味方を[StateDef 110]へ飛ばし、味方に攻撃当ててターゲット確保、LifeAdd等を記述した蘇生ステートに飛して蘇生させる”のに使用します。

  • [State ]
  • Type = TagIn
  • Trigger1 = 1
  • StateNo = ステート番号
  • PartnerStateNo = パートナーのステート番号
  • Persistent = ?
  • IgnoreHitPause = ?

TagOut

実行時の[StateDef]を読み込み直すが、ChangeStateなどと異なりTimeはリセットされません。また、StandByトリガーを1にします。StandByを0に戻す方法は不明、ステートが変わってもStandByは維持されます。さらに、TagOut実行中(トリガーの条件成立時)はTagOutより下のステートは読み込まれません。

TagIn,ChangeStateのStateNoの指定したステートで、TagOutのトリガーに『Time=0』や『1』などのステートを読み込んですぐに実行できる状態でTagOutを実行すると”stopped after 2500 loops”(通称:2500ループ)が発生します。また、Persistentを指定しても2500ループは発生します。

  • [State ]
  • Type = TagOut
  • Trigger1 = 1
  • Persistent = ?
  • IgnoreHitPause = ?

TargetBind

自分の位置を基点にターゲット(自分の攻撃によりヒット/ガード中の相手)を実行したフレームからTime - 1フレーム後までTargetを実行者を基準とした位置に固定し続けます。

注意点が2点あり、実行したフレームからTime - 1フレーム後まで、Targetの速度は実行者の速度と同じになる。Target系のステートコントローラーは、特定のターゲットを指定できないため、敵が2以上いるSimulモードでは不具合が出やすいです。

例えば、1方がヒット、1方がガードだった場合でも、両方巻き込んでしまいます。両方ともヒットIDは同じであるため、ヒットの方だけ対象にすることは不可能です。

主に投げ技に使用。

  • [State ]
  • Type = TargetBind
  • Trigger1 = 1
  • ID = ヒットID
  • Time = 固定時間
  • Pos = x位置, y位置
  • Persistent = ?
  • IgnoreHitPause = ?

TargetDrop

複数のターゲットがいる場合、特定のもの以外をターゲットから除外します。

  • [State ]
  • Type = TargetDrop
  • Trigger1 = 1
  • ExcludeID = 除外ID
  • KeepOne = タイマンフラグ
  • Persistent = ?
  • IgnoreHitPause = ?

TargetFacing

ターゲットの向きを変更します。投げ技などに使用。

  • [State ]
  • Type = TargetFacing
  • Trigger1 = 1
  • ID = ヒットID
  • value = 敵の向き
  • Persistent = ?
  • IgnoreHitPause = ?

TargetLifeAdd

ターゲットの体力を増減します。投げなどに使用。攻撃力、防御力も考慮されます。

  • [State ]
  • Type = TargetLifeAdd
  • Trigger1 = 1
  • ID = ヒットID
  • Absolute =
  • Kill =
  • value = 体力増減値
  • Persistent = ?
  • IgnoreHitPause = ?

TargetPowerAdd

ターゲットのパワーゲージを増減します。

  • [State ]
  • Type = TargetPowerAdd
  • Trigger1 = 1
  • ID = ヒットID
  • value = ゲージ増減量
  • Persistent = ?
  • IgnoreHitPause = ?

TargetState

ターゲットのステートを指定値に変更します。このコントローラーで、相手はプレイヤーのステートを参照するようになります。

なお、ターゲットとは、自分の攻撃でヒット、ガード状態となった相手のことを指します。ガードも含まれることに注意。

ステートを奪った状態で相手がコントロール可能になると、歩く、ジャンプなどの共通動作が可能となりますが、このときもこちらの共通動作ステートを参照しています。なお、-1ステートは参照できませんので、攻撃はできません。ただ、-2ステートは、相手のステートを参照している場合も有効なので、内容によっては操作可能ですが、ChangeStateの対象はこちらのステートなので、不具合が生じる可能性が高いです。

この状態は、攻撃を受けるか、防御することで元に戻りますが、SelfStateで元に戻すのが普通です。

HitDefのP2statenoの代わりに使うこともできますが、simulモードや、連続技に組み込める技で使用する場合は、不具合が起きやすいので、トリガーの設定には十分注意しましょう。

  • [State ]
  • Type = TargetState
  • Trigger1 = 1
  • ID = ヒットID
  • value = ステート番号
  • Persistent = ?
  • IgnoreHitPause = ?

TargetVelAdd

ターゲットの速度を増減します。

  • [State ]
  • Type = TargetVelAdd
  • Trigger1 = 1
  • ID = ヒットID
  • X = 水平速度
  • Y = 垂直速度
  • Persistent = ?
  • IgnoreHitPause = ?

TargetVelSet

ターゲットの速度を指定値に変更します。

  • [State ]
  • Type = TargetVelSet
  • Trigger1 = 1
  • ID = ヒットID
  • X = 水平速度
  • Y = 垂直速度
  • Persistent = ?
  • IgnoreHitPause = ?

Trans

Airファイルの透過指定を1フレームのみ変更します。

  • [State ]
  • Type = Trans
  • Trigger1 = 1
  • Trans = 透過型
  • Alpha = ソースアルファ, デスティネーションアルファ
  • Persistent = ?
  • IgnoreHitPause = ?

Turn

振り向きます。相手を後ろに投げる技の途中で振り向く場合や、相手に背を向けたい場合などに。

  • [State ]
  • Type = Turn
  • Trigger1 = 1
  • Persistent = ?
  • IgnoreHitPause = ?

U

直前のステートから引き継ぐ Unchanged
  • [StateDef 『正の整数』]
  • Type = 状態
  • Physics = 重力
  • MoveType = 行動状態
  • HitCountPersist = 引継ぎフラグ
  • MoveHitPersist = 引継ぎフラグ
  • HitDefPersist = 引継ぎフラグ
  • SprPriority = 画像の表示優先度
  • FaceP2 = 相手へ振り向くフラグ
  • Juggle = ジャグル値に加算する値
  • VelSet = X軸の移動速度, Y軸の移動速度
  • Anim = アニメ番号
  • Ctrl = キー入力受付可能フラグ
  • PowerAdd = パワーゲージの増減量

VarAdd

変数を増減します。整数・小数どちらの変数も扱えますが、同時に指定することはできません。

  • [State ]
  • Type = VarAdd
  • Trigger1 = 1
  • v = 整数変数番号
  • value = 整数増加量
  • ; fv = 浮動小数変数番号
  • ; value = 浮動小数変数増加量
  • ; var(番号) = 整数増減量
  • ; fvar(番号) = 小数増減量
  • Persistent = ?
  • IgnoreHitPause = ?

VarRandom

変数に乱数を代入します。fvarに代入することはできません。用途は様々。

相手のステートを奪った状態でこのコントローラを実行すると、相手の変数を変更することになってしまいます。失礼な行為に当たりますので、注意。

  • [State ]
  • Type = VarRandom
  • Trigger1 = 1
  • v = 整数変数番号
  • Range = 乱数最小値, 乱数最大値
  • Persistent = ?
  • IgnoreHitPause = ?

VarRangeSet

指定した範囲の番号の変数に、一気に同じ値を代入します。整数変数、小数変数ともに代入可能ですが、両方を同時に扱うことはできません。

  • [State ]
  • Type = VarRangeSet
  • Trigger1 = 1
  • value = 整数代入値
  • ; fvalue = 小数代入値
  • First = 最初の変数番号
  • Last = 最後の変数番
  • Persistent = ?
  • IgnoreHitPause = ?

VarSet

変数を指定値に変更します。整数・小数どちらの変数も扱えますが、同時に指定することはできません。

  • [State ]
  • Type = VarSet
  • Trigger1 = 1
  • v = 整数変数番号
  • value = 整数増加量
  • ; fv = 浮動小数変数番号
  • ; value = 浮動小数変数増加量
  • ; var(番号) = 整数増減量
  • ; fvar(番号) = 小数増減量
  • Persistent = ?
  • IgnoreHitPause = ?

VelAdd

速度を増減します。

  • [State ]
  • Type = VelAdd
  • Trigger1 = 1
  • X = 水平方向乗算速度
  • Y = 垂直方向乗算速度
  • Persistent = ?
  • IgnoreHitPause = ?

VelMul

速度を倍数指定で増減します。浮力、摩擦等に使用。

  • [State ]
  • Type = VelMul
  • Trigger1 = 1
  • X = 水平方向乗算速度
  • Y = 垂直方向乗算速度
  • Persistent = ?
  • IgnoreHitPause = ?

VelSet

速度を指定値に変更します。

  • [State ]
  • Type = VelSet
  • Trigger1 = 1
  • X = 水平方向乗算速度
  • Y = 垂直方向乗算速度
  • Persistent = ?
  • IgnoreHitPause = ?

VictoryQuote

”M.U.G.E.N 1.0”から追加されたステートコントローラで、勝利画面に表示するプレイヤーのセリフを選択します。

”VictoryQuote”はプレイヤーの試合中に読み込まれますが、試合後にしか効果がありません。また、ヘルパーで実行しても効果がないです。勝利のセリフは、CNSファイル内の[Quotes]グループに指定します。

勝利画面では、 ”9000,2” のスプライトが必要になります。キャラの ”Localcoord” が ”320, 240” の場合、画像の大きさは左上基準で横幅120、高さ115になります。

  • [State ]
  • Type = VictoryQuote
  • Trigger1 = 1
  • value = セリフの番号
  • Persistent = ?
  • IgnoreHitPause = ?

Width

このステートコントローラー実行したプレイヤーのキャラや画面端の幅サイズを変更します。効果は、1フレームしか無いので注意!

デバッグモードで、判定枠を表示(Ctrl+C)させると、対画面端幅を示すバーが橙で、対プレイヤー幅を示すバーが黄色で、重なっている部分が明るい黄色で表示されます。例えば、edge=40とすると画面端から40ピクセルの範囲はプレイヤーが進入不可になります。

投げ技中の攻撃側が、これを使わないと画面端で敵との位置が狂ってしまいます(ScreenBoundを使うサムスピ式の方法もあります)。

  • [State ]
  • Type = Width
  • Trigger1 = 1
  • Edge = 前方画面端幅, 後方画面端幅(省略可能)
  • Player = 前方プレイヤー幅, 後方プレイヤー幅(省略可能)
  • ; value = 前方幅, 後方幅
  • Persistent = ?
  • IgnoreHitPause = ?

Zoom

トリガーの条件を満たしている間だけ画面をズームイン・ズームアウトします。ズームイン・ズームアウトする基準点はトリガーがTrueになった瞬間に固定されるので注意。

Version1.1からテスト実装されました。有効にしたい場合は、キャラクターのdefファイル内のMugenVersion=1.1に変更して下さい。

  • [State ]
  • Type = Zoom
  • Trigger1 = 1
  • Pos = x座標, y座標
  • Scale = 倍率
  • Lag = 遅延させる時間
  • Persistent = ?
  • IgnoreHitPause = ?


参考にさせてもらったサイト一覧

参考にさせてもらった小ネタ・記事一覧

情報提供者

  • Iwakick氏 - PowerAddの仕様について情報提供ありがとうございます。
この記事は役に立ちましたか?
ご意見・ご要望はございますか?
記事に不備があった場合

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

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

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

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