ペットAI掲示板

おすすめ 質問:(1/1修正)カウンター中にFBを詠唱しない方法
ハストゥール_rua 08/12/22 00:02
ペットキャラクターAIソースコード ソースコードをコピーする

皆さんご助言ありがとうございました。
Storyさんのを基本に実用的に修正してみました。
FBカウンターと主人の攻撃に反応してのFBは非常に安定していますが、
やはり追尾イベントを独立して作ることができず、『ほんの少し主人の近くによろうとするFBカウンター』になってます。

なおグループさんのAIを修正したものも作ってみましたが、そちらはFBをチャージ中でも主人が攻撃するとFBを詠唱する為、マナの減りが激しかったのでこちらにしています。

相手との距離って言う条件が使えれば全て解決するような気がしますが…

なぜかAIを書き込むとエラーが出ます

流星ジョニ一_tar U-ω-)眠いのでメモ書き…AI的に見ると
索敵カウンターイベントでターゲットした相手を、
主人が攻撃してふっ飛ばしたりしたときFBを詠唱しちゃってる?のかもしれません。
ファイアチャージイベントに
「カウンターとかディフェンスが使用可能」の条件を入れるといいかも
(といっても、ターゲットした相手の変更イベントがないので、
索敵した相手以外がカウンターに突っ込んだ場合その後FBチャージはしないかも…)
後、ファイアイベントの「準備したスキルを使用」で魔法を撃ててるのか疑問…
随分前にいろいろと調べてがんばったけど
特定の魔法でなく、3種どれかのチャージ魔法を使用するってのができなかったから…
だから、「準備したスキルを使用」は戦闘スキルのみの行動だと思ってる…
で、ファイアボルトとカウンターが使用可能なら、って条件にしてるんだと思うけど、
同じタイプの条件を二つ書くとandじゃなくてorになっちゃうから、
ファイアボルトもしくはカウンター使用可能ならってなってますねぇ…
で、魔法の使用可能条件は、フルチャージor魔法を持っていない以外は
真なのでだいたい常に実行と同じに…とりあえず、メモ終わりU-ω-)zzZ… 08/12/22 01:22
流星ジョニ一_tar U・ω・)やっとちゃんと検証できるように、昨日のAIと変わったみたいだけど(ぁ
U-ω-)AIを適用して検証、カウンター準備、解除、主人追跡、準備…のループ…
FBカウンターの検証できず…
「ファイア2」がFB可能条件で実行されるようになってるのが原因だと判明削除…
*魔法の使用可能条件は、フルチャージor魔法を持っていない以外は常に真
参照:http://www.mabinogi.jp/6th/community/aiBoardContent.asp?sv=&ty=&dp=0&th=181999&ix=182&ai=44&p=
「カウンター」のカウンター制限時間をなしに設定
*「FBカウンタ」が優先されて「カウンター」は実行されないけど、
ターゲットイベントに支障が出る可能性があるので…
主人を追跡がいろいろと機能してないので
「ファイア」の「スキルをチャージ後攻撃」の間に主人を1秒追跡を追加
*0.5秒だとチャージ後移動しなかったため
「ストーキングFBチャージ」がこのままでは使えないので
最後にFBチャージ後攻撃を追加。
と、説明が難しくて自己流へ改造してしまいましたが…すいません
>>主人が攻撃すると主人を追跡してカウンターをキャンセルしFBのみを連打
U-ω-)そりゃ、「ストーキングFBチャージ」に
主人が攻撃したら、FBチャージってなってますからねぇ…
どこでFBを放ちたいのかイマイチわからなかったので、
チャージした後に魔法発射としましたが…うむむ… 08/12/22 23:31
こつぶちゃん 質問の意図としては「主人の攻撃以外ではカウンター中に魔法を詠唱して欲しくない」
という事でしょうか。
  その点については見た限りだと「待機」は入っているし、詠唱は「ファイアチャージ」
  だけなので問題無いかと思います。
  しいて言うならカウンター準備の後「相手を待つ」を入れるかどうかくらいかな・・・
