※解説修正情報※
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指定。
    • リダイレクトT-/NumHelperで使用する重要な判別値。
    • なおHelperで自身のHelperIDを返すトリガー情報はない。
      • T-/IsHelperで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型);コマンド入力に対応するフラグ指定
    • 省略時:0(対応しない・T-/Commandを認識できない。)
    • 1:初期T-/Ctrll=1で発生しT-/Commandを認識、
      常時監視ステートの-1ステートをを読み込むように。
      • Helperにコマンド認識させたい場合と、特殊な処理をする場合に。
  • 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の設定値に
    • Helperはこれらの指定数値をT-/Const()のSize.####で参照できる。
  • キャラ幅系は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のページを参照
  • 通常、押し出し判定を行わず、カメラに影響を与えず・影響を受けない。
    • 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技術の方でまとめる。
  • 上限数が決まっているため遣い過ぎないようにすること。
    • 総数で最大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」を用意すると良い。
    1. Command認識が必要なHelperが出ている間のみ、Command認識専用のHelperを射出。
    2. 専用HelperはChangeStateをしてもいいようにし、-1冒頭でChangeStateをする。
    3. Commandが必要なHelperの出番が終わって消えたら、専用Helperも消失させる。
  • なお「向き」をあわせることが必要な場合は専用HelperはFacing=1で固定。
    • Commandが必要なHelperの方で向きに合わせてコマンドを切り替える方が良い。
      (Helper(xxx),Command="*右向き時*"&&Facing=1||Facing=-1&&Helper(xxx),Command="*左向き時*")