◆KFX基礎的応用集◆
もはや古参にとっちゃ基本となってしまった応用だって、
初心者にとっては未知の領域…。
マニュアルに書いてないのに常識ぶられたらそりゃ困るよね!
そんな「もはや基本になってしまった応用」
を思いつくまま列挙してみました。
今現在の拡張エンジンから入った人には無用の物も結構ありますが、
応用できる部分もそれなりにあるかと。

[ダメージ値について色々]
[入力方向を検出するCi]
[ガード不能]
[画面端ノックバック回避]
[2ゲージ消費技]
[長いコマンド]
[飛び道具で技変化]
[途中で消える飛び道具]
[ヒット・ガード分岐]
[衝突判定使った色々]
[飛び道具の反射]
[ラウンド開始時演出]
[連続入力]
[chara.bmpの容量節約技術]

メニューへ戻る

[ダメージ値について色々]
・マイナス値指定で相手の体力を回復可能。
 ヒット数増えてるけどダメージは最後、って技を作る時は
 -1と1のダメージを繰り返して作ったりするので、使用頻度は高いです。
 拡張エンジンでは自分に当てて体力回復などにも使えますよ。

・ダメージ0の攻撃を当てると
 これまでのヒット数をリセットしてしまう特性があります。
 (拡張エンジンでも見た目のヒット数は継続されますが
  内部的にはリセットされています)
 この特性を利用するとコンボ補正リセット技が作れます。

・ダメージ0の技はヒットマークが出現しない。
 (拡張エンジンではヒットストップもない。
  0ダメージで乱舞を作ったりしてるとひどいことになるので注意)



[入力方向を検出するCi]
後移動の1、前移動の2、屈みの10。
これらのCiは単純にその状態を表すだけでなく、それぞれ

1=後ろを入力している間継続
2=前を入力している間継続
10=下を入力している間継続

という意味を持っています。
KFXでの6を押したままでずっと継続するダッシュなどは大抵 Ci 2 を使っているわけですね。

-Num---To-Sp-Pic-De-Ci-V---VxRx--VyRy-C-CL-G-Da--Hit-H-Flag-Def1---------Def2---------Att1---------COMMENT
  90   -1  1 109  0  2 9  100 1   0 0 9 -1 0  0    0 9 0001 112052012000 00006001E000 000000000000 ;ダッシュ
  91   -1  1 110  0  2 9  100 1   0 0 9 -1 0  0    0 9 0001 112052012000 00006001E000 000000000000 ;
  92   -1  1 111  0  2 9  100 1   0 0 9 -1 0  0    0 9 0001 112052012000 00006001E000 000000000000 ;
  93   90  1 110  0  2 9  100 1   0 0 9 -1 0  0    0 9 0001 112052012000 00006001E000 000000000000 ;Ci 2なので6を入力する限り90へループ

・・・ですがそれだけでなく、
コマンド入力後任意の方向を押しつづけると発動、離すとキャンセルといった感じの技も作れます。

-Num---To-Sp-Pic-De-Ci-V---VxRx--VyRy-C-CL-G-Da--Hit-H-Flag-Def1---------Def2---------Att1---------COMMENT
1000   -1  1   0  1 43 9    0 1   0 0 9 -1 0  0    0 0 0000 11205A012000 10C06F00905A 000000000000 ;6押しつづける特性から考えると最後が6入力のコマンドがいいかもね
1001   -1  3  17  1 43 9    0 1   0 0 9 -1 0  0    0 0 0000 11205A012000 00006F015000 000000000000 ;236とか41236とか
1003   -1  3  46  1 43 9    0 1   0 0 9 -1 0  0    0 0 0000 11205B012000 10206E01F000 000000000000 ;
1004   -1 12  45  1  2 9    0 1   0 0 9 -1 0  0    0 0 0000 11205B012000 10206E01D000 000000000000 ;ここで6押しつづけで発動。離すとキャンセル
1005   -1  2  46  1 43 9    0 1   0 0 9 -1 0  0    0 0 0000 11205B012000 10206E01F000 000000000000 ;
1006   -1  1  47  1 43 9    0 1   0 0 9  3 M 18    0 1 0000 11202A012000 01006204A000 02605903903D ;
1007   -1  8  49  1 43 9    0 1   0 0 9 -1 0  0    0 9 0000 11203A012000 00F06404B000 000000000000 ;
1008   -1  4  50  1 40 9    0 1   0 0 9 -1 0  0    0 9 0000 11203A012000 00F06404B000 000000000000 ;
1009    0  1   0  1 40 9    0 1   0 0 9 -1 0  0    0 0 0001 11205A012000 10C06F00905A 000000000000 ;

