ミッションエディターの使い方(公式和訳) トリガーモード編 -ArmA訓練所-

ArmA訓練所
2007/06/20

ここではArmed Assaultに付属するミッションエディターの説明を、公式の英語版から和訳してみようと思います。
このページではエディターのトリガーモードの説明を行います。
もしかしたら一部間違いなどがあるかもしれませんが、掲示板等で指摘していただけたら修正したいと思います。


目次


トリガーモード -Triggers Mode (F3)-

トリガーはConditionブロックが真(true)を返すまで待ち、そしてOn Activationの文字列を実行する抽象的なエンティティです。
効果的に使うと、ミッションをよりダイナミックに、そして現実的に見せることが出来ます。
例えば、プレイヤーが敵の基地の近くで発見されたときにサイレンを鳴らし始め、援軍を呼んだり、
プレイヤーが無線指令を出したときに輸送部隊の移動を開始したり出来ます。これらはトリガーで実現可能です。
トリガーはミッションエディターでは中央に小さな青い旗があるダークブルーの楕円か長方形によって表されます。
トリガーはグループモードで一つのオブジェクトとリンクされるかもしれません。(一般にそれはそのオブジェクトかグループだけがトリガーを実行出来ることを意味します)
トリガーは様々な方法で使われます。
例えば、トリガーの位置と広さは常にそのConditionの一部として使われるわけではありません。
そしてトリガーは必ずOn Activationブロックを必要とするわけではありません。
変わりにそのConditionを満たすオブジェクトのリストを返すために使われることもあります。
それぞれのトリガーのConditionブロックはミッションの経過時間に対して毎秒におよそ二回チェックされるでしょう。
ミッションに新しいトリガーを追加するには、マップ上の何もないところをダブルクリックします。
するとトリガーダイアログが表示されます。

トリガーダイアログ

横軸/縦軸(Axis a/Axis b)

これら二つのコントロールはトリガーの広さをメートルで設定します。
もしトリガーが回転しないなら(angle = 0)、Axis aは東西方向に広がり、Axis bは南北方向に広がります。

角度(Angle)

トリガーの角度を設定します。
0は北に面し、90は東に面するといった設定をします。(訳注:0を北として右回りに360度の角度で指定します)
トリガーは、シフトキーを押したままトリガーをマウス左ボタンを押してドラッグすることでも回転させることが出来ます。

形状(Ellipse/Rectangle)

トリガーの形を長方形か楕円から選択できます。

活性化(Activation)

これらのオプションはトリガーのCondition(訳注:Conditionはトリガーが活性化する条件)を作成するグラフィカルな手段を提供します。
一般に、選ばれたActivationオプションは以下の6つのコンディションタイプ(Present,Not Present,Detected by West等)から選択されたものと組み合わせます。
これらの条件のいくつかはスクリプトコマンドを使って簡単、または効率的に休養させることが出来ません。
注意点:これらのオプションはトリガーがチェックされる度にCondition欄の中のthisにはどんな値があるかを定義するだけです。
ドロップダウンメニューから誰または何がトリガーを作動させるか選んでください。
トリガーがユニットとリンクされているなら、関連のあるオプションだけが利用可能になります。
以下のものを選べます。