とりあえず流星ジョニ一さんの指摘した部分を直してから動きを見てみた方が良いかと。
私なりに説明すると
「ファイヤチャージ」について
  ここは主人の割り込みに対応するという事なので変更しなくて良いようです。
  つまり、カウンター中に主人がペットのタゲを攻撃するとFBを詠唱します。
「ファイア」について
  タゲ中に「FB及びカウンターが使用できる場合」準備したスキルを攻撃相手に使用
  するとなっています。
  FB攻撃をしたい場合「カウンターが使用可能(=FB詠唱していない)」という
  条件がある為FBが準備されていると「準備したスキルを使用する」を実行しません。
  また、魔法攻撃をする場合は「相手に魔法攻撃」コマンドを使った方が確実です。
  それと、カウンターを発動させるのはこの方法ではないです。カウンター準備後に
  相手に攻撃されると自動的に発動するので、相手に攻撃されるのを待つようにします。 08/12/22 05:26
こつぶちゃん 敵が接近すると・・・について
  FB攻撃であれば「ファイア」命令の攻撃の制限時間を0.5秒にすれば遠い場合
  攻撃しにくくなります。カウンター中は敵との距離での対応はできないので
  主人の攻撃後の動作に頼る事になります。
主人の攻撃が外れるとそのままFBカウンターを継続
  特に割り込む命令が無ければFBカウンターを継続します。
  矢が当たった時だけ攻撃した事になります。外れたら何も無かった事にされます
  (独り言ですが、矢が外れたのを判定できるようにして欲しいものですね。)
ペットがFBで攻撃中に主人の攻撃が入るとおかしな動きをするかもしれません。
  これについては難しいのて必要なら他の方に解説をお願いして・・・
あと、FBカウンター中に主人を追跡する動きが入るので、主人がペットより敵に
近い位置に居ると悲しい結果になるかも。まずFBカウンターを完成させてからどの
タイミングで主人に近付くかを探るのが良いかな。敵が誰に向かって動くかとか、
主人が攻撃後に追撃で引き離してから引き寄せるとかね。 08/12/22 05:28
こつぶちゃん 寝ようと思って思い出した事が・・・
FBCって敵が飛ばされ中のときFBで飛んでるのかカウンターで飛んでるのか判定が難しかったような記憶が・・・その辺りの関係かな?一人でたくさん書いちゃってごめんね。ではお休み~ 08/12/22 06:03
ハストゥール_rua お二人ともアドバイス、検証ありがとうございます。要は主人の攻撃以外ではカウンター中に魔法を詠唱して欲しくないのです。そして上記のAIでは主人の攻撃の後にFBカウンタではなくFBのみを連打するのです。距離が離れると攻撃しにくいので主人を追跡させたい、なおかつ敵が寄ってくるとすぐFBを放てるようにチャージしたまま追跡させたいというのもあります。
追跡を省けばある程度安定したAIにはなりましたが、ちょっと物足りない感じです。 08/12/23 02:06
こつぶちゃん AI変更したのですね~
えーと・・・考えてみたところこのAI出来ないっぽいです。
いろいろ言った後ですみませんが後から気付いたもので・・・
相手が近付いたら攻撃するのに「ファイア2」が必要なのですが、
「ファイア2」があるとディフェンス中にFB詠唱しちゃうんですね。
で、回避方法を思いつきませんでした。ゴメンネ
AIの中でディフェンス中とFB詠唱中の見分けが付かないんですよね。
困ったものだ。

という事で考え方を変える必要があると思います。
目的が『カウンター発動中以外チャージしたFBを放つイベントを作る』
という事ならお手上げ、終了です。そうで無いなら希望のAIとは
違ったものになってしまいますけど続きを・・・

