「ステート奪取/制御-手動タイプ」の編集履歴(バックアップ)一覧はこちら

ステート奪取/制御-手動タイプ - (2013/02/15 (金) 20:43:38) の最新版との変更点

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

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

戻る→[[ステート奪取]] ---- &b(){※[[ステート奪取]]ページにも目を通すこと。} *■ステート奪取・制御:手動タイプ(投げ技・ロック技用) [[ステート奪取]]後、逐一[[Target]]系ステコンを実行して操作するタイプ。 性質上''自分が自由に動くことは難しい''が複雑化はしにくい。 :[[Target]]系ステートコントローラー| -[[SC-/TargetDrop]]・[[SC-/TargetState]]・[[SC-/TargetFacing]] -[[SC-/TargetLifeAdd]]・[[SC-/TargePowerAddt]] -[[SC-/TargetVelAdd]]・[[SC-/TargetVelSet]]・[[SC-/TargetBind]] :最低限・用意するステート| -自分側:Target系ステコンで操作するステート --相手の位置を制御する 制御ステート -相手用:目的のアニメを読みこませるステート --[[T-/StateType]]他とアニメを変更する 待機ステート(アニメを変更するなら複数) --終了時に[[SC=/SelfState]]を実行する 終了ステート :基本の考え方| -攻撃のP2StateNo指定か攻撃後[[SC-/TargetState]]を実行しステートを奪う。 -''相手に読み込ませる待機ステート'' --ステートの冒頭でtype,Movetypeを指定。 --必要なら[[SC-/ChangeAnim]]か[[SC-/ChangeAnim2]]を指定。 --また再度攻撃を当てるタイプでなければ[[SC-/NotHitBy]]をSCAで指定する。 --戦闘不能防止用に自動で戻る記述を追加しておく。 --''途中でアニメを変更したい場合は待機ステートを複数作る''。 -''自分が読み込む制御ステート'' --[[SC-/TargetBind]]で相手の位置を随時指定で操作。 ---[[T-/AnimElemNo()]]条件で位置をアニメ毎に操作できる。 --必要なら[[SC-/TargetLifeAdd]]で[[ダメージ]]を与える。 --相手側のアニメ変更は別に作った待機ステートへ[[SC-/TargetState]]で飛ばす。 --最終的に[[T-/TargetState]]で相手側の終了ステートを読みこませる。 -''相手に読み込ませる終了ステート'' --必要なら状態を変更し、[[T-/SelfState]]を実行させてステートを返す。 --即時SelfStateせず落下着地など一定条件でSelfStateさせる方法でも良い。 :■注意点| -相手用の待機ステートに自動で戻る記述がない場合、&br()自分側が''投げ以外のステートへ飛んでしまった場合戻れなくなる'' --必ず自動でも戻る処理を追加いておくこと。[[ステート奪取]]のLv2参照。 -相手ステートを奪えてないのに自分側が動作してしまうのも&br()致命的なものではないが気になるなら保険を掛けよう。 --[[ステート奪取]]のLv2を参照。 ---- **■Lv3-記述例 #region(''相手を掴んで上へ投げ上げる技'') **相手を掴んで上へ投げ上げる技 #aa(){ //「Another YUKA」から引用・改変(Animを1200,1201,1202と揃えれば他でも使用可能に) ;1.Target系ステコンで相手を動かす。 ;2.相手用のステートではアニメの変更とNotHitByのみ。 ;-----------------------■投げ上げ [StateDef 1200] Type = S MoveType = A Physics = N velset = 0,0 anim = 1200 ctrl = 0 sprpriority = 3 ;-------------■攻撃定義 [State 1200, hitdef] type = HitDef trigger1 = !Time Trigger1 =(P2StateNo!=[150,159])&&(P2StateNo!=[5000,5019]) Attr = S, ST ;投げ HitFlag = M- ; priority = 5, Miss ;■P1StateNoを指定する場合は必ずmissかdogeにすること AnimType = up ; sparkno = -1 ; p1sprpriority = 1 p1facing = 0 p2facing = 1 p1stateno = 1201 ;■自分が飛ぶところ p2stateno = 1205 ;■相手を飛ばすところ ID=1200 guard.dist = 0 fall = 1 ;■ fall.recover = 0 ;■相手を通常のくらい吹っ飛びへ飛ばすので設定。 [State 1200, end] type = ChangeState trigger1 = AnimTime = 0 value = 0 Ctrl = 1 ;-----------------------■投げ上げ・掴み [Statedef 1201] Type = S MoveType = A Physics = N velset = 0,0 ctrl = 0 PowerAdd = 20 sprpriority = 5 Anim = 1201 [State 1201, Attackdist] type = AttackDist Trigger1 = 1 value = 0 Ignorehitpause = 1 ;-------------■ターゲットが存在しない場合 [State 1201, error end] type = ChangeState trigger1 = !NumTarget(1200) && time value = 0 Ctrl = 1 ;-------------■音声 [State 1201, snd] type = PlaySnd trigger1 = AnimElem = 1 value = 1, 1 ;-------------■Target [State 1201, bind];■相手を拘束する type = TargetBind trigger1 = 1 ID=1200 pos = 30, 0 [State 1201, lifeadd];■相手のライフを減らす type = TargetLifeAdd trigger1 = !Time ID=1200 value = -15 Kill = 0 absolute = 0 [State 1201, targetstate];■相手のステートを変更する type = TargetState trigger1 = Time = 30 Value = 1206 ID = 1200 [State 1201] type = ChangeState trigger1 = Time = 30 value = 1202 ;-----------------------■投げ上げ・投げ上げ [Statedef 1202] Type = S MoveType = A Physics = N velset = 0,0 ctrl = 0 sprpriority = 4 Anim = 1202 [State 840, Attackdist] type = AttackDist Trigger1 = 1 value = 0 Ignorehitpause = 1 ;-------------■ターゲットが存在しない場合 [State 1202, error end] type = ChangeState trigger1 = !NumTarget(1200) && time trigger1 = AnimElem = 3, < 0 ;Elem=3より前=相手を投げ上げるより前 value = 0 Ctrl = 1 ;-------------■音声 [State 1202, snd] type = PlaySnd trigger1 = AnimElem = 2 value = 250, 0 ;-------------■Target系 [State 1202, bind];■相手を拘束する,Elem=3より前まで type = TargetBind trigger1 = AnimElem = 3,< 0 ID=1200 pos = 30, 0 - 8*(Time-2)*(Time>2) ;Time=4から上へ上昇 [State 1202, targetvelset];■相手を打ち上げる type = TargetVelset trigger1 = AnimElem = 3 y = -10 [State 1202, targetstate];■相手のステートをAnimElem=3時点で変更 type = TargetState trigger1 = AnimElem = 3 Value = 1207 ID = 1200 [State 1202, lifeadd];■相手のライフを変更時点で減らす type = TargetLifeAdd trigger1 = AnimElem = 3 ID=1200 value = -13 Kill = 1 absolute = 0 [State 1202, end] type = ChangeState trigger1 = AnimTime=0 value = 0 Ctrl = 1 ;-----------------------■相手側:投げ上げ・つかまれ・待機1 [StateDef 1205] Type = A MoveType = H Physics = N sprpriority = 0 Ctrl = 0 velset = 0,0 [State 1205, nothitby] type = NotHitBy trigger1 = 1 value = SCA [State 1205, anim] type = ChangeAnim trigger1 = 1 value = 5000 [State 844, error] type = SelfState trigger1 = !GetHitVar(IsBound) value = 5050 ;-----------------------■相手側:投げ上げ・つかまれ・待機2 [StateDef 1206] Type = A MoveType = H Physics = N sprpriority = 5 [State 1205, nothitby] type = NotHitBy trigger1 = 1 value = SCA [State 1205, anim] type = ChangeAnim trigger1 = 1 value = 5010 [State 844, error] type = SelfState trigger1 = !GetHitVar(IsBound) value = 5050 ;-----------------------■相手側:投げ上げ・つかまれ・浮き上がり [StateDef 1207] Type = A MoveType = H Physics = N sprpriority = 5 [State 1205, nothitby] type = NotHitBy trigger1 = 1 value = SCA [State 844, error] type = SelfState trigger1 = 1 value = 5035 } #endregion ----
戻る→[[ステート奪取]] ---- &b(){※[[ステート奪取]]ページにも目を通すこと。} *■ステート奪取/制御-手動タイプ(投げ技・ロック技用) [[ステート奪取]]後、逐一[[Target]]系ステコンを実行して操作するタイプ。 性質上''自分が自由に動くことは難しい''が複雑化はしにくい。 :[[Target]]系ステートコントローラー| -[[SC-/TargetDrop]]・[[SC-/TargetState]]・[[SC-/TargetFacing]] -[[SC-/TargetLifeAdd]]・[[SC-/TargetPowerAdd]] -[[SC-/TargetVelAdd]]・[[SC-/TargetVelSet]]・[[SC-/TargetBind]] :最低限・用意するステート| -自分側:Target系ステコンで操作するステート --相手の位置を制御する''制御ステート'' --可能なら、可能な限り[[SC-/TargetBind]]を指定し続ける。 -相手用:目的のアニメを読みこませるステート --[[T-/StateType]]他とアニメを変更する''待機ステート''(アニメを変更するなら複数) --終了時に[[SC-/SelfState]]を実行する''終了ステート'' :基本の考え方| -相手のステートを奪い、自分は制御ステートへ飛ぶ。 -相手を相手用の待機ステートに飛ばし、自分側の制御ステートで相手の位置を動かす。 -動作が終わったら相手を相手用の終了ステートへ飛ばす。 以上。 :少し具体的な基本| -攻撃のP2StateNo指定か攻撃後[[SC-/TargetState]]を実行しステートを奪う。 -''相手に読み込ませる待機ステート'' --ステートの冒頭でtype,Movetypeを指定。 --必要なら[[SC-/ChangeAnim]]か[[SC-/ChangeAnim2]]を指定。 --また再度攻撃を当てるタイプでなければ[[SC-/NotHitBy]]をSCAで指定する。 --戦闘不能防止用に自動で戻る記述を追加しておく。 --''途中でアニメを変更したい場合は待機ステートを複数作る''。 -''自分が読み込む制御ステート'' --[[SC-/TargetBind]]で相手の位置を随時指定で操作。 ---[[T-/AnimElemNo()]]条件で位置をアニメ毎に操作できる。 --必要なら[[SC-/TargetLifeAdd]]で[[ダメージ]]を与える。 ---ヒット数は[[SC-/HitAdd]]で通常の攻撃判定を使わずに増やせる。 --相手側のアニメ変更は別に作った待機ステートへ[[SC-/TargetState]]で飛ばす。 --最終的に[[SC-/TargetState]]で相手側の終了ステートを読みこませる。 -''相手に読み込ませる終了ステート'' --必要なら状態を変更し、[[SC-/SelfState]]を実行させてステートを返す。 --即時SelfStateせず落下着地など一定条件でSelfStateさせる方法でも良い。 :■[[自動タイプ>ステート奪取/制御-自動タイプ]]について| ちなみに終了ステートを自動タイプのステートとすることも一応可能。 あと細かい制御を自動タイプのように相手用ステートで制御させるする手法もある。 :■注意点| -相手用の待機ステートに自動で戻る記述がない場合、&br()自分側が''投げ以外のステートへ飛んでしまった場合戻れなくなる'' --必ず自動でも戻る処理を追加しておくこと。[[ステート奪取]]のLv2参照。 ---[[SC-/TargetBind]]を用いておくと、自動で戻す処理を作るのが楽になる。 -相手ステートを奪えてないのに自分側が動作してしまうのも&br()致命的なものではないが気になるなら保険を掛けよう。 --[[ステート奪取]]のLv2を参照。 ---- **■Lv3-記述例 #region(''相手を掴んで上へ投げ上げる技'') **相手を掴んで上へ投げ上げる技 #aa(){ ;//「Another YUKA」から引用・改変(Animを1200,1201,1202と揃えれば他でも使用可能に) ;1.Target系ステコンで相手を動かす。 ;2.相手用のステートではアニメの変更とNotHitByのみ。 ;-----------------------■投げ上げ [StateDef 1200] Type = S MoveType = A Physics = N velset = 0,0 anim = 1200 ctrl = 0 sprpriority = 3 ;-------------■攻撃定義 [State 1200, hitdef] type = HitDef trigger1 = !Time Trigger1 =(P2StateNo!=[150,159])&&(P2StateNo!=[5000,5019]) Attr = S, ST ;投げ HitFlag = M- ; priority = 5, Miss ;■P1StateNoを指定する場合は必ずmissかdogeにすること AnimType = up ; sparkno = -1 ; p1sprpriority = 1 p1facing = 0 p2facing = 1 p1stateno = 1201 ;■自分が飛ぶところ p2stateno = 1205 ;■相手を飛ばすところ ID=1200 guard.dist = 0 fall = 1 ;■ fall.recover = 0 ;■相手を通常のくらい吹っ飛びへ飛ばすので設定。 [State 1200, end] type = ChangeState trigger1 = AnimTime = 0 value = 0 Ctrl = 1 ;-----------------------■投げ上げ・掴み [Statedef 1201] Type = S MoveType = A Physics = N velset = 0,0 ctrl = 0 PowerAdd = 20 sprpriority = 5 Anim = 1201 [State 1201, Attackdist] type = AttackDist Trigger1 = 1 value = 0 Ignorehitpause = 1 ;-------------■ターゲットが存在しない場合 [State 1201, error end] type = ChangeState trigger1 = !NumTarget(1200) && time value = 0 Ctrl = 1 ;-------------■音声・必要なら [State 1202, snd] type = PlaySnd trigger1 = 0; AnimElem = 1 value = 0,0 ;-------------■Target [State 1201, bind];■相手を拘束する type = TargetBind trigger1 = 1 ID=1200 pos = 30, 0 [State 1201, lifeadd];■相手のライフを減らす type = TargetLifeAdd trigger1 = !Time ID=1200 value = -15 Kill = 0 absolute = 0 [State 1201, targetstate];■相手のステートを変更する type = TargetState trigger1 = Time = 30 Value = 1206 ID = 1200 [State 1201] type = ChangeState trigger1 = Time = 30 value = 1202 ;-----------------------■投げ上げ・投げ上げ [Statedef 1202] Type = S MoveType = A Physics = N velset = 0,0 ctrl = 0 sprpriority = 4 Anim = 1202 [State 840, Attackdist] type = AttackDist Trigger1 = 1 value = 0 Ignorehitpause = 1 ;-------------■ターゲットが存在しない場合 [State 1202, error end] type = ChangeState trigger1 = !NumTarget(1200) && time trigger1 = AnimElem = 3, < 0 ;Elem=3より前=相手を投げ上げるより前 value = 0 Ctrl = 1 ;-------------■音声・必要なら [State 1202, snd] type = PlaySnd trigger1 = 0; AnimElem = 2 value = 0,0 ;-------------■Target系 [State 1202, bind];■相手を拘束する,Elem=3より前まで type = TargetBind trigger1 = AnimElem = 3,< 0 ID=1200 pos = 30, 0 - 8*(Time-2)*(Time>2) ;Time=4から上へ上昇 [State 1202, targetvelset];■相手を打ち上げる type = TargetVelset trigger1 = AnimElem = 3 y = -10 [State 1202, targetstate];■相手のステートをAnimElem=3時点で変更 type = TargetState trigger1 = AnimElem = 3 Value = 1207 ID = 1200 [State 1202, lifeadd];■相手のライフを変更時点で減らす type = TargetLifeAdd trigger1 = AnimElem = 3 ID=1200 value = -13 Kill = 1 absolute = 0 [State 1202, end] type = ChangeState trigger1 = AnimTime=0 value = 0 Ctrl = 1 ;-----------------------■相手側:投げ上げ・つかまれ・待機1 [StateDef 1205] Type = A MoveType = H Physics = N sprpriority = 0 Ctrl = 0 velset = 0,0 [State 1205, nothitby] type = NotHitBy trigger1 = 1 value = SCA [State 1205, anim] type = ChangeAnim trigger1 = 1 value = 5000 [State 844, error] type = SelfState trigger1 = !GetHitVar(IsBound) value = 5050 ;-----------------------■相手側:投げ上げ・つかまれ・待機2 [StateDef 1206] Type = A MoveType = H Physics = N sprpriority = 5 [State 1205, nothitby] type = NotHitBy trigger1 = 1 value = SCA [State 1205, anim] type = ChangeAnim trigger1 = 1 value = 5010 [State 844, error] type = SelfState trigger1 = !GetHitVar(IsBound) value = 5050 ;-----------------------■相手側:投げ上げ・つかまれ・浮き上がり [StateDef 1207] Type = A MoveType = H Physics = N sprpriority = 5 [State 1205, nothitby] type = NotHitBy trigger1 = 1 value = SCA [State 844, error] type = SelfState trigger1 = 1 value = 5035 } #endregion ----

表示オプション

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