「File-/Stateファイル」の編集履歴(バックアップ)一覧はこちら

File-/Stateファイル」(2015/09/29 (火) 16:51:25) の最新版変更点

追加された行は緑色になります。

削除された行は赤色になります。

戻る→[[ファイルの一覧]] ---- *■Stateファイル【ステート定義ファイル】 動作を決定するステートの定義を行うファイル。 [[Commonステート]]を管理するStCommonもStateファイルの一種。 Common用合わせて12個+1個(Cmdファイル)のファイルまで指定できる。 ※読み込むファイルの中にはステート記述が1つも無い場合、エラーで落ちる。 -参考:[[http://homotaro.s44.xrea.com/state.htm]] ---- **Stateファイルの中身 ステートの定義を行い[[ステートコントローラー>ステートコントローラーの一覧]]を記述していく。 :ステートの種類| -&b(){[[番号ステート]]}:0以上のステートのこと。 --キャラ全員は[[T-/StateNo]]を持つ --基本毎フレーム、当する番号のステートを読み込む。 ---基本自分のを読み込むが、[[ステートを奪われている>ステート奪取]]場合は相手の番号ステートを読み込む。 -&b(){[[常時監視ステート]]}:-3,-2,-1ステートのこと。詳しくは該当ページ参照。 --StateNoとは関係なく、基本毎フレーム番号ステートの前に読み込む。 --[[ステートを奪われている>ステート奪取]]場合は、-3,-1ステートは読み込まない。 -※Pause,SuperPauseでの停止中などの処理については''検証不足'' --多分、キャラの処理がスキップされ、一切読み込まれない? **■ステート定義 -&b(){[Statedef XXX]}でXXXに書かれた番号のステートの宣言を行う。 --もちろん数字以外使えない。また-3以上の番号しか使えない。(上限不明) ---同じ番号のステートが複数ある場合、上側にあるステートの記述のみが使われる。 ---別々のファイルで同じ番号のステートがある場合、ファイルごとの優先度に従う。[[ファイルの一覧]]参照。 --ステートの範囲は宣言行から他のステート宣言などが行われるか、&br()そのファイルの終わりまで。一応[command]の宣言でも終わる。 -ステートには必ず1個以上ステートコントローラーを記述しなければならない。 --ステートコントローラーは&b(){[State XXX]}で宣言する。 --ステートコントローラーについては[[ステートコントローラーの一覧]]も参照。 -なおStファイルには必ず1個以上のステートを記述しなければならない。 :Statedefのオプション| このオプションにはほぼ全て対応するステートコントローラーがある。 内容の詳しいことは該当ページを参照。 これらはステート移動の実行後番号ステート読み込み時に1度だけ読み込む。 ステート移動が起きればその都度読み込むが、ステート移動をしなければ読み込まない。 性質上[[常時監視ステート]]では使えない。 -''Type''=U:[[T-/StateType]]の指定。''省略時:S''のため、省略しないほうが良い。 --''S、C、A、L'':それぞれのStatetypeになる。 --''U'':変更せず、直前までのStateTypeを継続させる。 -''Movetype''=U:[[T-/Movetype]]の指定。''省略時:I''、攻撃・くらいステートでは要注意。。 --''I、A、H'':それぞれのMovetypeになる。 --''U'':変更せず、直前までのMoveTypeを継続させる。 -''Physics''=U:[[Physics>Vel]]の指定。''省略時:N''。通常、基本的に省略しない。 --''S、C、A、N'':それぞれのPhysicsになる。詳しくは[[VelとPhysics>Vel]]のページ参照。 --''U'':変更せず、直前までのPhysicsを継続させる。 Type(StateType)、MoveType、Physicsは、[[SC-/StateTypeSet]]とほぼ同じ。 -''Anim''=0:[[SC-/ChangeAnim]]と同じ。省略時変更なし。 -''VelSet''=X,Y:[[SC-/VelSet]]と同じだが、パラメーターは一行。省略時変更なし。 -''Ctrl''=1:[[SC-/CtrlSet]]と同じ。省略時変更なし。 -''PowerAdd''=1000:[[SC-/PowerAdd]]と同じ。省略時変更なし。 -''Juggle''=0;[[Juggle]]用数値。''※省略時、以前指定された数値から変更されない'' -''FaceP2''=0:省略時0。1の場合、相手側へ自動振り向き? -''SprPriority''=0:[[SC-/SprPriority]]と同じ。※省略時不明 Persist系・直前のステートの情報を維持する。省略時0 -''HitDefPersist''=0:1の場合、指定されていた[[SC-/HitDef]]を持続 -''MoveHitPersist''=0:1の場合、[[T-/MoveContact]]系・[[T-/MoveReversed]]を持続。 -''HitCountPersist''=0:1の場合、[[T-/HitCount]]系を持続。 ---- **■Lv1-記述例・補足・注意点 :ステートの番号が重複した場合| -同じファイル同士での重複は先に、上側に記述されている方が優先される。 -ファイル同士の場合は「St」「St0~9」「Cmd」「StCommon」の順で優先。 -Common1.cnsを読み込んでも、同じ番号のステートをStで書いておけば、&br()Commonステートを使わずキャラ側の固有Commonを使用できる。 -優先されたステート1組のみを読み込み、それ以外の重複ステートは無視される。 :StateDefのオプション読み込みのタイミング| -StateDefのオプションはステート移動した後1度だけ読み込む. -''攻撃のPauseTimeでの停止中は読み込みが保留される。'' --PauseTime適応中にステートを移動した場合、''PauseTime終了後に実行''される。 -その関係上[[T-/MoveContact]]系のリセットタイミングはPauseTime終了後になる。 :ステート番号が変更される処理| 詳しくは[[フレーム処理]]のページも参照。 -試合開始時点で「StateNo=0、Ctrl=1」になる。詳しくはは[[File-/MUGEN設定ファイル]]を参照。 --RoundState=2(試合中)であっても厳密には''この処理が行われるまでは試合開始前''。 --この移動処理はステート処理の開始時点・キャラの処理の前に行われる。 -特定の状況においてMUGEN側の処理で変更される。詳しくは[[Commonステート]]を参照。 --''ステート処理の開始時点・キャラの処理の前に行われるもの'' ---Ctrl=1での基本動作処理。立ち・歩き・屈み・ジャンプ・空中ジャンプ。 ---試合終了後の勝利・敗北・引分けステートへの移動処理。 ---StateNo=5110での起き上がり処理。 --''攻撃の処理時点で行われるもの'' ---攻撃をくらった時の汎用くらいステートへの移動処理。 --''そのキャラのステート処理終了時点で行われるもの''&br()※ステート移動後ステート処理を再度行う※ ---[[Physics>vel]]=Aの着地処理。※詳しくは[[Vel]]のページを参照。 ---[[ガード]]の終了処理。※詳しくは[[Commonステート]]の140番を参照。 -[[ステートコントローラー>ステートコントローラーの一覧]]の実行による移動処理。 --[[SC-/ChangeState]]、[[SC-/SelfState]]によるステート変更処理。 --[[SC-/TargetState]]による相手のステート変更処理。 -[[ステートコントローラー>ステートコントローラーの一覧]]の機能発動による移動処理。&br()''※攻撃を受ける側は汎用くらいステートへ飛んだ後にステート変更をする※'' --攻撃[[SC-/HitDef]][[SC-/ReversalDef]][[SC-/Projectile]]のオプションの発動。&br()P1StateNo、P2StateNoの指定されている攻撃が命中したら変更。 ---※例外としてReversalDefは汎用くらいステートに飛ばないため、そのまま指定ステートへ移動する。 --[[SC-/HitOverride]]の発動による変更。 :※検証不足| 番号ステートでのChangeStateでも自動振り向きが発生する関係上、 オプションのtype指定などを省略してしまうと、 自動振り向きの条件が満たされることがあり、思いがけず振り向くケースがある。 特に迂回専用のステートで起きやすいため、注意したい。 -PauseTime中に発生するかは''検証不足'' #region(''記述例・Common'') ''記述例・Common'' #aa(){ [Statedef 0] type = S physics = S sprpriority = 0 [State 0, 1] type = ChangeAnim trigger1 = Anim != 0 && Anim != 5 trigger2 = Anim = 5 && AnimTime = 0 ;Turn anim over value = 0 [State 0, 2] type = VelSet trigger1 = Time = 0 y = 0 [State 0, 3] ;Stop moving if low velocity or 4 ticks pass type = VelSet trigger1 = abs(vel x) < 2 trigger2 = Time = 4 x = 0 [State 0, 4] ;Are you dead? type = ChangeState trigger1 = !alive value = 5050 } -StateDefのオプションで、Type=S、Physics=Sを指定。 --Movetypeが省略されているため、Movetype=Iになる。 -ステートコントローラーは4つ指定されている。 --ちなみに、[State X, X]はそれぞれの数値に設定する必要はない。 --ただし構文のエラーで落ちた場合、&br()そこに書かれた名称が表示されることもあるため、&br()なるべく区別しやすいように名前をつけておくと良い。 なおステートが次のステートの宣言やファイルの終わりまで続くのと同様、 ステートコントローラー自体も、次の宣言までが範囲となっている。 分かりやすいよう記述はまとめるべきだが。 #endregion ----
戻る→[[ファイルの一覧]] ---- *■Stateファイル【ステート定義ファイル】 動作を決定するステートの定義を行うファイル。 [[Commonステート]]を管理するStCommonもStateファイルの一種。 Common用合わせて12個+1個(Cmdファイル)のファイルまで指定できる。 ※読み込むファイルの中にはステート記述が1つも無い場合、エラーで落ちる。 -参考:[[http://homotaro.s44.xrea.com/state.htm]] ---- **Stateファイルの中身 ステートの定義を行い[[ステートコントローラー>ステートコントローラーの一覧]]を記述していく。 :ステートの種類| -&b(){[[番号ステート]]}:0以上のステートのこと。 --キャラ全員は[[T-/StateNo]]を持つ --基本毎フレーム、当する番号のステートを読み込む。 ---基本自分のを読み込むが、[[ステートを奪われている>ステート奪取]]場合は相手の番号ステートを読み込む。 --ステート番号はInt形数値として扱われているので上限値は恐らく''2147483647''。 -&b(){[[常時監視ステート]]}:-3,-2,-1ステートのこと。詳しくは該当ページ参照。 --StateNoとは関係なく、基本毎フレーム番号ステートの前に読み込む。 --[[ステートを奪われている>ステート奪取]]場合は、-3,-1ステートは読み込まない。 -※Pause,SuperPauseでの停止中などの処理については''検証不足'' --多分、キャラの処理がスキップされ、一切読み込まれない? **■ステート定義 -&b(){[Statedef XXX]}でXXXに書かれた番号のステートの宣言を行う。 --もちろん数字以外使えない。また-3以上の番号しか使えない。(上限不明) ---同じ番号のステートが複数ある場合、上側にあるステートの記述のみが使われる。 ---別々のファイルで同じ番号のステートがある場合、ファイルごとの優先度に従う。[[ファイルの一覧]]参照。 --ステートの範囲は宣言行から他のステート宣言などが行われるか、&br()そのファイルの終わりまで。一応[command]の宣言でも終わる。 -ステートには必ず1個以上ステートコントローラーを記述しなければならない。 --ステートコントローラーは&b(){[State XXX]}で宣言する。 --ステートコントローラーについては[[ステートコントローラーの一覧]]も参照。 -なおStファイルには必ず1個以上のステートを記述しなければならない。 :Statedefのオプション| このオプションにはほぼ全て対応するステートコントローラーがある。 内容の詳しいことは該当ページを参照。 これらはステート移動の実行後番号ステート読み込み時に1度だけ読み込む。 ステート移動が起きればその都度読み込むが、ステート移動をしなければ読み込まない。 性質上[[常時監視ステート]]では使えない。 -''Type''=U:[[T-/StateType]]の指定。''省略時:S''のため、省略しないほうが良い。 --''S、C、A、L'':それぞれのStatetypeになる。 --''U'':変更せず、直前までのStateTypeを継続させる。 -''Movetype''=U:[[T-/Movetype]]の指定。''省略時:I''、攻撃・くらいステートでは要注意。。 --''I、A、H'':それぞれのMovetypeになる。 --''U'':変更せず、直前までのMoveTypeを継続させる。 -''Physics''=U:[[Physics>Vel]]の指定。''省略時:N''。通常、基本的に省略しない。 --''S、C、A、N'':それぞれのPhysicsになる。詳しくは[[VelとPhysics>Vel]]のページ参照。 --''U'':変更せず、直前までのPhysicsを継続させる。 Type(StateType)、MoveType、Physicsは、[[SC-/StateTypeSet]]とほぼ同じ。 -''Anim''=0:[[SC-/ChangeAnim]]と同じ。省略時変更なし。 -''VelSet''=X,Y:[[SC-/VelSet]]と同じだが、パラメーターは一行。省略時変更なし。 -''Ctrl''=1:[[SC-/CtrlSet]]と同じ。省略時変更なし。 -''PowerAdd''=1000:[[SC-/PowerAdd]]と同じ。省略時変更なし。 -''Juggle''=0;[[Juggle]]用数値。''※省略時、以前指定された数値から変更されない'' -''FaceP2''=0:省略時0。1の場合、相手側へ自動振り向き? -''SprPriority''=0:[[SC-/SprPriority]]と同じ。※省略時不明 Persist系・直前のステートの情報を維持する。省略時0 -''HitDefPersist''=0:1の場合、指定されていた[[SC-/HitDef]]を持続 -''MoveHitPersist''=0:1の場合、[[T-/MoveContact]]系・[[T-/MoveReversed]]を持続。 -''HitCountPersist''=0:1の場合、[[T-/HitCount]]系を持続。 ---- **■Lv1-記述例・補足・注意点 :ステートの番号が重複した場合| -同じファイル同士での重複は先に、上側に記述されている方が優先される。 -ファイル同士の場合は「St」「St0~9」「Cmd」「StCommon」の順で優先。 -Common1.cnsを読み込んでも、同じ番号のステートをStで書いておけば、&br()Commonステートを使わずキャラ側の固有Commonを使用できる。 -優先されたステート1組のみを読み込み、それ以外の重複ステートは無視される。 :StateDefのオプション読み込みのタイミング| -StateDefのオプションはステート移動した後1度だけ読み込む. -''攻撃のPauseTimeでの停止中は読み込みが保留される。'' --PauseTime適応中にステートを移動した場合、''PauseTime終了後に実行''される。 -その関係上[[T-/MoveContact]]系のリセットタイミングはPauseTime終了後になる。 :ステート番号が変更される処理| 詳しくは[[フレーム処理]]のページも参照。 -試合開始時点で「StateNo=0、Ctrl=1」になる。詳しくはは[[File-/MUGEN設定ファイル]]を参照。 --RoundState=2(試合中)であっても厳密には''この処理が行われるまでは試合開始前''。 --この移動処理はステート処理の開始時点・キャラの処理の前に行われる。 -特定の状況においてMUGEN側の処理で変更される。詳しくは[[Commonステート]]を参照。 --''ステート処理の開始時点・キャラの処理の前に行われるもの'' ---Ctrl=1での基本動作処理。立ち・歩き・屈み・ジャンプ・空中ジャンプ。 ---試合終了後の勝利・敗北・引分けステートへの移動処理。 ---StateNo=5110での起き上がり処理。 --''攻撃の処理時点で行われるもの'' ---攻撃をくらった時の汎用くらいステートへの移動処理。 --''そのキャラのステート処理終了時点で行われるもの''&br()※ステート移動後ステート処理を再度行う※ ---[[Physics>vel]]=Aの着地処理。※詳しくは[[Vel]]のページを参照。 ---[[ガード]]の終了処理。※詳しくは[[Commonステート]]の140番を参照。 -[[ステートコントローラー>ステートコントローラーの一覧]]の実行による移動処理。 --[[SC-/ChangeState]]、[[SC-/SelfState]]によるステート変更処理。 --[[SC-/TargetState]]による相手のステート変更処理。 -[[ステートコントローラー>ステートコントローラーの一覧]]の機能発動による移動処理。&br()''※攻撃を受ける側は汎用くらいステートへ飛んだ後にステート変更をする※'' --攻撃[[SC-/HitDef]][[SC-/ReversalDef]][[SC-/Projectile]]のオプションの発動。&br()P1StateNo、P2StateNoの指定されている攻撃が命中したら変更。 ---※例外としてReversalDefは汎用くらいステートに飛ばないため、そのまま指定ステートへ移動する。 --[[SC-/HitOverride]]の発動による変更。 :※検証不足| 番号ステートでのChangeStateでも自動振り向きが発生する関係上、 オプションのtype指定などを省略してしまうと、 自動振り向きの条件が満たされることがあり、思いがけず振り向くケースがある。 特に迂回専用のステートで起きやすいため、注意したい。 -PauseTime中に発生するかは''検証不足'' #region(''記述例・Common'') ''記述例・Common'' #aa(){ [Statedef 0] type = S physics = S sprpriority = 0 [State 0, 1] type = ChangeAnim trigger1 = Anim != 0 && Anim != 5 trigger2 = Anim = 5 && AnimTime = 0 ;Turn anim over value = 0 [State 0, 2] type = VelSet trigger1 = Time = 0 y = 0 [State 0, 3] ;Stop moving if low velocity or 4 ticks pass type = VelSet trigger1 = abs(vel x) < 2 trigger2 = Time = 4 x = 0 [State 0, 4] ;Are you dead? type = ChangeState trigger1 = !alive value = 5050 } -StateDefのオプションで、Type=S、Physics=Sを指定。 --Movetypeが省略されているため、Movetype=Iになる。 -ステートコントローラーは4つ指定されている。 --ちなみに、[State X, X]はそれぞれの数値に設定する必要はない。 --ただし構文のエラーで落ちた場合、&br()そこに書かれた名称が表示されることもあるため、&br()なるべく区別しやすいように名前をつけておくと良い。 なおステートが次のステートの宣言やファイルの終わりまで続くのと同様、 ステートコントローラー自体も、次の宣言までが範囲となっている。 分かりやすいよう記述はまとめるべきだが。 #endregion ----

表示オプション

横に並べて表示:
変化行の前後のみ表示: