「SC-/Helper」の編集履歴(バックアップ)一覧はこちら

SC-/Helper - (2017/03/21 (火) 14:06:18) の1つ前との変更点

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

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

戻る→[[ステートコントローラーの一覧]] ---- :※解説修正情報※| //●&font(12,b){日付:修正部分の概要} ●&font(12,b){2016-10-21:PosTypeの基準位置修正。FBLRは地面の高さを基準に出現} ●&font(12,b){2014-10-13:Scale処理についてと、Size設定について。} ---- //ほかページヘのリンクはLv0のみで。(Lv1~でリンクしようとすると煩雑になりそうなので) *■Helper【Helper・分身射出】 :▼概要| Helperキャラを射出する。細かいことは[[Helper技術]]を参照 Helperはプレイヤーキャラとほぼ同じ量のパラメータを持ち、 プレイヤーキャラと同じようにステート・攻撃他の処理を行う。 細かい制御を行いたい場合に使われる。 :上限数| Helperには全体総数に上限があり、それを超えると射出できなくなる。 上限数は[[mugen.cfg>File-/MUGEN設定ファイル]]で設定。デフォルトは32個。 ''最大56個までしか上限は増やせない''。個数管理には要注意。 :| 細かい技術については[[Helper技術]]とその子ページで。 ここではステートコントローラーとしてのことを解説。 :▼必須記述| -省略してもエラーは起きないが -&b(){StateNo = (Int型) };最初に持つ[[T-/StateNo]]、番号ステートを指定。 --これを指定しないと使い物にならない木偶が発生するだけ。 --[[常時監視ステート]]を読みこませる設定ならそちらだけでも良いが。 :▼オプション| -&b(){Name = "(好きな文字列)" };[[T-/Name]]で探知する名前 --省略時"<射出キャラのName>'s helper"となる。 --細かく区別したい場合は指定する。 -&b(){ID = (Int型) };HelperID指定。 --[[リダイレクト]]や[[T-/NumHelper]]で使用する重要な判別値。 --なおHelperで自身のHelperIDを返すトリガー情報はない。 ---[[T-/IsHelper]]でHelperIDが引数であるかどうかは判別できるが。 ---やや特殊だが後記するものに入れる手段はある。 :位置関係| -&b(){Pos = (X座標Int型),(Y座標Int型) };出現座標 -&b(){PosType = (文字列) };出現基準位置。Pos=0,0とする場所。 --''P1'':実行するキャラの座標。向き:キャラ基準 省略時P1 --''P2'':P2相手の座標。向き:P2相手基準(P2相手については[[リダイレクト]]参照) --''F'':Front:キャラの前の画面端,地面。向き:キャラ基準 --''B'':Back:キャラの後ろの画面端,地面。向き:キャラ基準 --''L'':Left:画面自体の左端,地面。向き:右向き --''R'':Right:画面自体の右端,地面。向き:右向き ---Front,Back,Left,Rightは頭文字だけで識別?スペルミスしていても動く。 -&b(){Facing = (Int型) };向きを指定する。 --1でPosType対応の向き、-1でPosType対応とは反対の向き。 :特殊Helperパラメータ| -&b(){HelperType = (文字列) };Helperのキャラタイプ指定 --HelperType =&b(){ Normal };省略時。通常のHelper --HelperType =&b(){ Player };プレイヤーキャラと同じような扱いにする。 ---Player型Helperは非常に特殊なため基本的には使用しない方が良い。 -&b(){KeyCtrl = (bool型) };コマンド入力に対応するフラグ指定 --省略時:0(対応しない・[[T-/Command]]を認識できない。) --1:初期[[T-/Ctrl]]l=1で発生し[[T-/Command]]を認識、&br()[[常時監視ステート]]の-1ステートをを読み込むように。 ---Helperにコマンド認識させたい場合と、特殊な処理をする場合に。 -&b(){OwnPal = (bool型) };パレット独立フラグ --省略時:0([[SC-/PalFX]]が親と動機。Helper自身のPalFXは無効) --1:親の[PalFXの影響を受けなくなり、Helper自身のPalFXが有効に。 :MoveTime 省略時0(無視しない)| -&b(){SuperMoveTime = (Int型) };[[SC-/SuperPause]]を指定フレーム分だけ無視 -&b(){PauseMoveTime = (Int型) };[[SC-/Pause]]を指定フレーム分だけ無視 --指定値は''無視できる総フレーム数''で消費しきったら無効になる。 ---例:120指定の場合、他のキャラが30f+60f+120fと時間を止めた場合、&br()30+60時点で90F消費し残り30F。120F停止の30F目で影響を受け止まる。 --特に調整するわけでなければ0か大きな数値(999999999など)を指定。 :Sizeパラメータ| -[[File-/CNSファイル]]における[Size]のパラメータを指定。 -省略した場合は、射出する親の対応パラメータと同じ値になる。&br()本体からなら本体、HelperからならそのHelperの設定値に --Helperはこれらの指定数値を[[T-/Const()]]のSize.####で参照できる。 -キャラ幅系は[[SC-/PlayerPush]]の効果が1でなければ無意味。 -&b(){Size.XScale = (Float型) };内約は[[File-/CNSファイル]]を参照。 -&b(){Size.YScale = (Float型) }; --CNSの設定とは異なりこの設定では''判定枠の大きさは変化しない?'' -&b(){Size.Ground.Nack = (Int型) }; -&b(){Size.Ground.Front = (Int型) }; -&b(){Size.Air.Back = (Int型) }; -&b(){Size.Air.Front = (Int型) }; -&b(){Size.Height = (Int型) }; -&b(){Size.Proj.doScale = (bool型) }; -&b(){Size.Head.Pos = (X座標Int型),(Y座標Int型) }; -&b(){Size.Mid.Pos = (X座標Int型),(Y座標Int型) }; -&b(){Size.ShadowOffset = (Int型) }; -実はHelperへ射出時に直接数値を受け渡せる貴重なパラメータ。 --特殊な数値を入れ[[T-/Const()]]で処理を調整することも可能。 --例;HelperIDを入れておけばHelperが自身のHelperID自体を確認できる。 :Helperの扱い| -Helperはプレイヤーキャラ同様[[T-/StateNo]]を持ち、&br()自分でステートを読み込んで処理を行う。 --プレイヤーキャラと同レベルの処理が可能。 --システムだけで言えばプレイヤーキャラよりも便利。 -Helperの処理の順番については[[スロットID]]のページを参照 -通常、押し出し判定を行わず、カメラに影響を与えず・影響を受けない。 --[[SC-/PlayerPush]]で1にすれば押し出し判定をするようにできる。 --[[SC-/Screenbound]]で各種1に設定すれば影響を受けるように。 --なお''HelperType=Playerの場合デフォルトで押し出し・カメラ影響有り''。 -[[T-/Life]]を本体の最大値分最初から保持している。 --[[ダメージ]]をうけて0になれば、本体同様死亡する。 -[[常時監視ステート]]は基本的に読み込まないが --''KeyCtrl=1であれば-1ステートを読み込む''。 --''HeleprType=Playerであれば-3,-2ステートを読み込む''。 :その他HelperType=Playerの場合| -相手の近くにいる場合、Player型HelperをP2として認識する。 --相手はP2系トリガー情報でPlayer型Helperの情報を取得する。 --また相手は''P2系が近くの後ろにいる場合、自動振り向きを行う''。 ---- **■Lv1-記述例・補足・注意点 :記述例| [State -1]; Type=Helper Trigger1 = NumHelper(1) ID = 1 StateNo = 10000 PauseMoveTime = 999999999 SuperMoveTime = 999999999 -基本的な処理用Helperの射出記述。 --開始位置はHelper側でもある程度変更できるため、指定しなくても対して問題はない。 :補足| -細かいことは[[Helper技術]]の方でまとめる。 :注意点| -細かいことは[[Helper技術]]の方でまとめる。 -上限数が決まっているため遣い過ぎないようにすること。 --総数で最大56個、タッグの2:2では1人平均14個まで。 --多くても10個程度に抑えるようにしたほうが良い。 :HelperにCommandを認識させたい場合| -Root,Command=""(本体Commandを認識)だと本体がステートを奪われてると上手く認識できない。 --詳しくは[[T-/Command]]のページ下部を参照 -しかし認識させたいHelper自体をKeyCtrl=1にすると-1ステートの読み込みで不具合が出る可能性があり、&br()-1ステートの情報全てに!IsHelperを仕込むか、-1冒頭でChangeStateをする必要がある。 -Timeなどの関係でそのHelperに-1冒頭でのChangeStateをさせたくない場合は&br()「''HelperがCommandを認識するためのHelper''」を用意すると良い。 -+Command認識が必要なHelperが出ている間のみ、Command認識専用のHelperを射出。 -+専用HelperはChangeStateをしてもいいようにし、-1冒頭でChangeStateをする。 -+Commandが必要なHelperの出番が終わって消えたら、専用Helperも消失させる。 -なお「向き」をあわせることが必要な場合は専用HelperはFacing=1で固定。 --Commandが必要なHelperの方で向きに合わせてコマンドを切り替える方が良い。&br()&nowiki(){(Helper(xxx),Command="*右向き時*"&&Facing=1||Facing=-1&&Helper(xxx),Command="*左向き時*")} //:AI制作時の注意点| //-あれば //---- //**■Lv2-細かいバグ回避 //注意点で書いたことを回避したい場合用。 //---- //#region(■Lv3-細かい応用) //**■Lv3-細かい応用 //他の記述と組み合わせて使用する関係。 //#endregion //---- //#region(■Lv4-バグ利用) //**■Lv-4-バグ応用 //あやしい仕様を活用する関係。 //#endregion //---- //**コメント //細かい話し合い・確認が必要な場合に開放しましょう。 //#comment() //---- //:※解説修正情報※古い履歴| //●&font(12,b){日付:修正部分の概要} // ----
戻る→[[ステートコントローラーの一覧]] ---- :※解説修正情報※| //●&font(12,b){日付:修正部分の概要} ●&font(12,b){2016-10-21:PosTypeの基準位置修正。FBLRは地面の高さを基準に出現} ●&font(12,b){2014-10-13:Scale処理についてと、Size設定について。} ---- //ほかページヘのリンクはLv0のみで。(Lv1~でリンクしようとすると煩雑になりそうなので) *■Helper【Helper・分身射出】 :▼概要| Helperキャラを射出する。細かいことは[[Helper技術]]を参照 Helperはプレイヤーキャラとほぼ同じ量のパラメータを持ち、 プレイヤーキャラと同じようにステート・攻撃他の処理を行う。 細かい制御を行いたい場合に使われる。 :上限数| Helperには全体総数に上限があり、それを超えると射出できなくなる。 上限数は[[mugen.cfg>File-/MUGEN設定ファイル]]で設定。デフォルトは32個。 ''最大56個までしか上限は増やせない''。個数管理には要注意。 :| 細かい技術については[[Helper技術]]とその子ページで。 ここではステートコントローラーとしてのことを解説。 :▼必須記述| -省略してもエラーは起きないが -&b(){StateNo = (Int型) };最初に持つ[[T-/StateNo]]、番号ステートを指定。 --これを指定しないと使い物にならない木偶が発生するだけ。 --[[常時監視ステート]]を読みこませる設定ならそちらだけでも良いが。 :▼オプション| -&b(){Name = "(好きな文字列)" };[[T-/Name]]で探知する名前 --省略時"<射出キャラのName>'s helper"となる。 --細かく区別したい場合は指定する。 -&b(){ID = (Int型) };HelperID指定。 --[[リダイレクト]]や[[T-/NumHelper]]で使用する重要な判別値。 --なおHelperで自身のHelperIDを返すトリガー情報はない。 ---[[T-/IsHelper]]でHelperIDが引数であるかどうかは判別できるが。 ---やや特殊だが後記するものに入れる手段はある。 :位置関係| -&b(){Pos = (X座標Int型),(Y座標Int型) };出現座標 -&b(){PosType = (文字列) };出現基準位置。Pos=0,0とする場所。 --''P1'':実行するキャラの座標。向き:キャラ基準 省略時P1 --''P2'':P2相手の座標。向き:P2相手基準(P2相手については[[リダイレクト]]参照) --''F'':Front:キャラの前の画面端,地面。向き:キャラ基準 --''B'':Back:キャラの後ろの画面端,地面。向き:キャラ基準 --''L'':Left:画面自体の左端,地面。向き:右向き --''R'':Right:画面自体の右端,地面。向き:右向き ---Front,Back,Left,Rightは頭文字だけで識別?スペルミスしていても動く。 -&b(){Facing = (Int型) };向きを指定する。 --1でPosType対応の向き、-1でPosType対応とは反対の向き。 :特殊Helperパラメータ| -&b(){HelperType = (文字列) };Helperのキャラタイプ指定 --HelperType =&b(){ Normal };省略時。通常のHelper --HelperType =&b(){ Player };プレイヤーキャラと同じような扱いにする。 ---Player型Helperは非常に特殊なため基本的には使用しない方が良い。 -&b(){KeyCtrl = (bool型) };コマンド入力に対応するフラグ指定 --省略時:0(対応しない・[[T-/Command]]を認識できない。) --1:初期[[T-/Ctrl]]l=1で発生し[[T-/Command]]を認識、&br()[[常時監視ステート]]の-1ステートをを読み込むように。 ---Helperにコマンド認識させたい場合と、特殊な処理をする場合に。 -&b(){OwnPal = (bool型) };パレット独立フラグ --省略時:0([[SC-/PalFX]]が親と動機。Helper自身のPalFXは無効) --1:親の[PalFXの影響を受けなくなり、Helper自身のPalFXが有効に。 :MoveTime 省略時0(無視しない)| -&b(){SuperMoveTime = (Int型) };[[SC-/SuperPause]]を指定フレーム分だけ無視 -&b(){PauseMoveTime = (Int型) };[[SC-/Pause]]を指定フレーム分だけ無視 --指定値は''無視できる総フレーム数''で消費しきったら無効になる。 ---例:120指定の場合、他のキャラが30f+60f+120fと時間を止めた場合、&br()30+60時点で90F消費し残り30F。120F停止の30F目で影響を受け止まる。 --特に調整するわけでなければ0か大きな数値(999999999など)を指定。 :Sizeパラメータ| -[[File-/CNSファイル]]における[Size]のパラメータを指定。 -省略した場合は、射出する親の対応パラメータと同じ値になる。&br()本体からなら本体、HelperからならそのHelperの設定値に --Helperはこれらの指定数値を[[T-/Const()]]のSize.####で参照できる。 -キャラ幅系は[[SC-/PlayerPush]]の効果が1でなければ無意味。 -&b(){Size.XScale = (Float型) };内約は[[File-/CNSファイル]]を参照。 -&b(){Size.YScale = (Float型) }; --CNSの設定とは異なりこの設定では''判定枠の大きさは変化しない?'' -&b(){Size.Ground.Back = (Int型) }; -&b(){Size.Ground.Front = (Int型) }; -&b(){Size.Air.Back = (Int型) }; -&b(){Size.Air.Front = (Int型) }; -&b(){Size.Height = (Int型) }; -&b(){Size.Proj.doScale = (bool型) }; -&b(){Size.Head.Pos = (X座標Int型),(Y座標Int型) }; -&b(){Size.Mid.Pos = (X座標Int型),(Y座標Int型) }; -&b(){Size.ShadowOffset = (Int型) }; -実はHelperへ射出時に直接数値を受け渡せる貴重なパラメータ。 --特殊な数値を入れ[[T-/Const()]]で処理を調整することも可能。 --例;HelperIDを入れておけばHelperが自身のHelperID自体を確認できる。 :Helperの扱い| -Helperはプレイヤーキャラ同様[[T-/StateNo]]を持ち、&br()自分でステートを読み込んで処理を行う。 --プレイヤーキャラと同レベルの処理が可能。 --システムだけで言えばプレイヤーキャラよりも便利。 -Helperの処理の順番については[[スロットID]]のページを参照 -通常、押し出し判定を行わず、カメラに影響を与えず・影響を受けない。 --[[SC-/PlayerPush]]で1にすれば押し出し判定をするようにできる。 --[[SC-/Screenbound]]で各種1に設定すれば影響を受けるように。 --なお''HelperType=Playerの場合デフォルトで押し出し・カメラ影響有り''。 -[[T-/Life]]を本体の最大値分最初から保持している。 --[[ダメージ]]をうけて0になれば、本体同様死亡する。 -[[常時監視ステート]]は基本的に読み込まないが --''KeyCtrl=1であれば-1ステートを読み込む''。 --''HeleprType=Playerであれば-3,-2ステートを読み込む''。 :その他HelperType=Playerの場合| -相手の近くにいる場合、Player型HelperをP2として認識する。 --相手はP2系トリガー情報でPlayer型Helperの情報を取得する。 --また相手は''P2系が近くの後ろにいる場合、自動振り向きを行う''。 ---- **■Lv1-記述例・補足・注意点 :記述例| [State -1]; Type=Helper Trigger1 = NumHelper(1) ID = 1 StateNo = 10000 PauseMoveTime = 999999999 SuperMoveTime = 999999999 -基本的な処理用Helperの射出記述。 --開始位置はHelper側でもある程度変更できるため、指定しなくても対して問題はない。 :補足| -細かいことは[[Helper技術]]の方でまとめる。 :注意点| -細かいことは[[Helper技術]]の方でまとめる。 -上限数が決まっているため遣い過ぎないようにすること。 --総数で最大56個、タッグの2:2では1人平均14個まで。 --多くても10個程度に抑えるようにしたほうが良い。 :HelperにCommandを認識させたい場合| -Root,Command=""(本体Commandを認識)だと本体がステートを奪われてると上手く認識できない。 --詳しくは[[T-/Command]]のページ下部を参照 -しかし認識させたいHelper自体をKeyCtrl=1にすると-1ステートの読み込みで不具合が出る可能性があり、&br()-1ステートの情報全てに!IsHelperを仕込むか、-1冒頭でChangeStateをする必要がある。 -Timeなどの関係でそのHelperに-1冒頭でのChangeStateをさせたくない場合は&br()「''HelperがCommandを認識するためのHelper''」を用意すると良い。 -+Command認識が必要なHelperが出ている間のみ、Command認識専用のHelperを射出。 -+専用HelperはChangeStateをしてもいいようにし、-1冒頭でChangeStateをする。 -+Commandが必要なHelperの出番が終わって消えたら、専用Helperも消失させる。 -なお「向き」をあわせることが必要な場合は専用HelperはFacing=1で固定。 --Commandが必要なHelperの方で向きに合わせてコマンドを切り替える方が良い。&br()&nowiki(){(Helper(xxx),Command="*右向き時*"&&Facing=1||Facing=-1&&Helper(xxx),Command="*左向き時*")} //:AI制作時の注意点| //-あれば //---- //**■Lv2-細かいバグ回避 //注意点で書いたことを回避したい場合用。 //---- //#region(■Lv3-細かい応用) //**■Lv3-細かい応用 //他の記述と組み合わせて使用する関係。 //#endregion //---- //#region(■Lv4-バグ利用) //**■Lv-4-バグ応用 //あやしい仕様を活用する関係。 //#endregion //---- //**コメント //細かい話し合い・確認が必要な場合に開放しましょう。 //#comment() //---- //:※解説修正情報※古い履歴| //●&font(12,b){日付:修正部分の概要} // ----

表示オプション

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