FrontPage | 一覧 | RSS | 検索 | 更新履歴

移動系設定 - こっこAI マニュアルWiki

差分表示


移動に関する設定

*旋回ダンス

 待機状態のとき、一定時間間隔でその場をくるりと1回転する動作を行います。時間間隔や、指定HP・SP量以下では行わないなどの設定が可能です。デフォルトでは15秒ごと、HP・SPが90%以上の時に旋回ダンスを行います。Ver3.17以降はダンスパターンが追加され、旋回半径も設定できるようになっています。RondoPatternでダンスの種類、RondoRadiusで半径を設定します。 StepDelayを設定すると、旋回図形の点ごとに指定ミリ秒ずつ待って移動するようになります。
---(
「旋回動作に関する変数」カテゴリ内、以下の変数によって設定。

RondoFlag = true       旋回ダンスをするか否か

PatrolRest = 90        ホムの残りHP・SPがこの%以下の場合は静止

PatrolInterval = 15000    旋回ダンスの間隔(単位:ミリ秒)

RondoPattern = 1       ダンスパターン

RondoRadius = 1       旋回半径  

StepDelay = 0        1ステップごとの待ち時間(単位:ミリ秒)
---)
--(
-RondoPatternの設定
1 = 現在地を始点に菱形旋回
2 = 主人の周りを菱形旋回
3 = 主人の周りを正方形旋回
4 = 主人の座標を交点とした十字移動
5 = 主人の周りを円形旋回
6 = 主人の周りを8の字に旋回
8 = 旋回半径内をランダムで10回移動
--)

