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