None
トリガーはConditionの内容がtrueを返すとき、まだ活性化できますが、この場合thisは常にfalseを返すでしょう。
<サイド>(BLUFORやOPFORなど)
そのサイドのいずれかのユニットが以下の6つの条件から現在1つ選ばれたものを満たすと、トリガーを作動させます。
Radio <文字>
トリガーはグループのすべてのプレイヤーリーダーによって利用可能なラジオコマンドか、所有しているラジオによって作動させられます。
setRadioMsgコマンドを使うことで、ラジオトリガーの起動を特定のプレイヤーに制限することが出来ます。
ラジオトリガーは下の6つの条件やカウントダウン/タイムアウトの待ち時間を使用しません。
Seized by <サイド>
奪還する広さがエリアの管理下にあると思われるとき、トリガーを動作させるでしょう。
このトリガータイプはタイムアウトカウンターの値で動作します。(支配の低レベルは最大タイムアウト期間とvisa versaの後にトリガーを動作させるでしょう。)
(訳注:visa versaの意味がよくわからないのではっきりしないが、圧倒的に支配すれば短いタイムアウト、支配力が弱ければ長いタイムアウトが適用されるのだと思われる)
このトリガータイプはどんなDetected by <サイド>オプションとも使用できます。
それはDetected by サイドによって知られているユニットだけが占領したと計算によって考えられるのを意味します。
これは簡単にいくつかの面白い領域制圧効果を作成することが出来ます。
例えば、BLUFORがエリアを占領したと思うとき、Seized by BLUFORトリガーはDetected by Westオプションを使うと動作します。
OPFORがBLUFORがエリアを占領したと思うとき、同じトリガーがDetected by EASTオプションを使うと動作します。
Not Presentオプションはトリガーの通常の振る舞いを逆にします。(ie, Not Seized by <サイド>)
Vehicle
このオプションはトリガーがユニットや乗り物、オブジェクトとリンクされた場合にのみ利用可能です。
下で使われる6つの条件のどれかを満たすとき、そのエンティティだけがトリガーを動作させることが出来ます。
Whole Group
このオプションはトリガーがユニットとリンクされている場合にのみ利用可能です。
リンクされたユニットの全体のグループが下で使われる6つの条件のどれかを満たすとき、トリガーは動作します。
Group Leader
このオプションはトリガーがユニットとリンクされている場合のみ利用可能です。
リンクされたユニットのグループリーダーが下で使われる6つの条件のどれかを満たすとき、トリガーは動作します。
Any Group Member
再び、このオプションはトリガーがユニットとリンクされている場合のみ利用可能です。
リンクされたユニットのグループの誰かが下で使われる6つの条件のどれかを満たすとトリガーは動作します。

繰り返し(Once/Repeatedly)

何回トリガーが動作するか設定します。
繰り返し動作するトリガーだけが非活性化でき、一回動作するトリガーは活性化したままでしょう。
多くの繰り返し動作するトリガーは一度非活性化させたトリガーを再び活性化させることが出来るだけです。
(ラジオトリガーはこのルールに従いません)

存在(Present/Not Present)

活性化させるものがサイドやオブジェクトであるなら、サイドやオブジェクトがトリガーの境界の中にいる、またはいない場合にトリガーが動作します。
存在してると見なされるために、オブジェクトは生きている、破壊されていない状態でなければなりません。

サイドに発見される(Detected by <side>)

オペレーションフラッシュポイントからこれらのサイド名で残されており、そしてそれらはBLUFOR,OPFOR,およびIndependent(RACS)に対応しています。
(訳注:WestはBLUFOR、EastはOPFOR、ResistanceはIndependent[RACS]に対応)
あるユニットは、発見する側のグループリーダーが発見されたユニットのサイドを正しく認識できたとき、発見されたと見なされます。
発見されるユニットのタイプに依存して、これは様々な認識レベルで起こるかもしれません。
(訳注:ユニットは複数認識パターンがあり、人か乗り物かも分からない状態、歩兵だがサイドが不明、敵の歩兵だがライフルマンかスナイパーか判別付かないなどの状態がある)
Seized by <サイド>Activationタイプもこれらのオプションを使います。詳細は上のSeized by <サイド>の項目を見てください。

タイムカウンター(Countdown/Timeout Counters)

これらのカウンタでトリガーに一定のランダム性を加えることが出来、プレイヤーに対してトリガーの起動タイミングをあいまいに出来ます。
例えば、プレイヤーの熱中は、弾丸が最後の敵ユニットに当たる本当にごくわずかな時間に目的を完了する"enemy not present"トリガーによって破壊することが出来ます。
(訳注:敵がいなくなったら動作するタイプのトリガーは、敵に致命弾が命中した瞬間に発動するため、一気に緊張を解いたり、場合によっては雰囲気を壊してしまうことがある)

