「2:前準備」の編集履歴(バックアップ)一覧はこちら
「2:前準備」(2010/07/09 (金) 12:27:31) の最新版変更点
追加された行は緑色になります。
削除された行は赤色になります。
先ずすべき事は、バックアップ
キャラ全体をコピーして、別途に保存しておくこと
(転ばぬ先の杖は大事)
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
trigger1 = Command = "AI0"
trigger2 = Command = "AI1"
~中略~
trigger50 = Command = "AI49"
trigger51 = Command = "AI50"
var(59) = 1
----------------
など、上記のコマンドをtriggerに入れる
サンプルだと、イントロが終わってもたまにスイッチが入らないことがあるが、普通はこれで問題ないと思われる
AI入る確率を上げたいなら、任意で、数を増やせば良い
(triggerの上限は不明だが、100を超えても問題ないらしいので、増やしても良い)
<注意点>
triggerの番号が飛んだ場合、それ以降は無視される
上記の場合、中略ではなく、本当に消した場合、trigger2までしか認識されない事になる
state全般に言えることだが、[state]の[]が綺麗に閉じられて無いと、認識されない
これは、なぜかエラーも出ないために気づきにくいので要注意
----------------
[State -1, ai
[State -1; ai]
;[State -1, ai]
----------------
など
----
[[<前へ>1:ファイル構成チェック]] 2:前準備 [[次へ>>3:技特性とstatenoのチェック]]
先ずすべき事は、バックアップ
キャラ全体をコピーして、別途に保存しておくこと
(転ばぬ先の杖は大事)
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]
----------------
など
----
[[<前へ>1:ファイル構成チェック]] 2:前準備 [[次へ>>3:技特性とstatenoのチェック]]