ステートコントローラ一覧
State controller reference
M.U.G.E.N, (c) Elecbyte 2001
Documentation for version 2001.04.14
Beta-release documentation
Updated 19 April 2001
ステートコントローラ名
パラメータ指定例
必須パラメータ
オプションパラメータ
代替書式
使用例
の順に並んでおります。
パラメータ指定例は、テキトーにパラメータを指定した例です。コピペすれば動くはずです。ただし、使用が推奨されていないものと、動作しないものを除いたすべてのパラメータを指定していますので、必要に応じてパラメータを間引く必要があります。
また、すべてのステートコントローラが、「persistent」と「ignorehitpause」というパラメータを取りますが、これは省略しています。
persistent=0の場合、持続性のトリガーでも1回しかステコンが実行されません。重要。省略時は1。
ignorehitpause=1とるすと、ヒット停止時間を無視してステコンが実行されます。省略時は0。
必須パラメータは、ステートコントローラのパラメータのうち、記述が省略できないものです。省略すると、エラーとなります。
オプションパラメータは、ステートコントローラのパラメータのうち、記述が省略できるものです。
各パラメータの説明文は、docの英文を適当に和訳したもので、検証してない部分もあります。さらに、意味不明な英文は、そのまま掲載しています。
代替書式は、標準の書式の代わりに使用できる記述方法で、一部のステコンにのみ存在します。複数の記述をまとめられたり、あまり意味なかったりします。なお、ステートコントローラ、トリガーともに大小文字を区別しませんが、代替書式は小文字しか使えません。
いい加減な解説なので過信は禁物です。
一番重要な部分は使用例です。根性で和訳してください。といっても使用例のあるものはごく一部ですが。
AfterImage
キャラに残像を付けます。様々な調整が可能ですが、パラメータはすべて省略可能で、省略した場合、残像は青くなります。
パラメータ指定例:
type = AfterImage
trigger1 = time = 0
time = 1
length = 20
palcolor = 256
palinvertall = 0
palbright = 30,30,30
palcontrast = 120,120,220
palpostbright = 0,0,0
paladd = 10,10,25
palmul = .65,.65,.75
timegap = 1
framegap = 4
trans = "non"
必須パラメータはありません
オプションパラメータ:
- time = 持続時間 (int)
-
指定時間内は残像が付き続けます。ステートが変わっても有効ですので、持続時間中に攻撃を受けると、やられモーションにも残像が付きます。
省略時は1。一瞬で効果が切れますが、省略してAfterImageTimeで調整するのが普通です。-1で永続します。
- length = ヒストリーバッファ容量 (int)
- 残像として表示する画像を何フレーム間保存するか指定します。1つの残像の表示時間や、移動したときに残る残像の長さとして表れます。最長60フレーム、省略時20フレーム。
- palcolor = 彩度 (int)
- パレットの彩度を0〜256で指定します。省略時256(変化なし)、0でグレースケール(白黒)になります。
- palinvertall = 反転フラグ (bool)
- 1でパレットを反転表示します。写真のネガのようになります。省略時0。
- palbright = add_赤, add_緑, add_青 (int)
- 残像のパレットに指定の色要素を加算します。例えば、0,0,256とすれば、青っぽくなりますが、同時に白っぽくもなります。もともと白い部分は白いまま。省略時30,30,30。少しだけ明度を底上げしています。
win版ではr要素が機能しないっぽい?。
- palcontrast = mul_赤, mul_緑, mul_青 (int)
- 残像のパレットに指定の色要素を乗算します。例えば、128,128,256とすれば、青っぽくなりますが、同時に黒っぽくもなります。もともと黒い部分は黒いまま。省略時120,120,220。青っぽくなります。
- palpostbright = add2_赤, add2_緑, add2_青 (int)
- 2つ目以降の残像について、指定の色要素を加算します。省略時0,0,0。
- paladd = add_赤, add_緑, add_青 (int)
- 2,3,4…番目の残像に、累積して色要素が加算されます。残像をグラデーションさせるときに。省略時10,10,25。
- palmul = mul_赤, mul_緑, mul_青 (float)
- 2,3,4…番目の残像に、累積して色要素が乗算されます。残像をグラデーションさせるときに。省略時.65,.65,.75
- timegap = スキップフレーム数 (int)
- 何フレーム置きに残像用の画像を保存するかを指定。省略時1(毎フレーム保存)。連続写真のような残像にしたい場合は、こちらを弄りましょう。値が大きくなるほど、残像の間隔が長くなります。移動技向け。
- framegap = フレーム間隔 (int)
- 何フレーム置きに画像を表示するかを指定。残像の間隔、ということになります。後をついてくるような残像にする場合はこちら。
- trans = 透過の種類 (string)
- 残像の透過の種類を指定。"non"は透過なし。"add"はアルファ値256,256の加算透過。"add1"はアルファ値256,128の加算透過。"sub"は減算透過。
使用例:
なし
AfterImageTime
残像の表示時間を変更します。
パラメータ指定例:
type = AfterImage
trigger1 = 1
time = 1
必須パラメータ:
- time = 新しい時間 (int)
- 有効なAfterImageのtimeパラメータを変更します。省略不可。
代替書式:
- value = 新しい時間 (int)
- timeの代わりにvalueと書いても動きます。
オプションパラメータはありません
使用例:
なし
AllPalFX
内容的にはPalFXと同じですが、こちらは画面上のすべてのパレットが対象です。
パラメータ指定例:
type = AllPalFX
trigger1 = time = 0
time = 10
add = 0,0,0
mul = 256,256,256
sinadd = 256,256,256,10
invertall = 0
color = 256
使用例:
なし
AngleAdd
AngleDrawで回転させる角度を増減します。
単位は度。角度を返すトリガー(arc○○○)は、戻り値がラジアンなので、変換が必要となります。
パラメータ指定例:
type = AngleAdd
trigger1 = 1
value = 10
必須パラメータ:
- value = 加算角度 (float)
- 加算する角度を指定。省略不可。
オプションパラメータはありません
使用例:
なし
AngleDraw
プレイヤーの軸を中心に回転させて表示します。AngleAdd、AngleMul、AngleSetと併せて使用。角度は、右向き時、反時計回りが正方向になります。
1フレームしか効果がないので、triggerの指定には注意。
Helperと組み合わせて、グルグル回転する、飛び道具とか、オプション等に使えるほか、回転やられに使う人もいます。
ただし、90の倍数角度回転なら問題ありませんが、それ以外の場合はジャギィがでてしまいます。
このステート実行中は、AIRファイル中の座標指定、反転表示、透過表示は無効になります。回転の中心を変えたい場合は、sffに別なスプライトとして登録しなければなりません。なお、これらの無効化は、AfterImageにも影響を及ぼします。また、判定枠は回転しませんので、判定を持たせる場合は、最初から原点(0,0)を中心とする正方形とするか、回転に合わせてAirを設定する必要があります。
dos版はパラメータをとりませんが、win版には2つのオプションパラメータが存在します。
パラメータ指定例:
type = AngleDraw
trigger1 = 1
必須パラメータはありません
オプションパラメータ(Win版限定)
- value = 角度 (float)
- 角度を指定。
- scale = 横縮尺, 縦縮尺 (float, float)
- スプライトの縮尺を指定。
注意 :
回転・縮尺ともに、判定枠には影響を及ぼしません。
使用例 :
なし
AngleMul
AngleDrawで回転させる角度を倍数で指定。
単位は度。角度を返すトリガー(arc○○○)は、戻り値がラジアンなので、変換が必要となります。
パラメータ指定例:
type = AngleMul
trigger1 = 1
value = 0.8
必須パラメータ:
- value = 倍数 (float)
- 乗算する角度を指定。省略不可。見た目としては、1以上でアクセル、0〜1間の小数でブレーキとして働きます。
オプションパラメータはありません
使用例:
なし
AngleSet
AngleDrawで回転させる角度を指定値に変更。
単位は度。角度を返すトリガー(arc○○○)は、戻り値がラジアンなので、変換が必要となります。
パラメータ指定例:
type = AngleSet
trigger1 = time = 0
value = 90
必須パラメータ:
- value = 角度 (float)
- 設定する角度を指定。省略不可。
オプションパラメータはありません
使用例:
なし
AppendToClipboard
基本的にはDisplayToClipboardと同じ。
DisplayToClipboardは、すでにメッセージが存在する場合、上書きされますが、こちらは改行して表示されます。
直前の値と見比べることができますが、頻繁に値が変わる場合、却って見にくくなってしまいます。
パラメータ指定例:
type = AppendToClipboard
trigger1 = 1
text = "%d,%d,%d,%f,%f"
params = var(0),var(1),var(2),fvar(0),fvar(1)
AssertSpecial
キャラを特殊な状態にします。どのような状態にできるかは下記を参照。
同時に指定できるのは3種類までです。1フレームのみ有効。
パラメータ指定例:
type = AssertSpecial
trigger1 = 1
flag = intro
flag2 = invisible
flag3 = nobardisplay
必須パラメータ:
- flag = フラグ名
- 指定できるフラグ名は、下記詳細にあるうちのいずれかです。省略不可。
オプションパラメータ:
- flag2 = フラグ名2
- flag3 = フラグ名3
- 同時に3種類まで指定可能です。省略可。
詳細:
- flagには以下の文字列を指定します。
- - intro
- イントロ状態にします。登場モーションが長いときなど。ラウンドコール中にフラグが立つと、コールが中断され、フラグが消えてから、再度コールされます。
- - invisible
- 透明になります。
- - roundnotover
- このフラグが立っている間は、試合が終わっても次のラウンドが始まりません。
- - nobardisplay
- ゲージ類を非表示にします。
- - noBG
- 背景を非表示にします。
- - noFG
- 背景の手前のレイヤーを非表示にします。
- - nostandguard
- 立ち防御できなくなります。
- - nocrouchguard
- しゃがみ防御できなくなります。
- - noairguard
- 空中ガードできなくなります。
- - noautoturn
- 自動で相手に振り向かなくなります。
- - nojugglecheck
- ヒット制限を無効にします。
- - nokosnd
- KOボイス(11,0)が出なくなります。
- - nokoslow
- KO時にスローがかからなくなります。
- - noshadow
- 自分の影を非表示にします。
- - globalnoshadow
- 全てのスプライトの影を非表示にします。
- - nomusic
- BGMを消します。
- - nowalk
- 歩けなくなります。
- - timerfreeze
- タイマーを止めます。
- - unguardable
- 繰出す攻撃がガード不能になります。
使用例:
type = AssertSpecial
trigger = 1
flag = nobardisplay
flag2 = nomusic
flag3 = timerfreeze
- そのステート中は、ゲージ類非表示、音楽停止、タイマー停止となります。カットインとかに使えるかも?
基本的にイントロや勝利ポーズのモーションで使用されることが多いステートコントローラです。あと、Helperの影を消したり。
AttackDist
攻撃を行ったときに相手が防御体制をとる距離を変更します。
パラメータ指定例:
type = AttackDist
trigger1 = 1
value = 100
必須パラメータ:
- value = 攻撃認識距離 (int)
- 新しい認識距離をピクセルで指定。省略不可。
オプションパラメータはありません
使用例:
なし
AttackMulSet
攻撃力を倍数で指定します。一時的に攻撃力が上がる技などに。効果は1フレーム。
パラメータ指定例:
type = AttackMulSet
trigger1 = Life < 200
value = 1.25
必須パラメータ:
- value = 攻撃力係数(float)
- 攻撃力を何倍にするか指定。例えば、0.5なら半分に、2なら倍になります。省略不可。
ちなみに、負数を指定すると、ダメージ値×係数の分体力が回復します。0を指定すると、一律1のダメージになります。
オプションパラメータはありません
使用例:
なし
BGPalFX
PalFXと同じですが、こちらは背景のパレットを対象とします。
パラメータ指定例:
type = BGPalFX
trigger1 = time = 0
time = 1
add = 0,0,0
mul = 256,256,256
sinadd = 256,256,256,10
invertall = 0
color = 256
BindToParent
Helperのステート内で記述します。そのhelperを呼び出したステートのスプライトを基準に位置を固定します。
親がHelperの場合、当然そのHelperのスプライトが対象となります。
パラメータ指定例:
type = BindToParent
trigger1 = 1
time = 1
facing = 0
pos = 0, 0
必須パラメータはありません
オプションパラメータ:
- time = 固定時間 (int)
- 何フレーム固定するかを指定。省略時1。
- facing = 向きフラグ (int)
- -1で常に親と反対の方を向きます。0で向きを変えません。1で常に親と同じ方を向きます。省略時は0。
- pos = x座標 (float), y座標 (float)
- 親の足元を0, 0とした相対座標を指定。
- 注意:
- helper等が親の場合、親がDestroySelfすると、このステートコントローラは無効になります。
使用例:
なし
BindToRoot
Helperのステート内で記述します。ルート(そのhelperを呼び出した大元のステートのスプライト)を基準に位置を固定します。
パラメータ指定例:
type = BindToRoot
trigger1 = 1
time = 1
facing = 0
pos = 0, 0
必須パラメータはありません
オプションパラメータ:
- time = 固定時間 (int)
- 何フレーム固定するかを指定。省略時1。
- facing = 向きフラグ (int)
- -1で常にルートと反対の方を向きます。0で向きを変えません。1で常にルートと同じ方を向きます。省略時は0。
- pos = x座標 (float), y座標 (float)
- ルートの足元を0, 0とした相対座標を指定。
- 注意:
- helper等がルートの場合、ルートがDestroySelfすると、このステートコントローラは無効になります。でも、helperがルートになるって、ありえるのか?なお、親がDestroySelfした場合も、無効となります。
使用例:
なし
BindToTarget
特定のターゲット(プレイヤーの攻撃を受けてヒット・ガード状態になっている敵)を基準にプレイヤーの位置を固定します。
相手に乗っかったりする投げなどに使用。
パラメータ指定例:
type = BindToTarget
trigger1 = 1
time = 1
ID = -1
pos = 0, 0, "Head"
必須パラメータはありません
オプションパラメータ:
- time = 固定時間 (int)
-
固定する時間を指定。省略時1。
- ID = ヒットID (int)
-
基準にするターゲットをIDで指定。
ちなみに、ターゲットIDは、自動で割り当てられるIDではなく、ターゲットにされた攻撃のHitDefのIDパラメータで指定した値となります。
よって、大抵の場合、デフォルト値の0となります。
省略時-1。(無差別に1つのターゲットをを選択)
- pos = x座標 (float), y座標 (float), 基準位置 (string)
-
基準位置("Head","Foot","Mid"のいずれか)の座標を(0,0)として、座標を指定。"Head"の場合は、ターゲットのcnsのhead.pos、"Foot"の場合は、(0,0)座標、"Mid"の場合はMid.posを基準にします。
相手のcns設定がいい加減だと、こちらの動きが見苦しくなるので困りもの。
使用例:
なし
ChangeAnim
アニメーションを変更します。
パラメータ指定例:
type = ChangeAnim
trigger1 = time = 0
value = 0
elem = 1
必須パラメータ:
- value = アクション番号 (int)
- 変更するアクション番号を指定。省略不可。
オプションパラメータ:
- elem = 要素番号 (int)
- 何枚目から始めるかを指定。省略時1。
使用例:
なし
ChangeAnim2
ChangeAnimと似た効果があります。パラメータについてはそちらを参照のこと。
HitDefのp2stateパラメータやTargetStateを使って相手に参照させるステート内で、プレイヤーのairファイルを使用して相手のアニメーションを変更するのに使用します。
パラメータ指定例:
type = ChangeAnim2
trigger1 = time = 0
value = 0
elem = 1
ChangeState
ステートを変更します。
パラメータ指定例:
type = ChangeState
trigger1 = animtime = 0
value = 0
ctrl = 1
anim = 0
必須パラメータ:
- value = ステート番号 (int)
- 変更させるステート番号を指定。省略不可。
オプションパラメータ:
- ctrl = コントロールフラグ (int)
- 0以外を指定すると、ステート変更と同時にコントロールフラグが立ちます。省略時は現在のフラグを引き継ぎます。
変更先のステートの冒頭でフラグがセットされる場合は、指定しても意味なし。
- anim = アクション番号 (int)
- アクション番号も同時に変更可能。省略時は変更なし。どうやら、ignorehitpauseを指定してもHitPauseの影響を受けてしまう模様。
変更先のステートの冒頭でアニメが変更される場合は、指定しても意味なし。
使用例:
type = ChangeState
value = 0
ctrl = 1
- ステートを0(アイドル状態)に変更し、同時に操作可能にします。
大抵のStateDefの最後を飾る記述です。
ClearClipboard
デバッグ用。クリップボードの内容(デバッグ情報)を消去します。
パラメータ指定例:
type = ClearClipboard
trigger1 = 1
使用例:
なし
CtrlSet
プレイヤーのコントロールフラグをセットします。フラグが立っていると技の途中でも歩行、ジャンプ等の動作ができてしまいます。
通常はStateDefの冒頭でセットするので、ステートの途中でフラグを変更するときなどに使用します。
パラメータ指定例:
type = CtrlSet
trigger1 = time = 10
value = 1
必須パラメータ:
- value = コントロールフラグ (int)
- 1なら操作可能。0で不可。
オプションパラメータはありません
使用例:
なし
DefenceMulSet
防御力を倍数で指定します。一時的に防御力が上がる技などに。バグか仕様かはわかりませんが、win版ではMovetypeがHのときしか効果がありません。
パラメータ指定例:
type = DefenceMulSet
trigger1 = Life < 200
value = .9
必須パラメータ:
- value = 防御力係数 (float)
- ダメージ係数を少数で指定。省略不可。単純に、受けるはずのダメージ値にこの係数が乗算されます。例えば、0.5でダメージ半分、2で倍です。
ちなみに、負数を指定すると、ダメージ値×係数分体力が回復します。0にすると、一律1のダメージを受けるようになります。
オプションパラメータはありません
使用例:
なし
DestroySelf
helperのステートに記述します。そのhelperを消すことができます。パラメータはありません。
helperは同時に存在する数に上限がありますので、常駐させるとき以外は、必ず消すようにしましょう(ラウンド終了時も自動で消えますが)。helper以外のステートでは無効。
パラメータ指定例:
type = DestroySelf
trigger1 = animtime = 0
使用例:
なし
DisplayToClipboard
デバッグモード(Ctrl+D)でのみ有効なステートコントローラ。
クリップボードの内容を消去し、デバッグ用のメッセージを表示します。
直前の値と見比べたい場合は、AppendToClipboardを使用します。
パラメータ指定例:
type = DisplayToClipboard
trigger1 = 1
text = "%d,%d,%d,%f,%f"
params = var(0),var(1),var(2),fvar(0),fvar(1)
必須パラメータ:
- text = "所定の文字列"
-
画面に出力したい文字列を、定められた書式に従って指定します。
基本的には""で括った文字列がそのまま出力されますが、特別な書式として、
「\n」が改行、「\t」がタブ、「%%」が%、「%d」がint値、「%f」がfloat値として出力されます。
オプションパラメータ:
- params = exp_1, exp_2, exp_3, exp_4, exp_5
- ここで指定した値が、指定順に、textで記述した%d、%fと置き換わります。5つまで指定可能。
text中の%d、%fの数と、paramsの数は、一致させる必要があります。データ型は、一致しなくてもエラーとはなりませんが、正しい値が返されません。
使用例:
type = DisplayToClipboard
text="The value of var(17) is %d, which is %f%% of 23.\n\t--Kiwi."
params = var(17):=1,var(17)/.230
-
この例では、paramsに「var(17):=1」と、「var(17)/.230」の2つの値を指定しています。
:=は、代入を明示する演算子です。var(17)の値がtextの%dに置き換わり、var(17)/0.230の答えが、%fと置き換わって画面に出力されます。
実際に画面出力される文字列は、
The value of var(17) is 1, which is 4.347826% of 23.
--Kiwi.
ということになります。
EnvColor
画面を指定色で塗りつぶします。ただし、ヒットスパークやontop=1のExplodなど前面のレイヤーに表示されるスプライトは除きます。
ステージの前面レイヤーは、透明になります。
パラメータ指定例:
type = EnvColor
trigger1 = time = 0
value = 255, 255, 255
time = 1
under = 0
必須パラメータはありません
オプションパラメータ:
- value = col_赤, col_緑, col_青 (int)
-
色のR,G,B要素を指定。省略時255,255,255(まっしろ)。
- time = 効果持続時間 (int)
-
効果を及ぼす時間を指定。省略時1。-1で永久。
- under = 背面フラグ (int)
-
1にすると、キャラと飛び道具を塗りつぶさなくなります。省略時0。
使用例:
なし
EnvShake
画面を揺らします。
パラメータ指定例:
type = EnvShake
trigger1 = time = 0
time = 10
freq = 60
ampl = -4
phase = 0
必須パラメータ:
- time = 揺れる時間 (int)
- 揺れの持続時間を指定。省略不可。
オプションパラメータ:
- freq = 揺れの速度 (float)
- 揺れるスピードを、0(低速)〜180(高速)の間で指定。省略時60。
- ampl = 揺れ幅 (int)
- 揺れ幅をピクセル寸法で指定。負数を指定すると、最初、下方向に揺れます。省略時-4。
- phase = 位相 (float)
- 位相を指定。省略時0。但し、振動数の乗数が90以上のときは、省略時90。よくわかりません。
使用例:
なし
Explod
指定したスプライトを表示します。anim以外のパラメータは、省略可能。なお、同時に存在できる総数には上限があり、標準では64個となっています。仮に1Pが64個出してしまった場合、2Pは1つも出せなくなります。
総数の上限は自由に変えられますが、高い値にするほど、マシンパワーを必要とします。逆に、動作が重かったりする場合は、この値を下げることにより改善する場合があります。
パラメータ指定例:
type = Explod
trigger1 = time = 0
anim = F2
ID = 0
pos = 0, 0
postype = p1
facing = 1
vfacing = 1
bindtime = -1
vel = 0, 0
accel = 0, 0
random = 0, 0
removetime = -2
supermovetime = 0
pausemovetime = 0
scale = 1, 1
sprpriority = 1
ontop = 0
shadow = 0, 0, 0
ownpal = 0
removeongethit = 1
必須パラメータ:
- anim = [F]アクション番号 (int)
- 省略不可。表示させるスプライトのアクション番号を指定。fightfx.airのものを使う場合は、先頭にFを記述。
オプションパラメータ:
- ID = ID番号 (int)
- 識別用のIDを指定。
- pos = x座標, y座標 (int)
- 出現位置を指定。
- postype = 出現位置の基準 (string)
- どこを出現位置の基準(0,0)にするかを、以下の文字列から指定。
- - p1
- 自分。向いている方が正方向。
- - p2
- 直近の敵。直近の敵が向いている方が正方向。
- - front
- 自分が向いている方向の画面上端。画面中央方向が負数となるらしい。
- - back
- 自分が背を向けている方向の画面上端。画面中央方向が正数となるらしい。
- - left
- 画面左上。右方向が正。
- - right
- 画面右上。左方向が正。
- facing = 向き (int)
- スプライトの向きを指定。1で正、-1で負の方向を向きます。省略時1。
- vfacing = 上下の向き (int)
- 省略時1。-1にすると、垂直方向に反転表示されます。
- bindtime = 固定時間 (int)
- ここで指定した時間内は、基準位置からの相対位置で表示されます。
つまり、基準位置が移動すると、それに合わせてスプライトも移動します。
- vel = x速度, y速度 (float)
- スプライトの初速度を指定。省略時0,0。
- accel = x加速度, y加速度 (float)
- スプライトの加速度を指定。省略時0,0。
- random = x範囲, y範囲 (int)
- 出現位置をランダムにする場合の、出現範囲を指定。
pos = 0,0で、random = 40,80の場合、0,0の位置から左右-20〜20ピクセル、上下-40〜40ピクセルの範囲内でランダムに出現します。
- removetime = 消滅時間 (int)
- 発生してから消滅するまでの時間を指定。-1で永久に表示。省略時は-2で、スプライトのアニメが終了すると消えます。特定の条件下で消すような場合は、Expoldを消すコントローラを使うとよいでしょう。
- supermove = superpause無視フラグ (boolean)
- 1にすると、superpauseコントローラの影響を受けなくなります。省略時0。
指定しないほうがよいパラメータのようです。下記のsupermovetimeで代用してください。
- supermovetime = superpause無視時間 (int)
- superpauseコントローラの影響を無視する時間を指定。省略時0。
- pausemovetime = move_time (int)
- pauseコントローラの影響を無視する時間を指定。
- scale = 横縮尺 [,縦縮尺] (float)
- 縮尺を指定。省略時1。
- sprpriority = スプライト表示優先順位 (int)
- スプライトの表示優先順位を指定。-3にすると、大抵のスプライトより奥に表示されます。省略時0。
- ontop = 手前表示フラグ (boolean)
- 1にすると、sprpriorityは無視され、全てのスプライト、背景レイヤーより手前に表示されます。ただし、ヒット/ガードスパークより手前に表示させることはできません。省略時0。
- shadow = 赤影, 緑影, 青影 (int)
- 影の色をR,G,Bで指定。-1でステージ依存。省略時0,0,0(影なし)。
- ownpal = 独自パレットフラグ (boolean)
- 省略時は0で、プレイヤーと共通のパレットを持ちます。例えば、プレイヤーが青く点滅すると、Explodも青く点滅します。
1にすると、独自のパレットを持つようになります。
- removeongethit = やられ消滅フラグ (boolean)
- 1にすると、プレイヤーが攻撃を受けた場合、消滅します。省略時0。
ExplodBindTime
そのまんま。有効なExplodのbindtimeパラメータを変更します。
パラメータ指定例:
type = ExplodBindTime
trigger1 = time = 0
ID = 100
time = 10
必須パラメータはありません
オプションパラメータ:
- ID = ExplodのID (int)
- 変更するExplodのIDを指定。-1で、すべてのExplodが対象になります。省略時-1。
- time = 固定時間 (int)
- 新たに設定する固定時間を指定します。
代替書式:
- value = 固定時間 (int)
- timeの代わりにvalueと書いてもエラーがでません。それだけ。
使用例:
なし
ForceFeedback
対応ゲームパッドをぶるぶるさせるらしいです。このコントローラの動作を確認できる人がいるのかどうかは謎。
パラメータ指定例:
type = ForceFeedback
trigger1 = time = 0
waveform = "sine"
time = 60
ampl = 128,0,0,0
self = 1
必須パラメータ:
- waveform = 振動の仕方 (string)
- "sine"、 "square"、 "sinesquare"、 "off"の内から、振動の仕方を指定。
オプションパラメータ:
- time = 持続時間 (integer constant)
- 何フレーム振動するかを指定。省略時60。
- freq = 初期振動数 (integer constant), d1, d2, d3 (float constants)
- 振動数を0〜255の範囲で指定します。経過時間tにおけるfreqは、
初期振動数 + d1*t + d2*t**2 + d3*t**3
という式で表せます。ちなみに、**はべき乗の演算子です。省略時は、
freq = 128,0,0,0
でも、このパラメータ、全然無効とのこと。
- ampl = 初期振幅 (integer constant), d1, d2, d3 (float constants)
- 振幅を0〜255の範囲で指定します。経過時間tにおけるamplは、
初期振幅 + d1*t + d2*t**2 + d3*t**3
という式で表せます。ちなみに、**はべき乗の演算子です。省略時は、
ampl = 128,0,0,0
- self = 自分フラグ (boolean constant)
- 1ならp1の、0ならp2のパッドがブルブルします。省略時1。
使用例:
- common1.cnsファイルのやられステートに記述が見られます。
FallEnvShake
プレイヤーが攻撃を受けているときに有効。相手のHitDef中のfall.envshakeパラメータを実行します。やられステートを上書きするときや、特殊なやられなどに使用。
パラメータ指定例:
type = FallEnvShake
trigger1 = time = 0
パラメータはありません
使用例:
- common1.cnsファイルのやられステートに記述が見られます。
GameMakeAnim
ヒットマークやダウン衝撃などの共通アニメを表示します。
Explodでも代用は可能ですが、相手に参照させるステート内では、こちらを使うのが無難。
パラメータ指定例:
type = GameMakeAnim
trigger1 = time = 0
value = 0
under = 0
pos = 0, 0
random = 0
必須パラメータ:
- value = アクション番号 (int)
- fightfxに登録されているアクション番号を指定します。
オプションパラメータ:
- under = 背面フラグ (int)
- 1にすれば、キャラの奥側に表示されます。省略時は0で、キャラの前面に表示されます。
- pos = x_座標, y_座標 (float)
- キャラの軸を基準とした出現位置を指定します。
- random = 出現範囲 (int)
- 指定した値を辺の長さとする正方形の範囲内でランダムな位置に出現さるときに指定。
使用例:
なし
Gravity
cnsで設定した"yaccel"の値を利用してプレイヤーに重力をかけます。効果は1フレーム。パラメータはありません。
"yaccel"以外の重力をかけるときはVelAddを使用します。VelAddでも代用可能ですが、GravityはPosFreeze中に加速の影響を受けないという特徴があります。
パラメータ指定例:
type = Gravity
trigger1 = 1
パラメータはありません
使用例:
trigger1 = 1
type = Gravity
- そのステート中、プレイヤーに対して常に重力がかかります。
このコントローラを使う場合は、phisycsがNのはずなので、着地したときの記述を忘れないようにしましょう。
Helper
プレイヤー以外のキャラクターを出現させます。
helperが参照するステートを別に記述する必要がありますが、様々な動きが可能。
複雑な動作の飛び道具や援護キャラ、プレイヤーについて動き回るペットなどに利用します。
普通のプレイヤーと同じ扱いなので、攻撃したり、攻撃を受けたりすることが可能ですが、扱いには少々慣れが必要で、専用のステート以外には移行しないように気をつけないと、プレイヤーの分身木偶人形になり、そのラウンド中は消せなくなってしまいます。やられ判定をつけるときは、特に気をつけましょう。
Helperは、独立したキャラなので、ヘルパーのステートで使用される変数は、そのヘルパーに固有のものとなります。ヒットフラグやターゲットも独自に保有しますので、例えば飛び道具として使用した場合、敵に当たっても、相手はhelperのターゲットとなり、プレイヤー側には何も起こりません(ターゲット取得せず、ヒットフラグも立たず、ジャグルも減らない)。そしてhelperが消滅すると、ターゲットも存在しなくなるため、敵がのけぞり中でもコンボカウンターが途切れます。但し、消滅前に別キャラが攻撃を当てた場合や、別キャラのターゲットに対してヘルパーが攻撃した場合は、そのキャラのターゲットとして継続しますので、コンボカウンターは途切れません。
そんな自立心あふれるHelperさんですが、彼が射出したProjectileは、何故かプレイヤーの管理となります。
なお、helperは、同時に存在できる数に上限が定められており、標準で32個です。プレイヤー1人につきでなく、全部合わせた数です。値は自由に変えられますが、大きな値にするほどマシンパワーが必要となります。
ちなみに、プレイヤーIDは、このhelperの分が最初に確保されるようで、プレイヤーキャラクターに当てられるIDは、helperの上限値からとなります。
パラメータ指定例:
type = Helper
trigger1 = time = 0
helpertype = normal
name = "MyHelper"
ID = 2000
pos = 0, 0
postype = p1
facing = 1
stateno = 2000
keyctrl = 0
ownpal = 1
supermovetime = 0
pausemovetime = 0
size.xscale = 0
size.yscale = 0
size.ground.back = 0
size.ground.front = 0
size.air.back = 0
size.air.front = 0
size.height = 0
size.proj.doscale = 0
size.head.pos = 0, 0
size.mid.pos = 0, 0
size.shadowoffset = 0
必須パラメータはありません
オプションパラメータ:
- helpertype = nomal または player
- ヘルパーのタイプをnomalかplayerで選択します。省略時はnomal。playerにした場合、カメラが追うなど、通常のプレイヤーと同じ扱いとなりますが、普通、指定してはいけません。
- name = "ヘルパー名"
- ヘルパーの名前を指定。省略時は、 "<親の名前>'s helper"となります。
多数のヘルパーを使う処理の場合、名前をつけないと、デバッグ時にわけがわからなくなります。
- ID = ヘルパーID (int)
- ヘルパーのIDを指定。省略時は0。特定IDのヘルパーの状態を取得したりするのに必要。自動で割り振られるプレイヤーIDとは別物。
- pos = x座標, y座標 (int)
- ヘルパーの初期出現位置を指定します。
- postype = 基準位置
- どこを基準(0,0)にヘルパーを出現させるかを、以下の文字列から指定します。
- - p1
- 自分。向いている方が正方向。
- - p2
- 直近の敵。直近の敵が向いている方が正方向。P4は指定不可。。。
- - front
- 自分が向いている方向の画面上端。画面中央方向が負数となるらしい。
- - back
- 自分が背を向けている方向の画面上端。画面中央方向が正数となるらしい。
- - left
- 画面左上。右方向が正。
- - right
- 画面右上。左方向が正。
- facing = facing (int)
- ヘルパーの出現時の向きを指定。省略時1。
postypeがleftかrightの場合、1で右、-1で左を向きます。postypeがp2の場合、1で直近の敵と同じ向きを、-1で逆を向きます。postypeがそれ以外の場合は、1でプレイヤーと同じ向きを、-1で逆を向きます。
- stateno = ステート番号 (int)
- ヘルパーが参照するステート番号を指定。省略時0。つまり通常モーション。
- keyctrl = コントロールフラグ (boolean)
- ヘルパーがキーコントロールを受け取るかどうかを指定。省略時0。
1にした場合、プレイヤーの-1ステートを参照するようになります。
helperの仕様をよほど深く理解していない限りは、指定しない方が良いでしょう。
- ownpal = 独自パレットフラグ (boolean)
- 省略時0。親と共通のパレットを持ちます。つまり、親が燃えやられ等で赤点滅すると、ヘルパーも赤点滅します。
1にすると、ヘルパーが独自のパレットを持ちます。基本的に、1を指定した方が良いでしょう。
- supermovetime = SuperPause無視時間 (int)
- SuperPause中に動ける時間を指定。
- pausemovetime = Pause無視時間 (int)
- Pause中に動ける時間を指定。
- size.xscale = 横縮尺 (float)
size.yscale = 縮尺 (float)
size.ground.back = 前ぶつかり判定 (int)
size.ground.front = 後ぶつかり判定 (int)
size.air.back = 空中での前ぶつかり判定 (int)
size.air.front = 空中での後ぶつかり判定 (int)
size.height = 縦ぶつかり判定 (int)
size.proj.doscale = 飛び道具縮尺適用フラグ (int)
size.head.pos = 頭の位置 (int,int)
size.mid.pos = 体の中間の位置 (int,int)
size.shadowoffset = 影の表示位置 (int)
- サイズを指定。省略時は親と同じ値になります。
もっとも、nomalヘルパーは、ぶつかり判定がありませんので、気にする必要は、あまりありません。判定を持たせたい場合は、PlayerPushを使用します。
ちなみに、ground.back〜heightまで、すべて0にした場合、playerpushでぶつかりを発生させても、相手をすり抜けるようになります。
使用例:
なし
HitAdd
連続技実行中、ヒット数を増減します。
パラメータ指定例:
type = HitAdd
trigger1 = time = 0
value = 1
必須パラメータ:
- value = ヒット数増減値 (int)
- 増減したい値を指定。
オプションパラメータはありません
使用例:
なし
HitBy
一時的に特定の攻撃以外食らわないようにします。回り込み(投げのみ食らう)などに。
ジャンプの瞬間など「投げのみ食らわない」といった場合は姉妹品のNotHitByを使います。
また、HitBy効果持続中に、同じスロットのHitBy、NotHitByが実行されると、それまでのHitByの効果は無効となります。
パラメータ指定例:
type = HitBy
trigger1 = 1
value = ,AT
time = 1
必須パラメータ:
- value = 攻撃属性 又は value2 = 攻撃属性
- 省略不可。攻撃属性で指定できる値は、HitDefのattrパラメータで指定できる値と同じです。
2つのスロットが用意されており、どちらか一方のみ指定可能。
他のHitBy、NotHitBy効果持続中に実行される可能性があるなら、value2の方を使うとよいでしょう。
オプションパラメータ:
- time = 効果持続時間 (int)
- 指定時間内だけ効果があります。省略時1。特定の技に無敵を付加する場合は、トリガーで持続時間を指定したほうがよいでしょう。
詳細:
- 2つのスロットが用意されており、どちらもHitByとNotHitByで利用されます。
ステートコントローラが実行されると、指定されたスロットのtimeパラメータで指定された時間がカウントダウンし、0になるまでの間はそのスロットが有効と判断され、有効なすべてのスロットの攻撃属性の攻撃のみ受け付けられます。
HitByを使用することにより、これらのスロットに有効な攻撃属性をセットできます。
使用例:
trigger1 = 1
type = HitBy
value = S, NA
- そのステート中は立ち通常攻撃以外食らいません。
HitDef
airファイルで設定した攻撃判定Clsn1(赤い四角)が敵のやられ判定Clsn2(青い四角)に接触したときのやられ側の動きを設定します。
そのステート中効果が持続しますが、1回ヒットしたキャラに対しては、効果を及ぼさなくなります。このため、複数ヒットする技の場合は、ヒットさせたい数だけHitDefを定義するか、複数回効果があるようにトリガーを設定する必要があります。
なお、一度発生したHitDefの効果を完全に無効にするには、別なステートに移行する必要があります。
Clsn1がない場合、又はmovetypeがA以外の場合は、一時的に判定がなくなります。
極めて多くのパラメータが用意されており、非常に細かい設定が可能です。
パラメータ指定例:
type = HitDef
trigger1 = animelemtime(2) = 0
attr = S,NA
hitflag = MAF
guardflag = MA
affectteam = E
animtype = Light
air.animtype = Back
fall.animtype = DiagUp
priority = 4,Hit
damage = 40
pausetime = 8, 8
guard.pausetime = 2, 2
sparkno = S2000, 0
guard.sparkno = S2100, 0
sparkxy = -60, 20
hitsound = S10 ,0
guardsound = S20, 0
ground.type = High
air.type = High
ground.slidetime = 20
guard.slidetime = 20
ground.hittime = 20
air.hittime = 20
guard.ctrltime = 20
yaccel = .5
ground.velocity = -4, 0
guard.velocity = -4
air.velocity = -3, -6
airguard.velocity = -3, -6
ground.cornerpush.veloff = 0
air.cornerpush.veloff = 0
down.cornerpush.veloff = 0
guard.cornerpush.veloff = 0
airguard.cornerpush.veloff = 0
airguard.ctrltime = 20
air.juggle = 0
sprpriority = 1
p1facing = 1
p1getp2facing = 0
p2facing = 1
p1stateno = 0
p2stateno = 5000
p2getp1state = 0
forcestand = 0
fall = 1
fall.xvelocity = 0
fall.yvelocity = -4.5
fall.recover = 0
fall.recovertime = 4
fall.damage = 0
air.fall = 1
down.velocity = -3, -6
down.hittime = 10
down.bounce = 1
id = 200
chainID = -1
nochainID = 0, 200
hitonce = 0
kill = 1
guard.kill = 1
fall.kill = 1
numhits = 1
getpower = 50, 25
givepower = 30, 15
palfx.time = 1
palfx.mul = 256,256,256
palfx.add = 256,256,256
envshake.time = 10
envshake.freq = 60
envshake.ampl = -4
envshake.phase = 0
fall.envshake.time = 10
fall.envshake.freq = 60
fall.envshake.ampl = -4
fall.envshake.phase = 0
必須パラメータ:
- attr = 属性1, 属性2 (string)
- 攻撃の属性を指定します。省略不可。
属性1には、「S」「C」「A」(順に立ち、屈み、空中)のいずれかを指定します。
属性2には、「N」「S」「H」「A」(順に通常、必殺、超必殺、すべて)と、「A」「T」「P」(同じく攻撃、投げ、飛び道具)を組み合わせて指定します。
例えば立ちパンチなどなら attr = S,NA、空中で飛び道具を出す超必殺技なら attr = A,HP と記述します。
空中判定になる地上攻撃(リープアタック等)は、空中扱いにしましょう。ただし、AirやOffsetで見た目のみ浮いている場合は、地上扱いでもかまいません。とりあえず、statetypeと同じにしておけば、問題ないでしょう。
オプションパラメータ:
- hitflag = ヒットフラグ (string)
- 敵がどういう状態ならヒットするかを指定します。
「H」が立ち、「L」が屈み、「M」が立ち、屈みの両方、「A」が空中、「F」が落下状態、「D」がダウン状態を表し、その組み合わせで指定します。ただし、Dは、Fと組み合わせなければ機能しません。また、Win版では、「P」が追加されており、組み込むことで飛び道具を消せるようになります。
また、これらに「+」を追加すると、食らい状態の敵のみにヒットするようになります。「-」を追加すると食らい状態の敵にはヒットしなくなります。
投げ技など連続技に組み込めない攻撃で有効。
省略するとMAF(ダウン状態にのみヒットしない)になります。
- guardflag = ガードフラグ (string)
- 敵がどういう状態ならガードできるかを指定します。
「H」が立ち、「L」が屈み、「M」が立ち、屈みの両方、「A」が空中で、これらの組み合わせで指定します。省略時MA(どのような状態でもガード可)。
- affectteam = 影響チーム (string)
- チームモード時、どのチームに攻撃が影響するかを指定します。
「B」が敵味方かまわず、「E」が敵のみ、「F」が味方のみです。
省略時はもちろん「E」です。
- animtype = アニメタイプ (string)
- 相手のリアクションアニメの種類を指定します。
「light」が弱、「medium」が中、「hard」が強、「back」が吹き飛び、「up」が真上吹き飛び、「diagup」が斜め吹き飛びです。省略時は「light」。
ただし、「up」と「diagup」はオプションで、相手が絵を用意してない場合は、「back」と同じ結果になります。さらに、Diagupは見本であるカンフーマンでも使用例が用意されていないため、authorによって解釈がまちまちです。
- air.animtype = 空中でのアニメタイプ (string)
- 空中でのアニメタイプを指定。省略時はanimtypeと同じ。
- fall.animtype = fall状態時のアニメタイプ (string)
- fall状態のときのアニメタイプです。省略時は、air.animtypeがupの時はup、それ以外ならbackです。
※fall状態・・・fall=1。hittimeを過ぎても、受身を取らない限り空中復帰できず、着地すると落下ダウンする状態。これに対し、fall=0の場合、空中で立ち直り、hittimeを過ぎると操作可能となる。また、hittime中でも、着地すると通常のジャンプ着地となる。なお、一度fall=1になると、fall=0の攻撃を受けてもfall=1のままとなる。
- priority = ヒット優先度 (int), 相打ちの挙動 (string)
- 攻撃の優先度で、1から7までの整数で指定します。省略時は4です。また、相打ち時の挙動を「hit」「doge」「miss」のうちから指定します。
こちらの攻撃と相手の攻撃が同時に発生した場合、数値の高い方のみヒットします。
数値が同じだった場合、「Hit」ならヒット、「Miss」、「Dodge」なら空振りです。「Dodge」の場合、相手の指定が「Hit」でも両者空振りとなります。
投げ技に「Hit」を指定すると、不具合が発生する確率が上がります。
- damage = ヒットダメージ,ガードダメージ (int)
- ヒット、ガード時のダメージを整数で指定します。省略すると0です。
- pausetime = p1停止時間, p2ブルブル時間 (int)
- ヒット時の自分と相手の停止時間を整数で指定します。停止時間中、相手はブルブル揺れます(HitShake状態)。省略時0,0。
- guard.pausetime = p1停止時間, p2ブルブル時間 (int)
- ガード時の自分と相手の停止時間を整数で指定します。停止時間中、相手はブルブル揺れます(HitShake状態)。省略した場合、pausetimeと同じになります。
- sparkno = ヒットスパークのアクション番号 (int)
- ヒットスパークのアクション番号をfightfx.airから指定します。自分のairファイルから指定したい場合は、"sparkno = S2000,0"のように、先頭にSを記述します。省略時は、cnsで設定した値が使用されます。
- guard.sparkno = ガードスパークのアクション番号 (int)
- ガードスパークのアクション番号をfightfx.airから指定します。自分のairファイルから指定したい場合は、"guard.sparkno = S2010,0"のように、先頭にSを記述します。省略時は、cnsで設定した値が使用されます。
- sparkxy = スパークx座標, スパークy座標 (int)
- ヒット、ガードスパークの表示位置を指定します。省略時0,0。
- hitsound = グループ番号, アイテム番号 (int)
- ヒット音をcommon.sndから指定します。5,0(弱ヒット音)〜5,4(大打撃音)から選ぶことになります。自分のsndファイルから指定したい場合は、"hitsound = S1,0"のように、先頭にSを記述します。
- guardsound = グループ番号, アイテム番号 (int)
- ガード音をcommon.sndから指定します。といっても、用意されているのは6,0のみ。自分のsndファイルから指定したい場合は、先頭にSを記述します。
- ground.type = 地上でののけぞり方 (string)
- 相手の地上でののけぞり方を文字列で指定します。animtypeと似てますが、animtypeは強弱、こちらは上下を区別します。tripとかはanimtypeでもよかったような気もしますが・・・
「High」が上のけぞり、「Low」が下のけぞり、「Trip」が転倒、「non」だと何もなし。「non」は、かなり特殊な振る舞いをしますので、設定しない方が吉。
省略時は「high」です。
- air.type = 空中でののけぞり方 (string)
- 相手の空中でののけぞり方を文字列で指定します。設定方法はground.typeと同じ。省略時はground.typeと同じ値になります。
- ground.slidetime = ヒットバック時間 (int)
- 相手が攻撃を受けて後ずさる時間です。この時間が経過すると、ブレーキがかかります。ただし、やられステートのphysicsがSやCになっているため、ヒットバックは摩擦によっても停止します。よって、よろけやられのような、ゆっくりとしたヒットバックは、HitDefでは再現できません。ナニソレ。
省略時0。殆ど意味のないパラメータですが、省略すると、強烈なブレーキがかかってしまうので、省略もできません。
- guard.slidetime = ガードバック時間 (int)
- ground.slidetimeのガード版。省略時はguard.hittimeと同値になります。
- ground.hittime = ヒット時間 (int)
- 相手が攻撃を受けて行動不能になる時間です。長くするほど連続攻撃が繋がりやすくなります。永久コンボが発生しないように、気をつけて設定しましょう。
相手が地上にいる間のみ有効です。省略時0。
- guard.hittime = ガード時間 (int)
- 相手が攻撃をガードしてから自動的に(キーを後ろに入力しなくても)ガードモーションをとり続ける時間。行動不能時間ではないので注意。
DOS版では、なぜか、実際にゲームに反映されるのは、指定値の半分になります。省略するとground.hittimeと同値になりますが、前述の仕様により、実際のガード時間はground.hittimeの半分となり、硬直は、guard.ctrltime(省略時guard.slidetime)か「ground.hittimeの半分」のどちらか低い方、ということにになります。
「ガードされると凄く不利」というのがDOSの仕様です。DOSでの使用を想定している場合は、ちゃんと設定したほうがよいでしょう。
WIN版では、指定値がそのまま適応されます。
- air.hittime = 空中でのヒット時間 (int)
- 相手が空中で攻撃を受けて行動不能になる時間です。この時間を過ぎると、相手はコントロールを取り戻します。ちなみに、このときのグラフィックはairにのみ依存するため、見た目が立ち直っていても、時間内なら行動不能(5035番のアニメが短いとき起きる現象)ですし、時間が経過していれば、見た目がのけぞり中でも行動可能(5035番のアニメが長いとき起きる現象)です。省略時は20。つまり、この値に合わせてair(5035番)を設定する必要があります。fallパラメータが1の場合、このパラメータは無効になります。
- guard.ctrltime = ガードからの復帰時間 (int)
- 相手が攻撃をガードしてからコントロールを取り戻すまでの時間。ただし、どんなに大きな値にしてもguard.hittimeが過ぎれば相手はコントロールを取り戻します。
省略時は、なぜかguard.slidetimeと同値。ちゃんと設定した方がよいパラメータです。
- guard.dist = ガード認識距離 (int)
- 相手がガード操作を行うことでガードポーズを取るようになる距離をピクセルで指定します。省略時は、cns冒頭で設定した値と同じになります。
基本的に、使用されることのないパラメータです。
- yaccel = 重力 (float)
- ヒット時の重力を指定します。省略時は、相手の重力に依存。
- ground.velocity = ヒット速度X, ヒット速度Y (float)
- 相手が地上で攻撃を受けて移動する速度です。yに負数を指定すると、宙に浮きます。
省略時0,0。地上にいる場合、摩擦の影響を受けます。
- guard.velocity = ガード速度X (float)
- 相手が地上で攻撃をガードしたとき移動する速度です。垂直方向は指定不可。
省略時はground.velocityと同値。
- air.velocity = 空中ヒット速度X, 空中ヒット速度Y (float)
- 相手が空中で攻撃を受けたとき移動する速度です。省略時0,0。
- airguard.velocity = 空中ガード速度X, 空中ガード速度Y (float)
- 相手が空中で攻撃をガードしたとき移動する速度です。省略時は、air.velocityの空中ヒット速度X * 1.5, 空中ヒット速度Y / 2。
- ground.cornerpush.veloff = 地上コーナープッシュ速度 (float)
- 画面端で地上の相手に攻撃を加えたときに、押し戻される速度を指定します。値が大きくなるほど、画面端から遠くに押し戻されます。
省略時は、attrがAの場合は0、それ以外の場合は、1.3*guard.velocityとなります。
相手の移動距離とは無関係で、相手のshaketimeではなく、自分のpausetimeが0になった瞬間に速度がかかります。
- air.cornerpush.veloff = 空中コーナープッシュ速度 (float)
- 画面端で空中の相手に攻撃を加えたときに、押し戻される速度を指定します。値が大きくなるほど、画面端から遠くに押し戻されます。
省略時は、ground.cornerpush.veloffと同値になります。
- down.cornerpush.veloff = ダウンコーナープッシュ速度 (float)
- 画面端でダウン状態の相手に攻撃を加えたときに、押し戻される速度を指定します。値が大きくなるほど、画面端から遠くに押し戻されます。
省略時は、ground.cornerpush.veloffと同値になります。
- guard.cornerpush.veloff = 地上ガードコーナープッシュ速度 (float)
- 画面端で地上の相手に攻撃をガードされた時に、押し戻される速度を指定します。値が大きくなるほど、画面端から遠くに押し戻されます。
省略時は、ground.cornerpush.veloffと同値になります。
- airguard.cornerpush.veloff = 地上ガードコーナープッシュ速度空中 (float)
- 画面端で空中の相手に攻撃をガードされた時に、押し戻される速度を指定します。値が大きくなるほど、画面端から遠くに押し戻されます。
省略時は、ground.cornerpush.veloffと同値になります。
- airguard.ctrltime = 空中ガード復帰時間 (int)
- 相手が空中で攻撃をガードしてからコントロールを取り戻すまでの時間。省略時はguard.ctrltimeと同値。
- air.juggle = ジャグルポイント (int)
- fall状態の敵に対する連続技に必要なポイント数を上乗せします。StateDefの"juggle"パラメータと混同しないようにしましょう。
projectile専用のパラメータと思ってよいらしいです。省略時0。
- mindist = x最小座標, y最小座標 (int)
- maxdist = x最大座標, y最大座標 (int)
- 攻撃がヒットしている間の、P2の移動範囲をP1の位置を基準として指定できますが、このパラメータは一般に使用されません。とありますが、カンフーマンで使われてたり。。。。
- snap = x固定座標, y固定座標 (int)
- ヒットした相手を固定する位置を、P1を基準として指定します。
このパラメータも、通常、使用しません。投げ等で相手を指定位置に固定する場合は、TargetBindを使用します。
- sprpriority = スプライト表示優先度 (int)
- 攻撃が接触した場合のスプライトの表示優先度を指定します。1だと相手の手前、-1だと奥に表示されます。省略時1。
- p1facing = p1の向き (int)
- -1にすると、攻撃がヒットした場合に後ろを向きます。主に投げ技で使用。省略時は向きを変えません。
- p1getp2facing = p1の向き (int)
- 1にすると、攻撃がヒットした場合に相手と同じ方向を、-1で逆を向きます。省略時0(向きを変えない)。p1facingより優先されます。
- p2facing = p2の向き (int)
- 1にすると、攻撃がヒットした場合、相手に正面を向かせます。-1にすると後ろを向かせます。省略時は向きを変えません。
- p1stateno = ヒット時移行するステート番号 (int)
- 攻撃がヒットした場合に移行するステートの番号を指定します。主に投げ技で使用。
- p2stateno = ヒット時相手に参照させるステート番号 (int)
- 攻撃がヒットした場合に、相手に参照させるステートの番号を指定します。これを指定した場合、HitOverrideを仕込んだ相手(Helper等)に攻撃が当たらなくなります。投げ以外には使わない方が良いです。というか、投げに使ってもProjectile等と相打ちした時に致命的な不具合が生じることがあるので、できれば全く使わない方が良いです。
といいたいところですが、代わりに使うことになるTargetStateも扱いが難しいので、不具合を承知で使うのも止むを得ないかもしれません。実際、見本であるカンフーマンでも不具合が発生しますし。。。
- p2getp1state = ステート奪取フラグ (int)
- 0にすると、p2statenoが無効になります。条件によってp2statenoをon/offするときなどに使用します。p2stateno=0でoffになるんじゃないかって?ステート0は通常モーションですよ?
でもp2statenoは使わない方が…
- forcestand = 強制立たせフラグ (int)
- 1にすると、しゃがんだ相手にヒットしても立ち食らいポーズをとらせます。省略時は、ground.velocityのy速度が0なら0、0でなければ1です。
- fall = 落下フラグ (int)
- 通常、相手を浮かせるような攻撃でも、hittimeが終了すれば、相手は立ち直り、着地しますが、fall = 1にした場合、相手は自動では立ち直らず、受身操作(x+y)をしなければダウンします。
- fall.xvelocity = 落下バウンド水平速度 (float)
- 落下状態のままダウンした場合の、バウンド水平速度を変更する場合、指定します。省略時は速度変更なし。
- fall.yvelocity = 落下バウンド垂直速度 (float)
- 落下状態のままダウンした場合の、バウンド垂直速度を指定します。省略時-4.5。
- fall.recover = 受身可能フラグ (int)
- 0にすると相手が落下状態でも受身(x+y)をとれなくなります。省略時1(受身可能)。
- fall.recovertime = 受身可能受付開始時間 (int)
- 落下状態になってから受身が取れるようになるまでの時間を指定します。pausetimeは含まれません。省略時4。fall.recover = 0にした場合は無効。
追撃できることを想定している技の場合、大きな値を設定するか、fall.recover=0にするとよいでしょう。
- fall.damage = damage_amt (int)
- 落下状態のままダウンした場合に与えるダメージを指定します。省略時0。
- air.fall = value (int)
- 空中ヒットしたときのみ落下状態にしたい場合は1にします。fall = 1だと地上やられでも落下状態になります。省略時はfallと同値。
- down.velocity =ダウン追い討ち水平速度, ダウン追い討ち垂直速度 (float)
- ダウン追い討ちヒット時ののけぞり速度を指定します。垂直方向の速度が0以外の場合、相手は宙に浮きます。0の場合はスライドします。省略時は、air.velocityと同値。
- down.hittime = ダウン追い討ちヒット時間 (int)
- ダウン状態の敵に攻撃が当たったとき、スライドする時間です。down.velocityの垂直速度が0の時のみ有効。
- down.bounce = ダウン追い討ちヒットバウンドフラグ (int)
- 1にすると、ダウン追い討ちヒット時、fall.xvelocityとfall.yvelocityでバウンドします。down.velocityの垂直速度が0の時のみ有効。
省略時0(バウンドしない)。
- id = ヒットid番号 (int)
- 識別用のIDをつけることができます。後述と組み合わせることにより、特定の技からは繋がらなかったりするようにできます。
また、Target系のステコン、トリガーが参照するID(HitID)は、このIDの攻撃によりターゲットとなった敵を示します。省略時0。
- chainID = 連続ヒットid番号 (int)
- ここで指定したIDからのみ、攻撃が繋がるようになります。省略時-1(すべての攻撃が繋がります)。
- nochainID = 不連続ヒットid番号1,不連続ヒットid番号2 (int)
- ここで指定したIDからは攻撃が繋がらなくなります。2つまで指定可。ガード時も繋がらなくなる(攻撃がすり抜ける)ので、使いにくい。。。省略時-1(すべての攻撃が繋がります)。
- hitonce = 1回ヒットフラグ (boolean)
- 省略時0。1にした場合、複数の敵がいても、1方にしかヒットしなくなります。attrがT(投げ)の場合、1になります。
- kill = KOフラグ (int)
- 0にすると、その攻撃で相手をKOできなくなります。省略時1。
最後の一撃でのみKOしたい多段攻撃などに。
- guard.kill = ガードKOフラグ (int)
- 0にすると、ガード時のダメージで相手をKOできなくなります。省略時1。
- fall.kill = 落下KOフラグ (int)
- 0にすると、落下ダウン時のダメージで相手をKOできなくなります。省略時1。
- numhits = ヒットカウント数 (int)
- コンボカウンターに加算されるヒット数です。省略時1。
- getpower = p1ヒットゲージ増加量, p1ガードゲージ増加量 (int)
- 攻撃がヒットした、ガードされたときに増えるゲージ量です。
省略時は、ヒット時がmugen.cfgのDefault.Attack.LifeToPowerMulパラメータにdamageをかけたものに、ガード時がその半分になります。
- givepower = p2ヒットゲージ増加量, p2ガードゲージ増加量 (int)
- 攻撃がヒットした、ガードされたときに増える相手のゲージ量です。
省略時は、ヒット時がmugen.cfgのDefault.GetHit.LifeToPowerMulパラメータにdamageをかけたものに、ガード時がその半分になります。
- palfx.time = パレット効果時間 (int)
palfx.mul = 赤乗算, 緑乗算, 青乗算 (int)
palfx.add = 赤加算, 緑加算, 青加算 (int)
- 攻撃ヒット時、相手に色の効果を与えたい場合、各値を指定します。
- envshake.time = ヒット時画面振動時間 (int)
envshake.freq = 振動数 (float)
envshake.ampl = 振幅 (int)
envshake.phase = 位相 (float)
- 攻撃ヒット時に画面を揺らしたい場合、各値を指定します。
- fall.envshake.time = 落下時画面振動時間 (int)
fall.envshake.freq = 振動数 (float)
fall.envshake.ampl = 振幅 (int)
fall.envshake.phase = 位相 (float)
- 相手の落下ダウン時に画面を揺らしたい場合、各値を指定します。
- attack.width = z1, z2 (int)
- 現在、使われておりません。
使用例:
なし
HitFallDamage
攻撃を受けたとき、HitDefで設定された落下ダメージを与えます(自分に)。共通ステートを上書きするときや、相手に参照させるステートで使用します。
パラメータ指定例:
type = HitFallDamage
trigger1 = time = 0
パラメータはありません
使用例:
なし
HitFallSet
プレイヤーがヒットモーション中にあるとき、落下状態にします。共通ステートを上書きするときや、相手に参照させるステートで使用します。
パラメータ指定例:
type = HitFallSet
trigger1 = time = 0
value = 1
xvel = -2
yvel = -4.5
必須パラメータはありません
オプションパラメータ:
- value = 落下フラグ (int)
- -1で変更なし。1でfall、0だとfallが解除となります。省略時-1。
- xvel = 水平速度 (float)
yvel = 垂直速度 (float)
- 速度を変更したい場合は、指定します。
使用例:
なし
HitFallVel
プレイヤーがヒットモーション中の落下状態にあるとき、相手のHitDefで指定されたfall.xvelとfall.yvelの値を有効にします。
共通ステートを上書きするときや、相手に参照させるステートで使用します。
パラメータ指定例:
type = HitFallVel
trigger1 = time = 0
パラメータはありません
使用例:
なし
HitOverride
指定した種類の攻撃を受けたときに、指定したステートに移行することができます。カウンター技や、helperのやられなどに。ただし、攻撃側がp2Statenoを設定していると、攻撃が当たらなくなります(不具合防止のため?)。
なお、このコントローラでMovetypeがH以外のステートに移行すると、HitDefを無効にできますが、ヒットスパークとヒット音は必ず発生してしまいます。
一度に8種類の指定が可能。
パラメータ指定例:
type = HitOverride
trigger1 = 1
attr = S,AA
slot = 1
stateno = 0
time = 1
forceair = 0
必須パラメータ:
- attr = 攻撃属性
- どのような攻撃で有効になるかを指定します。設定できる値はHitDefのattrと同じ。省略不可。
オプションパラメータ:
- slot = スロット番号 (int)
- このステートコントローラは一度に8つまで定義ができますが、それぞれslotに指定された番号で区別されます。attr毎に異なる挙動にしたいときに指定。
省略時は0。同じ番号のHitOverrideが有効になると、前のHitOverrideの効果は消えます。
- stateno =ステート番号 (int)
- attrの攻撃を受けたときに移行するステートを指定します。省略時-1(ステート移行しない)。のはずですが、-1を指定すると、HitOverrideそのものが機能しなくなります。
- time = 効果時間 (int)
- このコントローラの有効時間。省略時は1。-1にすると、同じslotのHitOverrideに上書きされるまで有効。
- forceair = 空中ヒットフラグ (boolean)
- 1にすると、空中で攻撃を受けたときと同じ状態になります。全ての攻撃でダウンさせたいときに有効らしい。省略時0。
使用例:
なし
HitVelSet
プレイヤーがやられモーション中であるとき、相手のHitDefで指定された速度を有効にします。
共通ステートを上書きするときや、相手に参照させるステートで使用します。
パラメータ指定例:
type = HitVelSet
trigger1 = hitshakeover
x = 1
y = 1
必須パラメータはありません
オプションパラメータ:
- x = 水平速度フラグ (int)
y = 垂直速度フラグ (int)
- それぞれの方向の速度を有効にするフラグです。0で無効、0以外で有効。
使用例:
なし
注意:
- 旧式のコントローラ。の割には、common1.cnsで使われてたり・・・。
LifeAdd
体力を増減します。回復技、自爆技などに。相手の防御力は考慮されますが、無視することも可能。
パラメータ指定例:
type = LifeAdd
trigger1 = time = 0
value = -100
kill = 1
absolute = 1
必須パラメータ:
- value = 体力増減量 (int)
- 体力の増加・減少量を指定。省略不可。
オプションパラメータ:
- kill = KOフラグ (int)
- 0にすると、ライフが1ポイント残り、KOになりません。省略時1。
- absolute = 絶対量フラグ (int)
- 1にすると、valueで指定した値が増減されます。省略時は0で、相手の防御力が考慮されます。
使用例:
なし
LifeSet
体力を指定値に変更します。全回復技、自分が瀕死になる技など。
パラメータ指定例:
type = LifeSet
trigger1 = time = 0
value = 500
必須パラメータ:
- value = 体力変更値 (int)
- コントローラ実行後に変更される体力を指定します。
オプションパラメータはありません
使用例:
なし
MakeDust
土埃を表示します。絵はfightfx.airのものが使用されます。効果は1フレーム。
パラメータ指定例:
type = MakeDust
trigger1 = time = 0
pos = 0, 0
pos2 = -10, 0
spacing = 3
必須パラメータはありません
オプションパラメータ:
- pos = x出現位置, y出現位置 (int)
- 出現位置をプレイヤーの相対位置で指定。
- pos2 = 2つ目のx出現位置, y出現位置 (float)
- 2つ同時に出す場合、2つ目の位置を指定。省略すると、2つ目は出ません。
- spacing = 表示間隔 (int)
- 何フレームごとに表示するかを指定。省略時3で、3フレームごとに表示されます。1以上を指定すること。
使用例:
なし
ModifyExplod
Explodで設定できる各値を変更します。将来的に仕様変更される予定だったコントローラで、動作が保証されていませんでしたが、もはやmugenがアップデートされることはないので、使用しても問題ないでしょう。
パラメータ指定例:
type = ModifyExplod
trigger1 = time = 0
ID = 0
pos = 0, 0
postype = p1
facing = 1
vfacing = 1
bindtime = -1
vel = 0, 0
accel = 0, 0
random = 0, 0
removetime = -2
supermovetime = 0
pausemovetime = 0
scale = 1, 1
sprpriority = 1
ontop = 0
shadow = 0, 0, 0
ownpal = 0
removeongethit = 1
MoveHitReset
ヒットフラグ(MoveContact、MoveGuarded、MoveHit、WinではMoveReversedも)を0にします。
パラメータ指定例:
type = MoveHitReset
trigger1 = movecontact
パラメータはありません
使用例:
なし
NotHitBy
一時的に特定の攻撃を食らわなくなります。無敵技、ジャンプ開始モーションなどに。
姉妹品にHitByがあります。指定方法が異なるだけで、実質的に同じコントローラと思ってよいです。
パラメータ指定例:
type = NotHitBy
trigger1 = 1
value = SC,AT
time = 1
必須パラメータ:
- value = 攻撃属性 又は value2 = 攻撃属性
- 省略不可。攻撃属性で指定できる値は、HitDefのattrパラメータで指定できる値と同じです。
2つのスロットが用意されており、どちらか一方のみ指定可能。
他のHitBy、NotHitBy効果持続中に実行される可能性があるなら、value2の方を使うとよいでしょう。
なお、value = SCA, NAなどとして通常攻撃のみ食らわないようにしようとしても、全ての攻撃に対し、無敵になります。どうやらSCAを指定すると、問答無用で無敵になるようです。このような場合は、SCAを省略し、value = ,NAとしましょう。
オプションパラメータ:
- time = 効果持続時間 (int)
- 指定時間内だけ効果があります。省略時1。特定の技に無敵を付加する場合は、トリガーで持続時間を指定したほうがよいでしょう。
詳細:
- 2つのスロットが用意されており、どちらもHitByとNotHitByで利用されます。
ステートコントローラが実行されると、指定されたスロットのtimeパラメータで指定された時間がカウントダウンし、0になるまでの間はそのスロットが有効と判断され、有効なすべてのスロットの攻撃属性の攻撃のみ受け付けられます。
NotHitByを使用することにより、これらのスロットに有効な攻撃属性をセットできます。
使用例:
- type = NotHitBy
value = SCA
trigger1 = 1
- 一切攻撃を食らわなくなります。
- trigger1 = 1
type = NotHitBy
value = , NA, AP
- 通常攻撃、飛び道具を食らわなくなります。
Null
何もしません。ステートコントローラを一時的に無効にするときなどに使用します。動作チェック用。
パラメータ指定例:
type = Null
trigger1 = 1
パラメータはありません
Offset
プレイヤースプライトの表示位置を変更します。Clns枠もしっかり移動します。1フレームのみ有効。
見た目のみキャラを移動させる場合に使えます。
パラメータ指定例:
type = Offset
trigger1 = 1
x = -2
y = 0
必須パラメータはありません
オプションパラメータ:
- x = x位置 (float)
y = y位置 (float)
- プレイヤーを基準として指定の表示位置にスプライトをずらして表示させます。
使用例:
なし
PalFX
プレイヤーのパレットに様々な効果を与えます。
パラメータ指定例:
type = PalFX
trigger1 = time = 0
time = 1
add = 0,0,0
mul = 256,256,256
sinadd = 256,256,256,10
invertall = 0
color = 256
必須パラメータはありません
オプションパラメータ:
- time = 持続時間 (int)
- 効果の持続時間を指定します。ステートが変わっても有効なので、パレット変更中にやられステートに移行しても効果は持続します。この現象を回避したければ、time=1にして、トリガーで時間を調整します。ただし、その場合sinaddは機能しません。
- add = add_赤, add_緑, add_青 (int)
- 指定した色要素をプレイヤーのパレットに加算します。省略時は0,0,0で、効果は変更なし。色要素の合計値が大きくなるほど、色が明るくなります。
暗い色ほど指定色に近づきます。例えば、add=256,0,0の場合、真っ黒な箇所は赤くなりますが、真っ白な箇所は真っ白のままです。
- mul = mul_赤, mul_緑, mul_青 (int)
- 指定した色要素(の1/256)をプレイヤーのパレットに乗算します。省略時は256,256,256で、効果は変更なし。色要素の合計値が小さくなるほど、色が暗くなります。
明るい色ほど指定色に近づきます。例えば、add=64,256,64の場合、真っ白な箇所は緑になりますが、真っ黒な箇所は真っ黒のままです。
add=30,30,30などとして暗い部分を底上げしてから、mulで色を変更すると、指定色のスクリーンを通したような感じになります。
CVSの燃え/電撃やられのように、黒っぽくしたい場合は、mulのみを指定するとよいです。
- sinadd = ampl_赤, ampl_緑, ampl_青, 周期 (int)
- 指定した色要素を、指定周期(単位はフレーム)の正弦波でプレイヤーのパレットに加算/減算します。例えば、sinadd = 0,0,256,20の場合、5Fかけて青っぽくなり、さらに5Fかけて元に戻り、次に5Fかけて黄色っぽくなってから、5Fかけてまた元に戻る(計20F)、という周期を繰り返します。指定色だけでなく、補色も出てしまうという、謎の仕様です。addパラメータで補色の分を底上げしておきましょう。
- invertall = 反転フラグ (bool)
- 1にすると、色が反転されます。結果として写真のネガのようになります。
- color = 彩度 (int)
- 省略時は256(変化なし)ですが、0に近付くにつれ彩度が低下します。0でグレースケール(白黒)になります。
元のパレットに影響を受けずに色合いを変更できます。
使用例:
なし
ParentVarAdd
helperのステート内で記述。helperの親の変数を増減します。helper以外のステートで書いても意味なし。
helperは固有の変数を持ちますので、VarAddだとhelper自身の変数を増減することになります。
記述例(整数版):
type = ParentVarAdd
trigger1 = time = 0
v = 0
value = 1
又は
type = ParentVarAdd
trigger1 = time = 0
var(0) = 1
記述例(小数版):
type = ParentVarAdd
trigger1 = time = 0
fv = 0
value = .1
又は
type = ParentVarAdd
trigger1 = time = 0
fvar(0) = .11
必須パラメータ:
- v = 整数変数番号 (int)
- 増減する親の整数変数の番号を0〜59から指定します。
- value = 整数増加量 (int)
- 増減量を整数で指定します。
- fv = 小数変数番号 (int)
- 増減する親の小数変数の番号を0〜39から指定します。
- value = 小数変数増加量 (float)
- 増減量を小数で指定します。
オプションパラメータはありません
代替書式:
- var(番号) = 整数増減量 (整数版)
fvar(番号) = 小数増減量 (小数版)
- こっちの書式を使った方が楽チン。
注意:
- Due to historical reasons, note that the alternate VarAdd
syntax listed above matches neither the syntax for variable
assignment within an expression, nor the syntax for variable
addition within an expression.
相手のステートを奪った状態でこのコントローラを実行すると、相手の親の変数を変更することになってしまいます(helperのステートを奪うことは、あまりないとは思いますが)。失礼な行為に当たりますので、注意。
使用例:
なし
ParentVarSet
helperのステート内で記述。helperの親の変数に指定値を代入します。helper以外のステートで書いても意味なし。
helperは固有の変数を持ちますので、VarSetだとhelper自身の変数が対象になります。
記述例(整数版):
type = ParentVarSet
trigger1 = time = 0
v = 0
value = 1
又は
type = ParentVarSet
trigger1 = time = 0
var(0) = 1
記述例(小数版):
type = ParentVarSet
trigger1 = time = 0
fv = 0
value = .1
又は
type = ParentVarSet
trigger1 = time = 0
fvar(0) = .11
必須パラメータ:
- v = 整数変数番号 (int)
- 代入する親の整数変数の番号を0〜59から指定します。
- value = 整数代入値 (int)
- 代入値を整数で指定します。
- fv = 小数変数番号 (int)
- 代入する親の小数変数の番号を0〜39から指定します。
- value = 小数変数代入値 (float)
- 代入値を小数で指定します。
オプションパラメータはありません
代替書式:
- var(番号) = 整数代入値 (整数版)
fvar(番号) = 小数代入値 (小数版)
- こっちの書式を使った方が楽チン。
注意:
- Due to historical reasons, note that the alternate variable
assignment syntax listed above does not exactly match the syntax for
variable assignment within an expression.
相手のステートを奪った状態でこのコントローラを実行すると、相手の親の変数を変更することになってしまいます(hlperのステートを奪うことは、あまりないとは思いますが)。失礼な行為に当たりますので、注意。
使用例:
なし
Pause
時間を止めます。画面上の全てのスプライト、キャラクター、背景に効果を及ぼしますが、-3ステートはPause中も実行されます。
また、Helper、Explod等は設定により停止時間中も動くことが可能。
パラメータ指定例:
type = Pause
trigger1 = time = 0
time = 1
movetime = 1
必須パラメータ:
- time = 停止時間 (int)
- 止める時間(フレーム)を1以上の整数で指定。省略不可。
オプションパラメータ:
- movetime = 停止無視時間 (int)
- 停止時間中に動ける時間を、1以上停止時間以内の整数で指定。停止時間中も、相手に攻撃を加えることが可能。
この時間内は-1ステートが有効になりますが、-2ステートは実行されません。
注意:
- このコントローラによる停止時間中に同じコントローラが実行されると、それまでのpauseは無効となります。
SuperPause停止時間中にPaseが実行された場合は、SuperPauseの効果時間が切れてからPauseが有効になります。
使用例:
なし
PlayerPush
プレイヤーのぶつかり判定の有無を指定します。相手をすり抜けたりする場合に使用。効果は1フレーム。
パラメータ指定例:
type = PlayerPush
trigger1 = 1
value = 0
必須パラメータ:
- value = ぶつかりフラグ (int)
- 1で判定あり、0で判定なし。省略不可。初期値はプレイヤーが1、ヘルパーが0です。
オプションパラメータはありません
使用例:
なし
PlaySnd
音を鳴らします。
パラメータ指定例:
type = PlaySnd
trigger1 = time = 0
value = 1, 1
volume = 0
channel = 0
lowpriority = 0
freqmul = 1
loop = 0
pan = 0
必須パラメータ:
- value = グループ番号, サウンド番号
- プレイヤーのsndファイルから、鳴らす音のグループ番号、サウンド番号を指定。省略不可。common.sndから音を鳴らす場合は、"value = F1, 1"のように、最初にFを記入。
11,0がKOやられ音声である以外は、特に番号に決まりはないため、相手に参照させるステートで使用する場合は、KO音声以外は、common.sndから再生せざるを得ません。
オプションパラメータ:
- volume = 音量
- 音量を指定。0が標準で、正数だと音が大きく、負数だと小さくなるようです。
- channel = チャンネル番号
- チャンネルを指定。同じチャンネルのPlaySndが実行されると、それまで鳴っていた音は止まります。StopSndで特定の音を止める場合にも必要。また、チャンネル0は、ボイス再生専用で、再生中にmovetypeがH(やられ)になると、音が停止するという特性を持っています。省略時は-1で、空いてるチャンネルを使用することになり、再生間隔が短いと、音声がオーバーラップします。キャラ音声の場合は、激しく不自然となるので、忘れずに0を指定しましょう。
- lowpriority = 先方優先フラグ (int)
- 基本的に、同じチャンネルのPlaySndが実行されると、それまで鳴っていた音は止まりますが、lowpriorityを0以外に指定すると、同じチャンネルの音が鳴ってる場合は、PlaySndが実行されなくなります。チャンネルが-1の場合は無効。
- freqmul = 周波数 (float)
- 周波数を倍数で指定。例えば1.1にすると、ピッチが1割り増しとなります。たぶん。はじめて〜の〜チュウ〜
- loop = 繰り返しフラグ (int)
- 0以外を指定すると、サウンドがループするようになります。BGMを鳴らすときなどに?
- pan = パノラマ位置 (int)
- 音が出る位置を変更することができるようです。左右のスピーカーのバランスで調節するのでしょうか。正で自分の前方、負で後方位置から音が鳴ることになります。単位はピクセル。
うまく使えば、臨場感あふれるサウンドを実現できるかもしれません。MUGENでまともに音が鳴れば。
省略時0。プレイヤーの位置から音が鳴っているはずです。ステレオ環境の方は、気をつけて聞いてみましょう。
- abspan = パノラマ位置 (int)
- panとほぼ同じ。panはプレイヤーを基準として位置を指定(正の値が前方、負は後方)しますが、こちらはスクリーンの中央からの位置で指定します。panとの同時指定不可。
使用例:
- type = PlaySnd
value = 2,0
- プレイヤーのsndファイルから2,0に登録されている音を再生します。
- type = PlaySnd
value = F5,2
- common.sndファイルから5,2に登録されている音を再生します。
PosAdd
ピクセル単位で位置を増減します。瞬時に移動させるときに。
パラメータ指定例:
type = PosAdd
trigger1 = time = 0
x = 1
y = 1
必須パラメータはありません
オプションパラメータ:
- x = 水平移動量 (float)
y = 垂直移動量 (float)
- 自分を基準とした移動量を指定。横方向は自分が向いているほうが正。垂直方向は下が正。
なお、小数を指定できるはずですが、座標を返すトリガーをそのまま指定すると、エラーを吐きます。
使用例:
なし
PosFreeze
一時的にその場に停止します。効果は1フレーム。
停止している間もVelAddなどの影響を受けます。その場合、停止が終了したときに、停止時間分の速度が加算された状態で動き出します。なお、Gravityは影響を及ぼしません。
パラメータ指定例:
type = PosFreeze
trigger1 = 1
value = 1
必須パラメータはありません
オプションパラメータ:
- value = 停止フラグ (int)
- 1を指定するとその場に停止します。0で変化なし。省略時1。
使用例:
なし
PosSet
指定座標に瞬時に移動します。着地の瞬間にY座標を0にするときなどに使います。
パラメータ指定例:
type = PosSet
trigger1 = time = 0
x = 1
y = 1
必須パラメータはありません
オプションパラメータ:
- x = 水平位置 (float)
y = 垂直位置 (float)
- 自分を基準とした位置を指定。横方向は自分が向いているほうが正。垂直方向は下が正。
なお、小数を指定できるはずですが、座標を返すトリガーをそのまま指定すると、エラーを吐きます。
使用例:
なし
PowerAdd
標準パワーゲージを増減します。
パラメータ指定例:
type = PowerAdd
trigger1 = time = 0
value = -1000
必須パラメータ:
- value = 増減量 (int)
- 標準パワーゲージの増加量を指定。正で増加、負で減少です。1ゲージ1000ポイントが標準ですが、cnsで変更可能。省略不可。
オプションパラメータはありません
使用例:
なし
PowerSet
標準パワーゲージを指定値に変更します。
パラメータ指定例:
type = PowerSet
trigger1 = time = 0
value = 0
必須パラメータ:
- value = 変更値 (int)
- 標準パワーゲージの変更値を指定。省略不可。
オプションパラメータはありません
使用例:
なし
Projectile
飛び道具を出現させます。独自のパラメータ以外にHitDefの全てのパラメータを設定可能。
ちなみに、飛び道具でもやられ判定を付けないと相殺しません。
割と細かい設定が可能ですが、それでもあまり複雑な動きはできません。
このステートコントローラで役不足な場合はhelperを使用します。
なお、winではプレイヤーへのPalFXの影響を受けてしまいます(バグ?)。ownpal=1を指定してもエラーとはなりませんが、無効です。
ちなみに、helperが出したProjectileも、本体管理となります。当然、パレットも本体と共用です。
Projectile専用のパラメータはすべて省略可能ですが、HitDefのattr、hitflag、guardflagは必須です。
パラメータ指定例:
type = Projectile
trigger1 = animelemtime(3) = 0
projID = 1000
projanim = 1000
projhitanim = 1001
projremanim = 1002
projcancelanim = 1003
projscale = 1, 1
projremove = 1
projremovetime = 10
velocity = 8, 0
remvelocity = 0, 0
accel = 0, 0
velmul = 1, 1
projhits = 4
projmisstime = 0
projpriority = 4
projsprpriority = 2
projedgebound = 20
projstagebound = 20
projheightbound = -240, 1
offset = 0, 0
postype = p1
projshadow = 0, 0, 0
supermovetime = 0
pausemovetime = 0
必須パラメータはありません
オプションパラメータ:
- projID = 飛び道具のID番号 (int)
- IDを指定。Projectile発生条件などに使用。正の整数のみ指定可。
- projanim = 飛び道具のアニメ番号 (int)
- 飛び道具のアニメを指定。省略時0。
- projhitanim = ヒット時のアニメ番号 (int)
- 飛び道具が当たったときのアニメを指定。省略時-1(変更なし)。
- projremanim = 消滅時のアニメ番号 (int)
- 時間経過や、画面外に出たりして消えるときのアニメを指定。省略すると、ヒット時のアニメが使われます。
- projcancelanim = 相殺時のアニメ番号 (int)
- 敵の飛び道具等にかき消されたときのアニメを指定。省略すると、消えるときのアニメが使われます。
- projscale = x縮尺, y縮尺 (float)
- 縮尺を指定。cnsファイルの[Size]群にある"proj.doscale"パラメータが1の場合、同群の"scale"パラメータの影響も受けます。
省略時1,1(変更なし。ただし、proj.doscale=1の場合、プレイヤーのscaleの影響は受ける)。
- projremove = 消滅フラグ (int)
- 0以外を指定すると、ヒット時に消えるようになります。省略時1。
- projremovetime = 射程時間 (int)
- 画面に出現してから、消滅するまでの時間を指定。省略時-1(消えない)。
- velocity = 水平速度, 垂直速度 (float)
- 初速度を指定。省略時0,0。
- remvelocity = 消滅時水平速度, 消滅時垂直速度 (float)
- 消滅時の速度を指定。省略時0,0。
- accel = 水平加速度, 垂直加速度 (float)
- 加速度を指定。省略時0,0。
- velmul = 水平速度係数, 垂直速度係数 (float)
- 加速度を倍数で指定。省略時1,1。
- projhits = ヒット数 (int)
- ヒット数を指定。省略時1。
- projmisstime = ミス時間 (int)
- 複数ヒットする場合、何フレームごとにヒットするかを指定。省略時0。一瞬で全部当たります。
省略しない方がよいとされていますが、misstime中もprojectileは移動するため、ヒット数が多い場合、途中で敵をすり抜けてしまうことがあります。
全段ヒットする飛び道具の場合は、pausetimeの方で調節するのが吉。
- projpriority = 飛び道具優先度 (int)
- 飛び道具の優先度を指定。ヒット数に関係なく、高い方が低い方をかき消します。但し、かき消した場合、優先度が1下がります。省略時1。
例えば、3ヒットするprojpriority = 3の飛び道具は、飛び道具を2つかき消した後でヒットしても、3ヒットします。
- projsprpriority = スプライト表示優先度 (int)
- 飛び道具のスプライト表示優先度を指定。省略時3。結構高いです。
- projedgebound = 画面外射程 (int)
- 画面外に出てから消滅するまでの距離をピクセル(ドット)で指定。省略時40。消滅アニメの半径より小さいと、消滅アニメが画面にはみ出ます。
- projstagebound = ステージ外射程 (int)
- ステージ外に出てから消滅するまでの距離をピクセル(ドット)で指定。省略時40。消滅アニメの半径より大きくしましょう。
- projheightbound = 上空射程, 地上射程 (int)
- 飛び道具の上下射程を指定。この範囲を超えると、消滅します。
省略時-240,1。上空240ピクセル、地下1ピクセルで消滅します。
- offset = 水平発射位置, 垂直発射位置 (int)
- postypeを基準とした発射位置を指定。省略時0,0。
- postype = 発射基準位置
- どこを発射位置の基準(0,0)にするかを、文字列で指定。
- - p1
- 自分。向いている方が正方向。
- - p2
- 直近の敵。直近の敵が向いている方が正方向。敵が2人以上いる場合は、うまく表示されないことも。
- - front
- 自分が向いている方向の画面上端。画面中央方向が負数となるらしい。
- - back
- 自分が背を向けている方向の画面上端。画面中央方向が正数となるらしい。
- - left
- 画面左上。右方向が正。
- - right
- 画面右上。左方向が正。
- projshadow = 赤影, 緑影, 青影 (int)
- 影の色を指定。-1でステージ依存。省略時0,0,0(影なし)。255,255,255でまっくろ。
- supermovetime = superpause無視時間 (int)
- superpause中に動ける時間を指定。コントローラの実行主体は問いません。
- pausemovetime = pause無視時間 (int)
- pause中に動ける時間を指定。コントローラの実行主体は問いません。
RemoveExplod
Explodで出現させたスプライトを消滅させます。
パラメータ指定例:
type = RemoveExplod
trigger1 = time = 0
ID = 1000
- ID = 消滅させるExplodのID (int)
- 消滅させたいExplodのIDを指定します。省略時は、全てのExplodを消します。
ReversalDef
プレイヤーの攻撃判定枠Clns1(赤い四角)と敵の攻撃判定枠(つまり攻撃判定同士)が接触したときの動作(以下、「反撃」)を設定します。
設定できるのはHitDefのパラメータのうちpausetime, sparkno, sparkxy, hitsound, p1stateno, p2statenoと、以下の必須パラメータです。
当て身投げ、弾き、回避技などに。
パラメータ指定例:
type = ReversalDef
trigger1 = animelemtime(2) = 0
reversal.attr = SA,NA,SA
pausetime = 10,10
sparkno = S8000,0
sparkxy = 0,0
hitsound = S1,1
p1stateno = 1000
p2stateno = 1001
必須パラメータ:
- reversal.attr = 反撃属性1,反撃属性2
- どのような攻撃を受けたときに反撃するかを文字で指定。
反撃属性1には、「S」「C」「A」(順に立ち、屈み、空中)のいずれかを指定します。
反撃属性2には、「N」「S」「H」「A」(順に通常、必殺、超必殺、すべて)と、「A」「T」「P」(同じく攻撃、投げ、飛び道具)を組み合わせて指定します。
例えば、reversal.attr = SA,NA,SAとした場合は、立ち又は空中で出す通常攻撃、必殺技に対し、反撃します。
オプションパラメータはありません
使用例:
なし
ScreenBound
カメラ?がプレイヤーを追うか否かを設定します。
軌道の低いジャンプや高速で往復したりする場合などは、画面を固定した方がよいことが多いです。1フレームのみ有効。
パラメータ指定例:
type = ScreenBound
trigger1 = 1
value = 1
movecamera = 1,0
必須パラメータはありません
オプションパラメータ:
- value = 画面固定フラグ (int)
- 0を指定すると、カメラがプレイヤーを追わなくなります。敵との距離が離れると、敵のみカメラが追うため、自分は画面の外に出ることになります。
フラグが解除されたときに、プレイヤーがステージのスクロール距離の範囲外にいる場合、その範囲内に強制的に引き戻されます。この仕様が問題で、たとえ画面内にいても、スクロール距離までワープしてしまいます。
- movecamera = 水平移動フラグ, 垂直移動フラグ (int)
- 省略時0,0。カメラがプレイヤーを追わなくなります。0以外を指定すると、その方向にはカメラが追うようになります。縦方向のみ固定する場合等に。
使用例:
なし
SelfState
ChangeStateと同じく、ステートを変更するコントローラですが、相手のステートを参照している場合に、自分のステートに変更するという点で異なります。
HitDefのP2StateパラメータやTargetStateを使った場合、必ずSelfStateで元に戻すようにしましょう。
また、ChangeStateの代わりとして普通に使えます。-2ステートに記述すれば、相手のステートから無理矢理抜けることもできますが、不具合の元です。
パラメータ指定例:
type = SelfState
trigger1 = animtime = 0
value = 0
ctrl = 1
anim = 0
SprPriority
プレイヤーのスプライト表示優先度を変更します。
パラメータ指定例:
type = SprPriority
trigger1 = animelemtime(3) = 0
value = 0
必須パラメータ:
- value =スプライト表示優先度 (int)
- スプライト表示優先度を-5から5までの値を指定。当然、値が大きいほうが手前に表示されます。
オプションパラメータはありません
使用例:
なし
StateTypeSet
プレイヤーのステートタイプ、行動状態、物理状態を変更します。技の途中で宙に浮いたりする場合に使用します。
パラメータ指定例:
type = StateTypeSet
trigger1 = animelemtime(3) = 0
statetype = S
movetype = I
physics = N
必須パラメータはありません
オプションパラメータ:
- statetype = ステートタイプ (string)
- 立ち、しゃがみ等の状態を文字で指定します。Aが空中、Cがしゃがみ、Sが立ち、Lがダウンです。省略した場合、ステートタイプは変化しません。
- movetype = 行動状態 (string)
- 行動状態を文字で指定。Iが待機状態、Aが攻撃中、Hがくらい中です。省略した場合、行動状態は変化しません。
Aの場合、HitDefが有効になり、敵もガードモーションをとれるようになります。また、Hの場合、相手のHitDefが有効になります。逆を言うと、Aでなければ攻撃しても無効ですし、Hでなければ攻撃を受けてもダメージを受けません。
通常、攻撃を受けた場合、自動的にmovetype=Hのステート(120〜150番台と5000番台)に変更されるため、あまり気にとめることはありませんが、HitOverrideを使う場合や、相手のステートを奪う場合は、注意する必要があります。
- physics = 物理状態 (string)
- 物理状態を文字で指定。Aが空中、Cがしゃがみ、Sが立ち、Nが何もなし。省略した場合、物理状態は変化しません。
Aだとcnsで設定されている重力がかかり、着地時は自動的に着地ステートに移行します。C、Sの場合cnsで設定されている摩擦がかかります。Nは何もなし。重力も摩擦もかかりません。
使用例:
なし
SndPan
PlaySnd実行中、特定チャンネルのサウンドのpan/abspanパラメータを変更します。
パラメータ指定例:
type = PlaySnd
trigger1 = time = 0
pan = 20
必須パラメータ:
- channel = チャンネル番号 (int)
- パンしたいチャンネルの番号を指定。
- pan = パノラマ距離 又は abspan = パノラマ距離 (int)
- 音を鳴らしたい位置を、ピクセルで指定。基準位置(0)は、panの場合が、プレイヤー位置、abspanの場合がスクリーン中央です。省略不可。
これらのパラメータは、同時に指定できません。
オプションパラメータはありません
使用例:
なし
StopSnd
特定チャンネルのサウンドを止めます。
パラメータ指定例:
type = StopSnd
trigger1 = time = 0
channel = 1
必須パラメータ:
- channel = チャンネル番号 (int)
- 止めたい音のチャンネルを指定。省略不可。
-1で全ての音を止めることができますが、全プレイヤーが対象ですので、乱用してはいけません。
オプションパラメータはありません
使用例:
なし
SuperPause
必殺技演出用に時間を止めます。Pauseも参照のこと。画面の暗転、超必殺技エフェクトも指定可能。
時間が止まっている間は、ステート時間も経過しませんが、設定によっては行動可能。
なお、-3ステートは、このステートコントローラを無視します。
パラメータ指定例:
type = SuperPause
trigger1 = time = 0
time = 30
anim = S3100
sound = S100,1
pos = 0,-50
movetime = 30
darken = 1
p2defmul = 1
poweradd = -1000
unhittable = 1
必須パラメータはありません
オプションパラメータ:
- time = 停止時間 (int)
- 止める時間を指定。省略時30(標準で0.5秒)
- anim = 超必殺演出アニメ番号 (int)
- 演出用のアニメを指定。省略時30。fightfx.airの30番が再生されます。自分のairから選ぶ場合は、"anim = S10"のように、最初にSを記述。
- sound = サウンド番号, グループ番号 (int, int)
- 演出用のサウンドを指定。省略時-1(音なし)。標準ではcommon.sndから再生されますので、自分のsndから選ぶ場合は、"sound = S10,0"のように、最初にSを記述。
- pos = x表示位置, y表示位置 (float)
- アニメの表示位置を指定。省略時0,0。
- movetime = 停止無視時間 (int)
- 停止時間中に動ける時間を指定。省略時0。この時間中は、-1ステートも有効になりますが、-2ステートは実行されません。
- darken = 暗転フラグ
- 省略時1で、時間停止中は画面が暗くなります。暗くしたくない場合、0を指定。
- p2defmul = p2防御力 (float)
- ターゲット(自分の攻撃でヒット/ガード状態になった相手)の防御力を倍数で指定。1だと、生でぶち当てた場合と同じダメージになります。
省略時0で、この場合は、mugen.cfgの[Rules]セクションで設定したSuper.TargetDefenceMulの値が適用されます。
- poweradd = パワーゲージ増減量 (int)
- パワーゲージを増減します。省略時0。通常、-3000〜-1000を指定することになるでしょう。
- unhittable = 無敵フラグ (boolean)
- 0を指定すると、時間停止中も相手の攻撃を受けるようになります。省略時1。
注意:
- Pauseコントローラ実行中にSuperPauseが実行されると、Pauseは中断されます。SuperPauseの効果が終了すると、Pauseの効果が再開されます。
使用例:
なし
TargetBind
自分の位置を基点にターゲット(自分の攻撃によりヒット/ガード中の相手)を固定します。主に投げ技に使用。
ガードされた場合でも有効であることも十分考慮しましょう。
パラメータ指定例:
type = TargetBind
trigger1 = 1
time = 1
ID = 800
pos = 0, 0
必須パラメータはありません
オプションパラメータ:
- time = 固定時間 (int)
- 固定する時間を指定。省略時1。
- ID = ヒットID (int)
- 固定する敵のヒットIDを指定。省略時-1(全てのターゲットを固定)。
- pos = x位置, y位置 (float)
- プレイヤーの原点座標からの位置を指定。省略時0,0。
注意:
- Target○○○の命令は、特定のターゲットを指定できないため、敵が2以上いるsimulモードでは不具合が出やすいです。
例えば、1方がヒット、1方がガードだった場合でも、両方巻き込んでしまいます。
両方ともヒットIDは同じであるため、ヒットの方だけ対象にすることは不可能です。
よく考えてトリガーを設定しましょう。
TargetDrop
複数のターゲットがいる場合、特定のもの以外をターゲットから除外します。
パラメータ指定例:
type = TargetDrop
trigger1 = time = 0
excludeID = 800
keepone = 1
必須パラメータはありません
オプションパラメータ:
- excludeID = 除外ID (int)
-
ターゲットとして残す敵をIDで指定。
もちろん、IDはヒットID(攻撃を当てたHitDefのID)です。
省略時-1。全てのターゲットがターゲットでなくなります。よって、コンボカウンターが止まります。
- keepone = タイマンフラグ (int)
- 残すターゲットが複数いた場合、ランダムで1体を残し、後はターゲットから外します。省略時1。0にすると、excludeIDで指定したヒットIDの敵は、全てターゲットとして残ります。
使用例:
なし
TargetFacing
ターゲットの向きを変更します。投げ技などに使用。
パラメータ指定例:
type = TargetFacing
trigger1 = time = 0
value = 1
ID = 800
必須パラメータ:
- value = 敵の向き (int)
- 正数を指定すると、ターゲットがプレイヤーの方向を、負数で逆を向きます。省略不可。
オプションパラメータ:
- ID = ヒットID (int)
- 対象とするターゲットのヒットIDを指定。でも、ヒットIDって、IDの意味があまりないです。省略時-1(全てのターゲットが対象)。
使用例:
なし
TargetLifeAdd
ターゲットの体力を増減します。投げなどに使用。攻撃力、防御力も考慮されます。
パラメータ指定例:
type = TargetLifeAdd
trigger1 = time = 0
value = -100
ID = 800
kill = 1
absolute = 1
必須パラメータ:
- value = 体力増減値 (int)
- 増減する値を指定。減らす場合は負数。攻撃力、防御力の影響を受けますので、指定値がそのまま増減するわけではありません。省略不可。
オプションパラメータ:
- ID = ヒットID (int)
- 対象とするターゲットのヒットIDを指定。省略時-1(すべてのターゲットが対象)。
- kill = KOフラグ (int)
- 0にすると、このコントローラでは死ななくなります。省略時1。
- absolute = 定数フラグ (int)
- 1にすると、attack/deffencemulを無視します。省略時1。
使用例:
なし
TargetPowerAdd
ターゲットのパワーゲージを増減します。
パラメータ指定例:
type = TargetPowerAdd
trigger1 = time = 0
value = 50
ID = 800
必須パラメータ:
- value = ゲージ増減量 (int)
- 増減する値を指定。減らす場合は負数。
オプションパラメータ:
- ID = ヒットID (int)
- 対象とするターゲットのヒットIDを指定。省略時-1(すべてのターゲットが対象)。
使用例:
なし
TargetState
ターゲットのステートを指定値に変更します。このコントローラで、相手はプレイヤーのステートを参照するようになります。
なお、ターゲットとは、自分の攻撃でヒット、ガード状態となった相手のことを指します。ガードも含まれることに注意。
ステートを奪った状態で相手がコントロール可能になると、歩く、ジャンプなどの共通動作が可能となりますが、このときもこちらの共通動作ステートを参照しています。なお、-1ステートは参照できませんので、攻撃はできません。ただ、-2ステートは、相手のステートを参照している場合も有効なので、内容によっては操作可能ですが、ChangeStateの対象はこちらのステートなので、不具合が生じる可能性が高いです。
この状態は、攻撃を受けるか、防御することで元に戻りますが、SelfStateで元に戻すのが普通です。
HitDefのP2statenoの代わりに使うこともできますが、simulモードや、連続技に組み込める技で使用する場合は、不具合が起きやすいので、トリガーの設定には十分注意しましょう。
パラメータ指定例:
type = TargetState
trigger1 = time = 0
value = 800
ID = 800
必須パラメータ:
- value = ステート番号 (int)
- ターゲットに参照させるステート番号を指定。省略不可。
オプションパラメータ:
- ID = ヒットID (int)
- 対象とするターゲットのヒットIDを指定。省略時-1(すべてのターゲットが対象)。
特定のターゲットを指定できないため、非常に取扱が難しいです。TargetDropで対象を特定してから使うのが吉。
使用例:
なし
TargetVelAdd
ターゲットの速度を増減します。
パラメータ指定例:
type = TargetVelAdd
trigger1 = 1
x = .1
y = .5
ID = 800
必須パラメータはありません
オプションパラメータ:
- x = 水平加速度 (float)
y = 垂直加速度 (float)
- 各方向の速度加算量を指定。水平方向は、ターゲットが向いている方向が正。垂直方向は、下方向が正です。両方同時に指定できますし、どちらか一方指定してもかまいません。
- ID = ヒットID (int)
- 対象とするターゲットのヒットIDを指定。省略時-1(すべてのターゲットが対象)。
使用例:
type = TargetVelAdd
y = 0.45
- 全てのターゲットに重力を与えます。
TargetVelSet
ターゲットの速度を指定値に変更します。
パラメータ指定例:
type = TargetVelSet
trigger1 = time = 0
x = -4
y = -8
ID = 800
必須パラメータはありません
オプションパラメータ:
- x = 水平速度 (float)
y = 垂直速度 (float)
- 各方向の速度を指定。水平方向は、ターゲットが向いている方向が正。垂直方向は、下方向が正です。両方同時に指定できますし、どちらか一方指定してもかまいません。
- ID = ヒットID (int)
- 対象とするターゲットのヒットIDを指定。省略時-1(すべてのターゲットが対象)。
使用例:
なし
Trans
Airファイルの透過指定を1フレームのみ変更します。エフェクト等に使用。
このコントローラは、Win版で新たに追加されたものです。このコントローラを使用しているキャラは、Dos版では使用することができません。
パラメータ指定例:
type = Trans
trigger1 = 1
trans = addalpha
alpha = 128, 128
必須パラメータ
- trans = 透過型 (string)
- 透過型には、以下のいずれかの文字列を指定します :
default - 透過指定を変更しません
none - 透過を無効にします
add - 加算透過を指定します
addalpha - 加算透過をアルファ値で指定します
add1 - 加算透過を アルファ値256,128で指定します
sub - 減算透過を指定します
オプションパラメータ:
- alpha = ソースアルファ, デスティネーションアルファ (int, int)
- 透過型が"addalpha"の場合に指定します。有効範囲は0(低)から256(高)です。省略時256, 0。
ソースアルファは、透過させるスプライトの透過度、デスティネーションアルファは、スプライト透過の目的となるピクセル(背景と考えると、実際には異なるが、わかり易い)の透過度、ということになります。
使用例:
; 256フレームかけて、キャラをフェードインさせます。
type = Trans
trigger1 = time < 256
trans = addalpha
alpha = time, 256-time
Turn
振り向きます。そんだけ。相手を後ろに投げる技の途中で振り向く場合や、相手に背を向けたい場合などに。
パラメータ指定例:
type = Turn
trigger1 = time = 0
パラメータはありません
使用例:
なし
VarAdd
変数を増減します。整数・小数どちらの変数も扱えますが、同時に指定することはできません。
記述例(整数版):
type = VarAdd
trigger1 = time = 0
v = 0
value = 1
又は
type = VarAdd
trigger1 = time = 0
var(0) = 1
記述例(小数版):
type = VarAdd
trigger1 = time = 0
fv = 0
value = .1
又は
type = VarAdd
trigger1 = time = 0
fvar(0) = .1
必須パラメータ:
- v = 整数変数番号 (int)
- 増減する整数変数の番号を0〜59から指定します。
- value = 整数増加量 (int)
- 増減量を整数で指定します。
- fv = 小数変数番号 (int)
- 増減する小数変数の番号を0〜39から指定します。
- value = 小数変数増加量 (float)
- 増減量を小数で指定します。
オプションパラメータはありません
代替書式:
- var(番号) = 整数増減量 (整数版)
fvar(番号) = 小数増減量 (小数版)
- こっちの書式を使った方が楽チン。なお、ムゲンは基本的に大文字、小文字を区別しませんが、「代替書式」だけは小文字オンリーで、大文字を使うと無効となります。エラー報告されないのでやっかい。
注意:
-
Due to historical reasons, note that the alternate VarAdd
syntax listed above matches neither the syntax for variable
assignment within an expression, nor the syntax for variable
addition within an expression.
相手のステートを奪った状態でこのコントローラを実行すると、相手の変数を変更することになってしまいます。失礼な行為に当たりますので、注意。
使用例:
なし
VarRandom
変数に0〜1000の乱数を代入します。fvarに代入することはできません。用途は様々。
パラメータ指定例:
type = VarRandom
trigger1 = time = 0
v = 0
range = 5,10
必須パラメータ:
- v = 整数変数番号 (int)
- 増減する整数変数の番号を0〜59から指定します。省略不可。
オプションパラメータ:
- range = 乱数最小値, 乱数最大値 (int)
- 発生させる乱数の最小値と最大値を指定します。ここで指定した範囲の整数が、無作為に変数に代入されます。
省略時0,1000。第1引数が0の場合は、省略可能。例えば、0〜10の乱数を代入したい場合は、range = 10と書いても可。
注意:
- 相手のステートを奪った状態でこのコントローラを実行すると、相手の変数を変更することになってしまいます。失礼な行為に当たりますので、注意。
使用例:
type = VarRandom
v = 5
range = 500
- Var(5)に0以上500以下の乱数を代入します。
VarRangeSet
指定した範囲の番号の変数に、一気に同じ値を代入します。整数変数、小数変数ともに代入可能ですが、両方を同時に扱うことはできません。
パラメータ指定例(整数版):
type = VarRangeSet
trigger1 = time = 0
value = 100
first = 40
last = 50
パラメータ指定例(小数版):
type = VarRangeSet
trigger1 = time = 0
fvalue = .1
first = 5
last = 10
必須パラメータ (整数版):
- value = 整数代入値 (int)
- 代入する整数値を指定。省略不可。
必須パラメータ (小数版):
- fvalue = 小数代入値 (float)
- 代入する小数値を指定。省略不可。
オプションパラメータ (整数、小数共通):
- first = 最初の変数番号 (int)
- 値を変更する変数の範囲のうち、最初の変数の番号を指定します。省略時0。
- last = 最後の変数番号 (int)
- 値を変更する変数の範囲のうち、最初の変数の番号を指定します。
省略時の値は、整数変数に代入する場合は59、小数の場合は39です。すなわち、first、lastともに省略した場合、全ての整数または小数変数に同じ値を代入することになります。
注意:
敵が参照するプレイヤーのステート内で変数を操作すると、敵の変数を変えることになってしまいます。注意。
使用例:
type = VarRangeSet
value = 0
first = 2
last = 10
- var(2)からvar(10)に0を代入します。
VarSet
変数を指定値に変更します。整数・小数どちらの変数も扱えますが、同時に指定することはできません。
記述例(整数版):
type = VarSet
trigger1 = time = 0
v = 0
value = 1
又は
type = VarSet
trigger1 = time = 0
var(0) = 1
記述例(小数版):
type = VarSet
trigger1 = time = 0
fv = 0
value = .1
又は
type = VarSet
trigger1 = time = 0
fvar(0) = .1
必須パラメータ:
- v = 整数変数番号 (int)
- 変更する整数変数の番号を0〜59から指定します。
- value = 整数増加量 (int)
- 代入値を整数で指定します。
- fv = 小数変数番号 (int)
- 変更する小数変数の番号を0〜39から指定します。
- value = 小数変数増加量 (float)
- 代入値を小数で指定します。
オプションパラメータはありません
代替書式:
- var(番号) = 整数増減量 (整数版)
fvar(番号) = 小数増減量 (小数版)
- こっちの書式を使った方が楽チン。なお、ムゲンは基本的に大文字、小文字を区別しませんが、「代替書式」だけは小文字オンリーで、大文字を使うと無効となります。エラー報告されないのでやっかい。
注意:
-
Due to historical reasons, note that the alternate VarAdd
syntax listed above matches neither the syntax for variable
assignment within an expression, nor the syntax for variable
addition within an expression.
相手のステートを奪った状態でこのコントローラを実行すると、相手の変数を変更することになってしまいます。失礼な行為に当たりますので、注意。
使用例:
type = VarSet
var(10) = 0
var(10)に0を代入。ちなみに、:=演算子でも代入は可能。
type = VarSet
var(10) = (var(11) := 1)+(var(12) := 1)
var(11)とvar(12)に1を、var(10)に2を代入。
代入と同時に参照することはあまりありませんので、初期化くらいにしか使えませんが・・・
VelAdd
速度を増減します。
パラメータ指定例:
type = VelAdd
trigger1 = 1
x = .1
y = .5
必須パラメータはありません
オプションパラメータ:
- x = 水平加速度 (float)
y = 垂直加速度 (float)
- 各方向の加速度を指定。水平方向は、ターゲットが向いている方向が正。垂直方向は、下方向が正です。両方同時に指定できますし、どちらか一方指定してもかまいません。
使用例:
type = VelAdd
y = 0.45
- プレイヤーに重力をかけます。
VelMul
速度を倍数指定で増減します。浮力、摩擦等に使用。
パラメータ指定例:
type = VelMul
trigger1 = 1
x = .9
y = .9
必須パラメータはありません
オプションパラメータ:
- x = 水平方向乗算速度 (float)
y = 垂直方向乗算速度 (float)
- 各方向の速度乗算量を指定。水平方向は、ターゲットが向いている方向が正。垂直方向は、下方向が正です。両方同時に指定できますし、どちらか一方指定してもかまいません。
使用例:
type = VelMul
x = 0.8
- プレイヤーに摩擦をかけます。
VelSet
速度を指定値に変更します。
パラメータ指定例:
type = VelMul
trigger1 = time = 0
x = 4
y = -6
必須パラメータはありません
オプションパラメータ:
- x = 水平方向乗算速度 (float)
y = 垂直方向乗算速度 (float)
- 各方向の速度を指定。水平方向は、ターゲットが向いている方向が正。垂直方向は、下方向が正です。両方同時に指定できますし、どちらか一方指定してもかまいません。
使用例:
なし
Width
キャラや画面端の幅を変更します。例えば、edge=40とすると画面端から40ピクセルの範囲はプレイヤーが進入不可になります。
投げ技等の場合、これを使わないと画面端で位置が狂ってしまいます(screenboundを使うサムスピ式の方法もありますが)。
1フレームしか効果が無いので注意。
パラメータ指定例:
type = Width
trigger1 = 1
edge = 64,64
player = 32,32
又は:
type = Width
trigger1 = 1
value = 64,64
必須パラメータはありません
オプションパラメータ:
- edge = 前方画面端幅, 後方画面端幅 (int)
- 画面端に対するプレイヤーの幅をピクセル単位指定。画面端から指定値までの範囲は進入不可能になります。省略時0,0。
- player = 前方プレイヤー幅, 後方プレイヤー幅 (int)
- 相手に対するプレイヤーの幅を指定。省略時0,0。
代替書式:
- value = 前方幅, 後方幅 (int)
- 画面端とプレイヤーの幅を指定。
注意:
- デバッグモードで、判定枠を表示(Ctrl+C)させると、対画面端幅を示すバーが橙で、対プレイヤー幅を示すバーが黄色で、重なっている部分が明るい黄色で表示されます。
使用例:
なし