とりあえず、状況あらすじ。
- 公式ページで
『支援キャラクター(傭兵)を召喚した際、「AI」に関するエラーメッセージが表示されゲームが進行できなくなってしまう現象についてご案内いたします。』という告知がありました。
- 日本では未実装ですが、開発元の韓国では『お金で一定時間やとえる傭兵』というのが実装されていまして。
- で、日本でも現状、一部のクエストでこのシステムを使った『協力してくれるNPC』が動いている、という状況です。
クエスト中に雇う→1時間ついてくる。クエスト終わっても時間内なら一緒に戦ってくれる。
- Glenelgは USER_AIの中にあるから、上記のエラー現象には直接関係ないけど。
既存の公式傭兵AIっていわゆる『デフォルトホムAI』と同じなので、ぶっちゃけアレなのです。
- デフォルトパッシブ索敵。
アクティブ索敵は横殴り上等・・・など。
- んで、仕方ないんで、横殴り阻止判定だけ組み込んでやろうと思ったのですが。
とりあえず現状、クライアント都合で動いてません。
- 端的に言うと『C stack overflow』とエラーが出てまして。
要はROクライアント側で、傭兵AI用のメモリ空間をあまり持っていないと推察されます。
- 組み込んだのは『Glenelgで登録済の友達ファイルを読み込む』処理と、
『それに基づく横殴り判定』のみなんですが。
- ちなみにホムを使って動作確認済の状態で実施したので、とんでもないポカをしていないかぎり傭兵AIシステム固有の都合。
- なんとなく、ファイルI/O系が悪いのかなぁ、とかは思ったり。
ともあれ、実地確認するにはソロでクエスト終盤をやらなきゃならんので、結構大変です。
自己フォロー。
いろいろ試してみてわかったのは、いわゆる『AIエラー落ち防止』の try〜catch がダメっぽい。
それを外して素でAIをコールするようにしたら、Friend.ini も読めるようになった。
というわけで、とりあえずそれっぽくはなったけど、さ。
ロキ、攻撃スピードがあまりに遅くて、実戦戦力にならんわ(笑)
さらにちなみに。
敵ボスの防御無力化のマインドブレイカー、クールタイムが30秒くらいあるみたいです。
で、無効化時間はせいぜい15秒くらいなんで、どうしても途中無力化できていない時間が発生します。
これも厳しいところ。
ご意見などがあれば。