MUGEN State Controller

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

Type = TargetState

ターゲット操作 > ターゲットのステートを奪う | 実装されたバージョン: 2002.04.14 | 対象: ターゲット

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

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

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

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

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

関連するトリガー: StateNo, P2StateNo, PrevStateNo

パラメーター

ID = ヒットID (整数)

対象とするターゲットのヒットIDを指定。

特定のターゲットを指定できないため、非常に取扱が難しいです。TargetDropで対象を特定してから使うのが吉。

省略時のデフォルト値: -1 ;すべてのターゲットが対象
value = ステート番号 (整数)

ターゲットに参照させるステート番号を指定。

基本ステート番号 基本動作
0 ニュートラル・立ち
10 屈み移行
11 屈み待機
12 立ち上がり
20 歩き
40 ジャンプ始動
45 空中ジャンプ始動
50 ジャンプ中
51 空中動作後
52 着地
ダッシュ
100 ダッシュ
105 バックステップ
106 バックステップ着地
110 Z軸用のステップ型ダッシュ
115 Z軸用のステップ型ダッシュ
ガード動作
120 ガード始動
130 立ちガード
131 屈みガード
132 空中ガード
140 ガード終了
150 立ちガード/HitShake硬直
151 立ちガード/ノックバック
152 屈みガード/HitShake硬直
153 屈みガード/ノックバック
154 空中ガード/HitShake硬直
155 空中ガード/ノックバック
特殊動作
170 敗北演出
175 引き分け演出
180 勝利演出
190 イントロ開始
191 イントロ用
5500 コンテニュー画面
5900 導入
やられ動作
5000 立ちくらい/ヒットシェイク
5001 立ちくらい/ヒットバック
5010 屈みくらい/ヒットシェイク
5011 屈みくらい/ヒットバック
5020 空中くらい/ヒットシェイク
5030 空中くらい/ヒットバック・ふっとび開始
5035 空中くらい/ふっとび経過
5040 空中くらい/ふっとび・戻り
5050 空中くらい/ふっとび・倒れまで
5070 空中くらい/転ばされヒットストップ
5071 空中くらい/転ばされヒットバック
5080 倒れくらい/ヒットシェイク
5081 倒れくらい/ヒットバック
5100 倒れくらい/空中~着地
5101 倒れくらい/バウンド中
5110 倒れくらい/倒れ待機
起き上がり・リカバリー動作
5120 倒れ/起き上がり
5200 倒れ受身/開始
5201 倒れ受身/着地
5210 空中受身 空中受身
死亡ステート
5150 死亡
省略不可
Persistent = ステートを再度読み込むフラグ (整数)

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

仕様・バグ・エラー・変更点

警告文
ATTEMPTED TARGETSTATE TO NEGATIVE: Valueに-1以下

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

  • [State ,TargetState]
  • Type = TargetState
  • Trigger1 = 1
  • ID = -1 ;すべてのターゲットが対象
  • value =
  • Persistent = 1
  • IgnoreHitPause = 0

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

ID(1) => value(2) => Persistent(?) => IgnoreHitPause(?) =>


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

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

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

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

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