DHQの雑記とか

mugen関連でいろいろと

スポンサーサイト

上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。
  1. --/--/--(--) --:--:--|
  2. スポンサー広告

直前ガード記述例

ガード不能技(特に空中ガード不能技)に対しては作動しないタイプの直前ガード記述の例を紹介。
意識せずに作るとコキガフリーになりゲームにならなくなってしまうので、
とりあえず積んでみたいという方はどうぞ。
なお、記述の追加箇所はcmdファイル、-2ステート、150~154番ステートです。


;var(7):ジャストディフェンスキー入力受付
;var(8):ジャストディフェンス成立判定


cmdファイルに以下のコマンドを追加

[command]
name = "JD"
command = $B
time = 1


;-2stateに以下の記述を追加

;---------------------------------------------------------------------------
;ジャストディフェンス関連

[State -2, ジャストディフェンスキー入力受付変数リセット]
type = VarSet
trigger1 = var(7) < 0
trigger2 = var(7) >= 13
ignorehitpause = 1
var(7) = 11

[State -2, ジャストディフェンス後ろ方向入力リセット]
type = VarSet
trigger1 = var(7) = 11 || ((stateno = [150,155]) && var(8))
trigger1 = command != "holdback"
ignorehitpause = 1
var(7) = 12

[State -2, ジャストディフェンス入力]
type = VarSet
triggerall = var(7) = 12 || (stateno = [150,155]) && var(8)
triggerall = ((stateno != [150,155]) || ctrl) && !var(8)
trigger1 = command = "JD"
ignorehitpause = 1
var(7) = 0

[State -2 地上ジャストディフェンス成立判定]
type = VarSet
triggerall = var(7) <= 7
triggerall = Time = 0
trigger1 = stateno = 150
trigger2 = stateno = 152
trigger3 = stateno = 154
ignorehitpause = 1
var(8) = 1

[State -2, ジャストディフェンス入力不可時間セット]
type = VarAdd
triggerall = !((stateno = [150,155]) && var(8))
trigger1 = var(7) <= 7
trigger1 = command != "holdback"
ignorehitpause = 1
var(7) = 8

[State -2 地上ジャストディフェンス不成立判定]
type = VarSet
triggerall = var(7) > 7
triggerall = Time = 0
trigger1 = stateno = 150
trigger2 = stateno = 152
trigger3 = stateno = 154
ignorehitpause = 1
var(8) = 0

[State -2 地上ジャストディフェンス成立判定リセット]
type = VarSet
trigger1 = (stateno != [150,155]) || ctrl
ignorehitpause = 1
var(8) = 0

[State -2, ジャストディフェンス入力後時間経過]
type = VarAdd
trigger1 = var(7) = [0,10]
ignorehitpause = 1
var(7) = 1
;---------------------------------------------------------------------------


;150番ステートから154番ステートまでに以下の記述を追加します
;元々ある記述と重複する分は削除して下さい。

;---------------------------------------------------------------------------
; SGUARDHIT (shaking)
[Statedef 150]
type = S
movetype= H
physics = N
velset = 0,0

[State 152, 1]
type = ChangeAnim
trigger1 = 1
value = 150

[state 153, ジャストディフェンス入力不可時間セット]
type = varset
trigger1 = var(8) = 0
var(7) = 8

[State 150, ジャストディフェンス成立SE]
type = PlaySnd
triggerall = Time = 0
trigger1 = var(8) = 1
value = 150,0

[State 150, ジャストディフェンス成立スパーク]
type = Explod
triggerall = Time = 0
trigger1 = var(8) = 1
anim = 8020
ID = 8020
ignorehitpause = 1
facing = 1
bindtime = 1
postype = p1
pos = 10,ceil(-70*fvar(11))
sprpriority = 99

[State 150]
type = LifeAdd
trigger1 = Time = 0
trigger1 = var(8) = 1
value = GetHitVar(damage)+10;削りを無効化したい時はGetHitVar(damage)を、回復させたい時はさらに値を増やして下さい

[State 150]
type = poweradd
trigger1 = Time = 0
trigger1 = var(8) = 1
value = 30;ジャストディフェンス成立時のゲージ回復ボーナス量

[State 150, 2]
type = ChangeState
trigger1 = HitShakeOver
value = 151 + 2*(command = "holddown")

