ヒットデフの項目の説明
Hitdefのところの項目についての説明を詳しくしていこうと思います。
[State ???] | ステイトコントローラーのタイトル |
この項目は、ステイトコントローラーのタイトルです。
どんなものをつけても大丈夫なようです。
ぶっちゃけ、日本語でもOKで、[State
残影拳]とかでも平気です。
(まぁ、日本語は、あまり使わない方が良いかもしれませんが。(苦笑))
この項目は、ステイトコントローラーに間違った記述を書いた時に重要な項目です。
どういうことかというと、エラーを起こすと、MUGENは強制終了されて、
下のようにどこがエラーになったか表示されると思います。
上のエラーは、まぁ、簡単にいうと、Athena_n.cnsの中の[Statedef
300]の
[State 200 ,1]の部分でエラーが起こってますよ。って書いてあります。
このタイトル部分、他のステイトコントローラとかぶってもOKですが、
エラーの箇所がわかりずらくなってしまうので、あまり好まれないようです。
まぁ、しょせんエラーが出た時のためのものなので基本的に
あまり気にしなくて大丈夫です。(苦笑)
type = Hitdef | 攻撃のステイトコントローラー |
攻撃に使うステートコントローラーです。
Airファイルの攻撃判定の部分が攻撃になります。
trigger1 = time = ??? | トリガー(発動条件) |
見ての通りトリガーです。
好きなトリガーを入れてください。
ちなみに、今回、入ってるtimeのトリガーは、
アニメの何フレーム目から発動するかを選択出来ます。
例
trigger1 = time = 5
アニメが始まってから5フレーム目から発動。
判りずらいですかね?(汗)まぁ、使っていただければわかると思います。
attr = *,** | 攻撃の種類・属性 |
攻撃の種類、属性などを記述する項目です。
おもに、当て身投げ、飛び道具の相殺、無敵回避関連に関係した記述です。
*には「立ち=S」 「屈み=C」 「空中=A」の中から選択 |
とくに当て身投げでは、ここの記述が重要となります。
*の部分から、上段当身、下段当身かを判断したり、*の部分で取れる技の種類などを
判別するからです。(基本的に投げ技や、飛び道具は、当身されないハズです。)
*の部分は、相手の回避や無敵の判断によく使われます。
(通常&必殺技には無敵だが、超必殺になると喰らうなど。)
適当にしてしまうと、当身がうまく決まらなかったりと相手に迷惑をかけてしまいます。(苦笑)
ゲームのバランスを崩さないように、ちゃんと設定してあげましょうね。(笑)
damage = ??? | ダメージの量 |
そのまんまです。(笑) ダメージの量を決定する項目です。
例.1
damage = 100, 5
この時、100が攻撃ヒット時のダメージ、5が防御された時のダメージとなります。
例.2
damage = 100
このように、防御された時の数値を書かなかった場合は、ノーダメージとなるようです。
animtype = ??? | くらった相手の動作の指定 |
攻撃がヒットした時の相手の、くらい動作のアニメを指定します。
light =弱のけぞり |
上の7つのどれかを指定してください。この項目は、基本的に
ground.type、(またはair.type)そしてfallを組み合わせて使うものです。
ground.type、(またはair.type)の項目は、下の4つです。
high =頭を殴られた感じのアニメ |
fallは、1と0の2種類あり、それぞれの意味は下のようになっています。
fall = 0 :ダウンなし (fall = ?の項目を省略した場合もこのダウンなしとなります。) fall = 1 :ダウン有り |
さて、次に組み合わせた時、どのようなアニメが表示されるか、どんな感じになるか説明します。
まずは、ground.typeが、highかlowで、fall = 0 の時です。
ground.type = high fall = 0 の時 |
ground.type = low fall = 0 の時 |
|
animtypeが、light、 medium、hard、heavyの時 (この4つは、のけぞりの深さ を指定するモノなので、 基本的にアニメ種類は同じモノ となります。light→hardになる につれて、のけぞりが 深くなるだけです。 ) |
頭を殴られた感じ |
腹を殴られた感じ |
animtypeが、backの時 (animtypeが、back、up、 diagupの時は、ground.typeが highやlowなど区別なく同じアニメ となるようです。 ) |
吹っ飛ばされたようなアニメです。 fall = 0なので途中で 体勢を立て直してしまいます。 |
吹っ飛ばされたようなアニメです。 fall = 0なので途中で 体勢を立て直してしまいます。 |
animtypeが、upの時 (animtypeが、back、up、 diagupの時は、ground.typeが highやlowなど区別なく同じアニメ となるようです。 ) |
空中に打ち上げられたようなアニメです。 fall = 0なので途中で 体勢を立て直してしまいます。 |
空中に打ち上げられたようなアニメです。 fall = 0なので途中で 体勢を立て直してしまいます。 |
animtypeが、diagupの時 (animtypeが、back、up、 diagupの時は、ground.typeが highやlowなど区別なく同じアニメ となるようです。 ) |
俗にいうヒネリ吹っ飛びなどで 吹っ飛ばされたようなアニメです。 fall = 0なので途中で 体勢を立て直してしまいます。 |
俗にいうヒネリ吹っ飛びなどで 吹っ飛ばされたようなアニメです。 fall = 0なので途中で 体勢を立て直してしまいます。 |
次に、ground.typeが、tripかnoneで、fall = 0 or fall = 1 の時です。
ground.type = trip fall = 0 or fall = 1 の時 |
ground.type = none fall = 0 or fall = 1 の時 |
|
animtypeが、light、 medium、hard、heavy、 back、up、diagupの時 (trip、noneの場合、animtype、 fall は無視されます 。 ) |
足払いを受けたような感じ fall = ?の項目に関係なくダウンします。 |
無影響 ダメージなども、ありません。 というか、movehitが認識されていません。(汗) ヒットスパークとヒットサウンドが 鳴るだけっぽい です。(笑) |
最後は、ground.typeが、highかlowで、fall = 1 の時です。
ground.type = high or ground.type = low fall = 1 の時 |
|
animtypeが、light、 medium、hard、heavyの時 (この4つは、のけぞりの深さ を指定するモノなので、 基本的にアニメ種類は同じモノ となります。light→hardになる につれて、のけぞりが 深くなるだけです。 ) |
吹っ飛ばされたようなアニメです。 fall = 1なのでダウンします。 |
animtypeが、backの時 (animtypeが、back、up、 diagupの時は、ground.typeが highやlowなど区別なく同じアニメ となるようです。 ) |
吹っ飛ばされたようなアニメです。 fall = 1なのでダウンします。 |
animtypeが、upの時 (animtypeが、back、up、 diagupの時は、ground.typeが highやlowなど区別なく同じアニメ となるようです。 ) |
空中に打ち上げられたようなアニメです。 落下中は、頭から地面に落ちます。 fall = 1なのでダウンします。 |
animtypeが、diagupの時 (animtypeが、back、up、 diagupの時は、ground.typeが highやlowなど区別なく同じアニメ となるようです。 ) |
俗にいうヒネリ吹っ飛びなどで 吹っ飛ばされたようなアニメです。 fall = 1なのでダウンします。 |
getpower = ??? | 攻撃が当たった時に得られるパワーゲージ量 |
攻撃がヒットした時に得られるパワーゲージの量です。
例.1
getpower = 80, 20
この時、80が攻撃ヒット時に得られるゲージ量、20が防御された時に得られるゲージ量となります。
ちなみに、パワーゲージは、1000で1ゲージの計算です。
givepower = ??? | 攻撃が当たった時に相手に与えるパワーゲージ量 |
攻撃がヒットした時に相手に与えるパワーゲージの量です。
例.1
givepower = 80, 20
この時、80が攻撃ヒット時に与えるゲージ量、20が防御された時に与えるゲージ量となります。
ちなみに、パワーゲージは、1000で1ゲージの計算です。
guardflag = ??? | 攻撃のガード出来る種類 |
このHitdefの攻撃のガードできる種類の設定です。
「上段=H」 「中段=M」 「下段=L」 「空中=A」を組み合わせて設定します。
「M(中段)」は「HL(上段&下段)」と書いても同じです。
例.1
guardflag = LHA
この場合、立ちガードとしゃがみガード、空中ガードが可能です。
例.2
guardflag = HA
この場合、立ちガードと空中ガードが可能です。俗にいう足払いはコレに当たります。
例.3
guardflag = M
この場合、立ちガードとしゃがみガードは可能、空中ガードは不可です。ファイターズヒストリーとかのキャラで
あえて、このように空中ガード不可として原作再現をしてる人もいます。
ここの設定は、Hitdef必須事項です。もしguardflag = ???を省略してしまうと
攻撃が防御不可になってしまいます。
まぁ、KOFとかのギャラクティカファントム系(防御不可攻撃)などを作る時には、
あえて記述しないってのもアリですが。(笑)
ちなみにステイトコントローラーの「assertspecial(アサートスペシャル)」でも、
防御不可の設定がありますので、気になる方は調べてみるのも良いかもしれません。
hitflag = ??? | この攻撃が当たる状態の指定 |
ここの設定した状態以外では、相手に攻撃が当たらなくなります。
「上段=H」 「中段=M」 「下段=L」 「空中=A」 「落下中=F」 「ダウン中=D」を
組み合わせて使います。
「M(中段)」は「HL(上段&下段)」と書いても同じです。
最後に「+」「-」をつけると「コンボ中に当たる当たらない」設定に出来ます。
(-)は攻撃ヒット時の状態でない相手にのみ影響を及ぼします。
(+)は攻撃ヒット時の状態にある相手にのみ影響を及ぼします。
(+)と(-)は同時には使われません。
例.1
hitflag = LHA
この場合、立ち状態としゃがみ状態、空中状態で攻撃がヒットします。
例.2
hitflag = MAF
この場合、立ち状態としゃがみ状態、空中状態で攻撃がヒットします。
そして落下中にも攻撃がヒットしますので、お手玉させれます。(笑)
例.3
hitflag = MAFD
この場合、立ち状態としゃがみ状態、空中状態で攻撃がヒット、さらに落下中、ダウン状態でもヒットします。
つまり、どんな状態でも相手が無敵でなければ攻撃が当たる設定です。(笑)
まぁ、普通はダウン攻撃は、あまり設定しないほうが良いと思います。
伊吹川、カイザーウェイブにまちがってダウン攻撃属性つけてしまって、
反則技っていわれてしまった経験が。(苦笑)
例.4
hitflag = M‐
この場合、立ち状態としゃがみ状態で攻撃がヒットします。空中状態では当たりません。
しかも、−(マイナス)がついているため、攻撃のヒット時などでは、当たらないので
連携には組み込めないようになっています。
投げ技などに、よく設定されたりします。
ここの設定は省略すると、デフォルト値(基準値)のhitflag = MAFとなります。
なので、実は別に省略しても、それほど影響はないです。(苦笑)
priority = *,* | HitDef同士などの攻撃の優先順位 |
この攻撃の優先順位です。*には、1〜7の数字が、*には、「Hit」、「Miss」、「Dodge」が入ります。
自分の攻撃判定と相手のくらい判定が重なったときに敵の攻撃判定もこっちのくらい判定に重なった時
(つまり、相打ちの時ですね。)値が大きい方が優先されます。
値が同じ場合は、ヒットタイプによって、その後の展開が変わります。
Hit vs.
Hit: 両方とも攻撃を受けます。 Hit vs. Miss: Hitの方が勝ちます。Missの方は負けるでしょう。 Hit vs. Dodge: 攻撃は当たりません。 Dodge vs. Dodge: 攻撃当たりません。 Dodge vs. Miss: 攻撃は当たりません。 Miss vs. Miss: 攻撃は当たりません。 |
ちなみに上の例はとっても稀有な例です。
ヒットデフが、両方とも同じタイミングで同じ優先順位で当たった場合ですので。
例え、Dodge vs. Dodgeのようになったとしても、攻撃が当たらないのは
相打ち状態な時だけで、攻撃判定が先に消えたりすると
先に消えた方が攻撃を食らって負けたりするコトもあると思います。
基本的に、P2StateNoなどで移行しない打撃技などは、Hit、
打撃投げや投げ技などP2StateNoで移行したりする技は、
MissかDodgeにしとけば、問題無いと思います。
pausetime = ??? | 攻撃が当たった時の硬直時間 |
攻撃がヒットした時の硬直時間の設定です。
例.1
pausetime = 13, 10
この時、13が攻撃ヒット時の自分の硬直時間、10が攻撃ヒット時の相手の硬直時間となります。
numhits = ??? | 攻撃が当たった時にカウントされるヒット数 |
このHitdefの攻撃が、敵に当たった時に加算されるヒット数を指定できます。
この記述を省略したときは、1つづ加算されていきます。
ヒット数とは、下の絵の連続ヒットした時にでるアレのことです。
1つの攻撃で、複数のヒット数を加算させたい時などに使いましょう。
ちなみに、ステイトコントローラーのHitaddでも、このヒット数は増やせます。
hitsound = ??? | 攻撃が当たった時になる音の指定 |
攻撃Hit時に、鳴らす音を指定します。
コモンのサウンドを鳴らす方法と、自分のSndファイルから音を鳴らす方法の2通りが
あります。コモンのものは、アドオンによって異なる場合もありますが、
だいたいこんな感じになっています。
hitsound
= 5,0 弱打撃音 hitsound = 5,1 中打撃音 hitsound = 5,2 強打撃音 hitsound = 5,3 さらに強い強打撃音 hitsound = 5,4 さらにさらに強い強打撃音 |
こんぐらいわかればOKでしょう。
自分のSndファイルから音を鳴らす場合は、次のようにしてください。
例.1
hitsound = s1,0
上の例のように、Sをつけてください。
guardsound = ??? | 相手がガードした時に鳴らす音 |
このHitdefの攻撃が相手にガードされた時に鳴らす音を指定できます。
コモンのサウンドを鳴らす方法と、自分のSndファイルから音を鳴らす方法の2通りが
あります。コモンのものは、アドオンによって異なる場合もありますが、
だいたいこんな感じになっています。
hitsound = 6,0 コモンのガード音
こんぐらいわかればOKでしょう。
自分のSndファイルから音を鳴らす場合は、次のようにしてください。
hitsound = s1000,0
上の例のように、Sをつけてください。
sparkno = ??? | 攻撃Hit時に表示させるヒットスパークの指定です。 |
攻撃Hit時に表示させるヒットスパークの指定です。
コモンのヒットスパークを使うのと、自分のSFFに登録してあるものを
使う、2通りの方法があります。
コモンのモノは、アドオンによって異なる場合もありますが、
だいたいこんな感じになっています。
sparkno
= 0 弱い打撃のヒットスパーク sparkno = 1 中ぐらいの打撃のヒットスパーク sparkno = 2 強い打撃のヒットスパーク sparkno = 3 とても強い打撃のヒットスパーク(アドオンによっては、ない場合もあります。) sparkno = 10 弱い血しぶき sparkno = 11 中ぐらいの血しぶき sparkno = 12 強い血しぶき |
こんぐらいわかればOKでしょう。
自分のSFFからヒットスパークを出す場合は、次のようにしてください。
sparkno = S2000
↑上のように自分のAirファイルで作ったアニメ番号(Begin
Action ???)の前に
Sをつけて記述する。
sparkxy = *,* | ヒットスパークの表示位置の指定 |
Sparknoで指定したヒットスパークの表示位置の指定です。
*にヒットスパークのX座標、*にヒットスパークのY座標を記述します。
上のように、sparkxy =0,0の位置は、相手の前足付近となっています。
X座標は、後が+で前が−。Y座標は、下が+で上が−です。
例えば、 sparkxy =-10,-45と記述すると、上の座標系を見れば判るとおもいますが、
だいたい、敵の腹のあたり近くにヒットスパークが表示されると思います。
ground.type = ??? | くらい動作のアニメを指定 |
攻撃がヒットした時の相手の、くらい動作のアニメを指定します。
high =頭を殴られた感じのアニメ |
上の4つのどれかを指定してください。この項目は、基本的に
animtype、(またはair.animtype)そしてfallを組み合わせて使うものです。
light =弱のけぞり |
animtype、(またはair.animtype)の項目は、下の7つです。
fallは、1と0の2種類あり、それぞれの意味は下のようになっています。
fall = 0 :ダウンなし (fall = ?の項目を省略した場合もこのダウンなしとなります。) fall = 1 :ダウン有り |
さて、次に組み合わせた時、どのようなアニメが表示されるか、どんな感じになるか説明します。
まずは、ground.typeが、highかlowで、fall = 0 の時です。
ground.type = high fall = 0 の時 |
ground.type = low fall = 0 の時 |
|
animtypeが、light、 medium、hard、heavyの時 (この4つは、のけぞりの深さ を指定するモノなので、 基本的にアニメ種類は同じモノ となります。light→hardになる につれて、のけぞりが 深くなるだけです。 ) |
頭を殴られた感じ |
腹を殴られた感じ |
animtypeが、backの時 (animtypeが、back、up、 diagupの時は、ground.typeが highやlowなど区別なく同じアニメ となるようです。 ) |
吹っ飛ばされたようなアニメです。 fall = 0なので途中で 体勢を立て直してしまいます。 |
吹っ飛ばされたようなアニメです。 fall = 0なので途中で 体勢を立て直してしまいます。 |
animtypeが、upの時 (animtypeが、back、up、 diagupの時は、ground.typeが highやlowなど区別なく同じアニメ となるようです。 ) |
空中に打ち上げられたようなアニメです。 fall = 0なので途中で 体勢を立て直してしまいます。 |
空中に打ち上げられたようなアニメです。 fall = 0なので途中で 体勢を立て直してしまいます。 |
animtypeが、diagupの時 (animtypeが、back、up、 diagupの時は、ground.typeが highやlowなど区別なく同じアニメ となるようです。 ) |
俗にいうヒネリ吹っ飛びなどで 吹っ飛ばされたようなアニメです。 fall = 0なので途中で 体勢を立て直してしまいます。 |
俗にいうヒネリ吹っ飛びなどで 吹っ飛ばされたようなアニメです。 fall = 0なので途中で 体勢を立て直してしまいます。 |
次に、ground.typeが、tripかnoneで、fall = 0 or fall = 1 の時です。
ground.type = trip fall = 0 or fall = 1 の時 |
ground.type = none fall = 0 or fall = 1 の時 |
|
animtypeが、light、 medium、hard、heavy、 back、up、diagupの時 (trip、noneの場合、animtype、 fall は無視されます 。 ) |
足払いを受けたような感じ fall = ?の項目に関係なくダウンします。 |
無影響 ダメージなども、ありません。 というか、movehitが認識されていません。(汗) ヒットスパークとヒットサウンドが 鳴るだけっぽい です。(笑) |
最後は、ground.typeが、highかlowで、fall = 1 の時です。
ground.type = high or ground.type = low fall = 1 の時 |
|
animtypeが、light、 medium、hard、heavyの時 (この4つは、のけぞりの深さ を指定するモノなので、 基本的にアニメ種類は同じモノ となります。light→hardになる につれて、のけぞりが 深くなるだけです。 ) |
吹っ飛ばされたようなアニメです。 fall = 1なのでダウンします。 |
animtypeが、backの時 (animtypeが、back、up、 diagupの時は、ground.typeが highやlowなど区別なく同じアニメ となるようです。 ) |
吹っ飛ばされたようなアニメです。 fall = 1なのでダウンします。 |
animtypeが、upの時 (animtypeが、back、up、 diagupの時は、ground.typeが highやlowなど区別なく同じアニメ となるようです。 ) |
空中に打ち上げられたようなアニメです。 落下中は、頭から地面に落ちます。 fall = 1なのでダウンします。 |
animtypeが、diagupの時 (animtypeが、back、up、 diagupの時は、ground.typeが highやlowなど区別なく同じアニメ となるようです。 ) |
俗にいうヒネリ吹っ飛びなどで 吹っ飛ばされたようなアニメです。 fall = 1なのでダウンします。 |
ground.slidetime = ??? | 相手の後ずさる時間の記述 |
地上にいる時に、相手がすべって後ずさる時間が指定できます。
もっと詳しく正確にいうと、pausetimeの後に、この記述で設定した時間に限り、
地上の摩擦度(基本データの
stand.friction =???
などの摩擦係数の摩擦力)を無視できます。
まぁ、簡単にいうと、ココで設定した時間の間は、地上でも、減速されず、
ground.velocity = のところで設定した速度のまま、吹き飛ぶということです。(苦笑)
ちなみに、ダメージモーションが終了すると、吹き飛びも終了するので、あまりココの数字を大きくとっても
たいして意味がなかったりします。(苦笑) ダメージモーションのアニメの表示時間に左右されてしまいます。
後、当然、地上にいる時しか摩擦力は働きませんので、空中に吹っ飛ぶ技などの時は、ココの記述は無意味です。(笑)
つまり、あんまりココの記述は、重要ではないデス。(笑)
初心者は、まぁ適当に指定してください。
ground.hittime = ??? | 地上にてヒット状態を保持する時間 |
ココの記述は、ヒット状態を保持する時間に関する記述です。
ながく時間を設定すれば、連続技などが入れやすくなりますが、
ダメージモーションのアニメの表示時間以上の時間を設定しますと、
ダメージモーションの最後のアニメの画像で静止したような状態になりますので、
あまり長い時間を、設定しないほうが、よいと思います。
基本的に、ダメージモーションのアニメの表示時間程度の数値を設定しておけば大丈夫でしょう。
結構、重要な項目です。適当に指定してください。
ground.velocity = ??? | 地上で攻撃を受けた時、相手が飛んでいく速度の記述 |
地上における攻撃がヒットした時に相手に与える速度の設定です。
このHitdefの攻撃があたると、この速度で相手が吹っ飛んでいきます。
例.1
ground.velocity = -3
上の絵のように、後にあとずさっていきます。ground.slidetimeの記述も、このあとずさりには関係しますので、
そこの関係の記述も参考にしてください。
例.2
ground.velocity = -1,-3
上のように斜め方向に吹っ飛んでいきます。空中に吹っ飛ぶ技の関係では、
かならず、このようにしましょう。
airguard.velocity = ??? | 相手が空中にいる時、攻撃を相手がガードした時に相手が飛んでいく速度の記述 |
相手が空中にいる時、攻撃を相手がガードした時に相手に与える速度の設定です。
このHitdefの攻撃がガードされると、この速度で相手が吹っ飛んでいきます。
例.1
airguard.velocity = -3,-3
上の絵のように、後に速度を与えられ吹っ飛んでいきます。
この記述は、省略すると、air.velocityの速度(X軸成分は、1.5倍、Y軸成分は、半分の速度です)が
与えられます。なので、普通は省略してOKだと思います。
どうしても、設定したいときだけ設定するとよいでしょう。
air.velocity = ??? | 相手が空中にいる時、空中で攻撃を受けた時に相手が飛んでいく速度の記述 |
相手が空中にいる時、攻撃を相手がヒットした時に相手に与える速度の設定です。
このHitdefの攻撃がヒットすると、この速度で相手が吹っ飛んでいきます。
例.1
ground.velocity = -6,4
上の絵のように、吹っ飛んでいきます。
この記述は、省略すると、ground.velocityの速度が与えられます。なので、普通は省略してOKだと思います。
どうしても、設定したいときだけ設定するとよいでしょう。