で、問題の「ファイア2」をどうするかですが、生かすとFB連打式に
なってしまうのでここは『敵が近付いたら攻撃する』動きを変える事に
なるでしょうか?
もし私が変えるとしたら『主人が攻撃したらFB追撃してFBCをする』
にします。これで主人は安心してマグを打てるハズです。
あとはいつ主人を追跡するのか、敵を倒した後の処理をどうするかで悩む
作業に事に入ります。FBCの完成度を上げる作業も継続かな? 08/12/23 13:11
グループ_mor こんなとこですかね。。1000文字制限だとかで小分けになりますが、主の意図に合っていれば幸いです。

<rules>
<rule name="FB4">
<conditions/>
<pattern>
<param_decl/>
<sequence>
<cmd name="cancel_skill"/>
<cmd name="chase" chase_target="master" timeout="500" run="true"/>
<cmd name="stackmagic_attack" stack_magic="firebolt" charge="1" timeout="0"/>
</sequence>
</pattern>
<event name="master_attack" master_skill="all"/>
</rule> 08/12/27 08:40
グループ_mor <rules>
<rule name="FB4">
<conditions/>
<pattern>
<param_decl/>
<sequence>
<cmd name="cancel_skill"/>
<cmd name="chase" chase_target="master" timeout="500" run="true"/>
<cmd name="stackmagic_attack" stack_magic="firebolt" charge="1" timeout="0"/>
</sequence>
</pattern>
<event name="master_attack" master_skill="all"/>
</rule>
<rule name="C2">
<conditions/>
<pattern>
<param_decl/>
<sequence>
<cmd name="chase" chase_target="master" timeout="500" run="true"/>
<cmd name="prepare_skill" pet_skill="counter" try_cnt="0" timeout="0"/>
</sequence>
</pattern>
<event name="attack" pet_attackable_skill="firebolt" down="true"/>
</rule> 08/12/27 08:41
グループ_mor <rule name="FB3">
<conditions/>
<pattern>
<param_decl/>
<sequence>
<cmd name="stackmagic_attack" stack_magic="firebolt" charge="1" timeout="0"/>
</sequence>
</pattern>
<event name="attack" pet_attackable_skill="counter" down="true"/>
</rule>
<rule name="反撃1">
<conditions/>
<pattern>
<param_decl/>
<sequence>
<cmd name="melee_attack" timeout="0"/>
</sequence>
</pattern>
<event name="attacked" master_skill="basic" down="false"/>
</rule> 08/12/27 08:41
グループ_mor <rule name="反撃2">
<conditions/>
<pattern>
<param_decl/>
<sequence>
<cmd name="prepare_skill" pet_skill="counter" try_cnt="0" timeout="0"/>
</sequence>
</pattern>
<event name="attacked" master_skill="basic" down="true"/>
</rule>
<rule name="反撃3">
<conditions/>
<pattern>
<param_decl/>
<sequence>
<cmd name="melee_attack" timeout="0"/>
</sequence>
</pattern>
<event name="defence" defence_enable_skill="basic"/>
</rule>
08/12/27 08:42
グループ_mor <rule name="C">
<conditions>
<condition name="target_state" state="shoved"/>
</conditions>
<pattern>
<param_decl/>
<sequence>
<cmd name="prepare_skill" pet_skill="counter" try_cnt="0" timeout="0"/>
</sequence>
</pattern>
<event name="now_targeting"/>
</rule>
<rule name="FBチャージ">
<conditions>
<condition name="skill_preparable" pet_skill="defence"/>
</conditions>
<pattern>
<param_decl/>
<sequence>
<cmd name="stack_skill" stack_magic="firebolt" charge="1"/>
</sequence>
</pattern>
<event name="now_targeting"/>
</rule>
08/12/27 08:43
グループ_mor <rule name="狙われた1">
<conditions>
<condition name="skill_preparable" pet_skill="defence"/>
</conditions>
<pattern>
<param_decl/>
<sequence>
<cmd name="prepare_skill" pet_skill="defence" try_cnt="0" timeout="0"/>
<cmd name="move_against" distance="700" run="true" timeout="500"/>
<cmd name="chase" chase_target="master" timeout="0" run="true"/>
</sequence>
</pattern>
<event name="targeted" targeting_type="alert"/>
</rule>
<rule name="狙われた2">
<conditions/>
<pattern>
<param_decl/>
<sequence>
<cmd name="stackmagic_attack" stack_magic="firebolt" charge="1" timeout="0"/>
</sequence>
</pattern>
<event name="targeted" targeting_type="alert"/>
</rule>
<rule name="暴発防止">
<conditions/>
<pattern>
<param_decl/>
<sequence/>
</pattern>
<event name="now_targeting"/>
</rule>
</rules>
08/12/27 08:43
グループ_mor コメントではなくて返信というボタンがあったのですね。そちらにすればよかった。
後で見ると貼り付け時に失敗して重複している部分がありました・・・
一番最初のソースは無視をして2つめからコピーして繋げてください。。 08/12/28 19:00
流星ジョニ一_tar U-ω-)スレの内容が更新されてたので、テスト的に作ってたものをアップ。
http://homepage3.nifty.com/mabinogi/pet_ai/FBtest/
ペットが遅延無くスキルを準備できる環境なら
攻撃される前にカウンター→FB→カウンターが繋がると思います。
(納得できない妥協ですがテストAIですから…)
追跡イベントのFB使用ウィザードの表記は5秒ですが、はxml上だと0.25秒になってます。
(追跡時間>FB使用時間としたのですが、
これも微妙なところです…テストAIですが…) 09/01/05 04:08
流星ジョニ一_tar U・ω・)主人が攻撃したらFBチャージ→発射&追跡イベントの
主人を追跡の時間をなしから変えたり、削除したりしない
とちょっと危ないかも 09/01/05 12:45
件名 名前 日付 閲覧数 投票数