使いどころはそれほど無いかもしれませんが、そういうこともできますよ、といった程度に。

・・・ついでに、立ちニュートラルの Ci 0 は「何も入力しない状態」を検出するCiでもあります。
コマンド入力後、何もしないことで発動!・・・ってそれこそ普通は使わないですか?・・・そうですね。



[ガード不能]
飛び道具はガード方向(G)が0になっているとガード不能になります。
(拡張エンジンでは飛び道具以外でも使用可能)



[画面端ノックバック回避]
相手を画面端に追い詰めた状態で攻撃を当てると、攻撃側にノックバックがかかり距離が離れますね。
これを回避する基本的な手段。

・飛び道具で攻撃する
・少し浮かせて空中属性の攻撃にする

前者は常識・・・と思ってると忘れてる人もいるので一応。

後者は冗談みたいな策ですが、意外に使えます。
(飛び道具を演出に使って、攻撃判定は本体、でもノックバックさせない・・・とかね)
ただし、その間に攻撃を潰されると「空中くらい」とみなされてしまい、
相手の基本連続技パターンが通用しない少々ズルイ状態を作ってしまうので、
あまり乱用はしないほうがいいかも・・・。



[2ゲージ消費技]
command.lstに以下のように、
同じコマンドを二つ記述。

CmdNum--Command--Cancel--Std-AmnNum--Vx--Comment
   120  236236P  00111   011   1200   0  ;1ゲージ時
   121  236236P  00111   011   1250   0  ;2ゲージ時

ゲージ一本の時はmotion.lstの1200が、
ゲージ二本の時はmotion.lstの1250が呼び出される寸法です。
このまんまだと1ゲージ時の技との使い分けができないので、
下のように弱パンチにも割り当てるなどの工夫をしておけばなお良し、です。

CmdNum--Command--Cancel--Std-AmnNum--Vx--Comment
   120  236236p   00111  011   1200   0  ;1ゲージしか消費しない
   121  236236P   00111  011   1200   0  ;1ゲージ時
   122  236236P   00111  011   1250   0  ;2ゲージ時



[長いコマンド]
KFXでは、command.lstのcommandは通常8バイトまでの長さまでしか使用できません。
タメコマンドなどには正直なところ短すぎますよね。(各種拡張エンジンでは改善されています)
実は、次のComNumの間を空けて記述することで8バイトづつ、コマンド入力可能数を延長可能です。

CmdNum--Command--Cancel--Std-AmnNum--Vx--Comment
   100  4444444444446P  00111   011   1010  -1  ;CmdNum 101を飛ばすことで、8バイト延長されたコマンド
   102     214P  00111   011   1000  -1  ;

1バイト1フレーム換算なので、それほど長いタメでもない限りはこれだけの延長でも充分だと思います。
(25フレーム=1秒と考えるとこれだけでも0.5秒程のタメが作れる)



[飛び道具で技変化]
command.lstのVxが1に設定されているコマンドは
「画面上に飛び道具が存在する場合」出せないコマンドになります。
つまり、重複したVx -1のコマンドがあれば「飛び道具がある時にしか出ない技」
が作れる、という原理です。

CmdNum--Command--Cancel--Std-AmnNum--Vx--Comment
   100     236P  00111   011   1010  -1  ;飛び道具がある時
   101     236P  00111   011   1000   1  ;飛び道具が無い時

この時、Vxが-1のコマンドをうっかり下に記述しないようにしましょう。
基本、番号の多いコマンドのほうが優先度が高い、というルールがあるため、
飛び道具が出ている場合の技しか出なくなります。

CmdNum--Command--Cancel--Std-AmnNum--Vx--Comment
   100     236P  00111   011   1000   1  ;×失敗例
   101     236P  00111   011   1010  -1  ;×こちらが優先されてしまいこれしか出ない

このことを利用することで
長い時間出現する飛び道具を出して一定時間パワーアップさせたり、
飛び道具を使ってフラグ倍増など、かなり応用の効くテクニックです。
拡張エンジンでの多モード変更可能キャラなどを作る場合も基本はこれですので、覚えておいて損はしないでしょう。



