「ステート奪取/制御-手動タイプ」の編集履歴(バックアップ)一覧はこちら
ステート奪取/制御-手動タイプ - (2013/05/05 (日) 15:24:03) の1つ前との変更点
追加された行は緑色になります。
削除された行は赤色になります。
戻る→[[ステート奪取]]
----
&b(){※[[ステート奪取]]ページにも目を通すこと。}
*■ステート奪取/制御-手動タイプ(投げ技・ロック技用)
[[ステート奪取]]後、逐一[[Target]]系ステコンを実行して操作するタイプ。
性質上''自分が自由に動くことは難しい''が複雑化はしにくい。
:[[Target]]系ステートコントローラー|
-[[SC-/TargetDrop]]・[[SC-/TargetState]]・[[SC-/TargetFacing]]
-[[SC-/TargetLifeAdd]]・[[SC-/TargetPowerAdd]]
-[[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]]で飛ばす。
--最終的に[[SC-/TargetState]]で相手側の終了ステートを読みこませる。
-''相手に読み込ませる終了ステート''
--必要なら状態を変更し、[[SC-/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 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
----
戻る→[[ステート奪取]]
----
&b(){※[[ステート奪取]]ページにも目を通すこと。}
*■ステート奪取/制御-手動タイプ(投げ技・ロック技用)
[[ステート奪取]]後、逐一[[Target]]系ステコンを実行して操作するタイプ。
性質上''自分が自由に動くことは難しい''が複雑化はしにくい。
:[[Target]]系ステートコントローラー|
-[[SC-/TargetDrop]]・[[SC-/TargetState]]・[[SC-/TargetFacing]]
-[[SC-/TargetLifeAdd]]・[[SC-/TargetPowerAdd]]
-[[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-/HitAdd]]で通常の攻撃判定を使わずに増やせる。
--相手側のアニメ変更は別に作った待機ステートへ[[SC-/TargetState]]で飛ばす。
--最終的に[[SC-/TargetState]]で相手側の終了ステートを読みこませる。
-''相手に読み込ませる終了ステート''
--必要なら状態を変更し、[[SC-/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 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
----