「スロットID」の編集履歴(バックアップ)一覧はこちら

スロットID」(2014/01/22 (水) 18:51:55) の最新版変更点

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

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

---- *■スロットIDについて そのフレーム中のHelperを含むキャラの処理の順番を決定する情報。 -正式名称不明。便宜上他のIDと区別するため「''スロットID''」と呼称。 --[[デバッグ]]表示の2段目、Name、IDの隣に()内に表示されている番号のこと。 -[[T-/ID]](キャラID)と同様、Helperを含む全てのキャラが保有する。 --キャラIDは「その試合中、''別のキャラが同じIDを使用することがない''」のに対し、&br()スロットIDは特定のスロットを除き、''空きが発生すれば使い回される''。 --キャラIDと異なり、''トリガー情報が存在しない''。 --キャラIDは試合形式によっては決まった数字にはならないため&br()''キャラIDを利用して順番を確かめることができる状況は限られる''。 ---[[T-/TeamMode]]が互いにSingle(シングル)なら、キャラIDそのままで確認できる。 ---TeamModeが互いにTurns(チーム戦)で[[RoundNo>T-/RoundNo]]>1の場合、キャラIDは一切信用できない。 ---TeamModeがSimul(タッグ)の場合、パートナーとのキャラIDとはそのまま確認できる。はず。 :処理の順番の決定| -1フレームにおけるステートの処理は基本的にスロットIDの若い方から優先的に行われる。 --1Pは0、2Pは1、3Pは2、4Pは3で固定されているため、優先順位は1P>2P>3P>4P。 --[[SC-/Helper]]については後述。 -ただしフレームの開始時点で[[MoveType=A>T-/Movetype]]であった場合さらに優先的に処理される。 --つまり「ステート開始時点で''Movetype=AのキャラのスロットIDの若い順''」の次に&br()「行動していない''Movetype!=Aの既存キャラのスロットIDの若い順''」で処理される。 --新しく射出された[[SC-/Helper]]は射出したフレームでは既存キャラ処理後、射出順で行われる。 -また[[SC-/Pause]]・[[SC-/SuperPause]]実行後のフレームではMoveTimeの無いキャラはスキップ。 --2キャラが同じフレームグ実行した場合、両者ともMoveTime分のみ動ける。 --''ただし攻撃を受けた場合、HitPauseの時間分MoveTimeが加算され、動くことができる''。 ---とは言え基本的に動くことは無いが :HelperのスロットID| -[[SC-/Helper]]に割り当てられるスロットIDは「''4以上で使用されていない最も若いスロットID''」 --[[SC-/DestroySelf]]で''消去された場合、そのスロットIDは空き''となる。 ---既に出ているHelperのスロットIDは変化しない。既にあるHelperで空きを詰めるような処理は無い。 ---もちろん新しく射出されたHelperがあれば、空いたスロットIDに入ることもある。 -具体例 --ABCD の4個のHelperを射出すると、このような優先順位で処理される。 --A''B''CD そこから''B''を消去すると --A''×''CD このように''B''のスロットIDが空きとなる。そこへ新しく''E''のHelperを射出すると --A''E''CD と空いたスロットIDへEが配置され、この優先順位で処理が行われる。 -なお''射出したフレーム時点で既存キャラより後に処理が行われる''。 --上記例の場合、射出フレーム時点「ACD…''E''」→次のフレームから「A''E''CD」ということ。 -''新規Helperの処理の順序は射出順'' --「ABC」とある状態でAがDを射出「ABC(D)」、Bが消失「A_C(D)」&br()CがEを射出「AECD」というスロット順になるが、 ---射出時点では「ABC→DE」の順番で処理が行われる。 -[[SC-/DestroySelf]]実行の手前に[[SC-/Helper]]を置いて発射と同時に消失した場合 --''射出時点で空きにはなっていないため別のスロットIDを用いる'' --[[SC-/DestroySelf]]を先に実行して[[SC-/Helper]]を実行した場合は、エラーで落ちる。 -Helper,[[リダイレクト]] --Helperリダイレクトで該当するHelperが複数存在する場合は&br()&b(){最もスロットIDの若いHelper}を参照する。 -なお、こうした仕様から''後に射出した方が処理が後になるわけではない''が、 --同じキャラから同時に複数射出したHelper同士のスロットIDの前後のみは保証できる。 ---空いている若い順からなので、''同じキャラから同時に''あれば若い順に入ってくれる。 #region(''■スロットID処理の図解'') |>|>|>|>|>|>|>|>|>|>|>|&font(20,b){■スロットID処理の図解}| |>|>|>|>|>|>|>|>|>|>|>|↓| |↓|>|>|>|>|>|>|>|>|>|>|&font(20,b){▼初期状態}| |~スロットID|~0|~1|~2|~3|~4|~5|~6|~7|~8|~9|~10| |~配置キャラ|~1P固定|~2P固定|~(3P固定)|~(4P固定)|空|空|空|空|空|空|空| |>|↓|>|>|>|>|>|>|>|>|>|※3P,4P用の2,3はHelperでは使われない。| |>|>|>|>|>|>|>|>|>|>|>|↓| |↓|>|>|>|>|>|>|>|>|>|>|&font(20,b){▼適当に[[SC-/Helper]]を射出する。}| |~スロットID|~0|~1|~2|~3|~4|~5|~6|~7|~8|~9|~10| |~配置|1P|2P|(3P)|(4P)|~Helper1|~Helper2|~Helper3|~Helper4|~Helper5|~Helper6|空| |>|↓|>|>|>|>|>|>|>|>|>|空いている所にHelperが次々並んでいく| |>|>|>|>|>|>|>|>|>|>|>|↓| |↓|>|>|>|>|>|>|>|>|>|>|&font(20,b){▼一部のHelperが[[SC-/DestroySelf]]で消滅する。}| |~スロットID|~0|~1|~2|~3|~4|~5|~6|~7|~8|~9|~10| |~配置|1P|2P|(3P)|(4P)|Helper1|~空|Helper3|~空|Helper5|Helper6|空| |>|↓|>|>|>|>|>|>|>|>|>|消滅したところは空きとなる。''既存のHelperが繰り上がったりすることはない''。| |>|>|>|>|>|>|>|>|>|>|>|↓| |↓|>|>|>|>|>|>|>|>|>|>|&font(20,b){▼再度[[SC-/Helper]]を射出する}| |~スロットID|~0|~1|~2|~3|~4|~5|~6|~7|~8|~9|~10| |~配置|1P|2P|(3P)|(4P)|Helper1|~Helper7|Helper3|~Helper8|Helper5|Helper6|空| |>|・|>|>|>|>|>|>|>|>|>|空いている若いスロットIDへ優先的に配置される。&br()射出フレームより後はこの順番を基準として処理を行うため、&br()''先に射出されていたHelper5,6よりもHelper7,8の方が優先される。''&br()勿論Movetypeによる補正は受ける| |>|・|>|>|>|>|>|>|>|>|>|※なお射出フレーム時点では既存のキャラが終わった後、最後に処理をする。| #endregion ---- *■Lv2-処理の順番を正しく認識するために 速度計算など、相手との処理の順番を正しく認識しなければならない状況はある。 その際、処理の順番を確実に確認するためには少々の手間が必要になる。 なおHelper同士の順番については自分のHlperにかぎらなければ不可能です。 (自分のHelper同士でも、ParentVarsetなどを駆使してできるかどうか、困難です。) :確認の素案| -[[T-/TeamSide]]で1P側か2P側かを確認する -[[T-/NumPartner]]でタッグのパートナーがいるかどうかを確認する。 --パートナーがいる場合、( ID < Partner,ID )でどちらが1P/2P側かを確認する。 -まず自分側の状況を確認し、基本値を設定する。 --TeamSide = 1 でNumPartner=0、もしくは( ID < Partner,ID )=1なら、1P側と確定。基本値を10に。 --TeamSide = 1 でNumPartner=1かつ( ID < Partner,ID )=0なら、3P側と確定。基本値を12に。 --TeamSide = 2 でNumPartner=0、もしくは( ID < Partner,ID )=1なら、2P側と確定。基本値を11に。 --TeamSide = 2 でNumPartner=1かつ( ID < Partner,ID )=0なら、4P側と確定。基本値を13に。 --ステート開始時にMoveType=Aであった場合は、基本値を-5する。 -次に相手の状況を確認し、基本値を設定する。 --自分側がTeamSide = 2 で( EnemyNear,ID = Enemy,ID)=1なら近い敵は1P側と確定。敵基本値を10に。 --自分側がTeamSide = 2 で( EnemyNear,ID = Enemy,ID)=0なら近い敵は3P側と確定。敵基本値を12に。 --自分側がTeamSide = 1 で( EnemyNear,ID = Enemy,ID)=1なら近い敵は2P側と確定。敵基本値を11に。 --自分側がTeamSide = 1 で( EnemyNear,ID = Enemy,ID)=0なら近い敵は4P側と確定。敵基本値を13に。 --EnemyNear,Movetype=Aであった場合、敵基本値を-5する。 --※ただしこのままだと''Movetypeが変化したフレームでの認識が定まらないため''&br()Helperで相手の状態を記録させて、そこから認識させるのがベター -確認して設定した数値を比べ( 基本 < 敵基本値 )=1である場合、&br()敵より自分の方が先に処理していると断定できる。 -自分基本値=10+(TeamSide=2)+ 2*(var(*相方確認*)=1) -5*(MoveType=A) -相手基本値=10+(TeamSide=1)+ 2*!(EnemyNear,ID = Enemy,ID) -5*(Helper(xx),var(*敵Movetype確認*)) ※Partner,リダイレクトを使用する際は必ず直前でNumPartner>0を調べること。 ※2対2のタッグ時を限界として想定。改造MUGENなどでの4人タッグなどは不可。 ----
---- *■スロットIDについて そのフレーム中のHelperを含むキャラの処理の順番を決定する情報。 -正式名称不明。便宜上他のIDと区別するため「''スロットID''」と呼称。 --[[デバッグ]]表示の2段目、Name、IDの隣に()内に表示されている番号のこと。 -[[T-/ID]](キャラID)と同様、Helperを含む全てのキャラが保有する。 --キャラIDは「その試合中、''別のキャラが同じIDを使用することがない''」のに対し、&br()スロットIDは特定のスロットを除き、''空きが発生すれば使い回される''。 --キャラIDと異なり、''トリガー情報が存在しない''。 --キャラIDは試合形式によっては決まった数字にはならないため&br()''キャラIDを利用して順番を確かめることができる状況は限られる''。 ---[[T-/TeamMode]]が互いにSingle(シングル)なら、キャラIDそのままで確認できる。 ---TeamModeが互いにTurns(チーム戦)で[[RoundNo>T-/RoundNo]]>1の場合、キャラIDは一切信用できない。 ---TeamModeがSimul(タッグ)の場合、パートナーとのキャラIDとはそのまま確認できる。はず。 :処理の順番の決定| -1フレームにおけるステートの処理は基本的にスロットIDの若い方から優先的に行われる。 --1Pは0、2Pは1、3Pは2、4Pは3で固定されているため、優先順位は1P>2P>3P>4P。 --[[SC-/Helper]]については後述。 -ただしフレームの開始時点で[[MoveType=A>T-/Movetype]]であった場合さらに優先的に処理される。 --つまり「ステート開始時点で''Movetype=AのキャラのスロットIDの若い順''」の次に&br()「行動していない''Movetype!=Aの既存キャラのスロットIDの若い順''」で処理される。 --新しく射出された[[SC-/Helper]]は射出したフレームでは既存キャラ処理後、射出順で行われる。 -また[[SC-/Pause]]・[[SC-/SuperPause]]実行後のフレームではMoveTimeの無いキャラはスキップ。 --2キャラが同じフレームで実行した場合、両者ともMoveTime分のみ動ける。 --''ただし攻撃を受けた場合、HitPauseの時間分MoveTimeが加算され、動くことができる''。 ---とは言え基本的に動くことは無いが :HelperのスロットID| -[[SC-/Helper]]に割り当てられるスロットIDは「''4以上で使用されていない最も若いスロットID''」 --[[SC-/DestroySelf]]で''消去された場合、そのスロットIDは空き''となる。 ---既に出ているHelperのスロットIDは変化しない。既にあるHelperで空きを詰めるような処理は無い。 ---もちろん新しく射出されたHelperがあれば、空いたスロットIDに入ることもある。 -具体例 --ABCD の4個のHelperを射出すると、このような優先順位で処理される。 --A''B''CD そこから''B''を消去すると --A''×''CD このように''B''のスロットIDが空きとなる。そこへ新しく''E''のHelperを射出すると --A''E''CD と空いたスロットIDへEが配置され、この優先順位で処理が行われる。 -なお''射出したフレーム時点で既存キャラより後に処理が行われる''。 --上記例の場合、射出フレーム時点「ACD…''E''」→次のフレームから「A''E''CD」ということ。 -''新規Helperの処理の順序は射出順'' --「ABC」とある状態でAがDを射出「ABC(D)」、Bが消失「A_C(D)」&br()CがEを射出「AECD」というスロット順になるが、 ---射出時点では「ABC→DE」の順番で処理が行われる。 -[[SC-/DestroySelf]]実行の手前に[[SC-/Helper]]を置いて発射と同時に消失した場合 --''射出時点で空きにはなっていないため別のスロットIDを用いる'' --[[SC-/DestroySelf]]を先に実行して[[SC-/Helper]]を実行した場合は、エラーで落ちる。 -Helper,[[リダイレクト]] --Helperリダイレクトで該当するHelperが複数存在する場合は&br()&b(){最もスロットIDの若いHelper}を参照する。 -なお、こうした仕様から''後に射出した方が処理が後になるわけではない''が、 --同じキャラから同時に複数射出したHelper同士のスロットIDの前後のみは保証できる。 ---空いている若い順からなので、''同じキャラから同時に''あれば若い順に入ってくれる。 #region(''■スロットID処理の図解'') |>|>|>|>|>|>|>|>|>|>|>|&font(20,b){■スロットID処理の図解}| |>|>|>|>|>|>|>|>|>|>|>|↓| |↓|>|>|>|>|>|>|>|>|>|>|&font(20,b){▼初期状態}| |~スロットID|~0|~1|~2|~3|~4|~5|~6|~7|~8|~9|~10| |~配置キャラ|~1P固定|~2P固定|~(3P固定)|~(4P固定)|空|空|空|空|空|空|空| |>|↓|>|>|>|>|>|>|>|>|>|※3P,4P用の2,3はHelperでは使われない。| |>|>|>|>|>|>|>|>|>|>|>|↓| |↓|>|>|>|>|>|>|>|>|>|>|&font(20,b){▼適当に[[SC-/Helper]]を射出する。}| |~スロットID|~0|~1|~2|~3|~4|~5|~6|~7|~8|~9|~10| |~配置|1P|2P|(3P)|(4P)|~Helper1|~Helper2|~Helper3|~Helper4|~Helper5|~Helper6|空| |>|↓|>|>|>|>|>|>|>|>|>|空いている所にHelperが次々並んでいく| |>|>|>|>|>|>|>|>|>|>|>|↓| |↓|>|>|>|>|>|>|>|>|>|>|&font(20,b){▼一部のHelperが[[SC-/DestroySelf]]で消滅する。}| |~スロットID|~0|~1|~2|~3|~4|~5|~6|~7|~8|~9|~10| |~配置|1P|2P|(3P)|(4P)|Helper1|~空|Helper3|~空|Helper5|Helper6|空| |>|↓|>|>|>|>|>|>|>|>|>|消滅したところは空きとなる。''既存のHelperが繰り上がったりすることはない''。| |>|>|>|>|>|>|>|>|>|>|>|↓| |↓|>|>|>|>|>|>|>|>|>|>|&font(20,b){▼再度[[SC-/Helper]]を射出する}| |~スロットID|~0|~1|~2|~3|~4|~5|~6|~7|~8|~9|~10| |~配置|1P|2P|(3P)|(4P)|Helper1|~Helper7|Helper3|~Helper8|Helper5|Helper6|空| |>|・|>|>|>|>|>|>|>|>|>|空いている若いスロットIDへ優先的に配置される。&br()射出フレームより後はこの順番を基準として処理を行うため、&br()''先に射出されていたHelper5,6よりもHelper7,8の方が優先される。''&br()勿論Movetypeによる補正は受ける| |>|・|>|>|>|>|>|>|>|>|>|※なお射出フレーム時点では既存のキャラが終わった後、最後に処理をする。| #endregion ---- *■Lv2-処理の順番を正しく認識するために 速度計算など、相手との処理の順番を正しく認識しなければならない状況はある。 その際、処理の順番を確実に確認するためには少々の手間が必要になる。 なおHelper同士の順番については自分のHlperにかぎらなければ不可能です。 (自分のHelper同士でも、ParentVarsetなどを駆使してできるかどうか、困難です。) :確認の素案| -[[T-/TeamSide]]で1P側か2P側かを確認する -[[T-/NumPartner]]でタッグのパートナーがいるかどうかを確認する。 --パートナーがいる場合、( ID < Partner,ID )でどちらが1P/2P側かを確認する。 -まず自分側の状況を確認し、基本値を設定する。 --TeamSide = 1 でNumPartner=0、もしくは( ID < Partner,ID )=1なら、1P側と確定。基本値を10に。 --TeamSide = 1 でNumPartner=1かつ( ID < Partner,ID )=0なら、3P側と確定。基本値を12に。 --TeamSide = 2 でNumPartner=0、もしくは( ID < Partner,ID )=1なら、2P側と確定。基本値を11に。 --TeamSide = 2 でNumPartner=1かつ( ID < Partner,ID )=0なら、4P側と確定。基本値を13に。 --ステート開始時にMoveType=Aであった場合は、基本値を-5する。 -次に相手の状況を確認し、基本値を設定する。 --自分側がTeamSide = 2 で( EnemyNear,ID = Enemy,ID)=1なら近い敵は1P側と確定。敵基本値を10に。 --自分側がTeamSide = 2 で( EnemyNear,ID = Enemy,ID)=0なら近い敵は3P側と確定。敵基本値を12に。 --自分側がTeamSide = 1 で( EnemyNear,ID = Enemy,ID)=1なら近い敵は2P側と確定。敵基本値を11に。 --自分側がTeamSide = 1 で( EnemyNear,ID = Enemy,ID)=0なら近い敵は4P側と確定。敵基本値を13に。 --EnemyNear,Movetype=Aであった場合、敵基本値を-5する。 --※ただしこのままだと''Movetypeが変化したフレームでの認識が定まらないため''&br()Helperで相手の状態を記録させて、そこから認識させるのがベター -確認して設定した数値を比べ( 基本 < 敵基本値 )=1である場合、&br()敵より自分の方が先に処理していると断定できる。 -自分基本値=10+(TeamSide=2)+ 2*(var(*相方確認*)=1) -5*(MoveType=A) -相手基本値=10+(TeamSide=1)+ 2*!(EnemyNear,ID = Enemy,ID) -5*(Helper(xx),var(*敵Movetype確認*)) ※Partner,リダイレクトを使用する際は必ず直前でNumPartner>0を調べること。 ※2対2のタッグ時を限界として想定。改造MUGENなどでの4人タッグなどは不可。 ----

表示オプション

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