*追従に関する設定

 ホムンクルスが主人を追従するとき、目標とする距離を設定できます。ChaceDistanceが1のときは主人のすぐ後ろに、2の時は1マスあけた位置で停止します。0にすると主人の座標を目標にしますが、セルの重なりにより結局弾かれますので隣接セルのどこかに留まることになると思います。デフォルトでは2になっています。
 また、戦闘時に敵との距離を指定するときはAttackDistanceの数値を変えます。1なら隣接して攻撃し、2なら1マス空けて攻撃します。0に指定することも出来ますが、大抵の場合は目標地点に到達する前に攻撃に移るためとあまり変わりません。しかし一応目標点がより敵に近い位置になるので、よりスタックしづらいかもしれません。デフォルトでは1になっています。&color(#ff0000,これ以外の数字を入れると不具合が起きますので、必ず0〜2にしてください。) 

---(
「等速追従に関する変数」カテゴリ内、以下の変数によって設定。

ChaceDistance = 2       主人を追従するときに取る距離

「通常攻撃に関する変数」カテゴリ内、以下の変数によって設定。

AttackDistance = 2       敵を攻撃するときに取る距離 
---)

*主人を追従し始める距離を設定

 待機状態から追従状態に入る場合は、主人と一定の距離が開くことが条件です。この距離を指定出来る様に変更しました。FollowDistanceの値を指定すれば、「主人との距離が指定値セル以内の時は待機、それより開いた場合は追従」という風に出来ます。デフォルトでは3になっており、主人との距離が3セルまでは待機状態、4セル以上で追従し始めることになります。これは、追従時の目標点を決定する値のChaceDistanceと独立しますが、&color(#ff0000,値を指定する場合必ず)ChaceDistance&color(#ff0000,より低い値にしないようにしてください。)例えばChaceDistance=2なら、FollowDistanceは2以上です。この時1にすると、&color(#ff0000,追従状態から抜け出せなくなり行動に支障をきたします。) 
---(
「等速追従に関する変数」カテゴリ内、以下の変数によって設定。

FollowDistance = 3     主人との距離が指定セル以内で待機
---)

*移動命令に休息命令を付加する

 Alt+地面右クリックで移動命令を行うと同時に、Alt+Tで休息命令を与える機能です。MoveToStayをtrueにすると、移動命令を与えた場合移動先で休息状態になり、Alt+Tを押すまで通常状態に戻りません。デフォルトではこの機能はオフ(false)になっています。 
---(
「その他の変数」カテゴリ内、以下の変数によって設定。

MoveToStay = false     移動命令にAlt+Tを付加するか否か
---)

*起動後一定時間は何もしない

 AIの読み込みから1秒間は、何もせずに待機します。設定がアクティブ状態であっても、テレポートなどで着地した時にいきなり攻撃しにいったりすることは無くなります。反面、攻撃されても反撃しませんが、1秒経てば即座に行動します。余談ですが、オートフリットなどを使っているときに連続テレポで無駄にSP消費してしまうことも避けられます。こっこAIは戦闘状態に入るとスキル使用しますが、1秒以内ならスキル使用もありませんので、即座に次のテレポを行えばフリットムーブを使わせないまま飛ぶことが出来ます。 

---(
「その他の変数」カテゴリ内、以下の変数によって設定。

SleepFlag = true     起動後一定時間スリープするか否か

SleepTime = 1000     スリープする時間(ミリ秒) 
---)

*SP自然回復待ち

 ホムンクルスのSP自然回復は、''「移動しない状態で4秒毎」''です。この機能は、ホムンクルスが同じ座標に居る(移動していない)時間が一定時間以上4秒以下のときは、追従などの動作を一時停止して4秒時点のSP自然回復を待つというものです。例えば、同じ時点に2.5秒居た場合、2.5秒〜4秒までの間にあらゆる自律的な追従動作(主人への追従、敵の追跡、セル重複回避など)を行う条件が成立しても、4秒経つまではその場に留まり続け、4秒経ったら(SPが自然回復したら)動き出すということです。SPRを重視して行動したい場合はこの機能を使うと、若干SP回復効率が良くなるかもしれません。ただ、意図的にAI上でスタックさせていることに近いので、タイミングによっては索敵や移動がスムーズに行かなくなることがあります。デフォルトではオフ(false)になっていますので、お好みでオン(true)にしてください。
 この機能を使う場合は、SPR_Rateで指定した%以下の時にSPR待ちをするように設定できます。デフォルトではSP量が80%以下の時に行うようになっています。80%以上のSPがあるときは、SPR待ちをしません。また、待ち始める秒数もSPR_Waitで指定可能です。デフォルトでは3秒になります。&color(#ff0000,この値は必ず4未満にしてください。また、値を小さくしすぎると動きが悪くなったり、まったく動かなくなったりする恐れがありますのでご注意ください。) 

---(
「SP回復待ちに関する変数」カテゴリ内、以下の変数によって設定。

WaitSPR = false     SPR待ちをするか否か

SPR_Rate = 80     SPが指定%以下の時にSPR待ちをする

SPR_Wait = 3     指定秒以上移動しなければSPR待ち
---)

*移動中主人の前を先行させる

 こっこAIでは通常はホムンクルスを主人の後ろについて歩かせますが、逆に主人の前を歩かせることも出来ます。主人の足取りから大まかな進行方向を割り出し、その方向へ向かって主人の数歩先へ移動します。OnForwardをtrueにすれば、移動時は主人の前に出ようとし始めます。ただし、主人とホムンクルスの移動速度は基本的に等速であり、主人の動作を伺ってからホムは移動を始めるので、ある程度気を使ってやらないと主人より前に出ることが出来ません。どの程度前に出るかはForwardDistanceの値で決めます。デフォルトでは3になっています。&color(#ff0000,この距離をあまり大きくするとホムンクルスが妙な方向へ移動してしまったりしますので気をつけてください。)~
 仕様上、「主人が移動する限りその先へ向かって移動する」ということになっています。したがって、敵がすぐそばに居ても主人が移動をやめないとホムンクルスも移動をやめません。主人の移動以外のモーションを検知して初めてホムンクルスも別の行動に移ります。なお、クライアントの仕様か、ホムンクルスが先行する場合は敵の位置ずれが頻繁になります。その際にホムンクルスがスタックする場合がありますので、手動の移動命令や敵を攻撃・移動させるなどで位置修正を行ってください。(このあたりの問題はAIでの解決が難しく、サポートしていません。) 

---(
「先行移動に関する変数」カテゴリ内、以下の変数によって設定。

OnForward = false    移動時に主人より先行するか否か

ForwardDistance = 3    先行する距離
---)

*戦闘中、敵や主人と座標が重なった場合は移動する

 戦闘中にセル重複を回避し、PPなどを当てやすくします。バースリーやドリアードなどのウェブ攻撃で移動不可になっている時は、移動不可状態を判別してセル重複していてもそのまま攻撃を続けます。残念ながら仕様上アイテムとの重複を避けることは出来ません。この機能のはデフォルトではオン(true)になっていますが、HateOverlapをfalseにすればオフにすることも出来ます。また、その時移動するセル数もAwayStepで設定可能ですが、あまり長い距離を指定してもすぐに攻撃動作に戻るためあまり意味はありません。~
 デフォルトで「主人に対してターゲット中の敵の後ろ側」に向かって移動します。また、絶対座標移動も可能です。この切り替えはAwayTypeで指定します。デフォルトの相対座標移動は1、絶対座標移動させる場合は0にしてください。また、絶対移動の時は東>南>西>北の優先順位での移動ですが、これもある程度変更できるようになりました。AvoidDirectionの配列を変更することで、東西南北だけでなく斜め方向も含めた8方向への移動を好きなだけ指定できます。デフォルトでは従来どおりの動きになっていますが、例えば AvoidDirection = {{x=-1,y=0},{x=1,y=0},{x=1,y=0},{x=0,y=-1}} と変更すると西>北>東>南の優先順位で移動するようになります。また斜め方向は{x=1,y=1} が北東、{x=-1,y=-1} が南西といった指定になります。この変数の指定はややこしいので、よくわからなかったらあまり触らないほうがいいです。 

---(
「座標重なり回避に関する変数」カテゴリ内、以下の変数によって設定。

HateOverlap = true     セル重なり回避をするか否か

AwayStep = 2     重なり回避する時の移動セル数

AwayType = 2     重なり回避する時の移動セル数

AvoidDirection = {{x=1,y=0},{x=0,y=-1},{x=-1,y=0},{x=0,y=1}}  移動ベクトル指定 
---)

*フック移動

 攻撃開始時に主人と離れている場合、攻撃対象のターゲットが自分自身に移ったとき、主人の1マス隣まで戻って一時的に待機します。敵が寄ってきて攻撃射程内に入ると戦闘を再開します。ホムンクルスがアクティブ状態のときにこのモードをオンにすると、いわゆる釣り動作をすることが出来ます。この動作は、戦闘がキャンセルされない限り一体の敵に一回だけ発動するようになっています。また、追跡時から自分をターゲットしている=遠距離攻撃の敵に対しては発動しません(特定の条件で発動することはありますが、しばらく待てばこの状態はタイムアウトするため、復帰します)。
 デフォルトではこの動作はオフ(false)になっています。HookShot を true にするとこの機能を利用することが出来ます。 

---(
「フック攻撃に関する変数」カテゴリ内、以下の変数によって設定。

HookShot = true     敵をフックするか否か 
---)

*サーチング

 予め指定した種IDを持つオブジェクトが画面内(13セル以内)にある時、そのオブジェクトを探し出してその周囲を旋回させる機能です。該当するオブジェクトが複数ある場合は、最も近い位置にあるものを対象にします。マップ上で見分けが付きにくいものなどをホムンクルスに探させるための機能です。IDはTargetObjectsに配列で指定します。デフォルトではフキダシとカプラ・グラリスが入っています。基本的にIDを持つものなら何でも探すことが出来ます。草・キノコや、特定の職業も探索可能です。ホムンクルスの場合は一部プレイヤー職業とIDが被っているため、IDに6000を足して書き入れてください(例:原種未進化リーフ=6001,亜種進化フィーリル=6015)。<この機能は行動系カスタマイズによって割り当てられているので、簡単に無効にしたり他条件に割り当てることも出来ます。

種類ID参考:&plink(AI機能比較表/AI資料/ID,http://pc3merchant.net/index.php?cmd=read&page=Dev%2FID&alias%5B%5D=AI%BB%F1%CE%C1%2FID)

---(
「サーチングに関する変数」カテゴリ内、以下の変数によって設定。

TargetObjects = { 111 , 113 } -- 探索するID
---)