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

操作系設定 - こっこAI マニュアルWiki

差分表示


操作系設定

*友達登録操作

 主人と一緒に戦う他プレイヤーを登録します。通常は横殴りなどを考慮し、他プレイヤーのターゲットには触らない仕様ですが、これに登録されたプレイヤーとは共闘するようになります。~
 登録操作はゲーム中でなければ出来ません。登録したデータは全て&color(#8000F0,Friend.lua)に保存されていきます。

**友達登録・削除

 他プレイヤーキャラまたはホムンクルスを友達と認識し、以後索敵条件に含まれていれば「友達が攻撃しているMobへ援護」「友達を攻撃しているMobへ反撃」を行います。&color(#ff0000,友達にしたいキャラクターの居るセル(地面)をAlt+Shift+右クリック)することで登録されます。既に友達であるキャラクターの場合は、友達リストから削除されます。友達登録が成立すると、&color(#ff0000,主人の1マス左へ移動して合図)をします。&color(#ff0000,削除の場合は、1マス右へ移動して合図)します。AIフォルダまたは指定ディレクトリ内に&color(#8000ff,Friend.lua)というファイルを生成し、友達登録の記録をします。このため、AIの再読み込みがあっても登録した友達を忘れることはありません。逆に、意図的に削除しなければ、友達の登録記録はずっと残ってしまいますので、注意してください。なお、&color(#ff0000,ホムンクルスの友達登録はVer5.44以後保存されるようになりました。ただし、ホムンクルスのロード時に登録したホムンクルスが画面内に居ない場合は、自動的に登録消去します。(相手ホムのIDがMAP移動や死亡などにより変化してしまうため)) 


**一括友達登録

 画面内に居るプレイヤーキャラクター、またはホムンクルスで現在友達ではない者を全て一括して友達登録します。デフォルトでは&color(#ff0000,Alt+Shift+主人の居るセルを右クリック)の操作に割り当てられています。既に友達になっているキャラクターが画面内に居ても登録解除されることはありません。登録を受け付けると、&color(#ff0000,ホムンクルスが主人の1マス北へ移動して合図)します。 


**友達リストクリア

 友達リストに登録されている全てのIDを消去します。デフォルトでは&color(#ff0000,Alt+Shift+自分の居るセルを右クリック)の操作に割り当てられています。登録を受け付けると、&color(#ff0000,ホムンクルスが主人の1マス南へ移動して合図します。) 


*敵別設定操作(Mob.luaデータ系)

 敵ごとに索敵に関する条件や、オートスキルのレベル、発動率など、細かな個別設定をする操作です。これらのデータは&color(#8000f0,Mob.lua)に保存されます。~
 [[Mob.luaエディタ]]を使えば、ゲーム外でもこれらの設定を編集することができます。

**ホムンクルスごとにMob.luaデータを分ける

 各種Mobに対する個別設定を、操作するホムンクルスごとに分けたい場合は、ホムンクルスの種類ごとに&color(#FF0000,Mob.luaのファイル名を変更します。)~
 MobFilenameのファイル名はデフォルトでは「Mob」ですので、例えばバニルミルト用のMob.luaを&color(#8000f0,Mob_vanil.lua)というように変更すれば、バニルミルトは&color(#8000f0,Mob_vanil.lua)、それ以外のホムンクルスは&color(#8000f0,Mob.lua)を読み込むようになります。
---(
「平均戦闘時間に関する変数」カテゴリ内、以下の変数によって設定。

MobFilename				= "Mob"
---)

**無視する敵・逃げる敵を登録

 ホムンクルスの索敵条件から除外するMobのリストに指定Mobを登録できます。ホムンクルス自身が&color(#ff0000,Alt+Tによる休息状態の時にAlt+Shift+対象右クリック)で、対象がMobならばリストに登録することができます。登録されると、ホムンクルスは&color(#ff0000,主人の1マス西に移動して合図)します。これにより登録されたMobは以後、能動的にターゲットされません。しかし、索敵条件の「主人がターゲットしている敵」や「友達がターゲットしている敵」などには適用されません。つまり、&color(#ff0000,例えば主人が自分から攻撃した敵に対しては無視登録があっても一緒に攻撃します。)~
 無視登録には2段階あり、''完全無視設定''も可能です。完全無視の場合は上記例の主人の攻撃にも反応せず、本当に一切何もしません。完全無視設定は、&color(#ff0000,既に無視設定登録されているMobに同様の登録操作を行う)ことで実行されます。完全無視に登録されると、ホムンクルスは主人の1マス北に移動して合図します。~
 更に、完全無視の敵に同じ登録をすると逃げる敵として登録します。逃げる敵とは、ホムンクルスがターゲットされる限りその対象から逃げ続ける相手のことです。戦闘条件が成立する状況で、この対象に登録された相手が居る場合はその敵に対して主人の後方へ移動します。主人がターゲットを取れば退避行動をやめて、攻撃を再開します。逃げる敵であっても、ターゲットが自分ではない限りは攻撃に参加します。また、戦闘が開始されない状況など(索敵条件に合わない、Alt+Tによる休息状態である等)の場合は、対象の敵にターゲットされていても行動しませんのでご注意ください。この登録が成立するとホムンクルスは主人の1マス南に移動して合図します。~
 通常の設定に戻したい場合は、逃げる敵まで登録が進んでから再度登録操作を行うと解除されます。解除が成立すると、主人の1マス東へ移動して合図します。~
 したがって、ホムンクルス自身がAlt+Tによる休息状態の時にAlt+Shift+対象右クリックという操作を繰り返すと「無視→完全無視→逃げる→通常→無視→・・・」という風に順番に切り替わっていきます。(ホムンクルスは西→北→南→東→・・という合図をする) 


**先制攻撃する敵を登録

 HalfActiveがtrueの時に、先制攻撃をしかける対象Mobを登録します。登録したい対象MobをShift+Alt+右クリックすることで登録できます。解除したい場合は、同様の動作をもう一度行うことで登録リストから削除されます。登録が成立すると、主人の周囲を小さく旋回して合図し、解除の場合は主人の1マス右へ移動して合図します。この登録を行わないと、HalfActiveをtrueにしても意味がありません。~
 前述の無視する敵と登録方法が酷似していますので、ご注意ください。どちらに登録するかはAlt+Tによる&color(#ff0000,休息状態であるかどうか)の違いになります。 


**オートスキル攻撃をしない敵を登録

 手動でムーンライト(カプリス)Lv1を使用すると、その相手を「オートスキルを使用しない相手」として登録し、以後オートムーンライトなどの自動スキル使用を一切しなくなります。他の登録操作と同様、既に登録されている敵にムーンライト(カプリス)Lv1を使用すると、登録が解除されます。 


**詠唱妨害する敵を登録

 手動でムーンライト(カプリス)Lv2を使用すると、その相手を「詠唱妨害する相手」として登録し、以後戦闘中またはターゲット追跡中に相手が詠唱を行うとスキル攻撃により詠唱妨害を試みるようになります(詠唱妨害の項目参照)。他の登録操作と同様、既に登録されている敵にムーンライト(カプリス)Lv2を使用すると、登録が解除されます。 


**個別優先度の設定

 Mobごとに個別にターゲット優先度の値を設定できます。この値は索敵時の評価に使われます。Alt+対象右ダブルクリックによる手動攻撃命令を送ると、その時点で&color(#ff0000,その対象Mobに対して優先度が+1されます。)ホムンクルスはそのままそのMobを攻撃し始めますが、同様の操作を続ければ優先度はクリックのたびに+1されていきます。優先度の最大値は''20''です。なお、&color(#ff0000,一旦無視設定に登録することでその敵の優先度設定は0にリセットされます。) ~

 また、優先度設定値によっては戦闘中のターゲット切り替えに影響します。~
 現在の敵が優先度設定値15以下の時、主人が優先度設定値が11以上15以下のMobを攻撃すると、主人の攻撃したMobへターゲットを切り替えます。~
 優先度設定値が16以上になると、そのMobは最優先で倒す敵として認識され、15以下のMobと戦っている時にターゲットされると、即座に最優先の敵にターゲットを切り替えます。

 また、&link(主人がターゲットした相手をリアルタイムに追従,http://privatemoon.sakura.ne.jp/cgi-bin/cocco/wiki.cgi?%c0%ef%c6%ae%b7%cf%c0%df%c4%ea#i11)の設定がtrueかfalseかによって、優先度設定値による挙動が変わります。


**特殊強化スキルを使う相手を登録

 オートオーバードスピード(個別メンタルチェンジ、ディフェンス、ブラッドラスト)は特定の相手にのみ使う方が有効であるため、個別に登録することで自動使用するようになります。主人が座っている時にShift+Alt+対象右クリックによって登録されます。登録はスキルの使用レベルも兼ねており、登録操作を繰り返すと使用レベルが1ずつ上がり、5まで上がると0(非使用)になります。したがって、例えばある対象と戦う時はLv3のオーバードスピードが使いたい場合は主人が座っている時にShift+Alt+対象右クリックを3回行ってください。解除したい場合はそこから更に同じ操作を3回すれば、Lv4→Lv5→非使用と切り替わっていきます。リーフの場合はスキルレベルの調整は必要ないので、2回目の登録操作ですぐに非使用になります。~
 登録中はホムンクルスが主人の1マス北へ移動して合図し、非使用になる(登録解除される)と主人の1マス南へ移動して合図します。 


**手加減する相手を登録

 主人が座っている時にAlt+対象右ダブルクリックで手動攻撃命令を送ると、今後その敵に対しては手加減(共闘ボーナスモードと同じ動作)するようになります。もう一度Alt+対象右クリックで手動攻撃命令を送ると、登録は解除されます(解除の時は主人が立っているか座っているかは問いません)。手加減する相手に対する攻撃時間や、敵の数の制限は''共闘ボーナスモード''のものと同じです。 


**敵ごとに固定のスキルレベル指定

 Alt+Tによる休息状態の時に手動でスキルを使用すると、その敵に対する固定スキルレベルを設定できます。登録の際に使用したレベルが登録されます。同じレベルでスキルを使うと、デフォルトの設定に戻ります。
 この登録操作を別の操作に割り当てた場合は、操作を行うとLv1が登録され、操作1回ごとにLvが1ずつ上がっていきます。操作を5回でLv5に固定になり、更にもう一度操作をすると固定無しの設定依存に戻ります。
 この固定レベルはSetSkillLevelの設定値や、 AutoAdjustによる調整を一切受けない完全に固定のものになります。 


**フルスキル対象登録

 これによって登録された相手は、以後直接攻撃をせず遠距離からスキルのみで攻撃するようになります。援護射撃モードとは若干違い、敵が近づいても逃げません。また、使うレベルは固定で指定し、敵ごとに固定のスキルレベル指定と同様の登録動作になります。~
 この登録機能はデフォルトでは操作に割り当てられていません。利用したい場合のみ、登録操作カスタマイズにて、操作変更して使ってください。 


*登録操作カスタマイズ

 これらの登録機能はさまざまな操作に割り当てられていますが、この操作への割り当てをある程度カスタマイズすることが可能です。デフォルトでは以下のようになっています。これは上記マニュアルにて説明されている登録と操作方法に対応している状態です。 
「登録操作系編集に関する変数」カテゴリ内、以下の変数によって設定。

---(
ALT_SHIFT_CELL_CLICK	= EDIT_FRIEND		-- Alt+Shift+地面右クリック
ALT_D_CLICK		= EDIT_RANK		-- Alt+対象ダブル右クリック
ALT_D_CLICK_SIT	= EDIT_BONUS 		-- 主人が座ってる時,Alt+対象ダブル右クリック
ALT_SHIFT_CLICK	= EDIT_RAID		-- Alt+Shift+対象右クリック
ALT_SHIFT_CLICK_SIT	= EDIT_FRIEND		-- 主人が座ってる時,Alt+Shift+対象右クリック
ALT_T_SHIFT_CLICK	= EDIT_IGNORE		-- 休息状態時,Alt+Shift+対象右クリック
ATTACKSKILL_LV1	= EDIT_SKILL		-- 攻撃スキルLv1を使用
ATTACKSKILL_LV2	= EDIT_CAST		-- 攻撃スキルLv2を使用
ALT_T_ATTACKSKILL	= EDIT_SKILL_LEVEL	-- 休息状態時,攻撃スキルを使用
---)

 コメントは操作の方の説明になっています。これはどういう意味かというと例えば

ALT_SHIFT_CLICK = EDIT_RAID -- Alt+Shift+対象右クリック

この部分はAlt+Shift+対象右クリックという操作にEDIT_RAIDすなわち先制攻撃する敵を登録する機能が割り当てられていることになります。機能に関する定数は以下のようになっています。

--(
EDIT_NONE		-- なにもしない
EDIT_FRIEND		-- 友達登録操作
EDIT_SKILL		-- スキル使用可否操作
EDIT_SKILL_LEVEL	-- スキルレベル登録操作
EDIT_IGNORE		-- 無視設定登録操作
EDIT_RAID		-- 先制攻撃登録操作
EDIT_BOOST		-- 特殊強化対象登録操作
EDIT_CAST		-- 詠唱妨害対象登録操作
EDIT_RANK		-- 優先度増加操作
EDIT_BONUS		-- 手加減対象登録操作
EDIT_FULL_SKILL	-- フルスキル対象登録操作
EDIT_FRIEND_ALL	-- 画面内一括友達登録
EDIT_FRIEND_DEL	-- 友達リストクリア
--)


よって、EDIT_〜の定数を入れ替えることで操作系も入れ替えることが出来ます。例えばデフォルトでは通常時にレベル1攻撃スキルの使用が詠唱妨害対象の登録になっていますが、

ATTACKSKILL_LV1 = EDIT_IGNORE -- 攻撃スキルLv1を使用

このように書き換えると、レベル1攻撃スキルの使用で無視する敵・逃げる敵登録を行うようになります。また、必要ないと思った登録操作にはEDIT_NONEを割り当てることで無効な登録操作にすることも出来ます。これらの操作変更を行う際は必ず以下の点に注意してください。

・友達登録(EDIT_FRIEND)はスキル使用による登録系に割り当てられません。~
 性質上、スキル使用の操作で他PCのIDを取得出来ません。

・攻撃系スキルによる登録はフィーリル、バニルミルトしか実行できない操作です。~
 アミストル、リーフでは割り当てても実行できません。デフォルトでは詠唱妨害やスキル使用設定など、そもそもスキルが使えなければ登録の意味が無いものが割り当てられています。変更の際もその辺りに気を配ってください。


*ステップコマンド入力

 こっこAIにはステップコマンドによる入力体系を実装しています。ホムと主人が隣接している状態で、主人の上下左右1セルの位置をAlt+右クリックで移動させることで、十字キーの↑↓←→のようなコマンドとして認識します。このコマンドを3回入力したときの組み合わせで特定の命令を行わせることが出来ます。

http://privatemoon.sakura.ne.jp/alc/image/hom/ai_03.jpg
http://privatemoon.jp/alc/image/hom/ai_03.jpg

 ■主人の座標   ■コマンド入力座標    ■入力判定範囲
 
 この図の範囲内(距離2マス以下)にホムンクルスが居るとき、オレンジのマスをAlt+右クリックすることでコマンドが入力されます。距離が3以上のときにクリックしても入力されませんので注意してください。この要領で、入力セルを3回連続でクリックすると、コマンド入力が完了します。コマンド入力の組み合わせが、用意されている組み合わせと一致したとき、それに対応する動作を実行します。また、クリックすることで入力が有効になりますので、ホムンクルスが実際に移動しなくても入力完了します。したがって同じ位置を連続してクリックした場合、例えば主人の右のセルを2回クリックすると「→,→」が入力されます。コマンドを間違った場合は、■の4箇所以外の所をクリックしてやれば、入力が初期化されて最初から入力し直すことが出来ます。~
 プログラム上ではテンキーの数字(2,4,6,8)を用いて表現しています。主人の座標には5が割り当てられていますが、現在は使われません。デフォルトでは7種類のコマンド命令を実装しております。今後必要に応じて増える予定です。AI改造が理解できる方は、JudgeCommand()の中にコマンド判定を追加していけば、任意の命令をステップコマンド入力で実行させることも可能になります。

--(
現在実装しているコマンド

◆フルブースト
コマンド:←→←
・フリットムーブLv5発動(フィーリル限定)
・オートムーンライトの発動率が100%に(ディレイ中は通常攻撃)

◆ブースト解除
コマンド:↓↓↓
・ばくれつけんによって100%になった確率を元に戻す

◆オートスキル-オフ
コマンド:←←←
・オートムーンライトの使用をOFF状態にする
・主人の周囲を旋回して合図

◆オートスキル-オン
コマンド:→→→
・オートムーンライトの使用をON状態にする
・主人の周囲を旋回して合図

◆援護射撃モード
コマンド:→↓→
・オーバードスピードLv1使用(フィーリル限定・合図のため)
・援護射撃モードを一時的に発動

◆主人切り替え
コマンド:↑↓→
・友達の中で一番近くのキャラクターを仮想主人として行動するようになる
・友達リストが空の時は、4セル以内に居る一番近いキャラクターを仮想主人とする
・成立すると、現在の主人の周囲で旋回して合図
・同じコマンドを入れると元の主人のところへ戻る
・仮想主人を登録中でも、ステップコマンドは本来の主人の周囲で入力する

◆イニシャライズ
コマンド:↑↑↑
・全ての設定を初期化し,召喚時の状態に戻す
--)