DHQの雑記とか

mugen関連でいろいろと

スポンサーサイト

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

mugenの溜め方向が無視される現象への対応方法について

mugenについて語るスレにて、mugenの溜めコマンドは溜め方向を
正確に認識しないようになっているとの書き込みがあったので、その対応方法の紹介。
ちなみに副次的な恩恵として、mugenのデフォルトの溜め技は
溜めを解除した後に最速で逆方向にキーを入れると認識されないため出しづらいようですが、
この記事で紹介した記述を仕込めば回避できるようです。

13/01/01
NSさんより誤字の指摘をいただき修正を行いました。

13/01/03
キーボード操作での操作性を改良。
NSさんにご協力いただきました。

13/06/29
ステートを奪われている時の溜め認識について誤りがあったため修正しました。


まず、溜め方向が認識されない問題について。

[command]
name = "sonic"
command = ~48$B, $F, x

このように定義されたコマンドは、下溜め左右xでも出ます。
つまり、最終的に$B, $F, xが入力されれば、必ずしも後ろ方向で溜める必要がないわけです。


他にも対処法はあるのかもしれませんが、ここでは
keyctrl=1でpausemovetimeとsupermovetimeの値を極端に大きくした
コマンド認識用のヘルパーを使用する方法を紹介。

ちなみに本体で溜め認識を行うと、自分自身以外が時間を停止させた場合に
溜め時間が加算されなくなりますので、既存の記述とは挙動が変わります。


手順1
既存の溜めコマンドを以下のように書き換え

[command]
name = "sonic"
command = ~48$B, $F, x

これを

[command]
name = "sonic"
command = ~$B, $F, x

このように書き換えます。要するに、溜め要素を外します。


手順2
http://dhq.blog137.fc2.com/blog-entry-51.html
ここに記載してある先行入力用記述テンプレの手順3までと同じ。
すでにコマンド認識用ヘルパーを導入されていれば関係ありません。


手順3
statedef 99999以下に、以下のステコンをコピペ。
下溜めなど、方向を変えたい時は適宜commandを変更して下さい。
導入済のコマンド認識用ヘルパーに追加する時は変数被りに注意。

[state 99999, 後ろ離し後猶予減少]
type = varadd
trigger1 = var(0) >= 10000
v = 0
value = -10000

[state 99999, 後ろ溜め完了認識]
type = varset
trigger1 = command != "holdback";例は後ろ溜めの場合
trigger1 = var(0)%100 >= 45;この数字が溜めに必要な時間(単位はフレーム)になります
trigger1 = var(0) < 10000
v = 0
value = 90000;溜め方向用のキーを離してから、コマンドを完成させるまでの猶予フレーム×10000を代入

[state 99999, 後ろ溜め時間加算]
type = varadd
trigger1 = command = "holdback"
trigger1 = var(0)%100 < 99
v = 0
value = 1

[state 99999, 前溜め時間加算]
type = varadd
trigger1 = command = "holdfwd"
trigger1 = (var(0)%10000)/100 < 99
v = 0
value = 100

[state 99999, 後ろ離し認識]
type = varset
trigger1 = command != "holdback"
trigger2 = (var(0)%10000)/100 >= 3
v = 0
value = var(0)-var(0)%100

[state 99999, 前離し認識]
type = varset
trigger1 = command != "holdfwd"
v = 0
value = var(0)-((var(0)%10000)/100)*100

[state 99999, 後ろ溜め認識リセット]
type = varset
trigger1 = var(0) < 0
v = 0
value = 0


手順4
statedef 99999以下に、-1ステートにあるcommandがトリガーに含まれているchangestate群のうち、
溜めが絡む技のステコンをコピペ。
すでに先行入力認識を導入されている場合は、スキップして下さい。


手順5
手順4でコピペしたステコン一式を以下のように書き換え。

[state -1, ソニックブーム]
value = 1000
type = changestate
triggerall = command = "sonic"
trigger1 = ctrl
trigger2 = stateno = 200 && movecontact

これを

[state -1, ソニックブーム]
type = varset
triggerall = command = "sonic"
trigger1 = var(0)%100 >= 45;溜めに必要な時間
trigger2 = var(0) >= 10000
v = 10
value = 7;先行入力猶予7-1F

のように書き換え。
先行入力が不要であれば、var(10)に代入する数値は1(2ではなく1)として下さい。
すでに先行入力認識を導入されている場合は、スキップして下さい。


手順6
statedef 99999の最後に以下の記述を追加。使ったvarの分だけvaraddが必要になります。
先行入力用記述テンプレに書いたステコンとは少し記述が違っていますので、注意して下さい。


[State 99999, ソニックブーム先行入力フレーム減算]
type = varadd
trigger1 = var(10) > 1 || !root,hitpausetime
trigger1 = var(10) > 0
var(10) = -1

追加してある || !root,hitpausetimeですが、溜め技をヒットストップからの
キャンセルで出す必要がなければ削除して下さい。
逆に、ヒットストップからのキャンセルで出すためには、この記述がないとキャンセルがしづらくなります。


手順7
-1ステートにあるcommandがトリガーに含まれているchangestate群のうち、
溜め技のステコンのトリガーを以下のように書き換え。

[state -1, ソニックブーム]
value = 1000
type = changestate
triggerall = command = "sonic"
trigger1 = ctrl
trigger2 = stateno = 200 && movecontact

これを

[state -1, ソニックブーム]
value = 1000
type = changestate
triggerall = ((helper(99999),var(0)%100 >= 45 || helper(99999),var(0) >= 10000) && helper(99999),command = "sonic") || helper(99999),var(10) > 0
trigger1 = ctrl
trigger2 = stateno = 200 && movecontact

このように書き換えます。45は溜めに必要な時間です。
command = "sonic"にもヘルパーリダイレクトがついていますが、
こうしないとヒットストップからのキャンセルに響きますので注意して下さい。

  1. 2013/06/29(土) 22:03:25|
  2. キャラ製作の豆知識
  3. | トラックバック:0
  4. | コメント:2
<<上入れっぱで暴発しない多段ジャンプの処理について | ホーム | 画面端で裏回らないために>>

コメント

雅氏の神奈子様ってたしかブログで改変禁止って…?
  1. 2013/07/02(火) 21:11:55 |
  2. URL |
  3. #-
  4. [ 編集 ]

Re: タイトルなし

雅氏の神奈ちゃんの公開については雅氏ご本人に報告し、
改変の了解をいただきました。
  1. 2013/07/04(木) 00:22:52 |
  2. URL |
  3. DHQ #-
  4. [ 編集 ]

コメントの投稿


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

トラックバック

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

プロフィール

Author:DHQ

最新記事

最新コメント

最新トラックバック

月別アーカイブ

カテゴリ

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

FC2カウンター

検索フォーム

RSSリンクの表示

リンク

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

ブロとも申請フォーム

この人とブロともになる

QRコード

QR

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