高度動作コマンド(AMC)情報 ------------------------------------- -= 目次 =- i. ライセンス情報 ii. なぜ? 1. 基本 1.1 Numpad/AMCのサブコマンド名の図 1.2 AMCステップの例 2. 基本的なAMC 3. 独自追加 3.1 コマンド 3.2 サブパーサ ---===--- i. ライセンス情報 ---===--- このファイルはRampageAIの一部です。 RampageAIはフリーソフトです; これをFree Software Foundationが公布するGNU一般共有使用許諾の条件のもとで再配布および改変することができます; GNUライセンスバージョン2、または(あなたの選択で)2より以前のバージョンにおいて。 RampageAIは、有用であるという希望を持って配布されます。 ただし*保証なしで*; 市販性か、特定の目的のための適性の暗黙的な保証がなくても。 その他の詳細に関しては、GNU一般共有使用許諾を見てください。 RampageAIと共にGNUの一般共有使用許諾のコピーを同時に受け取るべきです; そうでないなら、以下の所へ書きなさい。 Free Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA ---===--- ii. なぜ? ---===--- RampageAIができるだけ簡単に設定出来るように文書化しました。 但し、時が経つと共にそれがますます複雑になったので、コマンド設定能力の別のレイヤーを加えるべきであると決めました。 私はホムンクルスAIスクリプトと一緒に、第三者プログラムと外的な.dllを使うのにいつも反対していました、そしてこれが私の選択です。 高度動作コマンド(AMC)は、全体としてのスクリプトに主影響を及ぼさない方針で設計されています。 まだスクリプト(または単に、AMCが不要)を使っているユーザがAMCに対応する必要はないように。 ---===--- 1. 基本 ---===--- まず第一に、AMCがConfig.luaで有効にならなければ、これは意味がなくなるでしょう。 先に、AMCを有効にするためにConfig.luaのオプションEnableAMCを"true"に変更する必要があります。 AMCは動作順序の取得によって動く。9つの使えるセル(3x3正方形)がAMCとしての順序になります。 AMCサブコマンドは、次の図(Numpad(テンキー)と同等)によって参照されます: === 図1.1 - Numpad/AMCのサブコマンド名の図 === 789 456 123 === AMCはプレイヤーかモンスターを目標に出来る事に注意してください。 いかなる"actor"でも自分自身と同じように目標になります。 各actorのAMCコマンド"パッド"とともにそれらに集中します。 AMCサブコマンド5以外は、AMC順番を生成するのにあらゆる組み合わせが使えます。 AMCのサブコマンド5は順番が既に進行中なら、順番がクリアされるまでスクリプトを行うのに使われます。 ホムンクルスにターゲットを攻撃するように指示(二回のAlt+右クリック経由)することもサブコマンド5と同じように機能します。 例えば、AMC "2628"を行うためには、これらのステップに従います: === 図1.2 - AMCステップ例 === (. は空白セル、O は自分、x はAlt+右クリック、o は他プレイヤー、 そして T はAMCターゲット) ステップ1 (AMCサブコマンド "2") .......o... ..T........ ..x..O..... ........... .........o. ..o........ ステップ2 (AMCサブコマンド "6") .......o... ..Tx....... .....O..... ........... .........o. ..o........ ステップ3 (AMCサブコマンド "2") .......o... ..T........ ..x..O..... ........... .........o. ..o........ ステップ4 (AMCサブコマンド "8") ..x....o... ..T........ .....O..... ........... .........o. ..o........ ステップ5 (AMCサブコマンド "5", 別名「実行」) .......o... ..x........ .....O..... ........... .........o. ..o........ === もし、Config.luaオプション"AMCResetTime"と同じミリ秒が少なくともいくつかのステップ以上経過したならば、 順番はリセットされ、それだけで思いがけない動作結果(少なくとも)になるでしょう。 ---===--- 2. 基本的なAMC ---===--- --- 2.1 攻撃 / 追従 ("19") --- このAMCは"19"です。 もしターゲットがホムンクルスを攻撃してきたら攻撃(と/または)それらに対してスキルを使う、しかし、ホムンクルスがそれらをどこまでも単に追いかけることは出来ない。 --- 2.2 モード設定: 攻撃的 ("26") / 非攻撃的 ("24") --- If it is followed instead by a "6" then it tells your homunculus to be aggressive. このAMCはターゲットがあなた自身がホムンクルスの主人であるときだけ有効になります。 それは"2"から始まり"4"が続くなら、ホムンクルスが強制的に非攻撃的になります。 もし"4"の代わりに"6"が続くなら、ホムンクルスが攻撃的になります。 ---===--- 3. 独自追加 ---===--- --- 3.1 コマンド --- 独自のコマンドを追加するには、単にAMC_AddCommand関数と一緒に2つの引数を呼びます: 全コマンド("5"以外)、そして関数が呼ばれます。 関数はAMCターゲットである1つの引数を渡して呼ばれるでしょう、 --- 3.2 サブパーサ --- サブパーサを加えるためには、2つの引数と共にMC_AddParser関数を呼びなさい: 最初にコマンド、そして関数が呼ばれます。 サブパーサはAMC順番に正確に一致するコマンドがないかどうか、一度だけチェックします。 パーサは確かな方法で特定の順番を渡すでしょう。 パーサ関数は既に2つの引数を渡します: ターゲット、既に解析済み以外のAMC順番部分 例えば、もしサブパーサが"25"を捕捉するよう設定されたなら、ユーザーが"2564"を入力すると、サブパーサ関数が呼ばれてターゲットと"64"を渡します。