[途中で消える飛び道具]
飛び道具の消滅条件は「攻撃判定が画面外に出るか地面と衝突」です。
つまり消滅させたい行まで来たら
画面外にスッ飛ばしたり地面に高速で激突させたり、
そもそも画面外に判定出せば消えるんじゃね?ってコトですよ。
消滅時の判定が相手に当たる危険性を考えると上空にぶっ飛ばしつつ,判定は画面上に設定。
それで問題ないはずです。

-Num---To-Sp-Pic-De-Ci-V---VxRx--VyRy-C-CL-G-Da--Hit-H-Flag-Def1---------Def2---------Att1---------COMMENT
1010   -1  5  90  0 43 9   80 1   0 0 9  1 U  9    0 1 0000 112000012000 000000000000 00E04101B009 ;5フレーム飛んだら消える
1011 1011  9 255  0 43 9    0 1 -9999 0 9  1 0  0    0 0 0000 112000012000 000000000000 0000FF0000FF ;画面上にぶっ飛ばして消滅



[ヒット・ガード分岐]
ヒット分岐を二つ用意し、
最初のヒット分岐部分ではCL 2 等で相手を浮かす。

-Num---To-Sp-Pic-De-Ci-V---VxRx--VyRy-C-CL-G-Da--Hit-H-Flag-Def1---------Def2---------Att1---------COMMENT
1060 1100  1  43  1 45 2  120 1   0 0 9  2 U  0 1070 1 0100 112065012000 121059023000 01304702B03F ;1100=空振りの場合の行 1070=ヒットorガード判別

次の分岐では地面スレスレの攻撃判定を出します。
そして今度の分岐では”外れたら”ヒットしたとみなし、次のモーションへ分岐。
当たった場合は空振りモーションなどへ飛ばしましょう。

つまり前の行で、相手が食らった場合は浮いている、
ガードしていれば地上にいるはずなので当たった=ガードされた、となるわけです。

-Num---To-Sp-Pic-De-Ci-V---VxRx--VyRy-C-CL-G-Da--Hit-H-Flag-Def1---------Def2---------Att1---------COMMENT
1070 1080  1  44  1 45 9   80 1   0 0 9  0 U  0 1100 1 0100 112065012000 121059023000 00D001030000 ;1080=ヒットの場合の行 1100=ガードされたので空振り行へ

この方法で分岐させた場合、成功後ほおっておくと相手がダウンしてしまうので、
そのまま乱舞などにつなげたい場合などはCL 6の攻撃を当てて地上に引き戻しておきましょう。



[衝突判定使った色々]
・Def1は相手との衝突判定だけでなく、画面端の衝突判定でもあります。
 衝突判定を判定編集ツールで横方向をめいっぱい広げた値(-160,159)にすると、
 キャラクターが画面の中央に配置されるのでわかりやすいと思います。

-Num---To-Sp-Pic-De-Ci-V---VxRx--VyRy-C-CL-G-Da--Hit-H-Flag-Def1---------Def2---------Att1---------COMMENT
1100   -1  1   0  0 40 9    0 1   0 0 9 -1 0  1    0 9 0000 1A00EF09F0EF 000000000000 000000000000 ;衝突判定めいっぱい広げた状態

 ・・・つまり、衝突判定の広げ方次第で画面の任意の位置にキャラクターを移動させることが可能なんですね。
 前方向に画面サイズ分広げれば(0、320)後ろに、後ろ方向に広げれば(-320,0)前に、といった感じです。

-Num---To-Sp-Pic-De-Ci-V---VxRx--VyRy-C-CL-G-Da--Hit-H-Flag-Def1---------Def2---------Att1---------COMMENT
1101   -1  1   0  0 40 9    0 1   0 0 9 -1 0  1    0 9 0000 0000EF0K00EF 000000000000 000000000000 ;衝突判定前に広げた状態
1102   -1  1   0  0 40 9    0 1   0 0 9 -1 0  1    0 9 0000 1K00EF0000EF 000000000000 000000000000 ;衝突判定後ろに広げた状態

・先ほど言った通り画面端との衝突判定を兼ねている・・・ということで、
 変更次第で画面外にも出ることができます。

・なにも自分の位置だけでなく、衝突判定は相手にも影響するわけですから、
 横幅を広げて、ヒット後強制的に距離をとったり(擦のNYUKIや男吉、物置のホウオウ等)、
 アドヴァンシングガードで強制的に相手を引き離したり(うちのジョン・筒井とか)できます。
 ・・・衝突判定の変更は結構危険なトコでもあるので、乱用はお勧めしませんが。


