バンカラ街のるつぼ

リンクフリーです。改変、転載、動画使用自由です。

AIスイッチについて

テクニック工夫とか言いつつ全くテクニック出してないので

AIスイッチをオンにしつつ人操作できるようにする方法

1.cmdファイルを開きます
2.上の方に(必ずコンフィグの下、special actionの一個うえに追加するのがベター)人操作じゃ打てねーだろみたいなコマンドを10個ぐらい追加

[command]
name = "yabai1"
command = ~a,a,a,a,a
time=1

こんなのをあと9個、 名前とコマンドを変えて 追加する
(yabai2とかyabaiyoとかeternal force Blizzardとか コマンドもa,a,b,b,bとかちょっとずつ変えるだけでもいい)

3.マイナスステート(※)にこういう記述を追加します

[State ]
type = varset
Triggerall = Roundstate = 2
Trigger1 = command = "yabai1" || command = "yabai2" || command = "yabai3"
Trigger2 = command = "yabai4" || command = "yabai5" || command = "yabai6"
Trigger3 = command = "yabai7" || command = "yabai8" || command = "yabai9"
Trigger4 = command = "yabai10"
trigger5 = Roundstate = 2 && Ctrl = 1 && var(AIスイッチ) = -1
var(AIスイッチ)=AIレベル
ignorehitpause=1

ここがスイッチにあたる部分です。
コンフィグで弄らせたいならAIレベルのとこに説明入れてもいいと思います

4.暴発防止用とラウンド2以降再起動するための記述を入れます
MUGEN大会とか見てるとたまーに見ますよね、相手が倒れた後なのに小足とかずっとしてるキャラ
ああなるのを防ぐ為のスイッチです(意図的にやってる人もいないわけじゃない)
この記述をさっきのスイッチの下に追加して下さい

[State ]
type = varset
Trigger1=var(AIスイッチ)>0 && Roundstate = 3
var(AIスイッチ)=-1
ignorehitpause = 1

これで決着ついた直後にAIが一旦停止します
でも再起動する時どうするか?と言うと
3.の項にある記述の一番下のトリガーを見てください
こいつが再起動(変数にスイッチ用の数値を代入)してくれます
これで暴発の心配もありません

5.ChangestateでAI組んで完成
AI用の必須トリガーとして
Alive=1とvar(AIスイッチ)>0が必要です




※(マイナスステートとは常時監視ステートのこと、[statedef -1]、-2、-3の3つが使えて-2が1番優先度高い AIに使うのは-3が一般的 書き方は通常のステートと同じように [state ]で書いていけばいい)