Countdown
トリガーの条件が一度満たされると、トリガーは動作する前に記入した時間になるまで待ちます。
Timeout
トリガーの条件を、トリガーが動作する前に記入した時間になるまで満たしていなければなりません。
例えば、WEST兵士がWESTサイドが範囲内に存在すると動作するタイプのトリガーに入っても、タイムアウトが完了する前にエリアを出てしまうと、そのトリガーは動作しません。

CountdownボタンとTimeoutボタンの横に3つのボックスが見えるでしょう。Min,MaxとMidです。
これらはトリガーがMidよりのMinとMaxの間の秒数で有効になるまでの期間を設定します。
3つすべてが10に設定されたら、ランダム性の無い10秒間となるでしょう。
Minが5、Maxが15、そしてMidが10なら、期間はおよそ10秒に近い、5~15秒の間の期間となるでしょう。

種類(Type)

これらはいくつかのトリガーの効果や、一般的なスクリプトコードでは利用できない抽象的なタイプです。
これらのイベントはOn Activationブロックが実行された直後に発生します。

None
トリガーはOn Activationブロックに記述されたこと以外の効果を持ちません。これはデフォルトです。
Guarded by (サイド)
トリガーの中心点は守備対象の地点となるよう設定されます。
トリガーがオブジェクトとリンクされたグループなら、それはミッションの初期化の間にオブジェクトの最初の位置に動かされます。
Guardedトリガーはガードポイントを定義するだけで、動作しません。
ガードウェイポイントで警備モードにさせたグループは最初に置かれた最も優先度の高い、利用可能なガードされていないガードポイントに移動します。
マップ上のどこでも、敵ユニットがガードしているグループサイドに属するユニットに見つかった場合、
最も優先度の低いガードポイントをガードしているグループは持ち場を離れて攻撃に出るでしょう。
注意点:彼らは見つかったオブジェクトにダメージを与えられない場合でもどんな距離でも反応します。
また、通常の「Detected by」ルールは適用しません。
非武装の人は防衛目的のために戦車を見つけることが出来ます。
詳細に関してはガードウェイポイントタイプを見てください。
Switch
スイッチトリガーはCycleウェイポイントループからグループをブレークさせたり、ガードウェイポイントやホールドウェイポイントからグループを移動させたり、とても便利です。
トリガーがウェイポイントとシンクロナイズされているとき、トリガーを動作させるとシンクロナイズされたウェイポイントの後に即座にグループの現在のウェイポイントを最初のウェイポイントに切り替えるでしょう。
注意点:シンクロナイズされたウェイポイントのOn Activationブロックは実行されません。
End <番号>
条件が一度満たされると、ミッションを終了します。
それぞれ異なる受け入れ可能なデブリーフィングテキストを持つ6つの異なる勝利のエンディングがあります。
また、ミッションの異なるエンディングはプレイヤーをキャンペーンの異なる「分岐」に導くことが出来ます。
Lose
このタイプのトリガーを動作すると、ミッションは失敗に終わるでしょう。
注意点:これはプレイヤーの死とは同じではありません。
ミッションがキャンペーンの一部なら、キャンペーンは負けているミッションの分岐に沿って続けることが出来ます。

名前(Name)

スクリプトコードによって扱われるトリガーの名前を設定します。
それは通常の変数名規則に従わなければなりません。
(スペースを含まない、予約文字や予約語を使わない、これらは警告されないかもしれません。)

テキスト(Text)

トリガーがラジオコマンドで動作する場合、このテキストはコマンドメニューとミッションマップに表示されるラジオ両方のデフォルトラジオコマンドを置き換えます。
また、このテキストはエディターでマウスカーソルをトリガーの上にのせたときにも表示され、 ユーザーが素早く何をするトリガーかを判別できます。

条件(Condition)

