「リダイレクト」の編集履歴(バックアップ)一覧に戻る
リダイレクト - (2013/01/15 (火) 00:06:41) の編集履歴(バックアップ)
■リダイレクトについて
- ※解説修正情報※
- ●2013-01-15:Targetのリダイレクト先について修正。
- ●2013-01-14:Helperのリダイレクト先について修正。
トリガー情報の前につけることで
指定した相手のトリガー情報を利用できる。
P2系との違いの解説も。
- リダイレクトの種類
- 大原則
- リダイレクトの相手が存在しない場合、条件は上手く処理されない。(0)扱い?
- デバッグ時エラーが流れるため 必ずリダイレクト相手を確認してから使用すること。
- Triggerは一行ごとの参照のため、確認は前の行でNumXXX>0~1を行うこと。
- リダイレクトのリダイレクトはできない。Enemy,Helper,XXXは不可。
- ヘルパー専用
- Parent,:自分を射出したキャラを参照。Helperからの射出ならその親Helperを。
- 親Helperが既に消失し、存在しない場合エラーが流れるため注意。
- Root,:自分を管理しているプレイヤーキャラを参照。Helperからの射出でも本体を。
- ヘルパーを
- Helper(ヘルパーID).:指定したヘルパーIDを持つHelperを参照。
- NumHelper(ヘルパーID)>0で数を確認してから使うこと。
- 参照できるのは「自分側のHelper」に限る。
- 一応、自分のHelperから他の自分のHelperを参照することは可能。
- なお該当Helperが複数ある場合は、その中で最もスロットIDの若いHelperを参照する。
- 味方を
- 相手を
- Enemy.:相手を参照。()省略時は(0)と同様。
- Enemy(0).:相手の中の1人目を参照。
- Enemy(1).:相手の中の2人目を参照。
- EnemyNear.:近くの空いてを参照。()省略時は(0)と同様。
- EnemyNear(0).:相手の中で(X軸基準の)一番近い相手を参照。
- EnemyNEar(1).:相手の中で(X軸基準の)二番目に近い相手を参照。
- (1)系の二人目認識はNumEnemy>1を確認して使うこと。
- (0)用のNumEnemy>0は気にする必要はない。
- Targetを 詳しい仕様は該当ページを参照
- Target,:攻撃を当てた相手を参照。
- Target(ヒットID),:特定の攻撃を当てた相手を参照。
- NumTarget>0、NumTarget(ヒットID)>0を確認して使うこと。
- 該当するTargetが複数の場合
- 参照先は基本「先にTargetを取った相手」を参照する。
- 同時ヒットの場合攻撃を当てた時点のGameTimeの奇数偶数で
スロットIDの若い方・大きい方どちらか。
- 同時時:GetHitVar(Damage)が反応する時点で偶数ならスロットIDの若い方。奇数ならスロットIDの大きい方。
- 対象が3体以上いる場合でも、スロットIDの一番小さい方・一番大きい方以外は参照されない。
- またステートコントローラーのパラメータ内でTarget,リダイレクトを行うとフリーズすることがある。
- Varに格納して直接パラメータ内への記述を避けることで回避できる。
- 特定のキャラを
- PlayerID(キャラID),:指定したキャラID(T-/ID)のキャラを参照。
- PlayerIDExist(キャラID)=1で確認して使うこと。
- キャラIDを指定できれば相手のHelperでも参照できる。
- なお()内に入れる数字は数式・条件式などでも良い。
■Lv1-使用例・補足・注意点
- 記述例
[State 190, test]
Type = varset
TriggerAll = !time
Trigger1 = NumPartner > 0
Trigger1 = Partner,Name = "Apple"
Trigger2 = Enemy,Name = "Apple" || Enemy(NumEnemy>1),Name = "Apple"
var(12) = 1
;他のプレイヤーキャラの中に「Apple」というNameのキャラがいないかどうか。
;Trigger2はのEnemy(numenemy>1)は「相手が二人以上なら1=二人目へリダイレクト」の記述。
;相手が一人の場合は(NumEnemy>1)=0なのでEnemy(0),のリダイレクトになる。
- Enemy系リダイレクトとP2系トリガー情報の違い
- P2系トリガーの情報
- 参照できる相手
- Enemy系:Helperでないプレイヤーキャラに限る。相手の状態に関わらず参照。
- P2系:プレイヤーキャラ加えHelperType=PlayerのHelperも含む最もX軸の近い相手を参照。
- ただしP2系はStateNo=5150(死亡ステート)にいる相手を参照できない。
- 反対にEnemy系は、相手が死んでいても参照してしまう為、制御する必要がある。
- どっちがいいの?
- 簡素な仕組みを予定していればP2で構わない。
- ただ参照を制御できるならEnemyNearを利用する方が良い。Dist系はP2でいいが。
- なお、P2系は相手の情報を表示するが「自分のトリガー情報」のため、リダイレクトは使用可能。
■Lv3-細かい技術
- EnemyNear,リダイレクトの制御
- 準備:Varを1つ用意する。例では11を使用。実際には空きVarを利用すること。
[State -3, EnemyNear Alive];-3ステートに置く。
Type = varset
Trigger1 = 1
var(11) = ( NumEnemy > 1 && EnemyNear,Alive = 0 )
;相手が二人以上で一番近い相手が死んでいるなら(1)を、そうでないなら(0)を指定。
;EnemyNearをEnemynear(var(11)),とすることで、生きている一番近い相手を参照できる。