高度動作コマンド(AMC)情報 ------------------------------------- -= 目次 =- i. ライセンス情報 ii. なぜ? 1. 基本 1.1 Numpad/AMCのサブコマンド名の図 1.2 AMCステップの例 2. 基本的なAMC 2.1 攻撃 / 追従 ("19") 2.2 モード設定: 攻撃的 ("26") / 非攻撃的 ("24") 2.3 友達説明 ("4-") 2.3.1 友達追加 ("48") 2.3.2 友達削除 ("42") 2.3.3 友達リスト保存 ("46") 2.3.4 友達リスト読込 ("44") 2.4 モンスタートレイン ("17") 3. 高速入力AMC 2.1 攻撃 / 追従 ("9") 2.2 友達説明 ("4") 2.3 トレイン ("17") 4. 独自追加 4.1 コマンド 4.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") --- このAMCはターゲットがあなた自身がホムンクルスの主人であるときだけ有効に なります。 それは"2"から始まり"4"が続くなら、ホムンクルスが強制的に非攻撃的になります。 もし"4"の代わりに"6"が続くなら、ホムンクルスが攻撃的になります。 --- 2.3 友達説明 ("4-") --- これはAMC"パーサ"で後に続く全ての動作を実行して送ることでコマンドになります。 - 2.3.1 - 友達追加 ("48") はユーザーを友達リストにずっと加えるでしょう。 - 2.3.2 - 友達削除 ("42") はユーザーを友達リストからずっと削除するでしょう。 - 2.3.3 - 友達リスト保存 ("46") は現在の友達リストを以下に保存するでしょう。 "RagnarokOnline\AI\USER_AI\Conf\Friends.lua" - 2.3.4 - 友達リスト読込 ("44") はファイル内容から友達リストを読み込むでしょう。 --- 2.4 モンスタートレイン ("17") --- このAMCは、ホムがターゲットに対して"トレイン壁"モードになるようにします。 "トレイン"モードはモンスターがホムンクルスをターゲットしている間、 ホムンクルスとターゲットモンスターの距離を保つようにします。 もしモンスターがホムンクルスをターゲットにしなくなったら、モンスターが ホムンクルスをターゲットにするまでホムンクルスはモンスターを攻撃しに 行くでしょう。 もしあなたがこのモードでアルケミストを対象にしたなら、それはホムンクルスが 攻撃モードの間モンスター達を等しく挑発して引っ張り回らせる能力に 切り替えるでしょう。 ---===--- 3. 高速入力AMC ---===--- 高速入力AMCは、通常のAMCの一部分です。高速入力AMCを有効にしたら、 キーパッドの1つの番号を "押す" 必要があるだけです。 最初の番号を押した後、コマンドがすぐ有効になります。 これは取りえるコマンドの数を9個までに減らします。 高速入力AMCによって、異なったモンスターか人々を静かにもっと速く対象に出来ます。 --- 3.1 攻撃 / 追従 ("9") --- この高速入力AMCは、2.1.節において基本的なAMCが指定したものと全く 同じように動きます。 --- 3.2 友達説明 ("4") --- 高速入力AMCはターゲットしたものに基づいて異なった実行をします。 - アルケミストとしてターゲットにした時は、友達リストに保存するでしょう。 (2.3.3節と同じ) - 他に何かをターゲットにした時は、友達として切り替えるでしょう。 (彼らがまだ友達になっていなかったら2.3.1節の友達登録を、 そうでなければ2.3.2節の友達削除をしてください。) --- 3.3 トレイン ("7") --- この高速入力AMCは2.4.節の基本的なAMCと同じように動きます。 ---===--- 4. 独自追加 ---===--- --- 4.1 コマンド --- 独自のコマンドを追加するには、単にAMC_AddCommand関数と一緒に2つの引数を 呼びます: 全コマンド("5"以外)、そして関数が呼ばれます。 関数はAMCターゲットである1つの引数を渡して呼ばれるでしょう。 --- 4.2 サブパーサ --- サブパーサを加えるためには、2つの引数と共にMC_AddParser関数を呼びなさい: 最初にコマンド、そして関数が呼ばれます。 サブパーサはAMC順番に正確に一致するコマンドがないかどうか、一度だけ チェックします。 パーサは確かな方法で特定の順番を渡すでしょう。 パーサ関数は既に2つの引数を渡します: ターゲット、既に解析済み以外のAMC順番部分 例えば、もしサブパーサが"25"を捕捉するよう設定されたなら、ユーザーが"2564"を 入力すると、サブパーサ関数が呼ばれてターゲットと"64"を渡します。