AIスクリプトリファレンス

命令(チャット系)

chat-local <string>

■説明
この命令はローカルチャットメッセージとして指定された文字列を表示する。

■注釈
ローカルチャットメッセージはプレイヤーカラーではなく白い文字で表示され、チャットはリプレイには残らない。チャットは全員に対して表示される。デバッグ用に使用する。

(defrule
  (town-under-attack)
=>
(chat-local "攻撃されている")
)

chat-local-using-id <string-id>

■説明
この命令はローカルチャットメッセージとしてストリングIDで定義されている文字列を表示する。
Ensemble Studiosのみ使用する。

■注釈
ゲーム内に登録されている文字列のID指定して表示する。下記の例はストリングID=22318の文字列を表示する。日本語環境の場合、実際には「鹿を狩ろうとしたが、逃げられてしまった。」とチャット表示される。ゲーム内に登録されている文字列を使用することで、どの言語のAOCでも同じ意味の内容を伝えることができる。

(defrule
  (game-time == 600)
=>
(chat-local-using-id 22318)
)

chat-local-using-range <string-id-start> <string-id-range>

■説明
この命令はローカルチャットメッセージとしてランダムに文字列を表示する。ランダムな文字列は指定されたストリングIDの範囲からランダムに選択されたストリングIDで定義される。
Ensemble Studiosのみ使用する。

■注釈
下記の例はストリングIDが22318〜22320の範囲からランダムに選ばれたメッセージがチャットとして表示される。

(defrule
  (game-time == 600)
=>
(chat-local-using-range 22318 3)
)

chat-local-to-self <string>

■説明
この命令はローカルチャットメッセージとして指定された文字列を表示する。このメッセージはユーザがメッセージを送っているコンピュータプレイヤーと同じプレイヤーの場合のみ表示される。デバッグ目的のみの使用。

■注釈
デバッグ時に頻繁に使用する命令。「chat-local」命令と違い、人間がAIを羽織っている場合(プレイヤー1がAIになっている状態)のみ表示されるチャット。チャットはリプレイには記録されない。

(defrule
(can-research feudal-age)
=> (research feudal-age) (chat-local-to-self "領主ボタン押し")
)

chat-to-all <string>

■説明
この命令はチャットメッセージとして全プレイヤーに指定された文字列を送信する。

■注釈
全員に対して送るチャットでゲーム開始時や終了時のあいさつで使われる。

(defrule
(unit-count == 0)
=> (chat-to-all "gg") (resign)
)

chat-to-all-using-id <string-id>

■説明
この命令は全プレイヤーにチャットメッセージとしてストリングIDで定義されている文字列を送信する。
Ensemble Studiosのみ使用する。

■注釈
「chat-to-all」命令のストリングID使用版の命令。下記の例はストリングID=22322の「お前が勝つのは当然だ! 私は王の座を退こう。」というチャットが送信される。

(defrule
(unit-count == 0)
=> (chat-to-all-using-id 22322) (resign)
)

chat-to-all-using-range <string-id-start> <string-id-range>

■説明
この命令は全プレイヤーにチャットメッセージとしてランダムに文字列を送信する。ランダムな文字列は指定されたストリングIDの範囲からランダムに選択されたストリングIDで定義される。
Ensemble Studiosのみ使用する。

■注釈
「chat-to-all」命令のストリングIDのランダム使用版の命令。下記の例は標準のCOMがゲームの放棄時に実際に使用しているルールである。

(defrule
(goal 1 9)
=>
(chat-to-all-using-range 22300 22)
(chat-to-all-using-id 22322)
;"No wonder thou wert victorious! I shalt abdicate."
(resign)
(disable-self)
)

chat-to-allies <string>

■説明
この命令はチャットメッセージとして同盟プレイヤーに指定された文字列を送信する。

■注釈
チーム戦で味方にチャットする場合に使用する。味方がいない場合、チャットは実行されない。下記の例はゲーム開始5分後に味方にチャットするルールである。

(defrule
(game-time == 300)
=> (chat-to-allies "槍散兵で")
)

chat-to-allies-using-id <string-id>

■説明
この命令は同盟プレイヤーにチャットメッセージとしてストリングIDで定義されている文字列を送信する。
Ensemble Studiosのみ使用する。

■注釈
「chat-to-allies」命令のストリングID使用版の命令。下記の例はストリングID=22002の「貢物に感謝する。」というチャットが味方に送信される。

(defrule
(game-time == 300)
=> (chat-to-allies-using-id 22002)
)

