AIの常時起動方法

「AIの常時起動方法」の編集履歴(バックアップ)一覧に戻る
AIの常時起動方法」を以下のとおり復元します。
----
#contents
----

*AIスイッチの仕様
MUGENにはプレイヤー操作とCPUを区別するトリガーが存在しない。
そのため現在では、コマンド入力を監視し、その結果からキャラ独自のAIを起動するといった手法がAIスイッチの主流となっているが、
コマンド入力を監視する関係上、AIが起動するまでに避けることが出来ないタイムラグが発生する。

よって、トナメ動画用に対戦を撮影する際などに、AIが起動していない状態が長いとキャラの良さを発揮出来なかったり、
特にチーム戦では先に勝ち残りAIが起動しているキャラが、後続のAIが入ってない相手を無双してしまう場合がある。
このような事態を避けたい場合は常時AIONにしてから撮影すると良いだろう。

&bold(){なお、プレイヤー操作とCPUを区別するトリガーを無視するので、当然プレイヤー操作が行えなくなるため注意すること}

*常時AION化
**オプションを弄る
常時AION化をオプションとして設定しているキャラもいる。このようなキャラは指示に従えば、AIを常時起動させることができる。

例えばCMDファイルにtriggerにAIコマンドの書かれている欄の最後の部分に
 trigger○○ = 1
という風に追加すればOK

**トリガーを弄る(通常AIスイッチ)
&bold(){注意:[StateDef -3]、[StateDef -2]、[StateDef -1]にkeyctrl=1が指定されたType=Helperのステコンがあるキャラは}
&bold(){ヘルパー式AIスイッチを併用している場合があります。下記のヘルパー式AIの項目も読んで下さい。}

&bold(){1.} 常時AION化したいキャラのcmdファイルを開く

&bold(){2.} "AI**"や"CPU**"といった名前のコマンドが羅列されているので
 そのコマンド名でCNSファイル内の[StateDef -1]、[StateDef -2]、[StateDef -3]を検索する。
("AI**"や"CPU**"といったコマンド名が無い場合は下記の トリガーを弄る(ヘルパー式AIスイッチ) へ)

&bold(){3.} トリガーにcommand="AI**"が指定されているType=VarSetのステコンがあるので
 最も大きいtrigger(n)に+1した
  trigger(n+1)=1
 または
  trigger(n+1)=roundstate=2
  trigger(n+1)=ctrl
 を作成する
 基本的には前者でいいが、分身が発生する場合は後者を試してみよう

>例:
>[STATE AIスイッチ]
>type=VarSet
>trigger1=command="AI1"||command="AI2"||command="AI3"||command="AI4"||command="AI5"
>trigger2=command="AI6"||command="AI7"||command="AI8"||command="AI9"||command="AI10"
>trigger3=command="AI11"||command="AI12"||command="AI13"||command="AI14"||command="AI15"
>&color(red){trigger4=1}
>var(59)=1

**トリガーを弄る(ヘルパー式AIスイッチ)

"AI**"や"CPU**"のコマンドが存在しないキャラのAIスイッチは、ヘルパー式のAIスイッチを利用しています。
ヘルパー式AIスイッチは非常に起動が早いため、&bold(){AI起動のタイムラグを避けるために常時AION化を行う必要性は殆どありません。}

&bold(){1.} 常時AION化したいキャラのcmd、またはcnsファイルのAI記述を開く。
 (たいていの場合は[StateDef -1]または[StateDef -3]に記述されている)

&bold(){2.} 全てのAI記述に共通したvar(**)を探す。
>例:
>[STATE AI]
>type=ChangeState
>value=200
>triggerall=&color(red){var(59)}
>trigger1=random<100
>trigger1=ctrl&&StateType=S
>trigger1=p2bodydist x<90

&bold(){3.} 「var(**)」か、「v = **」でCNSファイルを検索すると、トリガーに
   command="a"!=root,command="a"
  のように、基本的なコマンドを比較しているType=VarSetか、Type=ParentVarSetのステコンがあるので
  最も大きいtrigger(n)に+1した
   trigger(n+1)=1
  を作成する
例:
>[STATE AI]
>type=ParentVarSet
>trigger1=parent,command="a"!=command="a"
>trigger2=parent,command="b"!=command="b"
>trigger3=parent,command="c"!=command="c"
>trigger4=parent,command="x"!=command="x"
>trigger5=parent,command="y"!=command="y"
>trigger6=parent,command="z"!=command="z"
>trigger7=parent,command="start"!=command="start"
>&color(red){trigger8=1}
>v=59
>value=1


&color(#0000ff){&italic(){&bold(){「[[俺はスロースター>エディ]][[ターなんだよ!>エルクゥ]]」}}}

復元してよろしいですか?