[State 150, Hi to Lo]
type = StateTypeSet
trigger1 = statetype = S && command = "holddown"
statetype = C
physics = C

[State 150, Lo to Hi]
type = StateTypeSet
trigger1 = statetype = C && command != "holddown"
statetype = S
physics = S

[State 150, 3]
type = ForceFeedback
trigger1 = time = 0
waveform = square
time = 3

;---------------------------------------------------------------------------
; SGUARDHIT2 (knocked back)
[Statedef 151]
type = S
movetype= H
physics = S
anim = 150

[State 151, 1]
type = HitVelSet
trigger1 = Time = 0
x = 1

[State 151, 2]
type = VelSet
trigger1 = Time = GetHitVar(slidetime)
trigger2 = HitOver
trigger3 = var(8) = 1
trigger3 = gethitvar(hittime) <= 2;ジャストディフェンス成立時に減らしたい硬直フレームの長さ
x = 0

[state 151, ジャストディフェンス入力不可時間セット]
type = varset
trigger1 = var(8) = 0
var(7) = 8

[State 151, 3]
type = CtrlSet
trigger1 = Time = GetHitVar(ctrltime)
trigger2 = var(8) = 1
trigger2 = time >= gethitvar(ctrltime)-2;ジャストディフェンス成立時に減らしたい硬直フレームの長さ
value = 1

[State 151, Hi to Lo]
type = StateTypeSet
trigger1 = statetype = S && command = "holddown"
statetype = C
physics = C

[State 151, Lo to Hi]
type = StateTypeSet
trigger1 = statetype = C && command != "holddown"
statetype = S
physics = S

[State 151, 4]
type = ChangeState
trigger1 = HitOver
trigger2 = var(8) = 1
trigger2 = gethitvar(hittime) <= 2;ジャストディフェンス成立時に減らしたい硬直フレームの長さ
value = 130
ctrl = 1

;---------------------------------------------------------------------------
; CGUARDHIT (shaking)
[Statedef 152]
type = C
movetype= H
physics = N
velset = 0,0

[State 152, 1]
type = ChangeAnim
trigger1 = 1
value = 151

[state 153, ジャストディフェンス入力不可時間セット]
type = varset
trigger1 = var(8) = 0
var(7) = 8

[State 150]
type = PlaySnd
triggerall = Time = 0
trigger1 = var(8) = 1
value = 150,0

[State 150]
type = Explod
triggerall = Time = 0
trigger1 = var(8) = 1
anim = 8020
ID = 8020
ignorehitpause = 1
facing = 1
bindtime = 1
postype = p1
pos = 10,ceil(-50*fvar(11))
sprpriority = 99

[State 150]
type = LifeAdd
trigger1 = Time = 0
trigger1 = var(8) = 1
value = GetHitVar(damage)+10;削りを無効化したい時はGetHitVar(damage)を、回復させたい時はさらに値を増やして下さい

[State 150]
type = poweradd
trigger1 = Time = 0
trigger1 = var(8) = 1
value = 30;ジャストディフェンス成立時のゲージ回復ボーナス量

[State 152, 3]
type = ChangeState
trigger1 = HitShakeOver
value = 151 + 2*(command = "holddown")

[State 152, Hi to Lo]
type = StateTypeSet
trigger1 = statetype = S && command = "holddown"
statetype = C
physics = C

[State 152, Lo to Hi]
type = StateTypeSet
trigger1 = statetype = C && command != "holddown"
statetype = S
physics = S

[State 152, 4]
type = ForceFeedback
trigger1 = time = 0
waveform = square
time = 4

;---------------------------------------------------------------------------
; CGUARDHIT2 (knocked back)
[Statedef 153]
type = C
movetype= H
physics = C
anim = 151

[State 153, 1]
type = HitVelSet
trigger1 = Time = 0
x = 1

[State 153, 2]
type = VelSet
trigger1 = Time = GetHitVar(slidetime)
trigger2 = HitOver
trigger3 = var(8) = 1
trigger3 = gethitvar(hittime) <= 2;ジャストディフェンス成立時に減らしたい硬直フレームの長さ
x = 0

[State 153, 2]
type = VelSet
trigger1 = Time = GetHitVar(slidetime)
trigger2 = HitOver
x = 0

[state 153, ジャストディフェンス入力不可時間セット]
type = varset
trigger1 = anim != 163
v = 7
value = 8