ペット育成AI

凛零_tri 2009/09/25 15966 0  

FB援護AI(遠距離キャラ用

+2
ざんさん 2009/09/18 16187 0  

マナ&スタミナ節約格闘系アタッカー

+3
アゼルハム 2009/08/25 11389 0  

あいびーしー

+6
たぶんバグ 2009/08/18 19728 3  

トゥリム式ver2009-8-10(玄人向け)

+4
トゥリム_mar 2009/08/09 16919 5  

[返事] トゥリム式ver2009-8-10(玄人向け)

トゥリム_mar 2009/09/30 4807 0  

ネカマと対決

+2
現知カール 2009/07/19 16032 0  

【桃やん式】 ディフェ&カウンターAI

+4
桃やん 2009/07/06 14119 0  

あら!わたくし、ブチ切れますわよ

+6
痛いネカマ 2009/07/14 19587 0  

最強!

+3
現知カール 2009/06/26 21916 0  

ネカマちゃんのとっておきAI教えてやるですぅ!

+7
痛いネカマ 2009/05/23 27493 3  

サンダー犬にサンダーを撃たせてみる

+7
桃やん 2009/05/21 19328 0  

回復支援

Cyclo 2009/05/16 15979 0  

一発叩いてミルミル

じゃくみん 2009/04/17 23267 0  

専用ヒーラー

+2
邪神アイリス 2009/04/05 21523 0  

既出っぽいけどレンジ系用のLB補助

不知火焔_tri 2009/04/04 8446 0  

ペットミサイルのAI作りたいのですが

+5
アスザ 2009/03/30 19099 0  

[返事] ペットミサイルのAI作りたいのですが

痛いネカマ 2009/04/23 8344 0  

※元の記事は削除されました。

        0  

【弓使い相手には】FBカウンターAI【違う動きを…】

+7
チュシャ_tar 2009/03/15 25488 5