CMDファイルの作り方
CMDファイルをテキストエディタで開いてみてください。
CMDファイルは、2つのパートから成り立っています。前半のコマンドに使用する入力キーを登録する部分
そして、後半のパートの必殺技などの発動条件を指定する部分です。
まずは前半部分のコマンドの登録方法を理解しましょう。
;============================================================================== ;コマンドについての説明です。 [Command];このキャラに使われているコマンドです。 name = "Hadou";コマンド名です。"Hadou"の中には日本語も使えるようです。 command = ~D, DF, F, x;実際のコマンドです。 time = 25;コマンド入力時間です。time = 60が1秒と考えてください。 ;方向キーの説明をします。
;Back(後ろ)の頭文字のB、 |
次に後半部分の技の発動条件について説明します。
[Statedef -1]以降の記述が技の発動条件の記述です。
ここら辺から、MUGEN製作者たちが脱落すると言われています。(笑)
いきなりで、少し難しいと思うかも知れませんが、意味がわかってしまえば何という事はありません。
最初に基本的な説明をしたいと思います。
[State
???] |
技の発動条件の記述の基本的な形式です。
だいたいのものは、多少の違いはあれど、このような形式で書かれているはずです。
ひとつひとつ簡単に説明していきたいと思います。
[State ???]
技の発動条件におけるタイトルのようなものです。
[State -1]、[State
Panchi]など、基本的にどのようにつけてもかまいません。
ぶっちゃけ、[State
残影拳]など、日本語でもOKなようです。
([State ???]で、なんでもOKなのは、???の部分だけです。)
でも、あまりこのような所に日本語は組み込まないほうが良さげなようです。(笑)
type = ChangeState
value = 技のステイト番号
俗に、ステイト
コントローラーと呼ばれるモノです。
日本語でいうならば、『キャラの状態を操作するところ』といった感じでしょうか。
少し専門的になりますが、MUGENでは、キャラの基本的なところはコモン
ステイトと
呼ばれるもので完成しています。(つまり、どんなキャラでも共通する基本的な動作
歩く、立つ、ジャンプとかは、
とくに問題がない場合は、一から作る必要はないのです。)
キャラ製作者が作る必要のあるステイト(キャラの状態)は、
通常攻撃、必殺技、超必殺などや、特殊動作(ブロッキング、空中ダッシュなど)
のみです。
話を戻しますが、この、『ChangeState』と呼ばれるステイト
コントローラーは、
『Change(変える)State(キャラの状態)』という意味の通り、
任意のステイト番号(つまり、通常攻撃、必殺技、超必殺などの技のステイトです。)
に移行するというような働きをします。
例をあげると、次のような感じになっています。
現在のキャラの状態 | [Statedef 0] |
[Statedef
1000] |
||
![]() |
コマンド入力 |
;CMDファイル内の空中波動拳の発動条件 |
![]() |
わかんないですかね?(汗)
とりあえず、完全にわからなくてもいいので、先に進んでください。
trigger(トリガー)について
triggerall = command
= コマンドの名前
trigger1 = 条件1
trigger2 = 条件2
(以下省略)
トリガーの基本的な考え方
最初にくるトリガーは「trigger1」である必要があります。その後には「trigger2」、「trigger3」のように続いていきます。
注意しなくてはならないのは、例えば「trigger1」「trigger2」と来て「trigger4」のように、
「trigger3」を抜いてしまうと「trigger4」は無視されてしまいます。
例を使ってトリガーの使い方を学んでいこうと思います。
例.1) |
上のトリガーを読んでみます。
まずはじめのcommand
= "a"はわかりますね。CMDファイルの前半のパートにあるコマンドです。
トリガーの内容としては、『コマンド "a"を入力した時』という感じです。
次に2つ目のtrigger1
= statetype != A
というのを説明します。
statetypeというのはCNSでも説明しますが、簡単にいうと、
キャラのステイトのタイプをあらわしています。
Aは空中にいる時(AirのAです)Sで立っている時(StandのSです)Cはしゃがんでいる時
(CrouchのCです)をあらわしています。
んで、 statetype
!= A は、 != (〜じゃない)となっていますので
trigger1 = statetype
!= A
は『キャラの状態が空中でない時』となります。
最後の trigger1 =
ctrl = 1
は、見たまんまで、キャラが操作できる時という意味です。
長くなりましたが、つまり
[State
-1] |
の発動条件は
『コマンド "a"を入力した時』
で、なおかつ『キャラが空中にいない』
そして、『キャラが操作できる時』、となります。
例.2) |
つづいて、上のトリガーについて説明します。
trigger1の記述は、基本的に例.1)と同じなので、わかりますね。
今度は、trigger2というものが、出てきました。
簡単にいうと、上のステートコントローラーは、trigger1、または、trigger2の条件が満たされた時、
発動する という意味になります。
つまり、trigger2とは、2つの発動条件がある時に、使われます。
(trigger3は3つ、trigger4は4つ という感じです。)
ちなみに、上のtrigger2についての記述も一応説明しておきます。
(得にまだ、無理して覚える必要はありません。参考程度に。)
trigger2 = command =
"Hadou_X"は、わかりますよね。
『コマンド"Hadou_X"を入力した時』です。
次のtrigger2 =
stateno = 300は、『自分のキャラの状態が
ステイト番号300番の時』、となります。
ちなみに、この例題のキャラ(ストUのリュウ)のステイト番号300番は『立ち弱パンチ』です。
そして、最後のtrigger2
= movecontactは『(直撃、ガードは問わず)攻撃が相手に当った時』
という記述です。
勘のいい人ならば、コレが何の記述か、わかったと思います。
コレは『キャンセル技』の記述ですね。(キャンセル技が、わからないという人は
自分でGogleなどでググってみてください。)
つまり上のモノを簡単にまとめると、
『ステイト番号300番(弱ぱんち)の、』『(直撃、ガードは問わず)攻撃が当たった瞬間に』
『コマンド"Hadou_X"を入力していたら』
ステイト番号300番(弱ぱんち)の残りの動作(攻撃の戻り動作)がキャンセルされ
ステイト番号1000番(波動拳)にChangeState(状態の移行)される。
trigger2の意味はこんな感じになっています。
例.2)の記述は、次のようにまとめることも出来ます。
[State
-1] |
このtriggerallとは、すべての条件式のかかる記述です。
便利ですので、覚えたほうがいいと思います。
※注・下のようにtriggerallだけでは、エラーを起こします。気をつけてください。
[State
-1] |
発動条件の優先順位
発動条件の優先順位は、ゲームをプレイするうえで、意外に重要です。
これを適当にすると、技の誤発動や、コマンドの一部がかぶり、技がゲーム中出せない
などの症状があります。
例をあげると、Xボタン(波動拳コマンド)と
Xボタン(真空波動拳コマンド)が、そうですかね。
コマンドが一部かぶっています。
発動条件の優先順位の変更の仕方は簡単です。
CMDファイルに書き込む順番を上のほうにするだけで、優先順位があがります。
上の例だと、波動拳>真空波動拳という優先順位になります。
コレの優先順位を真空波動拳>波動拳という風にするには、
下のように順番を変更すればOKです。
基本的に、順番は、超必殺>必殺技>通常技とすれば、まちがいないですかね。
あと、系コマンドは、
系コマンドより上にすると、
誤射率が減ると思います。
こんなところですかね。
以上でCMDファイルの基本は終わりです。
次のCNS講座に進んでください。
戻る