2:前準備

先ずすべき事は、バックアップ
キャラ全体をコピーして、別途に保存しておくこと
(転ばぬ先の杖は大事)

1でチェックした、cmdとcnsとstに記載されたファイルをエディタで開く

[statedef-3]とvar(59)を検索
(上記のYokkaGrepなどを使えば、めがっさ楽)
同じ表記のstatedefが複数あると、不具合が起きるので、予め確認しておく必要がある
また、AIの制御にvar(59)を使うので、それがすでに使われて無いかチェックする
使われていたら、58、57,56と番号を変えて「空き」がないか確認する

CMDファイルを開き、[Command]にAI起動用コマンドを追加する
[statedef-1]の上なら何処でも良いが、最上段がお勧め


[Command]
name = "AI0"
command = a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a
time = 0
[Command]
name = "AI1"
command = b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b
time = 0
[Command]
name = "AI2"
command = c,c,c,c,c,c,c,c,c,c,c,c,c,c,c,c,c,c,c
time = 0
       ~中略~
[Command]
name = "AI49"
command = z,z,z,z,a,a,a,z,z,z,z,z,a,a,a,z,z,z,z
time = 0
[Command]
name = "AI50"
command = z,z,z,a,a,z,z,z,z,z,z,z,z,z,a,a,z,z,z


など、人間には入力不可能なコマンドを設定する
また、commandの意味などは、和訳KFMのCMDファイルに詳細が記述されてるので、それを参考にすること

続いて、[statedef-1]に、AI起動用のstateを追加する
追加する場所は、[statedef-1]より下で、他のステートに割り込まないなら、何処でも良い


[State -1, ai]
type = varset
triggerall = var(59) = 0
triggerall = !ishelper
triggerall = alive
trigger1 = Command = "AI0"
trigger2 = Command = "AI1"
    ~中略~
trigger50 = Command = "AI49"
trigger51 = Command = "AI50"
var(59) = 1

など、上記のコマンドをtriggerに入れる
サンプルだと、イントロが終わってもたまにスイッチが入らないことがあるが、普通はこれで問題ないと思われる

AI入る確率を上げたいなら、AI起動用のコマンドの数を増やせば良い
なおtriggerの方は100を超えても問題ないらしいのでこちらは気にしなくても良いが、
コマンドを増やしすぎるとエラーを返されるので注意

!ishelperとaliveはAIの暴発を防ぐためのトリガーであり、
記述しなくてもAIは起動するが分身などを防ぐためにも追加しておいた方がいい
またtriggerall = movetype != Hを追加すれば、
投げ技や当身技を受けてAIが暴発するのを抑えられるケースもある


<注意点>
triggerの番号が飛んだ場合、それ以降は無視される
上記の場合、中略ではなく、本当に消した場合、trigger2までしか認識されない事になる

state全般に言えることだが、[state]の[]が綺麗に閉じられて無いと、認識されない
これは、なぜかエラーも出ないために気づきにくいので要注意

[State -1, ai
[State -1; ai]
;[State -1, ai]

など


<前へ 2:前準備 次へ>
最終更新:2010年07月09日 12:27