立ち通常攻撃

Last-modified: 2014-08-04 (月) 11:39:47

地上で立ち状態で出す通常攻撃、コンボの中心となる


 

立ち弱パンチ(+目押し)

編集前

[State -1, 立ち弱パンチ]
type = ChangeState
value = 200
triggerall = command = "x"
triggerall = command != "holddown"
trigger1 = statetype = S
trigger1 = ctrl
trigger2 = stateno = 200
trigger2 = time > 6

 
編集後

;距離は45まで届く、発生のそこそこ早い普通の弱パンチ
[State -1, 立ち弱パンチ]
type = ChangeState
value = 200
triggerall = roundstate = 2
triggerall = p2statetype != L
triggerall = p2bodydist X = [-10,45]
triggerall = p2statetype = S
trigger1 = statetype != A
trigger1 = ctrl
trigger1 = p2movetype != A
trigger1 = random <= 200
trigger2 = stateno = 200
trigger2 = time > 6
trigger2 = movecontact
trigger2 = random <= 500

 

;しゃがみ弱パンチが当たったら、目押しコンボを行う
[State -1, 立ち弱パンチ・目押し]
type = ChangeState
value = 200
triggerall = roundstate = 2
triggerall = p2statetype != L
triggerall = p2bodydist X = [-10,45]
triggerall = p2statetype = S
trigger1 = statetype != A
trigger1 = ctrl
trigger1 = p2movetype = H
trigger1 = prevstateno = 400


基本部分は「AI制作開始」の強パンチを参考に、ごく簡単な記述を加えただけ、重要なのは目押しコンボのほう
しゃがみ弱パンチの硬直の短さと、立ち弱パンチの発生の早さゆえ、目押しコンボが成立するのだ
なお攻撃の判定が高い位置に出るので両方とも立ち状態の相手にだけ使うようにしておく

 

ちなみに目押し用として、「立ち弱パンチ」の項目を二つに増やしてしまっているが
条件として設定されているトリガーなどを改変しない限りは、実は別にいくつ増やしても問題ない
一つの技で、優先して出したいときと、後回しで使いたいときがある場合、このように分けてしまうと良い

 

「prevstateno」は直前のステートを調べる、目押しコンボ用のトリガー
だが一瞬でも別のステートに移ると機能しなくなるので、その成功率はあまり高くない
乱数を設定しなくても、MUGEN自体のランダムな行動で、しゃがんだり歩いたりするせいで時々失敗してしまう
なので目押しの記述には乱数を設定しないほうが良い、乱数を入れると成功率が大きく下がってしまう
そして「prevstateno = 400」は「しゃがみ弱パンチの直後」という意味

 

あとは、しゃがみ弱パンチが当たったならば、ヒット・ガード問わず相手は「p2movetype = H」なので
それを指定することで、「movecontact」ほど確実ではないが『攻撃が当たった』と推定することが出来る
目押しコンボに「movecontact」の類は使えないので、こんな感じで記述するしかない

 

他のキャラの他の技で目押しコンボをしたい場合も、大体の場合はこれの応用で行わせることが出来る
なお、ヒット・ガード問わず繋がるなら「p2movetype = H;(相手が食らい中)」だけで良いが
ヒット時でなければ繋がらない目押しコンボは「p2stateno = [5000,5999];(相手にヒット中)
ガードされたときに使いたい目押しコンボ(あるのか?)なら「p2stateno = [120,155];(相手がガード中)
を追加すると、確実に目押しコンボが狙えるだろう(強すぎると思うなら「p2movetype = H」だけで良い)

 

あとは、チェーンコンボ(キャンセル)ではないので「stateno」ではなく「prevstateno」を使うことと
何よりも「ctrl」を忘れないように(忘れたりしたら、キャンセルしてのチェーンコンボになってしまう)

立ち強パンチ

編集前

[State -1, 立ち強パンチ]
type = ChangeState
value = 210
triggerall = command = "y"
triggerall = command != "holddown"
trigger1 = statetype = S
trigger1 = ctrl
trigger2 = (stateno = 200) && time > 5
trigger3 = (stateno = 230) && time > 6

 
編集後

;発生は早いがリーチは短い、打点は高いが対空には使えない、距離は63まで届く
[State -1, 立ち強パンチ]
type = ChangeState
value = 210
triggerall = roundstate = 2
triggerall = p2statetype != L
triggerall = p2bodydist X = [-10,60]
triggerall = p2statetype = S
trigger1 = statetype != A
trigger1 = ctrl
trigger1 = p2movetype != A
trigger1 = random <= 200
trigger2 = (stateno = 200) && time > 5
trigger2 = movecontact
trigger2 = random <= 500
trigger3 = (stateno = 230) && time > 6
trigger3 = movecontact
trigger3 = random <= 500


「AI製作開始」の例文と同様なので、説明はそちらに任せる

 

立ち弱キック

編集前

[State -1, 立ち弱キック]
type = ChangeState
value = 230
triggerall = command = "a"
triggerall = command != "holddown"
trigger1 = statetype = S
trigger1 = ctrl
trigger2 = (stateno = 200) && time > 7
trigger3 = (stateno = 230) && time > 9

 
編集後

;距離は53まで届くローキック、残念ながら立ち下段ではない
[State -1, 立ち弱キック]
type = ChangeState
value = 230
triggerall = roundstate = 2
triggerall = p2statetype != L
triggerall = p2bodydist X = [-10,50]
trigger1 = statetype != A
trigger1 = ctrl
trigger1 = p2statetype != A
trigger1 = p2movetype != A
trigger1 = random <= 200
trigger2 = (stateno = 200) && time > 7
trigger2 = movecontact
trigger2 = random <= 500
trigger3 = (stateno = 230) && time > 9
trigger3 = movecontact
trigger3 = random <= 500


基本的に「立ち強パンチ」と同じように記述するが、しゃがみ中の相手にも当たるので
「p2statetype != A」で使うようにしておく、距離は50まで丸めてある

 

立ち強キック

編集前

[State -1, 立ち強キック]
type = ChangeState
value = 240
triggerall = command = "b"
triggerall = command != "holddown"
trigger1 = statetype = S
trigger1 = ctrl
trigger2 = (stateno = 200) && time > 5
trigger3 = (stateno = 230) && time > 6

 
編集後

;距離は54まで届く前蹴り、立ち強パンチよりリーチは短いが発生は遅い、わずかに前進する
[State -1, 立ち強キック]
type = ChangeState
value = 240
triggerall = roundstate = 2
triggerall = p2statetype != L
triggerall = p2bodydist X = [-10,50]
trigger1 = statetype != A
trigger1 = ctrl
trigger1 = p2statetype != A
trigger1 = p2movetype != A
trigger1 = random <= 200
trigger2 = (stateno = 200) && time > 5
trigger2 = movecontact
trigger2 = random <= 500
trigger3 = (stateno = 230) && time > 6
trigger3 = movecontact
trigger3 = random <= 500


基本的に「立ち弱キック」と同様な感じで記述する、距離は50まで丸めてある