[飛び道具の反射]
KFXでは飛び道具が5個までしか出せないという制限を利用した、擬似的な反射です。
バリアの判定飛び道具1個、制限用の飛び道具を4個出し、
それぞれが出ている間にもう1個反撃用の飛び道具を出す。

そのままでは飛び道具個数の制限に引っかかり、反撃用飛び道具は出ません。
バリア判定がヒットか、飛び道具と相殺していれば飛び道具の個数が減り、反撃用飛び道具が出る、といった仕組みです。

-Num---To-Sp-Pic-De-Ci-V---VxRx--VyRy-C-CL-G-Da--Hit-H-Flag-Def1---------Def2---------Att1---------COMMENT
1035   -1  1   9  0 43 9    0 1   0 0 9 -1 0  0    0 0 0000 112024012000 000000000000 000000000000 ;バリア
1036   -1  1  20  0 43 9    0 1   0 0 9 -1 0  0 1042 0 1000 112024012000 11A03F11A03F 000000000000 ;
1037   -1  1  20  0 43 9    0 1   0 0 9 -1 0  0 1051 0 1000 112026012000 11A03F11A03F 000000000000 ;
1038   -1  1  20  0 43 9    0 1   0 0 9 -1 0  0 1052 0 1000 112026012000 11A03F11A03F 000000000000 ;
1039   -1  1  20  0 43 9    0 1   0 0 9 -1 0  0 1053 0 1000 112022012000 11A03F11A03F 000000000000 ;
1040   -1  1  20  0 43 9    0 1   0 0 9 -1 0  0 1054 0 1000 112022012000 11A03F11A03F 000000000000 ;
1041    0 20  20  0 43 9    0 1   0 0 9 -1 0  0 1060 0 1000 112022012000 11A03F11A03F 000000000000 ;通常はここの飛び道具は出ない

1042   -1  1  18  0 44 9    0 1   0 0 9  1 U  1    0 1 0000 112000012000 000000000000 016048034000 ;バリア判定
1043   -1  1  19  0 44 9    0 1   0 0 9  1 U  1    0 1 0000 112000012000 000000000000 016048034000 ;
1044   -1  1  18  0 44 9    0 1   0 0 9  1 U  1    0 1 0000 112000012000 000000000000 016048034000 ;
1045   -1  1  19  0 44 9    0 1   0 0 9  1 U  1    0 1 0000 112000012000 000000000000 016048034000 ;
1046   -1  1  18  0 44 9    0 1   0 0 9  1 U  1    0 1 0000 112000012000 000000000000 016048034000 ;
1047   -1  1  19  0 44 9    0 1   0 0 9  1 U  1    0 1 0000 112000012000 000000000000 016048034000 ;
1048   -1  1  18  0 44 9    0 1   0 0 9  1 U  1    0 1 0000 112000012000 000000000000 016048034000 ;
1049   -1  1  19  0 44 9    0 1   0 0 9  1 U  1    0 1 0000 112000012000 000000000000 016048034000 ;
1050 1050  9  18  0 53 9    0 1 9999 0 9  1 0  0    0 0 0000 112000012000 000000000000 000000000000 ;

1051   -1  1  19  0 44 9    0 1   0 0 9  1 0  0    0 0 0000 112000012000 000000000000 0000CE0000CE ;バリア制限用
1052   -1  1  18  0 44 9    0 1   0 0 9  1 0  0    0 0 0000 112000012000 000000000000 0000CE0000CE ;
1053   -1  1  19  0 44 9    0 1   0 0 9  1 0  0    0 0 0000 112000012000 000000000000 0000CE0000CE ;
1054   -1  1  18  0 44 9    0 1   0 0 9  1 0  0    0 0 0000 112000012000 000000000000 0000CE0000CE ;
1055   -1  1  19  0 44 9    0 1   0 0 9  1 0  0    0 0 0000 112000012000 000000000000 0000CE0000CE ;
1056   -1  1  18  0 44 9    0 1   0 0 9  1 0  0    0 0 0000 112000012000 000000000000 0000CE0000CE ;
1057 1050  1  19  0 44 9    0 1   0 0 9  1 0  0    0 0 0000 112000012000 000000000000 0000CE0000CE ;

