ArmA訓練所 2007/06/20 |
ここではArmed Assaultに付属するミッションエディターの説明を、公式の英語版から和訳してみようと思います。
このページではエディターのトリガーモードの説明を行います。
もしかしたら一部間違いなどがあるかもしれませんが、掲示板等で指摘していただけたら修正したいと思います。
トリガーはConditionブロックが真(true)を返すまで待ち、そしてOn Activationの文字列を実行する抽象的なエンティティです。
効果的に使うと、ミッションをよりダイナミックに、そして現実的に見せることが出来ます。
例えば、プレイヤーが敵の基地の近くで発見されたときにサイレンを鳴らし始め、援軍を呼んだり、
プレイヤーが無線指令を出したときに輸送部隊の移動を開始したり出来ます。これらはトリガーで実現可能です。
トリガーはミッションエディターでは中央に小さな青い旗があるダークブルーの楕円か長方形によって表されます。
トリガーはグループモードで一つのオブジェクトとリンクされるかもしれません。(一般にそれはそのオブジェクトかグループだけがトリガーを実行出来ることを意味します)
トリガーは様々な方法で使われます。
例えば、トリガーの位置と広さは常にそのConditionの一部として使われるわけではありません。
そしてトリガーは必ずOn Activationブロックを必要とするわけではありません。
変わりにそのConditionを満たすオブジェクトのリストを返すために使われることもあります。
それぞれのトリガーのConditionブロックはミッションの経過時間に対して毎秒におよそ二回チェックされるでしょう。
ミッションに新しいトリガーを追加するには、マップ上の何もないところをダブルクリックします。
するとトリガーダイアログが表示されます。
これら二つのコントロールはトリガーの広さをメートルで設定します。
もしトリガーが回転しないなら(angle = 0)、Axis aは東西方向に広がり、Axis bは南北方向に広がります。
トリガーの角度を設定します。
0は北に面し、90は東に面するといった設定をします。(訳注:0を北として右回りに360度の角度で指定します)
トリガーは、シフトキーを押したままトリガーをマウス左ボタンを押してドラッグすることでも回転させることが出来ます。
トリガーの形を長方形か楕円から選択できます。
これらのオプションはトリガーのCondition(訳注:Conditionはトリガーが活性化する条件)を作成するグラフィカルな手段を提供します。
一般に、選ばれたActivationオプションは以下の6つのコンディションタイプ(Present,Not Present,Detected by West等)から選択されたものと組み合わせます。
これらの条件のいくつかはスクリプトコマンドを使って簡単、または効率的に休養させることが出来ません。
注意点:これらのオプションはトリガーがチェックされる度にCondition欄の中のthisにはどんな値があるかを定義するだけです。
ドロップダウンメニューから誰または何がトリガーを作動させるか選んでください。
トリガーがユニットとリンクされているなら、関連のあるオプションだけが利用可能になります。
以下のものを選べます。
何回トリガーが動作するか設定します。
繰り返し動作するトリガーだけが非活性化でき、一回動作するトリガーは活性化したままでしょう。
多くの繰り返し動作するトリガーは一度非活性化させたトリガーを再び活性化させることが出来るだけです。
(ラジオトリガーはこのルールに従いません)
活性化させるものがサイドやオブジェクトであるなら、サイドやオブジェクトがトリガーの境界の中にいる、またはいない場合にトリガーが動作します。
存在してると見なされるために、オブジェクトは生きている、破壊されていない状態でなければなりません。
オペレーションフラッシュポイントからこれらのサイド名で残されており、そしてそれらはBLUFOR,OPFOR,およびIndependent(RACS)に対応しています。
(訳注:WestはBLUFOR、EastはOPFOR、ResistanceはIndependent[RACS]に対応)
あるユニットは、発見する側のグループリーダーが発見されたユニットのサイドを正しく認識できたとき、発見されたと見なされます。
発見されるユニットのタイプに依存して、これは様々な認識レベルで起こるかもしれません。
(訳注:ユニットは複数認識パターンがあり、人か乗り物かも分からない状態、歩兵だがサイドが不明、敵の歩兵だがライフルマンかスナイパーか判別付かないなどの状態がある)
Seized by <サイド>Activationタイプもこれらのオプションを使います。詳細は上のSeized by <サイド>の項目を見てください。
これらのカウンタでトリガーに一定のランダム性を加えることが出来、プレイヤーに対してトリガーの起動タイミングをあいまいに出来ます。
例えば、プレイヤーの熱中は、弾丸が最後の敵ユニットに当たる本当にごくわずかな時間に目的を完了する"enemy not present"トリガーによって破壊することが出来ます。
(訳注:敵がいなくなったら動作するタイプのトリガーは、敵に致命弾が命中した瞬間に発動するため、一気に緊張を解いたり、場合によっては雰囲気を壊してしまうことがある)
CountdownボタンとTimeoutボタンの横に3つのボックスが見えるでしょう。Min,MaxとMidです。
これらはトリガーがMidよりのMinとMaxの間の秒数で有効になるまでの期間を設定します。
3つすべてが10に設定されたら、ランダム性の無い10秒間となるでしょう。
Minが5、Maxが15、そしてMidが10なら、期間はおよそ10秒に近い、5~15秒の間の期間となるでしょう。
これらはいくつかのトリガーの効果や、一般的なスクリプトコードでは利用できない抽象的なタイプです。
これらのイベントはOn Activationブロックが実行された直後に発生します。
スクリプトコードによって扱われるトリガーの名前を設定します。
それは通常の変数名規則に従わなければなりません。
(スペースを含まない、予約文字や予約語を使わない、これらは警告されないかもしれません。)
トリガーがラジオコマンドで動作する場合、このテキストはコマンドメニューとミッションマップに表示されるラジオ両方のデフォルトラジオコマンドを置き換えます。
また、このテキストはエディターでマウスカーソルをトリガーの上にのせたときにも表示され、
ユーザーが素早く何をするトリガーかを判別できます。
このスクリプトコードブロックが真(true)を返すとき、トリガーは動作します。
Conditionボックスを空白にしたままにすると、トリガーは決して動作することはないでしょう。
このブロックの中で、thisは上のActivationオプションの中で選ばれた状態が現在真(true)か偽(false)であるかによって、定義された論理演算子を示します。
そして、thisList(またはlist このトリガーの名前)は現在トリガーの範囲内にいて、Activation条件を満たすオブジェクトの配列を示します。
注意点:thisListは常にトリガーを動作させるユニットを示すわけではありません。
2つの例外は、それがPresentの誤植(ie,トリガーの範囲内にいる選ばれたサイドのオブジェクトを返す)のように同じリストを返すNot Present条件と、
制圧度(ie, Detected by サイドトリガーは、ユニットが見つかっていなくても、ユニットがトリガーの中にいる場合、それはthisListに含まれると考えるでしょう)を計算するときにすべてのユニットを返すと考えられるSeized by <サイド>トリガーです。
(訳注:Detected by サイドトリガーのthisListは見つかっていないユニットも含めるということ)
Conditionボックス中でスクリプトコードを使うと、複数のand/or条件を含むより複雑なトリガーの動作条件を作成できます。
このスクリプトコードブロックはトリガーのタイプが起動を許す限り、トリガーの条件が満たされるときに実行されます。
トリガーのタイプによるどんな動作(訳注:トリガータイプがEndやLoseなどのスクリプトコマンドではない、トリガー自身の動作のこと)もこのOn Activationブロックの実行が始まった直後に行われるでしょう。
On Activationブロックの中では、thisは(UNKNOWN、BOOLEAN,ALWAYS FALSE?)を示し、thisListは上のConditionブロックが示すのと同じように示します。
初めて繰り返し可能なトリガーの条件がチェックするとき実行されるスクリプトコードブロックは、以前に真(true)になった後に、偽(false)を返します。
繰り返し可能なトリガーのみが非活性化します。
ラジオ<文字>タイプは非活性化せず、また少なくともOn Deactivationブロックを決して実行しません。
特別な変数thisListとthisにはOn Activationブロックの場合と同じ意味があります。
このボタンをクリックして、トリガーエフェクトダイアログを開いてください。
それはOn Activationが実行された直後に実行される何らかの音や画面効果の作成を簡単に行えます。
一つ以上の効果が一度に使用されるかもしれません。
注意点:On Activationブロックでスクリプトコードを使用することで、このダイアログの大半の効果が作成できます。
エフェクトダイアログの一番上にあるスクリプトコードブロックは、選ばれた効果を実行するために満たさなければならない条件を必要とするために使用することが出来ます。
選ばれた効果を実行するためにはブロックは真(true)を返さなければなりません。
このブロックはトリガーのOn Activationコードブロックが実行された後にチェックされます。
このドロップダウンリストは匿名の声のサンプルを再生させることが出来ます。
音はプレイヤーの位置にかかわらず、すぐ側で鳴っているように聞こえるでしょう。
ArmA ver1.05では、これらの音の多くがリストボックス中に説明書きを持っていません。
このドロップダウンリストはトリガーに声のサンプルを再生させます。
音は動作しているトリガーの近くから鳴っているように聞こえるか、トリガーがグループとリンクされている場合、ユニットが声のサンプルを話すでしょう。(口の動きに合わせて)
ArmA ver1.05ではこれらの音の多くには説明書きがありません。
このリストはミッション中に選んだ環境音を再生させることが出来ます。
通常の環境音はプレイヤーの位置や、時間と天気に基づいて選ばれているので、
このオプションはテストを除いて使われることはなさそうです。(止めることは可能なのだろうか?)
選んだ効果音が再生されます。音はトリガーの中心から聞こえてきます。
トリガーが動作したとき即座に以前流れていたどんな音楽も止めてから、選んだ音楽が一度再生されます。
以下の画面効果のタイプの一つの作成を設定します。
このオプションはタイプがNone以外にセットされているときのみ利用可能です。
それは利用可能なリソースかオブジェクトタイプのドロップダウンリストとして振る舞うか、テキスト入力ボックスとして振る舞うでしょう。