【 ホムンクルス用AI 】 どきどき版AI RagnarokOnline用 AI.lua ROホムンクルス用 - どきどき版AI [最新Ver.:060321q] 行動特性のノンアクティブ化と、一部の機能拡張。 ■戦闘系機能  ・バニルミルト、フィーリル使用時でもノンアクティブ行動になります   ※主人が戦闘を開始すれば、ホムも自動的に援護射撃をはじめます  ・複数の標的が存在する場合、主人が攻撃している敵に対して   優先的に支援攻撃します  ・バニルミルトorフィーリルが戦闘参加時、「ムーンライト」あるいは   「カプリス」のスキルが一定確率で自動発動します   (デフォルト設定では12〜20%:残りSPによって±変動)  ・無反撃mob(卵/草/キノコ系)に対しては自動スキルを発動しません   ※枝召喚によるMobは除く  ・リーフが戦闘参加時、「治癒の手(ヒール)」スキルがHP減少時に   自動発動します   (デフォルト設定では 主人HP30%↓の時に発動)  ・ホムンクルス瀕死時の行動について2パターンを選択可能。     1)ホムンクルスのHPが一定値以下になった時、       戦闘を中断し主人の背後(カートの中)へ隠れます。       ※回復するまでの間、攻撃命令は一切無視されます       (デフォルト設定)     2)・ホムンクルスのHPが一定値以下の時、主人が攻撃を受けても       自身のHPが規定値に回復するまで攻撃行動を控えます。       (ただしホム自身が攻撃を受けるか、直接攻撃命令が出された        場合は攻撃行動に移ります) ■移動系機能  ・アイドル時のホムンクルスの行動について4パターンを選択可能。     1)主人の周りをくるくる回転します      (時計回り/反時計回り/十字/ジグザグ/8の字/ランダム)       (初期設定ではSPが90%↑ある場合のみ時計方向回転)       ※alt+Tでも静止と回転を強制切り替えできます     2)常に主人の後ろに追従します(DQ風)       (主人の進行方向に向かって背後にぴったりくっついてきます)     3)基本は追従ですが、じっとしてると勝手に回転し始めます(1+2)       (デフォルト設定)     4)なにもしない       (基本AIと同じです)  ・主人の後を最速/最短距離で追尾します   ※全ての障害物を自動で避けられるわけではないのでご注意下さい  ・設定によってホムを移動先地点に固定しておく事ができます   (デフォルトでは機能オフになっています/詳細はマニュアル参照)   [どきどき版AI - 右クリックして保存してください] 03/14 * 16:00 とりあえず机上理論だけで組んだ初版(a) * 17:45 構文エラー発見のため修正(b) * 20:20 くるくる回転をきちんと動くように修正(c) * 21:00 オートスキル発動機能搭載(バニルミルト・フィーリルのみ)(d) * 23:00 オートスキル発動率修正(e)       くるくる回転をスムーズに(e) 03/15 * 02:30 SP残量に余裕がある時のみ回転するように仕様変更(f)       オートスキル発動時のLvを全てMAXに固定(f) * 15:30 細かい調整(g) 03/16 * 04:45 くるくる回転の待機間隔を設定可能に(h) * 14:05 追尾ルーチンを高速軽量化変更(i)       PatrolRange=0 設定で甘えんぼモードに(i) * 17:50 オートヒール発動機能搭載(リーフのみ)(j) * 21:55 緊急離脱(主人の背後へ逃亡)機能搭載(k) * 23:00 DQ風追従モード搭載(l) 03/17 * 00:50 DQ風追従+くるくる回転モード搭載(m) * 19:30 回転パターンを6種類追加(反時計回り・ランダム移動含む)(n) 03/18 * 01:45 攻撃優先順位を随時判断(o) * 22:00 無反撃mobに対する自動スキル不使用(p) 03/20 * 03:30 リーフヒール枯渇用対策(p+,p++) 03/21 * 01:30 リーフヒール枯渇用対策(強化)(q) Thanks: Ninoさん、ロイさん、ばっしょ先生、霧嶋さん、冠月ユウ先生、りんりん 使用方法 ・ROを起動していない状態で、上記ファイル AI.lua を  .\AI\USER_AI\ フォルダ内に保存(なければ作成)  (例:C:\RagnarokOnline\AI\USER_AI)   ↓ ・.\AI\ フォルダ内にある以下の2ファイルを  .\AI\USER_AI\ にコピー(※移動ではないことに注意)   [> Const.lua   [> Util.lua   ↓ ・ROにケミでログインし「/hoai」コマンドを入力。  (※当然ホムンクルスを召喚していないと意味がありません) 基本的にはこれ(↑)だけで使用可能です。 あとはホムンクルスを出した状態で「Alt+T」を押して「待機モード→攻撃モード」に切り替えれば、 どきどきAIモードになります(もう一度「Alt+T」で待機モードに戻ります)。 各種設定方法 どきどき版AIは配布の時点で各種設定済みですので、基本的にはそのまま放り込むだけで利用可能です。 ですが、設定をカスタマイズしたいという方のために簡易マニュアルを載せておきます。 ■オートスキル(バニルミルト・フィーリルのみ) 一定確率で自動的にスキルを使用します。 ・自動スキル発動の確率を変更したい  例えば自動発動の確率を上昇させるには以下のようになります。  53行目:  > AutoSkill = 10     ↓  > AutoSkill = 50  実際はこの%にくわえて、ホムンクルスの残りSP状況によって0〜10%の追加補正が掛かります。  (例:AutoSkill=50 でホムンクルスの残りSPが80%の場合は 発動確率58%)  SPがある時にガンガンいこうぜスキルを使用させる場合には以下のようになります。  53行目:  > AutoSkill = 10     ↓  > AutoSkill = 100  このように設定すれば、SPが無くなるまで(あるいは回復するとすぐに)ホムンクルスはスキルを連打するようになります。 ・オートスキルを止める  「SPが101%以上の時にスキル発動」と設定することで、オートスキル機能を無効にできます。  54行目:  > AutoSkillSPLimit = 20     ↓  > AutoSkillSPLimit = 101 ■オートヒール(リーフのみ) 戦闘中に主人のHPが低下すると自動的にヒールを使用します。 ・ヒール発動の条件を変更する  初期設定では、戦闘中に 主人HP30%↓ の場合に自動でヒールを発動します。  例えば、主人HP60%↓ でヒールを発動させる場合には以下のようになります。  48行目:  > OwnerDeadlineHP = 30     ↓  > OwnerDeadlineHP = 60  逆に、主人HP10%↓ になるまでヒールを発動させない場合には以下のようになります。  48行目:  > OwnerDeadlineHP = 30     ↓  > OwnerDeadlineHP = 10  尚、オートヒール使用時には主人のレッドスリムポーションを1本勝手に消費します。  手元に所持していない場合には発動しませんのでご注意ください。  また、非戦闘時には自動発動しません。あくまで戦闘中の緊急ヒールとお考え下さい。 ・オートヒールを止める  以下の行を修正すれば、オートヒール機能を無効にできます。  65行目:  > HomunculusHeal = 1     ↓  > HomunculusHeal = 0 ■緊急離脱 ホムのHPが低下すると緊急離脱行動に出ます。 ・緊急離脱行動を発動させるHP%を設定する  初期設定では、ホムHP20%↓ の場合に戦闘を中断し、戦線を離脱します。  例えば、ホムHP50%↓ で緊急離脱行動を発動させる場合には以下のようになります。  46行目:  > HomunculusSafetyHP = 20     ↓  > HomunculusSafetyHP = 50  戦闘が終了してもHPが指定%に回復するまで緊急離脱モードは持続されます。  主人が移動すれば、必ずその背後を取るような位置を取りつつ追尾します。  その間、能動的な攻撃命令は拒否されますのでご了承ください。 ・離脱距離を設定する  緊急離脱時、デフォルトでは主人の1マス背後(カートの中)へと移動しますが、  これを2マス背後にしたい場合には以下のようになります。  68行目:  > EscapeRange = 1     ↓  > EscapeRange = 2  緊急時にPPを行うかCRで殲滅するか、プレイヤーのタイプによって利便距離が変化すると思いますので、ご自身にあった距離を設定して頂ければ幸いです。 ・緊急離脱機能を止める  以下の行を修正すれば、緊急離脱機能を無効にできます。  66行目:  > HomunculusEscape = 1     ↓  > HomunculusEscape = 0  無効の場合、ホム自身が攻撃された場合のみ反撃を行い、主人が攻撃されても自身に被害が及ばない限り回復待機を続けます。 ■アイドル時の行動パターン DQ風の追尾が可能です。 ・なにも行動しない  基本AIと同じ行動パターンにする場合には以下のようになります。  71行目:  > IdleType = 3     ↓  > IdleType = 0  主人から一定距離離れれば後を追ってきますが、それ以外には何も行動しません。 ・くるくる回転  アイドル時に主人を中心とした周回をさせる場合には以下のようになります。  71行目:  > IdleType = 3     ↓  > IdleType = 1  詳細は次項の「■くるくる回転」を参照してください。 ・常に主人の背後に追従  DQ風に常に主人の後ろを付いて歩かせる場合には以下のようになります。  71行目:  > IdleType = 3     ↓  > IdleType = 2  初期設定では1マス背後をぴったり付いてきますが、2マス背後(カートの更に後ろ)に追尾させる場合には以下のようになります。  68行目:  > EscapeRange = 1     ↓  > EscapeRange = 2 ・主人の背後に追従、ただし静止時は回転  初期設定の状態です。  移動時は主人の背後に追従しますが、静止して一定時間が経過すると勝手に回り出します。  71行目:  > IdleType = 3  主人が静止してからホムンクルスが最初の回転を始めるまで、初期設定では10秒になっています。  これを30秒に変更する場合には以下のようになります。  74行目:  > HomunculusPatience = 10000     ↓  > HomunculusPatience = 30000 回転自体については次項の「■くるくる回転」を参照してください。 ■くるくる回転 SPが90%↑の時にくるくる回り出します。 ・回転半径を広く/狭くしたい  例えば回転半径を5マスにする場合は以下のようになります。  50行目:  > PatrolRange = 3     ↓  > PatrolRange = 5  逆に、回転半径を2マスに狭める場合には以下のようになります。  50行目:  > PatrolRange = 3     ↓  > PatrolRange = 2  1マスにする事も可能ですが、動きがややいびつになります。  その場合はくるくる回転角を変更することでなめらかな動きに修正が可能です。 ・くるくる回転角って?  回転移動時の頂点角のことです。  実際の回転は、8つの頂点を時計回りに周回するようにプログラムされています。  (※北→北東→東→南東→南→南西→西→北西→北にもどる)  この中で北東・南東・南西・北西方向への移動時にその頂点距離を狭めるための角度補正値です。  デフォルトでは円形に近い周回運動をするようになっています。  方形移動(四角形移動)させたい場合には以下のようになります。  58行目:  > PatrolAngle = 0.80     ↓  > PatrolAngle = 1  逆に、菱形移動させる場合には以下のようになります。  58行目:  > PatrolAngle = 0.80     ↓  > PatrolAngle = 0.50  十字移動させる場合には、この値を更に小さく(0.20など)にすれば可能になります。 ・回転速度を早く/遅くしたい  くるくる回転の周回速度を例えば遅くする場合には以下を調整します(単位:ミリ秒)。  57行目:  > PatrolSpeed = 350     ↓  > PatrolSpeed = 500  逆に高速にする場合には以下のようになります。  57行目:  > PatrolSpeed = 350     ↓  > PatrolSpeed = 150  動きを秒針のように1秒きっかりにしたい場合は以下のようになります。  57行目:  > PatrolSpeed = 350     ↓  > PatrolSpeed = 1000 ・くるくる回転の待機時間を減らしたい/増やしたい  デフォルトでは7秒間隔で周回運動に入りますが、これを例えば5秒間隔にする場合は以下のようになります。  63行目:  > PatrolInterval = 7000     ↓  > PatrolInterval = 5000  逆に周回運動を10秒間隔にする場合は以下のようになります。  63行目:  > PatrolInterval = 7000     ↓  > PatrolInterval = 10000  待ち時間なしで連続して周回運動させる場合には以下のようになります。  63行目:  > PatrolInterval = 7000     ↓  > PatrolInterval = 0 ・SPが100%の時のみくるくる回転させたい  初期設定では90%以上でくるくる回転するようになっていますが、  以下を書き替える事で100%になるまで回転を止めることが出来ます。  59行目:  > PatrolRest = 90     ↓  > PatrolRest = 100 ・くるくる回転を反時計回りにする  回転方向を反転させるには、以下のように設定してください。  77行目:  > PatrolType = 0     ↓  > PatrolType = 1 ・ホムンクルスの気ままに移動させる  範囲内をランダムで移動させるには、以下のように設定してください。  77行目:  > PatrolType = 0     ↓  > PatrolType = 9  この設定の場合のみ PatrolSpeed は無視され、PatrolInterval が全ての移動間隔時間となります。ご注意ください。 ・もっと他の動きをさせる  十字移動(東→北→西→南)させるには、以下のように設定してください。  77行目:  > PatrolType = 0     ↓  > PatrolType = 2  十字移動(東→西→北→南)させるには、以下のように設定してください。  77行目:  > PatrolType = 0     ↓  > PatrolType = 3  ジグザグ移動させるには、以下のように設定してください。  77行目:  > PatrolType = 0     ↓  > PatrolType = 4  「8」の字移動させるには、以下のように設定してください。  77行目:  > PatrolType = 0     ↓  > PatrolType = 5 ジグザグ移動と「8」の字移動の場合、PatrolRange 並びに PatrolSpeed をある程度大きい値にしないと形通りに動かないかもしれません。 ・くるくる回転機能そのものを止めたい  「SPが101%以上の時に回転」と設定することで、事実上静止状態を持続できます。  59行目:  > PatrolRest = 90     ↓  > PatrolRest = 101 ■攻撃優先順位 ・交戦中の敵に集中させる  どきどき版AIのホムンクルスは随時状況を判断し、例えホム自身が交戦中でも、主人が別の標的との間で戦闘を開始すれば、優先的にそちらの援護へと回るようになっています。  ですが、主人の攻撃対象に関わらず、ホムンクルス自身が交戦中の敵に集中させる場合には、以下のように設定してください。  81行目:  > HomunculusLoyalty = 1     ↓  > HomunculusLoyalty = 0  設定毎に向き不向きがあると思いますので、狩り場によって随時設定を変更していただければ幸いです。 1 ■シェパード(放牧)モード ・ホムンクルスを移動先地点に固定する  通常の設定では、Alt+右クリックでホムンクルスの移動先を指定しても、すぐに主人の元へと戻ってくるようになっています。  ですが、これを移動先に(例えば主人を中心に7セル以内であれば)留めておく場合には、以下のように設定してください。  50行目:  > PatrolRange = 3     ↓  > PatrolRange = 7  59行目:  > PatrolRest = 90     ↓  > PatrolRest = 101  ただし、この機能を利用している間はくるくる回転機能が無効になりますのでご注意ください。 ■戦闘を中断させる ・ホムンクルスの攻撃を中止する  何らかの理由で、戦闘中にホムの攻撃参加を中止させたい場合には Alt+T を押して待機モードに切り替えてください。即座に戦線を離脱し主人の元へと戻ってきます。  待機モードを解除して再び戦闘に参加させる場合にはもう一度 Alt+T を押してください。 FAQ どきどき版AIに関するFAQです。その他のAIについては適用されませんのでご注意ください。 ■エラーが出て動かない  考えられるケースは以下の通りです。   ・AI.luaを放り込むフォルダを誤っている →.\AI\USER_AI\ フォルダ内に保存していますか?  (例: C:\RagnarokOnline\AI\USER_AI)  デフォルトで存在しない場合には作成してください。 →フォルダのスペルが正しいかを確認してください。  (例: 「_」と「-」、「I」と「1」、「USER」と「UESR」の間違いなど)   ・保存時にファイル名を変えて保存した →「AI.lua」という名前で保存してください。  AI.lua.txt などになっていると正常に認識されません。   ・Const.lua Util.lua が足りない →公式で配布されている標準の「Const.lua」「Util.lua」を  .\AI\USER_AI\ フォルダにコピーしてください。  .\AI\ から直接コピーしても構いません。   ・公式配布以外の Const.lua Util.lua を使っている →他の人が改造した「Const.lua」「Util.lua」ではどきどき版AIが  正常稼働しない可能性があります。必ず公式配布されているものを  ご利用ください。   ・どうしてもダメなら →.\AI\USER_AI\ フォルダを中身も含めて一度抹消して、  もう一度最初からやり直してみてください。 ■ホムンクルスが戦闘に参加してくれない  考えられるケースは以下の通りです。   ・待機状態になっている →ALT+T を押して、行動状態にしてください。  もう一度 ALT+T を押すことで待機状態に戻ります。   ・ホムンクルスのHPが残り少ない →初期設定では、ホムンクルスの残りHPが20%以下になると  戦闘には参加しなくなります。  ただし、この場合でもホム自身が攻撃を受けたり、直接攻撃命令を  受けた場合には反撃/攻撃を開始します。   ・座標ずれが起きている  サーバーの問題はAI側ではどうにもできませんので、  一度セルを移動するなりして対処してください。 ■くるくる回転しない  考えられるケースは以下の通りです。   ・待機状態になっている →ALT+T を押して、行動状態にしてください。  もう一度 ALT+T を押すことで待機状態に戻ります。   ・ホムンクルスのSPが減っている →初期設定では、ホムンクルスの残りSPが90%を切った場合には  回復待機のため「くるくる回転」を抑制するようになっています。  残りSPが90%以上になればまた回転し出します。   ・アイドル時の行動パターンが回転モードになっていない →前項「■アイドル時の行動パターン」を参照してください。   ・カスタムAIではなく基本AIに切り替わっている → /hoai コマンドを入力してカスタムAIモードにしてください。 ■勝手にモンスターを攻撃し出すんですが  考えられるケースは以下の通りです。   ・主人あるいはホムンクルスが遠距離から攻撃されている →実際にダメージ被弾しなくても遠距離から攻撃を受ければ  反撃に向かうようになっています。  高Fleeだと気づきにくい場合があるかもしれませんね。   ・カスタムAIではなく基本AIに切り替わっている → /hoai コマンドを入力してカスタムAIモードにしてください。 ■主人が戦っていてもホムンクルスが追撃してくれません  考えられるケースは以下の通りです。   ・ホムンクルスのHPが低下している →HPが低下していると、緊急離脱行動や消極的行動に切り替わります。  HPを回復させればまた戦線に復帰します。  設定については前項「■緊急離脱」を参照してください。   ・相手が反撃してこないモンスター → キノコや草などの非攻撃タイプに対しては追撃を行いません。 ■ホムンクルスが真っ先にタゲられるんですが  なんか今のところそういう重力仕様みたいです。  これはAI側では今の所どうすることもできませんので、  ホムを使う際のリスクの一つとして考慮していただければ幸いです。 ■アミストルの支援スキルも自動使用させたい  アミストルのスキル構成の場合、(本来存在するディレイを考慮すると)  自動使用にするより手動でスキル使用した方が適切に稼働できると判断し、  現在のところ搭載を見送っています。 ■餌を自動であげたい  無理です。RO用のluaにはそのような機能は実装されていません。 ■自動安息機能を組み込んで欲しい ■自動ラウドボイス機能を組み込んで欲しい  現在のROの「AI.Lua」では主人の持つスキルを発動させる事が可能です。  これがバグなのか仕様なのか分かりませんが、どちらにしても  『ホムンクルスのAI』という理念から掛け離れた内容であるため  どきどき版AIでの実装予定はありません。 ■自動クライアント終了機能を組み込んで欲しい  理論上は可能ですが、クライアントを半強制的に終了させることで  予期せぬ不具合(たとえばアイテムロストなど)が発生する可能性が  あることを考慮し、どきどき版AIでは組み込む予定はありません。  それでも必要という方は自己責任で改造してください。 ■改造してもいいですか?  どうぞご自由に。 ■別のAIの××機能を移植したいのですが方法がわかりません ■どきどき版AIの○○機能を別のAIに移植したいのですが   どこをコピーすればいいのですか?  プログラムというのは一部分だけを切り貼りすれば必ず動くというものではありません。  そのため個人による改造については一切アドバイスをしておりません。ご了承ください。 ■改造したものを再配布することは?  どうぞご自由に。その歳、一応「どきどき版AIから派生」と一筆を  付け加えて頂けると幸いです。  ただし、他のプレイヤーに迷惑をかけるような改造を施したAIの再配布は禁止致します。 ■「@おーるふぉろーみー」で後をついてこないんですが  ゲームが違います。それはUOです。 ■どきどきAI使うと穿けなくなるって本当ですか?  嘘です。誰だそんなこと言ったのは!(;`Д)爻(゚ヮ|なんたるちあ! メモ いくつか設定の例を挙げておきます。参考にしてください。 ・主人の周囲1マスを8秒毎にくるっと高速回転  PatrolRange = 1  PatrolSpeed = 100  PatrolAngle = 1  PatrolInterval = 8000 ・主人の周囲3マスを常時周回  PatrolRange = 3  PatrolSpeed = 350  PatrolAngle = 0.80  PatrolInterval = 0 ・主人の周囲4マスを反時計回りにのんびり旋回  PatrolRange = 4  PatrolSpeed = 400  PatrolAngle = 0.80  PatrolInterval = 15000  PatrolType = 1 ・秒針モード  PatrolRange = 2  PatrolSpeed = 1000  PatrolAngle = 0.80  PatrolInterval = 0 特に記載がなければ他はデフォルト設定のままです。 ・デフォルト設定(ダウンロードした直後の初期状態)  HomunculusSafetyHP = 20  HomunculusDeadlineHP = 50  OwnerDeadlineHP = 30  PatrolRange = 3  PatrolVector = 0  AutoSkill = 10  AutoSkillSPLimit 20  WaitClock = 0  PatrolSpeed = 350  PatrolAngle = 0.80  PatrolRest = 90  NextInterval = 0  PatrolInterval = 7000  HomunculusHeal = 1  HomunculusEscape = 1  EscapeRange = 2  IdleType = 3  HomunculusPatience = 10000  PatrolType = 0  HomunculusLoyalty = 1  LastOwnerX = 0  LastOwnerY = 0  ESCAPE_ST = 255  EscapeSteps = 0  EscapeEastWest = 0  EscapeNorthSouth = 0  LastMoveTime = 0  HomunculusSPLast = 99999  HomunculusHealDelay = 0 薄色の箇所は変更せず初期設定のままでご利用ください。 トップへ戻る -------------------------------------------------------------------------------- Copyright(C)2006 Gravity Corp. & Lee Myoungjin (studio DTDS),All Rights Reserved. Copyright(C)2006 GungHo Online Entertainment, Inc. All Rights Reserved. Ragnarok Onlineに関するコンテンツの再利用(再転載・配布など)は、禁止しています。 -------------------------------------------------------------------------------- Copyright(c)1997-2006 Fubuki Kogarashi (fubuki@kogarashi.jp)