1060   -1  1  18  0 44 9  200 1   0 0 9  1 U  9    0 1 0000 112000012000 000000000000 00E04101B009 ;跳ね返し成功反撃用
1061 1060  1  19  0 44 9  200 1   0 0 9  1 U  9    0 1 0000 112000012000 000000000000 00E04101B009 ;


[ラウンド開始時演出]
所謂、イントロってやつ。
motion.lstは開始時必ず Num 0 から読み込まれるので、
ニュートラルを0以外に記述してしまえば開始時のみの演出が作れる!…という原理。
以下の例ではラウンド開始時のモーションとしてNum 420 に飛ばし、
立ちニュートラルは Num 1 から開始するようにしています。

-Num---To-Sp-Pic-De-Ci-V---VxRx--VyRy-C-CL-G-Da--Hit-H-Flag-Def1---------Def2---------Att1---------COMMENT
   0  420 10 255  0 53 9    0 1   0 0 9 -1 0  0    0 9 0000 000!!00000!! 000000000000 000000000000 ;開始デモに飛ばす

   1    1  3   0  0  0 9    0 1   0 0 9 -1 0  0    0 9 0001 11205C012000 10E07400F05A 000000000000 ;立ち

command.lstの立ちニュートラル指定部分も修正します。

CmdNum--Command--Cancel--Std-AmnNum--Vx--Comment
     0        n   00000  000      1  -1  ;立ち

まだこのままだとガードや攻撃くらい後 Num 0 に戻ってしまいますので、KFXのsystemフォルダ内のmotion.lstの内容をコピー、
編集中キャラのmotion.lst内にペーストし、
以下のように0に戻さず、任意の立ちニュートラルに戻すよう書き換えます。

