-
AIの仕様 [#s82a2f12]
- AIの構成 [#c61179df]
- AIの実行 [#gbc273c5]
- AIの不具合 [#e887c07f]
-
イベント [#ai_event]
- ペットが相手を探す [#event_seek_target]
- ペットが相手をターゲット中 [#event_now_targeting]
- ペットが相手を攻撃する [#event_attack]
- ペットが相手に認識される [#event_targeted]
- ペットの相手が遠距離戦闘スキルを使用する [#event_aimed]
- ペットの相手が近接戦闘スキルを使用する [#event_target_skill_prepare]
- ペットの相手が魔法スキルを使用する [#event_target_magic_prepare]
- ペットがディフェンスで攻撃を防御する [#event_defence]
- ペットが相手に攻撃される [#event_attacked]
- 主人が相手に認識される [#event_master_targeted]
- 主人の相手が遠距離戦闘スキルを使用する [#event_master_aimed]
- 主人の相手が近接戦闘スキルを使用する [#event_master_target_skill_prepare]
- 主人の相手が魔法スキルを使用する [#event_master_target_magic_prepare]
- 主人がディフェンスで攻撃を防御する [#event_master_defence]
- 主人が相手に攻撃される [#event_master_attacked]
- 主人がスキルを準備する [#event_master_skill_prepare]
- 主人が攻撃する [#event_master_attack]
- 条件選択 [#ai_condition]
-
行動選択 [#ai_command]
- 相手を待つ [#command_wait]
- 指定の距離まで相手から逃げる [#command_move_against]
- 相手を追跡 [#command_chase]
- 相手の周りをぐるぐる回る [#command_move_around]
- 相手に近接攻撃 [#command_melee_attack]
- 相手に魔法攻撃 [#command_stackmagic_attack]
- スキル準備 [#command_prepare_skill]
- 魔法スキルチャージ [#command_stack_skill]
- 準備したスキル使用 [#command_process_skill]
- 使用中のスキルをキャンセル [#command_cancel_skill]
- 休憩スキル使用 [#command_skill_relax]
- 全体チャットに発言 [#command_say_to_all]
- アイテム探し [#command_gift_item]
- アイテム拾い [#command_pet_pickup_item]
- 各属性値の詳細 [#mdd30aaa]
- スキル名 [#ai_skill_name]
- 相手の状態 [#ai_target_state]
- テクニック [#h49f4dca]
- パターン [#z9762877]
- コメントフォーム [#m40c8353]
AIの編集
- キャラクター情報の「ペット」タブで「AI設定」ボタンを押します。
- 新しくAIを作る場合は「新AI」ボタン、既存のAIを編集する場合は、 一覧からAIを選択して「編集」ボタンを押します。
- AIに新しく規則を追加する場合は「新規則」ボタン、追加された規則を編集する場合は、 一覧から規則を選択して「編集」ボタンを押します。 ※追加された規則を編集する場合に、スキルの種類や時間の設定を変更するだけであれば、 一覧の下に表示される項目から変更できます。
- 規則の編集は、1.イベント、2.条件選択、3.行動選択の順に行います。
- 「イベント選択」では、その規則が実行される状況を選択します。 「ペットが相手に攻撃される」であれば、ペットが相手の攻撃を受けたときに規則が実行されます。
- 「条件選択」では、規則が実行されたときに、「行動選択」で指定した行動が実行されるための条件を選択します。 「相手の状態が 歩き中 の場合」であれば、ペットの相手が歩いているときに行動が実行されます。
- 「行動選択」では、「条件選択」で指定した条件が満たされたときのペットの行動を選択します。 「相手に近接攻撃」であれば、ペットは相手に対してアタックを試みます。
- 規則を削除する場合は、一覧から規則を選択して「削除」ボタンを押します。
- AI掲示板などで公開されているAIを利用する場合は、AIソースコードをコピーしてから、 「ソースを見る」タブの「貼り付け」ボタンを押します。 ※ペットAIは「AIの名前.xml」のXMLファイルとして「ペットキャラクター AI」フォルダに保存されるため、 直接XMLファイルを作成し、クライアントを再起動することでもAIを追加できます。
- 作成したAIをコピーする場合は、「ソースを見る」タブの「コピー」ボタンを押します。
- もし手書きで作成した場合、記述ミスが多くなるがそのチェックは、テキストファイルなどに貼り付けた後に拡張子をxmlにして、ブラウザなどで開くことによりもし構文に間違いがあるならその箇所を指摘してくれる。 --
AIの仕様
- AI編集機で保存されるXMLは、エンコードがUTF-16LE(BOMあり)となっているが、 エンコードがUTF-8やShift_JISのXMLでも読み込める。
AIの構成
<rules> <rule name="規則名 1"> <conditions> <condition name="コンディション名(条件)" パラメータ="値" /> </conditions> <pattern> <param_decl /> <sequence> <cmd name="コマンド名(行動)" パラメータ="値" /> </sequence> </pattern> <event name="イベント名(イベント)" パラメータ="値" /> </rule> <rule name="規則名 2"> . . . </rule> </rules>
AIの実行
- イベントは上から順に条件が評価され、当てはまるイベントがあれば実行される。 イベントが実行されるか、当てはまるイベントが無ければ一番上に戻る。
- rule nameで定義した文字列は「!」を付けることでオープンチャットで直接命令することが可能。 --
- <condisions>〜</condisions>、<pattern>〜</pattern>、<event>は必ずしもこの並び順に配置する必要はなさそう。<rule>の次行に<event>を置いてもOK。というか、なんでクライアントが出力したのは最後に配置しているんだろうね、読みにくいのに。 --
- <>で括られていない文字列があっても(注釈として)無視される模様。また同一行で<>の前後に文字列を置いても読み込み時に前後の行に分離されてしまう模様。 --
- ↑↑↑ルール名でなくAI名では出来ませんでした。残念;; --
AIの不具合
-
ペットが規則に無い行動を取る
- イベント「ペットが相手をターゲット中」の規則を作成することで回避可能。
-
条件選択「相手との距離」が機能しない
- 現在、この条件を含む規則は処理されない。
-
行動選択「準備したスキル使用」が機能しない
- 準備したスキルによって、機能したりしなかったりする。
-
行動選択で指定した行動がスキップされる
- 「準備したスキル使用」など、命令実行後のディレイを待たないコマンドがいくつか存在する。該当するコマンドの次に行動選択「相手を待つ」を適切な待ち時間で挿入する。
- 回線・PCの速度が遅い場合やラグが発生した場合、AIの処理も止まるがタイムアウトの時間は進むため、AIが正しく動作しない場合がある。
-
組み込みAI「回復モード」でヒーリングを5回かけない
- AI編集機で見ると「相手を待つ」の待ち時間が1秒〜1秒になっているが、XML上は0.5秒〜1秒になっており、待ち時間が不足する場合がある。対策としては、AIをコピーして、「準備したスキル使用」の次の「相手を待つ」の待ち時間を「1秒」以外に変えてから再度「1秒」に戻す。XMLを直接編集する場合は800ミリ秒にする。
- 上記とは別に、ヒーリング「スキル準備」コマンドが命令実行後のディレイを待たない場合がある(発生条件不明)。
-
昨日は正常に動作したAIが今日は正常に動作しない
- ディレイを待つ/待たない、コマンドが実行される/されない、といった挙動が変わる場合がある(発生条件不明)。トライアル&エラーでAIを調整する場合、完成させたAIが翌日以降も正常に動作するか確認した方が良い。
イベント
<event />
ペットが相手を探す
イベント名 seek_target
定義
- ペットキャラクターが攻撃する相手を1回探します。
- すでに相手と交戦中ならば戦闘が終わって新しい相手を見つけるまでこれ以上このイベントは実行されません。
推奨戦略
- 先制攻撃するとき
推奨行動規則
- 相手との距離が近い場合、相手をすぐに攻撃できる一般攻撃(3打)使用をおすすめします。
- 相手との距離が遠い場合、ライトニングボルト/ファイアボルト/アイスボルトなど牽制用スキルを先に使用した後、 相手をすぐに攻撃できる一般攻撃(3打)使用をおすすめします。
Tip
- ペットキャラクターを先に攻撃しない非先攻モンスターに使用することをおすすめします。
- 相手が認識する前に自分の相手を探すイベントなので先攻モンスターの場合、 ペットキャラクターが2:1の状況に陥る可能性があります。 すなわち、このイベントは速い戦闘を進行することができますが、そのぶん危険を伴うためおすすめしません。
補足
- ペットが対戦相手を見つけたときに一度だけ実行されるようです。 その後、戦闘が終わり新しい相手を見つけるとまた実行されます。 --
ペットが相手をターゲット中
イベント名 now_targeting
定義
- ペットキャラクターが現在交戦中であったり交戦中ではないが相手を認識した時、 どんな行動で対応するか定義します。
推奨戦略
- 先制攻撃するとき
- 一緒に攻撃する時
推奨行動規則
- 相手が走っていたら、一般攻撃やスマッシュなどを使用する確率が高いので ライトニングボルト/ファイアボルト/アイスボルトなど牽制用スキルを先に使用した後、 相手をすぐに攻撃できる一般攻撃(3打)使用をおすすめします。
- 相手が歩いていたら、ディフェンスを使用する確率が高いので スマッシュ使用をおすすめします。
- 相手がその場に止まっていたら、ウィンドミルやカウンターアタックなどを 使用する確率が高いので、ライトニングボルト/ファイアボルト/アイスボルトなど 牽制用スキルを先に使用した後、相手をすぐに攻撃できる一般攻撃(3打)使用をおすすめします。
- 相手が走っていたりその場で止まっている時、 ライトニングボルト/ファイアボルト/アイスボルトなど牽制用スキルを先に使用して 相手を近づけさせた後、カウンターアタックやウィンドミルなど 相手の攻撃をやり返す攻撃もおすすめします。
Tip
- ライトニングボルト/ファイアボルト/アイスボルトなどを使用して攻撃のチャンスをつかんだ後、 一般攻撃をしようとする時、相手との距離が遠い場合、失敗する危険性があります。
補足
- ペットが対戦相手を認識しているときにかなりの頻度で実行されるようです。 --
- 「ペットが〜で攻撃する」イベント処理を定義すると、そのイベント発生の前か後にも実行されるようです。 他のイベントでも同様かはわかりません。 確認した手順。 1. 「タゲ中&相手硬直中」にカウンター、2. 「カウンタ当てた」らLB、というAI でLBカウンタをすると、カウンター準備がワンテンポ遅れますが、3. 「攻撃当てた」ら何もしない、というルールを追加することで、この遅れがなくなりました。 --
- ↑制限時間なしの魔法はHitの瞬間から1秒程度「行動実行中」として行動に制限がかかります。なので↑の1,2だけでは2のLBの後1秒ほど間をおいて1のカウンターを使用という流れになりますが、3を入れるとLBが当たった瞬間にLBの縛りを中断し3が実行され、1に戻るという流れです。これもあくまで経験上の推測に過ぎませんが・・・。 --
ペットが相手を攻撃する
イベント名 attack
パラメータ pet_attackable_skill 攻撃に用いるスキル名 down ダウンする場合は true。しない場合は false。
定義
- ペットキャラクターのどんなスキルで相手を攻撃するか定義します。
推奨戦略
- 先制攻撃するとき
- 一緒に攻撃する時
推奨行動規則
- 一般攻撃やスマッシュなどを使用して相手をダウンさせた直後ならば カウンターアタックやウィンドミル使用をおすすめします。
- ライトニングボルト/ファイアボルト/アイスボルトなどを使用して 攻撃のチャンスをつかんだのなら、相手をすぐに攻撃できる一般攻撃(3打)使用をおすすめします。
Tip
- ライトニングボルト/ファイアボルト/アイスボルトなどを使用して攻撃のチャンスをつかんだ後、 一般攻撃をしようとする時、相手との距離が遠い場合、失敗する危険性があります。
補足
- 相手の状態の飛ばされ中に当たるのが「ダウンする」。後退中・硬直中はともに「ダウンしない」に含まれます。 --
ペットが相手に認識される
イベント名 targeted
パラメータ targeting_type 認識される場合は alert。警戒される場合は attack。
定義
- ペットキャラクターが相手に認識または警戒されている時 どんな行動で対応するか定義します。
- 認識とはモンスターに感嘆符が1個現れた状態で、 警戒はモンスターに感嘆符が2個現れた状態です。
推奨戦略
- 先制攻撃する時
- 一緒に攻撃する時
推奨行動規則
- 認識された場合、一般攻撃やスマッシュなど相手に接近して短時間で 攻撃するスキル使用をおすすめします。
- 警戒された場合、カウンターアタックやウィンドミルなど 相手の攻撃にやり返せるスキルや ライトニングボルト/ファイアボルト/アイスボルトのように 攻撃のチャンスを持ってこられるスキル使用をおすすめします。
Tip
- モンスターの場合、認識後キャラクターに攻撃するために 警戒状態に入るまで一定の時間を要します。 したがって認識した敵を攻撃させると 効果的にモンスターを先に攻撃することができます。
- 認識過程がとても速く、すぐに警戒に転換するモンスターの場合 このイベントを使うことは危険な可能性があります。
補足
ペットの相手が遠距離戦闘スキルを使用する
イベント名 aimed
定義
- ペットキャラクターの相手が遠距離戦闘スキルを使用する時 どんな行動で対応するか定義します。
推奨戦略
- 先制攻撃する時
- 一緒に攻撃する時
推奨行動規則
- 相手が近くで遠距離戦闘スキルを使用する場合、相手をすぐに攻撃できる 一般攻撃(3打)使用をおすすめします。
- 相手が遠くから遠距離戦闘スキルを使う場合 ライトニングボルト/ファイアボルト/アイスボルトのように 攻撃のチャンスを持ってこられるスキルの連続使用をおすすめします。 この時少しずつ距離を縮めて一定距離内に入って来る場合 相手をすぐに攻撃できる一般攻撃(3打)使用をおすすめします。
Tip
- マグナムショットを使用しない相手ならばディフェンスを使用して接近し 相手をすぐに攻撃できる一般攻撃(3打)使用もおすすめします。
補足
ペットの相手が近接戦闘スキルを使用する
イベント名 target_skill_prepare
定義
- ペットキャラクターの相手が近接戦闘スキルを使用する時 どんな行動で対応するか定義します。
推奨戦略
- 先制攻撃する時
- 一緒に攻撃する時
推奨行動規則
- 相手が走っていたら、一般攻撃やスマッシュなどを使用する確率が高いので ライトニングボルト/ファイアボルト/アイスボルトなど牽制用スキルを先に使用した後、 相手をすぐに攻撃できる一般攻撃(3打)使用をおすすめします。
- 相手が歩いていたら、ディフェンスを使用する確率が高いので スマッシュ使用をおすすめします。
- 相手がその場に止まっていたら、ウィンドミルやカウンターアタックなどを 使用する確率が高いので、ライトニングボルト/ファイアボルト/アイスボルトなど 牽制用スキルを先に使用した後、相手をすぐに攻撃できる一般攻撃(3打)使用をおすすめします。
- 相手が走っていたりその場に止まっている時、 ライトニングボルト/ファイアボルト/アイスボルトなど牽制用スキルを先に使用して 相手を近づけさせた後、カウンターアタックやウィンドミルなど 相手の攻撃をやり返す攻撃もおすすめします。
Tip
- ライトニングボルト/ファイアボルト/アイスボルトなどを使用して攻撃のチャンスをつかんだ後、 一般攻撃をしようとする時、相手との距離が遠い場合、失敗する危険性があります。
補足
- 通常のアタックも近接戦闘スキルを使用に含まれる模様。 --
- 敵が走っている場合使用中のスキルをキャンセルし、近接攻撃させることで気持ちいいように敵のスマッシュを撃退できた。ただし、通常攻撃との見分けや発動率の指定も不可能なため、通常攻撃だった場合には相打ちになる。この場合、ある程度すばやいペットの場合の場合や、タイミングにより、攻撃権を優先的に取れる模様。 --
ペットの相手が魔法スキルを使用する
イベント名 target_magic_prepare
定義
- ペットキャラクターの相手が魔法スキルを使用する時 どんな行動で対応するか定義します。
推奨戦略
- 先制攻撃する時
- 一緒に攻撃する時
推奨行動規則
- 相手が近くで魔法スキルを使用する場合、相手をすぐに攻撃できる 一般攻撃(3打)使用をおすすめします。
- 相手が遠くから魔法スキルを使用する場合、ライトニングボルト/ファイアボルト/アイスボルトなど 牽制用スキルを先に使用した後、相手をすぐに攻撃できる一般攻撃(3打)使用をおすすめします。
Tip
- チェーンキャスティングを使用する相手が遠くから魔法を使用していたら 対応しづらいため相手から逃げたほうがいいです。
補足
- ペットがターゲットしている相手が魔法を使った時ではなく、ペットの周辺の敵が魔法を使った時っぽい。これで魔法使ったら即攻撃ってさせてると、周囲の敵殴って多タゲになるようだ。 --
ペットがディフェンスで攻撃を防御する
イベント名 defence
パラメータ defence_enable_skill 防御するスキル名
定義
- ペットキャラクターが相手のあるスキルをディフェンスで防御するのに成功した時 どんな行動で対応するか定義します。
推奨戦略
- 先制攻撃する時
- 一緒に攻撃する時
推奨行動規則
- 相手の遠距離戦闘スキル/近接戦闘スキル/魔法スキルをディフェンスするのに成功した場合 一般攻撃で反撃するのがいいです。
Tip
- スマッシュ、マグナムショット、チェーンキャスティングのある魔法攻撃は 防御することができません。
補足
ペットが相手に攻撃される
イベント名 attacked
パラメータ master_skill 攻撃されるスキル名 down ダウンする場合は true。しない場合は false。
定義
- ペットキャラクターがあるスキルで相手から攻撃された時 どんな行動で対応するか定義します。
- ダウン可否による行動も一緒に定義します。
推奨戦略
- 先制攻撃する時
- 一緒に攻撃する時
推奨行動規則
- 攻撃された後消耗した生命力が多く、相手が遠くに止まっていたらヒーリング使用をおすすめします。
- 相手が走っていたら、一般攻撃やスマッシュなどを使用する確率が高いので ライトニングボルト/ファイアボルト/アイスボルトなど牽制用スキルを先に使用した後、 相手をすぐに攻撃できる一般攻撃(3打)使用をおすすめします。
- 相手が歩いていたら、ディフェンスを使用する確率が高いのでスマッシュの使用をおすすめします。
- 相手がその場に止まっていたら、ウィンドミルやカウンターなどを使用する確率が高いので ライトニングボルト/ファイアボルト/アイスボルトなど牽制用スキルを先に使用した後、 相手をすぐに攻撃できる一般攻撃(3打)使用をおすすめします。
- 相手が走っていたりその場に止まっている時、 ライトニングボルト/ファイアボルト/アイスボルトなど牽制用スキルを先に使用して 相手を近づけさせた後、カウンターアタックやウィンドミルなど 相手の攻撃にやり返す攻撃もおすすめします。
Tip
- 大きいモンスターたちは相手を攻撃した後、大きさを利用して素早く接近できるので カウンターアタックやウィンドミルでの対応をおすすめします。
- スマッシュやカウンターアタックなどで攻撃された場合、 普段より遠くに後退したり飛ばされます。
補足
主人が相手に認識される
イベント名 master_targeted
パラメータ targeting_type 認識される場合は alert。警戒される場合は attack。
主人の相手が遠距離戦闘スキルを使用する
イベント名 master_aimed
主人の相手が近接戦闘スキルを使用する
イベント名 master_target_skill_prepare
主人の相手が魔法スキルを使用する
イベント名 master_target_magic_prepare
主人がディフェンスで攻撃を防御する
イベント名 master_defence
パラメータ defence_enable_skill 防御するスキル名
- AI編集機で "主人が防御する" イベントが処理されなかった問題が修正されます。←Datas引様。日本は恐らく修正されてないので現在イベントが発生しない可能性あり。 --
- ↑日本じゃないなら、冒頭に「韓国テストサーバーで」とか入れて欲しいんだが。 --
- スマソ。ペットフィニッシュによる探検EXP取得もまだ日本修正されてないしこのイベントは処理されない可能性大。 --
主人が相手に攻撃される
イベント名 master_attacked
パラメータ master_skill 攻撃されるスキル名 down ダウンする場合は true。しない場合は false。
- これ機能してますか?このイベント働いたことがないんだけど、みなさんどうですか? --
- down="false" master_skill="all" で働きました。 down="true" は未確認です。 ペットはサラブレッドで敵はネズミです。 --
- 機能してるようです。主人が攻撃された場合、準備中のスキルをキャンセルさせて近接攻撃を設定しておけば3打攻撃の途中でペットが横から割って入ってくれます。かなり有効のようでした。 --
主人がスキルを準備する
イベント名 master_skill_prepare
パラメータ event_skill 準備するスキル名
- 「準備が完了した」時にイベント発生 --
- ペット自身の治療や回復を促すときに単独のAIを作っておくと便利です。ペット自身のマナで自己回復するのでとても便利です。 --
主人が攻撃する
イベント名 master_attack
パラメータ master_skill 攻撃の用いるスキル名
定義
- 主人が相手を攻撃した時、どんな行動で対応するか定義します。
推奨戦略
- 一緒に攻撃する時
- 回復させる時
推奨行動規則
- 一緒に攻撃するために主人が相手に近づく場合、ペットキャラクターは 一般攻撃やスマッシュなどを使用して素早く戦闘に参加することをおすすめします。
- 回復のために主人が戦闘に関係ない指定のスキルをしばらくの間使用する場合、 消耗した生命力を検査して主人にヒーリングを使用することをおすすめします。
Tip
- 近づいてくる敵に魔法を使用して牽制しても相手のディフェンスに防がれることがあるので、 この時ペットキャラクターは相手をすぐに攻撃できる一般攻撃(3打)使用をおすすめします。
補足
条件選択
<conditions> <condition /> </conditions>
(適切な場所がわからなかったのでとりあえずここへ) 同じタイプの条件を複数記述するとOR条件になります。 別のタイプの条件を複数記述するとAND条件なります。 たとえば、
相手の状態がやられて硬直中の場合 そして相手の状態がやられて後退中の場合 そしてカウンターを現在使用できる場合
という条件があると、 「相手がやられて硬直中または後退中の時に、カウンターが使用できるなら」 という意味になります。
相手の状態
コンディション名 target_state
パラメータ state 相手の状態
定義
- 相手が主人やペットキャラクターに攻撃を受ける前、攻撃を受けた後の状態を設定することができます。
特徴
-
歩き中
- 相手がディフェンスを使用中なのでスマッシュで対応します。
- 一部の相手はスマッシュや一般攻撃の使用中にも相手をだますために歩いたりもします。
-
歩き・走り中
- 歩いている場合、相手がディフェンスを使用中なのでスマッシュで対応します。
- 走っている場合、相手がスマッシュや一般攻撃を使用中なのでカウンターアタックで対応します。
- 一部の相手は魔法スキルを使用して歩いたり走ったりもしますが、この時は防御が不可能です。
- この条件は相手が取りうる行動がいくつもあるのでペットキャラクターが対応しにくく、おすすめしません。
-
止まり中
- 相手がカウンターアタックやウィンドミルを使用中なので ライトニングボルト/ファイアボルト/アイスボルトで対応します。
- 一部の相手はディフェンスを使用したり魔法を使用した後止まっていたりもします。
-
歩き・止まり中
- 歩いている場合、相手がディフェンスを使用中なのでスマッシュで対応します。
- 止まっている場合、相手がカウンターアタックやウィンドミルを使用中なので ライトニングボルト/ファイアボルト/アイスボルトで対応します。
- この条件は相手が取りうる行動がいくつもあるのでペットキャラクターが対応しにくく、おすすめしません。
-
走り中
- 相手がスマッシュや一般攻撃を使用中なのでカウンターアタックやウィンドミル または攻撃魔法で対応します。
- 一部の相手は魔法スキルを使用して走ったりもしますが、この時は防御が不可能です。
-
やられて飛ばされ中
- 最後に攻撃したのが主人の場合、一般攻撃やスマッシュなどで攻撃的に対応します。
- 最後に攻撃したのがペットキャラクターの場合、カウンターアタックやウィンドミル、 魔法などで防御的に対応します。
-
やられて後退中
- やられて飛ばされ中と対応方法は同じです。
-
やられて硬直中
- やられて飛ばされ中と対応方法は同じです。
参照
補足
- 「やられて硬直中」って、例えば近接3打の場合、1打目、2打目の時がその状態でいいのかな。 --
- ↑その状態で合ってる。IBやLBを1発だけ当てた時の状態と同じ。魔法カウンタなどの条件指定にはこれを使う。 --
- 硬直中の条件を入れると1打目、2打目と叩くたびにリトライしませんか?例えば「硬直中→IB準備」だと主人の1打目の硬直時にIBチャージ、2打目の硬直時にもう一度IBチャージという風に。 --
- FBやスマッシュなんかでドーンと飛んでいくのが「飛ばされ中」で三打のときにズサーってなるのが「後退中」? --
相手との距離
コンディション名 target_distance
パラメータ min_distance 相手との最小の距離(センチメートル) max_distance 相手との最大の距離(センチメートル)
定義
- ペットキャラクターと相手の距離を指定することができます。
特徴
-
最小距離
- あるスキルで相手に対応する時、4m以上あって初めてスキルを安全に使用することができます。
- 最小距離が4m未満の場合、一般攻撃を除いたスキルは失敗する確率が高いです。
-
最大距離
- あるスキルで相手に対応する時、12m未満で初めてスキルを安全に使用することができます。
- 最大距離が12m以上の場合、魔法使用攻撃を除いたスキルは失敗する確率が高いです。
補足
- 現在バグだと思われるが、この条件を入れた規則は無視される模様。 --
スキル使用可能可否
コンディション名 skill_preparable
パラメータ pet_skill 使用の可否を検査するスキル名
定義
- ペットキャラクターが指定のスキルを持っているか検査します。
- マナやスタミナが不足していないか検査します。
特徴
- ペットキャラクターごとに持っているスキルが異なる時、 スキルを使用する前にこの条件を追加した場合、該当スキルを持っているか検査し スキルがなければ条件や行動が処理されないようにします。
- スキルを使用する前にマナやスタミナが不足していないか検査し マナやスタミナがなければ条件や行動が処理されないようにします。
参照
補足
- スタミナ・マナが足りない場合、スキルを持っていない場合のほか、それ以上重ねて使用できない場合も「否」判定になるみたい。例えばスマッシュ準備中にさらにスマッシュ使用だとか、LB以外の魔法5チャージ中にさらに同一魔法使用など。 --
- 一般攻撃の使用可否はスタミナが足りていてもスキル未使用時でも否となり、近接スキルは他のすべてのスキル使用中には否とされます。つまり↑のようなスマッシュ中にスマッシュ不可というだけでなく、ディフェンス中も魔法1チャージ中もスマッシュは不可と判定されます。 --
主人の消耗した生命力が一定数値以上の時
コンディション名 master_damaged_life_greater
パラメータ life 主人の消耗した生命力
定義
- 主人の消耗した生命力が一定数値以上なのか検査します。
特徴
- 負傷を除いて実際に回復させることのできる生命力がいくらなのか判断します。
- 回復させることのできる生命力とは絶対数値を意味します。 (パーセントではありません。)
補足
行動選択
<pattern> <param_decl> <sequence> <cmd /> </sequence> </pattern>
相手を待つ
コマンド名 wait
パラメータ min 相手を待つ最小の時間(ミリ秒) max 相手を待つ最大の時間(ミリ秒)
定義
- 指定の時間の間、その場で相手を待ちます。
特徴
- 何のスキルも使用しないままその場で相手を待ちたい時に使用します。
- スキルの場合、行動選択段階の 準備したスキルを使用 で別途に時間を指定することができます。
補足
- ペットが待つ時間は最小〜最大の間でランダムで決まります。一定の時間待たせたいのであれば最小と最大を同じ値にする必要があります。 --
- 一部スキルはコレを入れないと準備中に命令を出して作動しないことがあるようです。『魔法チャージ→準備したスキル使用』など。 --
指定の距離まで相手から逃げる
コマンド名 move_against
パラメータ distance 逃げる距離(センチメートル) run 走る場合は true。歩く場合は false。 timeout 制限時間(ミリ秒)
定義
- 指定の距離まで相手から逃げます。
- 逃げる時、歩くか走るか指定することができます。
特徴
- 1秒間約3m移動することができます。
- 制限時間が終わらない状態で逃げる距離に到達した場合 制限時間が終わらないと次の行動を取ることができません。
補足
- カウンター待機中は使用中のスキルをキャンセルを入れないと移動しません。 --
相手を追跡
コマンド名 chase
パラメータ chase_target 対象が攻撃相手の場合は enemy。主人の場合は master。 timeout 追跡する時間(ミリ秒) run 走る場合は true。歩く場合は false。
定義
- 相手や主人を指定の時間追跡します。
- 追跡する時、歩くか走るか指定することができます。
特徴
- 追跡する時、相手がペットキャラクターを認識せず主人を認識している状態の時だけ 安全に追跡することができます。
- 追跡が終わってからスキルを使用させ相手を攻撃するのがいいです。
- スマッシュを使用して相手を歩いて追跡する場合、相手をだますことができます。 ただし、モンスターには適用されません。
補足
- 「相手から逃げる」と違い対象の位置に到達すると時間が残っていても次の行動に移る。 --
相手の周りをぐるぐる回る
コマンド名 move_around
パラメータ clockwise 時計方向の場合は true。反時計方向の場合は false。 radius 相手からの距離(センチメートル) run 走る場合は true。歩く場合は false。 timeout 制限時間(ミリ秒)
定義
- 相手の周囲を時計回りや反時計回りに指定の距離を維持しながら 制限時間の間ぐるぐる回ります。
- 回るとき歩くか走るか指定することができます。
特徴
- 指定の距離を維持する時、相手が移動しても相手を中心軸に指定の距離を保ち続けます。
- ダンジョンのように塞がった壁がある場合、相手の周囲を回っている途中 壁にさえぎられてそれ以上動けなくなることもあるので ダンジョンでの使用は好ましくありません。
補足
相手に近接攻撃
コマンド名 melee_attack
パラメータ timeout 制限時間(ミリ秒)
定義
- 相手に近接攻撃をします。
特徴
- 近接攻撃は基本的に3打です。
- 1打ごとに制限時間を設定して相手の硬直を利用することができ これを利用して4打を試みることもできますが 失敗する確率が高いので使用しないほうがいいです。
補足
- 基本的に3打というコメントに注目。基本外で1打しかしなかったりもあるので使い分けに注意しましょう。 --
- そうか・・・基本的に3打か・・・。1打で攻撃をやめて被弾する事が合ったため、「ターゲット中の相手がいる」の処理が入り込んだのかとか、色々疑ってしまった。1打でやめちゃうときもあるのね。 --
- 制限時間がくると、途中で攻撃をやめる。なので、timeout="0"で3打すると思われ。また、これを利用して1打づつwaitいれると+1打が可能。 --
- 「相手に近接攻撃」の制限時間は全て「なし」にしてるけど、戦闘中の敵を倒し、警戒してきた敵に対して近接攻撃をさせた場合、高い確率で「1打」の攻撃になってしまう。例を挙げると「攻撃⇒カウンター⇒ディフェンス」の命令実行中に、カウンターで敵を倒す。ディフェンス実行中に敵が「!!」を出してくるので「警戒⇒中断⇒近接攻撃⇒ディフェンス」の処理が走る。その時、ペットは相手に突進し1打して満足して倒される。そんな感じ。アホな子! --
- 「相手に近接攻撃」は、「ペットが相手を攻撃する」イベントを発生させるので、そのイベントの条件でhitがあるとダメかも。単一イベントでの行動は連続させず、その行動で発生する次のイベントで処理がよいかもです。わたしの場合、「相手に近接攻撃」は単体で実行->「ペットが相手を攻撃する」イベントで吹っ飛びかダウンなら「カウンタ準備」としているです。 --
- 「ペットが一般攻撃-ダウンしない→相手が硬直中→相手に近接攻撃」で3打。 --
相手に魔法攻撃
コマンド名 stackmagic_attack
パラメータ stack_magic チャージする魔法のスキル名 charge チャージする回数 timeout 制限時間(ミリ秒)
定義
- 相手にどんな魔法スキルを何個までチャージし使用するのか指定することができます。
特徴
- 魔法を1回チャージ後攻撃したとき、相手との距離が短い場合、近接攻撃を使用するのがいいです。
- 魔法を1回チャージ後攻撃したとき、相手との距離が遠い場合、 カウンターアタックやウィンドミルなど相手の攻撃を待つスキルを試みるのがいいです。
- ペットキャラクターごとに持っている魔法が異なるので 条件選択の スキル使用可否 でスキルを使用できるのか検査したほうがいいです。
- 魔法の種類とチャージ回数によって相手がダウンするタイミングが変わりうるので 魔法ごとに設定を変えたほうがいいでしょう。
参照
補足
- 近接スキルをキャンセルした直後は、この規則は無視されるようです。対処法としては、【直前に「使用中のスキルをキャンセル」を2回入れる。】【「魔法スキルチャージ」・「相手に魔法攻撃」の2段構えにする。】等があります。 --
- 1回追加チャージしてから攻撃という意味ではない。未チャージのときは1チャージしてから発射、すでに1チャージ以上しているときは即座に発射します。 --
スキル準備
コマンド名 prepare_skill
パラメータ pet_skill 準備するスキル名 timeout 制限時間(ミリ秒)
定義
- 指定のスキルを指定の回数だけ制限時間まで準備し続けるようにします。
- 相手の打撃によって後退したり飛ばされる時は制限時間を設定して 指定のスキルを使用する時間を確保せねばならず、 指定のスキルがない場合、このすべての行動はキャンセルされます。
特徴
- 大部分のスキルは再試図は1回までがいいでしょう。
- 以前に詠唱されたスキルがある場合、これをキャンセルしてもう一度詠唱するので 以前のスキルを使用し終わってからこの行動を選択したほうがいいでしょう。
- ヒーリングを準備だけした状態で維持して防御力を増加させ 相手から受けるダメージを減らす方法も活用できますが この方法は使用しないほうがいいでしょう。
参照
補足
魔法スキルチャージ
コマンド名 stack_skill
パラメータ stack_magic チャージする魔法のスキル名 charge チャージする回数
定義
- 魔法スキルを指定した個数までチャージして準備します。
特徴
- チャージをして相手をすぐに攻撃したくない時、この行動を選択するといいです。
参照
補足
準備したスキル使用
コマンド名 process_skill
パラメータ target 対象が攻撃相手の場合は enemy。自分の場合は me。主人の場合は master。 攻撃相手に近い位置の場合は pas_toward_target。 攻撃相手の位置の場合は target_pos。自分の位置の場合は my_pos。 timeout 制限時間(ミリ秒)
定義
- 主人または相手などに準備したスキルを制限時間の間使用します。
特徴
- カウンターアタックやウィンドミルなどの一部スキルは制限時間を設定して スキルを使用したまま長時間じっとしていることを防いだほうがいいです。
- ウィンドミルの場合、攻撃相手の近くの位置にも使用可能ですが それ以外のスキルは主人、自分、相手にだけ使用可能です。
補足
- このコマンドはスキル使用後のディレイ待ちをせず次の命令に移行します。ディレイが必要なヒーリング等は1回ごとにディレイを設定しましょう --
- スマッシュを準備後に使用するのは、このコマンドでは無い。melee_attackでスマッシュが使用される。 --
使用中のスキルをキャンセル
コマンド名 cancel_skill
定義
- 使用中のスキルをただちにキャンセルします。
特徴
- ペットキャラクターの生命力が消耗し危険な状況になった時 使用中のスキルをキャンセルして相手の反対側へ最大限に逃げて ヒーリングを自分に使用したほうがいいです。 ただし、ダンジョンのように四方が塞がった所では逃げられないので 使用しないほうがいいでしょう。
- 自分にヒーリングを使用する場合回復量と同一量のスタミナを消耗するため 次の攻撃が遂行できない可能性があります。この点に注意しなければなりません。
- 主人の生命力が消耗し危険な状況になった時、使用中のスキルをキャンセルして ヒーリングを主人に使用するのがいいです。
補足
- ペット自身の体力の判定スイッチが設定できないため、ペット自身の自己回復の発動のきっかけは設定しにくいです。或いは総合的にAIを設定した場合、複数回準備したヒールがスタミナ不足で消化できない場合もあります。この場合、準備したヒールスキルのキャンセルのきっかけも設定が難しいため回復用のAIと戦闘用のAIを個別に設定したほうが無難な様です。 --
休憩スキル使用
コマンド名 skill_relax
パラメータ on 休憩をスタートする場合は true。中断する場合は false。
定義
- 休憩を始めたりキャンセルします。
特徴
- 休憩以外のスキルを準備したり使用する時、休憩は自動でキャンセルされます。
補足
全体チャットに発言
コマンド名 say_to_all
パラメータ text 発言する文字列
定義
- 全体チャットに発言します。
特徴
- 頭上に吹き出しとともに設定した文字列が表示されます。
補足
- 簡易編集機では未定義となっているため、ソースに直接記述する必要があります。
- このコマンドを入れてソースを貼り付けようとすると必ず失敗するのですが…どうすれば良いでしょうか? --
- マビノギのフォルダにテキスト自体を入れ込めばおk --
- ↑マビノギのAIフォルダにテキストで作ったAIを入れるってこと? --
- ↑マビノギのAIフォルダにテキストで作ったAIを入れるってこと? --
- 既存のものを(OS上で)編集するなりしてXML書けばいい --
- これって今機能する?未定義のせいか読み込んでくれないみたいだけど --
- 公式ページよりAI設定で使用する命令について --
- そのお知らせから使用不可になったのね、まぁネクソン側が入れるつもりないなら当たり前か --
アイテム探し
コマンド名 gift_item
定義
- アイテムを探してきて主人に渡します。
特徴
- アイテムを探す能力のあるペットでのみ使用可能です。
補足
- 簡易編集機では未定義となっているため、ソースに直接記述する必要があります。
アイテム拾い
コマンド名 pet_pickup_item
定義
- 落ちているアイテムを拾います。
特徴
- アイテムを拾う能力のあるペットでのみ使用可能です。
補足
- 簡易編集機では未定義となっているため、ソースに直接記述する必要があります。
各属性値の詳細
ここでは行動定義時に指定する各種属性値に付いての詳細を記載します。 (いくつかの行動で共通に使用され、かつ、それなりにボリュームがありそうな属性について、こちらに項目を作ってみました。見出し名、記載場所など適切な場所がありましたら、そちらへ移動してください)
距離
- 15m
- レザロンあたる
- 14m
- 13m
- 12m
- IBあたらない。
- 11m
- IBあたる。
スキル名
全ての攻撃 all 一般攻撃 basic ディフェンス defence スマッシュ smash カウンター counter ウィンドミル windmill ライトニングボルト lightningbolt ファイアボルト firebolt アイスボルト icebolt ヒーリング healing サンダー thunder 応急治療 firstaid レンジアタック ranged_attack マグナムショット magnum_shot
以下「主人がスキルを準備する」等で使用できる
ファイナルヒット finalhit パーティーヒーリング 使用できない模様 ファイアボール fireball アイススピア icespace サポートショット support_shot アローリボルバー arrow_revolver ミラージュミサイル mirage_missile
相手の状態
歩き中 walk 歩き・走り中 walk, run 止まり中 stop 歩き・止まり中 walk, stop 走り中 run やられて飛ばされ中 blowaway やられて後退中 shoved やられて硬直中 hit
- 「やられて飛ばされ中」は相手がダウンした状態、「やられて後退中」は相手がダウンせず後退している状態、 「やられて硬直中」は相手が攻撃を受けている間、身動きがとれない状態をさす。
テクニック
ディフェンス、カウンターの解除を防ぐ
<rules> <rule name="ペットが相手をターゲット中"> <conditions/> <pattern> <param_decl/> <sequence> <cmd name="wait" min="1000" max="1000"/> </sequence> </pattern> <event name="now_targeting"/> </rule> </rules>
- イベント「ペットが相手をターゲット中」の規則を作成する。条件選択・行動選択は無指定で構わない。
パターン
ペットに一定の型にそった戦闘を命令する場合の、規則の組み合わせや注意点です。 以下のパターンだけでは、対応できる相手に限界があるため、AIの基本として組み込むことをお勧めします。
魔法カウンター
<rules> <rule name="相手を攻撃する"> <conditions/> <pattern> <param_decl/> <sequence> <cmd name="stackmagic_attack" stack_magic="icebolt" charge="1" timeout="5000"/> </sequence> </pattern> <event name="attack" pet_attackable_skill="smash" down="true"/> </rule> <rule name="カウンターを準備する"> <conditions/> <pattern> <param_decl/> <sequence> <cmd name="prepare_skill" pet_skill="counter" try_cnt="0" timeout="5000"/> </sequence> </pattern> <event name="attack" pet_attackable_skill="icebolt" down="false"/> </rule> <rule name="魔法で攻撃する"> <conditions> <condition name="target_state" state="blowaway"/> </conditions> <pattern> <param_decl/> <sequence> <cmd name="stackmagic_attack" stack_magic="icebolt" charge="1" timeout="5000"/> </sequence> </pattern> <event name="attack" pet_attackable_skill="counter" down="true"/> </rule> </rules>
規則
-
相手を攻撃する
-
イベント選択「ペットが相手を攻撃する」
- ペットが「一般攻撃/スマッシュ」で攻撃する。ダウン可否=ダウンする
-
行動選択「相手に魔法攻撃」
- 「ライトニング/ファイア/アイスボルト」スキルを「1回」チャージ後攻撃。
-
イベント選択「ペットが相手を攻撃する」
-
カウンターを準備する
-
イベント選択「ペットが相手を攻撃する」
- ペットが「ライトニング/ファイア/アイスボルト」で攻撃する。ダウン可否=ダウンしない
-
行動選択「スキル準備」
- 「カウンター」を準備する。
-
イベント選択「ペットが相手を攻撃する」
-
魔法で攻撃する
-
イベント選択「ペットが相手を攻撃する」
- ペットが「カウンター」で攻撃する。ダウン可否=ダウンする
-
条件選択「相手の状態」
- 相手の状態が「やられて飛ばされ中」の場合
-
行動選択「相手に魔法攻撃」
- 「ライトニング/ファイア/アイスボルト」スキルを「1回」チャージ後攻撃。
-
イベント選択「ペットが相手を攻撃する」
補足
- 相手がダウン後にディフェンスなどを使う場合、対応するための規則を作成します。
- カウンターを解除してしまう場合、「ペットが相手をターゲット中」の規則を作成します。
- 現状では、移動速度の遅い相手(クモ・ツチブタなど)にしか、(英字ランクの)FBカウンターは間に合わない。 --
コメントフォーム
- ペット所持アイテムを使用するには、どうするの?(マナポージョンなど) --
- ペット自身のライフが少ない時に、自己ヒールをするには、どうするの? --
- ペットがアイテム使用するコマンドは存在しない。自己ヒールはターゲットを主人じゃなくて自分にすればいい。 --
- 上のスキル名の欄に応急治療(first_aid)があるけど、xmlに記述すると簡易編集機(?)で表示されないので一応報告です。勘違いでしたらすみません。 --
- スペルミスですね。編集機使えば <cmd name="prepare_skill" pet_skill="firstaid" try_cnt="0" timeout="5000"/>で表示されます。 --
- ドコへコメントすれば良いか分からなかったのでこちらへ。 制限時間について:制限時間は、その行動を「何秒間で終わらせるか」という事のようです。例えば、[相手から4mになるまで逃げる(制限時間5秒)]→[相手に魔法スキル使用(制限時間5秒)]という2つを行動選択に一緒に入れると、相手から4m離れても5秒間はそのまま待機し、5秒たつと魔法スキルを使用して攻撃します。この場合、[相手から4mになるまで逃げる]の制限時間を1秒や2秒へ変更すれば、速やかに魔法攻撃を行うことが出来ます。 --
- 制限時間についてもう一つ:[相手に魔法スキル使用]等で制限時間を0.5秒に設定してしまうと、魔法を詠唱している間に制限時間が過ぎてしまい、魔法の詠唱が完了後、攻撃せずにその場で待機状態に入ってしまいます。この場合は制限時間を5秒程度に設定すれば解決できます。 --
- ふっ飛ばしたとき、後退させたときの距離や魔法の射程が何mかとかあると便利かも --
- 移動に関する最小単位は0.5secらしい、それ以下に設定しても0.5secと同じだけ動く --
- ペット自身が索敵して敵を攻撃する時はいいのだが、Shiftキーでこちらから攻撃相手を指定した場合に、通常攻撃後ディフェンスなどしないでもう一度突っ込んでしまう。どうやら指定攻撃→AIに移行しているようなのだが、これを回避する方法がわからない…誰か助けてorz --
- 魔法をフルチャージするとスキル使用不可判定で使用できないと判断される --
- 掲示板小技の死亡判定ターゲットが吹っ飛び中カウンタは、PT戦なので他の人が倒してしまった場合フィニッシュ残りになるが、それが吹っ飛び中と判定されてしまいキャンセルしてもカウンタを準備し続ける --
- AI掲示板で検証されたことや小技とか掲載するといいかも? --
- ↑x4 Shiftクリックでも「ペットが相手をターゲット中」イベントは発生するのでうまく利用して回避。↑x2 PT時以外でも、とどめを主人が刺したりするとたまに発生。敵が消えれば直る。 --
- ↑×3ターゲット吹っ飛び中カウンタ可でカウンタでその下にターゲット吹っ飛び中アタックにしたら --
- エンタミス・・orzそうすれば、カウンタ中はカウンタ不可判定だから反応しないかな? --
- ↑試してみましたが反応しませんでした --
- AIウィザードで表示される推奨戦略、推奨行動規則、特徴は正直全く参考にならないし少し見づらいのでwikiではあえて載せない方がいいと思いませんか? --
- ペットAI掲示板に投稿する際、4000字以上だと無効化されますよね。対応策ここに書いておくのも良いかと思うのですが --