chat-to-allies-using-range <string-id-start> <string-id-range>

■説明
この命令は同盟プレイヤーにチャットメッセージとしてランダムに文字列を送信する。ランダムな文字列は指定されたストリングIDの範囲からランダムに選択されたストリングIDで定義される。
Ensemble Studiosのみ使用する。

■注釈
「chat-to-allies」命令のストリングIDのランダム使用版の命令。

(defrule
(game-time == 300)
=> (chat-to-allies-using-range 22002 2)
)

chat-to-enemies <string>

■説明
この命令はチャットメッセージとして敵対および中立プレイヤーに指定された文字列を送信する。

■注釈
敵にだけメッセージを送信したい場合に使用するチャット命令。

(defrule
(game-time == 300)
=> (chat-to-enemies "11")
)

chat-to-enemies-using-id <string-id>

■説明
この命令は敵対および中立プレイヤーにチャットメッセージとしてストリングIDで定義されている文字列を送信する。
Ensemble Studiosのみ使用する。

■注釈
「chat-to-enemies」命令のストリングID使用版の命令。下記の例はストリングID=22017の「私に対する外交姿勢を同盟にするのだ!」というチャットが敵に送信される。

(defrule
(game-time == 600)
=> (chat-to-enemies-using-id 22017)
)

chat-to-enemies-using-range <string-id-start> <string-id-range>

■説明
この命令は敵対および中立プレイヤーにチャットメッセージとしてランダムに文字列を送信する。ランダムな文字列は指定されたストリングIDの範囲からランダムに選択されたストリングIDで定義される。
Ensemble Studiosのみ使用する。

■注釈
「chat-to-enemies」命令のストリングIDのランダム使用版の命令。

(defrule
(game-time == 600)
=> (chat-to-enemies-using-range 22017 2)
)

chat-to-player <player-number> <string>

■説明
この命令はチャットメッセージとして指定されたプレイヤーに指定された文字列を送信する。
<player-number>に「any」または「every」ワイルドカードパラメータを使用してよい。
また、<player-number>にルール変数を使用してもよい。

■注釈
指定したプレイヤー番号に直接メッセージを送信する命令。

(defrule
(game-time == 600)
=> (chat-to-player 1 "test")
)

chat-to-player-using-id <player-number> <string-id>

■説明
この命令は指定されたプレイヤーにチャットメッセージとしてストリングIDで定義されている文字列を送信する。
<player-number>に「any」または「every」ワイルドカードパラメータを使用してよい。
また、<player-number>にルール変数を使用してもよい。
Ensemble Studiosのみ使用する。

■注釈
「chat-to-player」命令のストリングID使用版の命令。

(defrule
(game-time == 600)
=> (chat-to-player-using-id 1 22017)
)

chat-to-player-using-range <player-number> <string-id-start> <string-id-range>

■説明
この命令は敵対および中立プレイヤーにチャットメッセージとしてランダムに文字列を送信する。ランダムな文字列は指定されたストリングIDの範囲からランダムに選択されたストリングIDで定義される。
<player-number>に「any」または「every」ワイルドカードパラメータを使用してよい。
また、<player-number>にルール変数を使用してもよい。
Ensemble Studiosのみ使用する。

■注釈
「chat-to-player」命令のストリングIDのランダム使用版の命令。

(defrule
(game-time == 600)
=> (chat-to-player-using-range 1 22017 2)
)

chat-trace <value>

■説明
この命令は指定した値をチャットメッセージとして表示する。単にルールが実行されたかチェックするためのテスト目的に使用される。

■注釈
文字列ではなく数値型データをチャットに表示したい場合に使用する命令。ユニットIDを調べるのに使用することができる。下記の例は「archer」のIDを表示するルールである。実際には画面に「4」とチャット表示される。

(defrule
(true)
=> (chat-trace archer) (disable-self)
)

taunt <value>

■説明
この命令は指定された値と関連するボイスメッセージを引き起こす。

■注釈
チャット命令で数値をチャットすることでも同様の効果がある。

(defrule
  (current-age == imperial-age)
  (food-amount < 100)
=> (taunt 3) (disable-self) )

taunt-using-range <taunt-start> <taunt-range>

■説明
この命令は指定したボイスメッセージの範囲から選択されるランダムなボイスメッセージを引き起こす。

■注釈
下記の例は50から59の間のボイスメッセージをランダムに使用する。

(defrule
  (true)
=> (taunt-using-range 50 10) (disable-self) )