-Num---To-Sp-Pic-De-Ci-V---VxRx--VyRy-C-CL-G-Da--Hit-H-Flag-Def1---------Def2---------Att1---------COMMENT
 100  110 -1 240  0 23 9    0 0   0 0 9 -1 0  0    0 9 0000 112060012000 000000000000 000000000000 ;JMP-FALL
 110    1  2 241  0 23 9    0 1   0 0 9 -1 0  0    0 9 0001 112060012000 000000000000 000000000000 ;JMP-S-END
 111    1  4 241  0 23 9    0 1   0 0 9 -1 0  0    0 9 0001 112060012000 000000000000 000000000000 ;JMP-B-END

 150    1  1 200  0 30 9    0 1   0 0 9 -1 0  0    0 9 0000 112060012000 000000000000 000000000000 ;STA-G
 160    1  7 200  0 30 9  -15 1   0 0 1 -1 0  0    0 9 0000 112060012000 000000000000 000000000000 ;STA-S-G
 170    1 10 200  0 30 9  -30 1   0 0 1 -1 0  0    0 9 0000 112060012000 000000000000 000000000000 ;STA-B-G

 180   30  1 201  0 31 9    0 1   0 0 9 -1 0  0    0 9 0000 112040012000 000000000000 000000000000 ;SIT-G
 190   30  7 201  0 31 9  -15 1   0 0 1 -1 0  0    0 9 0000 112040012000 000000000000 000000000000 ;SIT-S-G
 200   30 10 201  0 31 9  -30 1   0 0 1 -1 0  0    0 9 0000 112040012000 000000000000 000000000000 ;SIT-B-G

 210    1 10 200  0 30 9  -15 1   0 0 1 -1 0  0    0 9 0000 112060012000 000000000000 000000000000 ;STA-S-G
 220    1 15 200  0 30 9  -30 1   0 0 1 -1 0  0    0 9 0000 112060012000 000000000000 000000000000 ;STA-B-G

 700    1  8 210  0 50 9  -20 1   0 0 9 -1 0  0    0 9 0000 112060012000 000000000000 000000000000 ;STA-FSC
 710    1 12 210  0 50 9  -30 1   0 0 9 -1 0  0    0 9 0000 112060012000 000000000000 000000000000 ;STA-FBC
 720    1  8 220  0 50 9  -20 1   0 0 9 -1 0  0    0 9 0000 112060012000 000000000000 000000000000 ;STA-BSC
 730    1 12 220  0 50 9  -30 1   0 0 9 -1 0  0    0 9 0000 112060012000 000000000000 000000000000 ;STA-BBC
 740    1 10 210  0 50 9  -10 1   0 0 9 -1 0  0    0 9 0000 112060012000 000000000000 000000000000 ;STA-JSC
 750    1 15 210  0 50 9  -10 1   0 0 9 -1 0  0    0 9 0000 112060012000 000000000000 000000000000 ;STA-JBC

 760    1  8 211  0 51 9  -20 1   0 0 9 -1 0  0    0 9 0000 112040012000 000000000000 000000000000 ;SIT-FSC
 770    1 12 211  0 51 9  -30 1   0 0 9 -1 0  0    0 9 0000 112040012000 000000000000 000000000000 ;SIT-FBC
 780    1  8 211  0 51 9  -20 1   0 0 9 -1 0  0    0 9 0000 112040012000 000000000000 000000000000 ;SIT-BSC
 790    1 12 211  0 51 9  -30 1   0 0 9 -1 0  0    0 9 0000 112040012000 000000000000 000000000000 ;SIT-BBC
 800    1 12 211  0 51 9  -10 1   0 0 9 -1 0  0    0 9 0000 112040012000 000000000000 000000000000 ;SIT-JSC
 810    1 17 211  0 51 9  -10 1   0 0 9 -1 0  0    0 9 0000 112040012000 000000000000 000000000000 ;SIT-JBC

 820   -1  1 220  0 52 9    0 1   0 0 9 -1 0  0    0 9 0000 112057012000 000000000000 000000000000 ;JMP-C-KOKE
 821   -1  1 221  0 52 9  -40 1  80 0 9 -1 0  0    0 9 0000 11204D012000 000000000000 000000000000 ;
 822   -1  4 221  0 52 9  -40 1   0 0 9 -1 0  0    0 9 0000 11204D012000 000000000000 000000000000 ;
 823   -1  4 222  0 52 9  -40 1   0 0 9 -1 0  0    0 9 0000 112033012002 000000000000 000000000000 ;
 824   -1 -1 223  0 53 9  -40 1   0 0 9 -1 0  0    0 9 0000 112034012000 000000000000 000000000000 ;
 825   -1  1 224  0 53 9  -40 1   0 0 9 -1 0  0    0 9 0000 11201D012000 000000000000 000000000000 ;
 826   -1  1 224  0 53 9    0 1  30 0 9 -1 0  0    0 9 0000 11201E012000 000000000000 000000000000 ;
 827   -1 -1 224  0 53 9  -40 1   0 0 9 -1 0  0    0 9 0000 112020012000 000000000000 000000000000 ;
 828  120  6 224  0 53 9    0 1   0 0 9 -1 0  0    0 9 0000 11201E012000 000000000000 000000000000 ;

 830   -1  1 220  0 52 9    0 1   0 0 9 -1 0  0    0 9 0000 112057012000 000000000000 000000000000 ;JMP-C-KAI
 831   -1  1 221  0 52 9  -40 1  80 0 9 -1 0  0    0 9 0000 11204D012000 000000000000 000000000000 ;HUKU
 832   -1  4 221  0 52 9  -40 1   0 0 9 -1 0  0    0 9 0000 11204D012000 000000000000 000000000000 ;
 833   -1  4 222  0 52 9  -40 1   0 0 9 -1 0  0    0 9 0000 112033012002 000000000000 000000000000 ;
 834   -1 -1 240  0 53 9  -40 1   0 0 9 -1 0  0    0 9 0000 112060012000 000000000000 000000000000 ;
 835    1  2 241  0 53 9    0 1   0 0 9 -1 0  0    0 9 0001 112060012000 000000000000 000000000000 ;

 840   -1  1 220  0 53 9    0 1   0 0 9 -1 0  0    0 9 0000 112057012000 000000000000 000000000000 ;JMP-C-YOKO
 841   -1  1 221  0 53 9 -120 1  80 0 9 -1 0  0    0 9 0000 11204D012000 000000000000 000000000000 ;
 842   -1  4 221  0 53 9 -120 1   0 0 9 -1 0  0    0 9 0000 11204D012000 000000000000 000000000000 ;
 843   -1  4 222  0 53 9 -120 1   0 0 9 -1 0  0    0 9 0000 112033012002 000000000000 000000000000 ;
 844   -1 -1 223  0 53 9 -120 1   0 0 9 -1 0  0    0 9 0000 112034012000 000000000000 000000000000 ;
 845   -1  1 224  0 53 9 -120 1   0 0 9 -1 0  0    0 9 0000 11201D012000 000000000000 000000000000 ;
 846  120  6 224  0 53 9 -120 1   0 0 9 -1 0  0    0 9 0000 11201E012000 000000000000 000000000000 ;

 850   -1  1 220  0 52 9    0 1   0 0 9 -1 0  0    0 9 0000 112057012000 000000000000 000000000000 ;JMP-COMB
 851   -1  1 220  0 52 9  -20 1 200 0 9 -1 0  0    0 9 0000 11204D012000 000000000000 000000000000 ;
 852   -1 -1 220  0 52 9  -20 1   0 0 9 -1 0  0    0 9 0000 112034012000 000000000000 000000000000 ;
 853  120  6 224  0 53 9    0 1  30 0 9 -1 0  0    0 9 0000 11201E012000 000000000000 000000000000 ;

 860   -1  1 220  0 52 9    0 1   0 0 9 -1 0  0    0 9 0000 112057012000 000000000000 000000000000 ;JMP-COMB
 861   -1  1 220  0 52 9  -20 1 200 0 9 -1 0  0    0 9 0000 11204D012000 000000000000 000000000000 ;
 862   -1 -1 220  0 52 9  -20 1   0 0 9 -1 0  0    0 9 0000 112034012000 000000000000 000000000000 ;
 863  120  6 224  0 53 9    0 1  30 0 9 -1 0  0    0 9 0000 11201E012000 000000000000 000000000000 ;

 870   -1  4 220  0 50 9  -40 1   0 0 9 -1 0  0    0 9 0000 112060012000 000000000000 000000000000 ;HURAHURA
 871   -1  4 210  0 50 9  -40 1   0 0 9 -1 0  0    0 9 0000 112060012000 000000000000 000000000000 ;
 872   -1  4 220  0 50 9  -30 1   0 0 9 -1 0  0    0 9 0000 112060012000 000000000000 000000000000 ;
 873   -1  4 210  0 50 9  -30 1   0 0 9 -1 0  0    0 9 0000 112060012000 000000000000 000000000000 ;
 874   -1  4 220  0 50 9  -20 1   0 0 9 -1 0  0    0 9 0000 112060012000 000000000000 000000000000 ;
 875    1  4 210  0 50 9  -20 1   0 0 9 -1 0  0    0 9 0000 112060012000 000000000000 000000000000 ;



