※上記の広告は60日以上更新のないWIKIに表示されています。更新することで広告が下部へ移動します。

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

SC-/Helper」の最新版変更点

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

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

 戻る→[[ステートコントローラーの一覧]]
 ----
 :※解説修正情報※|
 //●&font(12,b){日付:修正部分の概要}
+●&font(12,b){2017-03-21:Size.Groundの誤字修正}
 ●&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){日付:修正部分の概要}
 //
 ----