[State 151, 3]
type = CtrlSet
trigger1 = Time = GetHitVar(ctrltime)
trigger2 = var(8) = 1
trigger2 = time >= gethitvar(ctrltime)-2;ジャストディフェンス成立時に減らしたい硬直フレームの長さ
value = 1

[State 153, Hi to Lo]
type = StateTypeSet
trigger1 = statetype = S && command = "holddown"
statetype = C
physics = C

[State 153, Lo to Hi]
type = StateTypeSet
trigger1 = statetype = C && command != "holddown"
statetype = S
physics = S

[State 153, 4]
type = ChangeState
trigger1 = HitOver
trigger2 = var(8) = 1
trigger2 = gethitvar(hittime) <= 2;ジャストディフェンス成立時に減らしたい硬直フレームの長さ
value = 131
ctrl = 1

;---------------------------------------------------------------------------
; AGUARDHIT (shaking)
[Statedef 154]
type = A
movetype= H
physics = N
velset = 0,0

[State 154, 1]
type = ChangeAnim
trigger1 = 1
value = 152

[state 154, ジャストディフェンス入力不可時間セット]
type = varset
trigger1 = var(8) = 0
var(7) = 8

[State 150]
type = PlaySnd
triggerall = Time = 0
trigger1 = var(8) = 1
value = 150,0

[State 150]
type = Explod
trigger1 = Time = 0
trigger1 = var(8) = 1
anim = 8020
ID = 8020
ignorehitpause = 1
facing = 1
bindtime = 1
postype = p1
pos = 10,ceil(-80*fvar(11))
sprpriority = 99

[State 150]
type = LifeAdd
trigger1 = Time = 0
trigger1 = var(8) = 1
value = GetHitVar(damage)+10;削りを無効化したい時はGetHitVar(damage)を、回復させたい時はさらに値を増やして下さい

[State 150]
type = poweradd
trigger1 = Time = 0
trigger1 = var(8) = 1
value = 30;ジャストディフェンス成立時のゲージ回復ボーナス量

[State 154, 2]
type = ChangeState
trigger1 = HitShakeOver
value = 155 ;AGUARDHIT2

[State 154, 3]
type = ForceFeedback
trigger1 = time = 0
waveform = square
time = 4

;---------------------------------------------------------------------------
; AGUARDHIT2 (knocked away)
[Statedef 155]
type = A
movetype= H
physics = N
anim = 152

[State 155, 1]
type = HitVelSet
trigger1 = Time = 0
x = 1
y = 1

[State 155, 2]
type = VelAdd
trigger1 = 1
y = Const(movement.yaccel)

[State 155, 3]
type = CtrlSet
trigger1 = Time = GetHitVar(ctrltime)
trigger2 = time >= gethitvar(ctrltime)-2;ジャストディフェンス成立時に減らしたい硬直フレームの長さ
value = 1

[State 155, 4]
type = varset
trigger1 = 1
sysvar(0) = (pos y >= 0) && (vel y > 0)

[State 155, 5]
type = VelSet
trigger1 = sysvar(0)
y = 0

[State 155, 6]
type = PosSet
trigger1 = sysvar(0)
y = 0

[State 155, 6]
type = ChangeState
trigger1 = sysvar(0)
trigger1 = command = "holdback"
trigger1 = inguarddist
value = 130

[State 155, 7]
type = ChangeState
trigger1 = sysvar(0)
value = 52
  1. 2016/04/24(日) 01:01:10|
  2. キャラ製作の豆知識
  3. | トラックバック:0
  4. | コメント:0
<<パッチ等DL先 | ホーム | キャラ作成上とりあえずやっておいた方がいいこと(推奨部分)>>

コメント

コメントの投稿


管理者にだけ表示を許可する

トラックバック

トラックバック URL
http://dhq.blog137.fc2.com/tb.php/105-b1a18070
この記事にトラックバックする(FC2ブログユーザー)

プロフィール

Author:DHQ

最新記事

最新コメント

最新トラックバック

月別アーカイブ

カテゴリ

未分類 (0)
お知らせ (2)
mugenの仕様 (16)
mugenのAI (3)
キャラ製作の豆知識 (31)
動画について (32)

FC2カウンター

検索フォーム

RSSリンクの表示

リンク

このブログをリンクに追加する

ブロとも申請フォーム

この人とブロともになる

QRコード

QR

上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。