[連続入力]
フラグ使用方法の基本。
・・・が、普通に三段あたり作るとリバーサルフラグやガードキャンセルフラグをいきなり総動員になります。
ですが初心者脱出には必須・・・だと思いますよ。たぶん。

基本的な流れですが、
一段目の技をcommand.lstの優先度の高い下に配置、
その技のmotion.lstの途中でフラグを立てて、
そのフラグを立てた二段目用のcommandを優先度低い上に配置・・・。
って、なんか文章にするとわけわかんないですね。例あげていきましょうか。
まず簡単に二段入力を作ります。フラグはリバーサルフラグ(command.lstでは00001、motion.lstでは0)
から使いましょうか。(失敗しても実害が少ないフラグなので・・・)

CmdNum--Command--Cancel--Std-AmnNum--Vx--Comment
   100     214P   00001  011   1020  -1  ;二段目
   101     214P   00100  011   1000  -1  ;一段目
   
まず、214Pを入力した場合連続入力技の一段目である101が呼び出されます。
しつこいかもしれませんが、優先順位の高いコマンドほど下の、番号の多いものになります。
この点に注意しないといきなり二段目がでるので注意です。

では、motion.lstの変更点について。

-Num---To-Sp-Pic-De-Ci-V---VxRx--VyRy-C-CL-G-Da--Hit-H-Flag-Def1---------Def2---------Att1---------COMMENT
1000   -1  1   0  1 43 9    0 1   0 0 9 -1 0  0    0 0 0000 11205C012000 10806F010059 000000000000 ;一段目の技
1001   -1  1  51  1 43 9    0 1   0 0 9 -1 0  0    0 0 0000 11205C012000 10806F010059 000000000000 ;
1002   -1  1  62  1 43 9    0 1   0 0 9 -1 0  0    0 0 0000 11205C012000 10E07201C048 000000000000 ;
1003   -1  2  71  1 43 9    0 1   0 0 9 -1 0  0    0 0 0000 112063012000 10A06F01D050 000000000000 ;
1004   -1  2  72  1 43 9    0 1   0 0 9 -1 0  0    0 0 0000 112063012000 10E07B01305E 000000000000 ;
1005   -1  1  73  1 43 9   80 1   0 0 9  1 U  8    0 1 0000 11206E012000 11C06D026037 00C05F034038 ;
1006   -1  1  74  1 43 9   40 1   0 0 9 -1 0  0    0 9 0000 11206B012000 11E053000000 000000000000 ;
1007   -1  1  75  1 43 9   20 1   0 0 9 -1 0  0    0 9 0000 11206B012000 11E053000000 000000000000 ;
1008   -1  1  76  1 43 9   10 1   0 0 9 -1 0  0    0 9 0000 11206B012000 11E053000000 000000000000 ;
1009   -1  3  76  1 43 9    0 1   0 0 0 -1 0  0    0 9 0000 11206B012000 11E053000000 000000000000 ;<入力受付部分にフラグを立てる
1010   -1  6  76  1 43 9    0 1   0 0 9 -1 0  0    0 9 0000 11206B012000 11E053000000 000000000000 ;
1011   -1  2  13  1 43 9    0 1   0 0 9 -1 0  0    0 9 0000 11205C012000 10806F010059 000000000000 ;
1012    0  1   0  1 40 9    0 1   0 0 9 -1 0  0    0 9 0001 11205C012000 10806F010059 000000000000 ;