このスクリプトコードブロックが真(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条件を含むより複雑なトリガーの動作条件を作成できます。

活性時(On Act(ivation))

このスクリプトコードブロックはトリガーのタイプが起動を許す限り、トリガーの条件が満たされるときに実行されます。
トリガーのタイプによるどんな動作(訳注:トリガータイプがEndやLoseなどのスクリプトコマンドではない、トリガー自身の動作のこと)もこのOn Activationブロックの実行が始まった直後に行われるでしょう。
On Activationブロックの中では、thisは(UNKNOWN、BOOLEAN,ALWAYS FALSE?)を示し、thisListは上のConditionブロックが示すのと同じように示します。

非活性時(On Dea(ctivation))

初めて繰り返し可能なトリガーの条件がチェックするとき実行されるスクリプトコードブロックは、以前に真(true)になった後に、偽(false)を返します。
繰り返し可能なトリガーのみが非活性化します。
ラジオ<文字>タイプは非活性化せず、また少なくともOn Deactivationブロックを決して実行しません。
特別な変数thisListとthisにはOn Activationブロックの場合と同じ意味があります。

効果(Effects)

このボタンをクリックして、トリガーエフェクトダイアログを開いてください。
それはOn Activationが実行された直後に実行される何らかの音や画面効果の作成を簡単に行えます。
一つ以上の効果が一度に使用されるかもしれません。
注意点:On Activationブロックでスクリプトコードを使用することで、このダイアログの大半の効果が作成できます。

トリガーエフェクトダイアログ

エフェクト条件(Condition Block (untitled))

エフェクトダイアログの一番上にあるスクリプトコードブロックは、選ばれた効果を実行するために満たさなければならない条件を必要とするために使用することが出来ます。
選ばれた効果を実行するためにはブロックは真(true)を返さなければなりません。
このブロックはトリガーのOn Activationコードブロックが実行された後にチェックされます。

匿名(Anonymous)

このドロップダウンリストは匿名の声のサンプルを再生させることが出来ます。
音はプレイヤーの位置にかかわらず、すぐ側で鳴っているように聞こえるでしょう。
ArmA ver1.05では、これらの音の多くがリストボックス中に説明書きを持っていません。

声(Voice)

このドロップダウンリストはトリガーに声のサンプルを再生させます。
音は動作しているトリガーの近くから鳴っているように聞こえるか、トリガーがグループとリンクされている場合、ユニットが声のサンプルを話すでしょう。(口の動きに合わせて)
ArmA ver1.05ではこれらの音の多くには説明書きがありません。

環境(Environment)

このリストはミッション中に選んだ環境音を再生させることが出来ます。
通常の環境音はプレイヤーの位置や、時間と天気に基づいて選ばれているので、
このオプションはテストを除いて使われることはなさそうです。(止めることは可能なのだろうか?)

トリガー(Trigger)

選んだ効果音が再生されます。音はトリガーの中心から聞こえてきます。

トラック(Track)

トリガーが動作したとき即座に以前流れていたどんな音楽も止めてから、選んだ音楽が一度再生されます。

エフェクトタイプ(Type)

以下の画面効果のタイプの一つの作成を設定します。

Object
これはプレイヤーの視界の正面であらかじめ定義された3dオブジェクトを作成するのに使われるようです。
この効果はオペレーションフラッシュポイントでスプラッシュスクリーンを作成するのに使われていて、ミッション中に使用することはなさそうです。
Resource
これはプレイヤーの視界の上にあらかじめ定義されたグラフィカルリソースを表示するのに使用することが出来ます。
以下のドロップダウンメニューからこのリソースを選ぶことが出来ます。
このエフェクトはアームドアサルトにスプラッシュスクリーンを表示するために使われ、ミッション中に使用することはなさそうです。
Text
これは以下のテキストボックスに入力したテキストをEffectメニューで選んだスタイルで表示するでしょう。
このエフェクトはcutTextスクリプトコマンドと同じです。
Effect
タイプがNoneではなく、テキストボックスが空でない場合のみ効果があります。
cutTextコマンドに同じタイプを与えたのと同じ画面効果をもたらします。

エフェクトテキスト(Text)

このオプションはタイプがNone以外にセットされているときのみ利用可能です。
それは利用可能なリソースかオブジェクトタイプのドロップダウンリストとして振る舞うか、テキスト入力ボックスとして振る舞うでしょう。


Homeへ