以上のように、二段目の技を入力できる部分にフラグを立てておく・・・これでOK。
ここでもう一度214Pの入力が完了していれば追加入力技が呼び出されるわけです。

リバーサルフラグを使用しているので、
起き上がり(motion.lstの120)に通常設定されているフラグをはずしておくことを忘れないように。
じゃないとリバーサルで二段目の技がいきなりでるわけで・・・

三段目も基本はこれと同じです。使うフラグとしてガードキャンセルフラグを増やすぐらいで・・・
ですがこちらも「ガード時のフラグを全部はずさないとガードキャンセル技として三段目が発動」
という事態になるので気をつけましょう。

なお、各種拡張エンジンでは使用できるフラグがほぼ無制限となっているので、
わざわざガードキャンセルフラグやリバーサルフラグを潰す必要はありません。



[chara.bmpの容量節約技術]
chara.bmpは開いてみれば分かりますが、16ドット×16ドットのブロックが集まってできています。
で、このブロックですが「違う画像でも16×16で同じパターンがある場合は使いまわす」ように作られているので、
それを理解してコンバートしていくと画像登録枚数が飛躍的に増えます。
そこを踏まえた上で、画像容量の節約方法を簡単に説明しておきます。

<基本的節約>
 まずはKFX Pattern Maker(Plus Pattern Maker)の「位置合わせ」を使い、
 表示されている「使用セル」を確認しつつ位置調整しましょう。
このツールのおかげで容量節約飛躍的に楽になったんよ
 さらに、D-pixed,edgeなどグリッド表示ができるツールで画像を開き、
 16ドットのグリッドを設定、表示し、
 1ドットだけはみ出ている部分等を違和感が無い範囲で消したり、
 微妙にサイズ調整したりして削っていきます。
毛先を1mmお願いします
 上の例では毛先が1ドット出ていますね。
 この1ドットだけでブロック1個使うとかバカらしいので、消してしまいましょう。

<使いまわせるパーツを使いまわす>
 いくつかのキャラ画像をざっと見て、使いまわせそうな部分をコピーしていきます。
今見るともっと節約できたトコあるキャラですけどー
 例えばの上のTta-02の立ちニュートラルですが、四角で囲まれた足の部分は同じものになっています。
 (経験上の話になりますが、地に付いてる部分ということもあり足は比較的使いまわしが利きやすいです)

<16ドットブロックを組み合わせて構成する>
 16×16でいくつかパーツを作り、
 それをパズルのようにつなぎ合わせながらグラフィックを構成していくとさらに容量節約に繋がります。
何も考えずやったらアホな容量食うわけですが・・・
 例えば上の画面全体攻撃のエフェクトですが、実際に使用しているブロックは38のみ。
 画像にしてもこの通り、縦16ドットの範囲に収まってしまいました。突き詰めればもっと少ない容量でもいけそうです。
この通り!スッキリコンパクト!
拡張エンジンでほぼ無制限に近い画像を使用できるようになったとはいえ、
使い込めばKFXでも200枚近いグラフィックが使用可能だということは覚えておいてください。

メニューへ戻る