ミッションエディタの基本
ミッションエディタはインストールフォルダのbin/editor/STEditor.exeをダブルクリックして起動する。
- 画面上のメニューは、通常File・View・Search and Select・Drawを用いる。Fileメニューだけでもミッション作成できる。
- 画面上のツールバーには、各種機能のボタンが並ぶ。主にマップ表示の切り替えや、各種表示のon/offに使用する。
- 画面左のミッションツリーには、ミッションに含まれる全オブジェクトとグループ構造が表示される。
- 画面右のオブジェクトライブラリで、配置するオブジェクト・MCUを選ぶ。
- 右下には各種情報が表示される。
- プロパティウィンドウで、ミッションまたは選択したオブジェクトの設定を行う。
基本的な操作
- マップの操作
F9、View/Toggle Ortho View、またはツールバーのToggle Cameraでマップの2D/3Dを切り換える。ツールバーのMini GUI Mapでミニマップを表示できる。
Ctrl+F9、View/Toggle GUI Map、またはツールバーのGUI Mapで地図表示(2D)と地形表示を切り替える。
View/Add Cameraで視点を保存し、View/Go to Cameraでその視点に戻ることができる。- 2Dマップ:右ドラッグで移動、マウスホイールで拡大・縮小
- 3Dマップ:右ドラッグで移動、左ドラッグでカメラ回転、マウスホイールでカメラ高さ変更
- オブジェクトの配置・選択・移動
右のオブジェクトライブラリから選択し、マップ上でクリックして配置する。選択解除はEscキー。
2Dマップ上でオブジェクトのアイコンをクリックすると選択、Ctrl+クリックまたは左ドラッグで複数選択する。
選択したオブジェクトの位置合わせは以下のようにする。キーによる移動は、Shiftで速く、Ctrlで遅くなる。- 移動:ドラッグ(2Dマップ)、Shift+ドラッグ(3Dマップ)、カーソルキー
またはPropertyウィンドウのPositionにX、Zを入力 - 回転:枠の赤い四角をドラッグ(2Dマップ)、Ctrl+ドラッグ(3Dマップ)、<>キー
またはPropertyウィンドウのOrientationに入力 - 高さ変更:PgUP/DNキー
またはPropertyウィンドウのPositionにYを入力
空中から地上に降ろすときはToolメニューかツールバーのSet on Groundを使う。
- 移動:ドラッグ(2Dマップ)、Shift+ドラッグ(3Dマップ)、カーソルキー
その他、以下のような操作がある。
- オブジェクトのアイコンをダブルクリック、またはPropertyウィンドウの「>」ボタン:Advancedプロパティを開く
- Ctrl+C:オブジェクトをコピー
- Ctrl+V:コピーしたオブジェクトを貼りつけ
ミッション作成手順
- 1. ファイルを新規作成し、Mission Propertiesウィンドウでマップ、季節、ミッション名、ミッションタイプ、天候、ミッションブリーフィングのテキストなどを設定する。
- 2. Templeteフォルダにあるマップのテンプレート(建物など)をインポートし、不要なものを削除する。
- 3. 右のオブジェクトライブラリから飛行機、車両、建物などのオブジェクトを選んで配置する。
PropertyウィンドウでLinked Entityに変更し、Advanced Propertyで各種パラメータを設定する。
ミッションに関係ない、そこに存在するだけの建物はLinked Entityにしなくてもよい。 - 4. オブジェクトライブラリからMCUを選んで配置する。
Advanced Propertyウィンドウでパラメータを設定し、オブジェクトや他のMCUとリンクで繋いで、オブジェクトの行動やミッションの進行を設定する。 - 5. data/Missionフォルダかdata/Multiplayer/Dogfightフォルダに保存する。
用語解説
- MCU (Mission Control Unit):オブジェクトやミッション自体に様々な効果をもつスクリプト。
- Command:オブジェクトに何らかの行動をさせるMCU。
- Trigger:ある条件でCommandやTranslatorを実行するMCU。
- Translator:ミッション開始、テキスト表示、勝利条件など、ミッションに様々な効果を出すMCU。
- リンク:MCUやオブジェクト間の相互作用。アイコン間を結ぶ色のついた矢印で表示される。詳細は下を参照。
- グループ:複数のオブジェクトやMCUを一つにまとめたもの。1つのアイコンで表示され、まとめて移動・コピー・ペーストできる。
- Ctrl+クリック、または左ドラッグで複数のオブジェクトやMCUを選択し、右クリックメニューのGroup Objectsでグループ化する。Ungroupでグループを解除する。
- グループ内のオブジェクトを編集するには、グループの右クリックメニューでSet Group as Workingを選ぶ。抜けるにはReset Working Groupを選ぶ。
- アクティブ、非アクティブ:非アクティブ状態のオブジェクトはミッションから消え、MCUは機能しなくなる。
- 切替にはTrigger:ActivateおよびTrigger:Deactivateを用いる。
- オブジェクトはAdvanced PropertyのEnableがoffだとミッション開始時に非アクティブとなる。
- プレイヤーから見えないオブジェクトは非アクティブにすることで、ミッションの動作を軽くすることができる。
リンク
- オブジェクトリンク(OL):緑矢印で表示される。
MCUからオブジェクトへのリンク。MCUがどのオブジェクトの行動を指定しているかを表す。- MCUを選択し、プロパティのFind objectボタン、右クリックメニューのSelected Object Menu/Add Object、またはShift+Oを押してオブジェクトを選択して作成する。
- ターゲットリンク(TL):赤矢印で表示される。
MCUからMCUへのリンクの場合、MCUを実行する順番を表す。
MCUからオブジェクトへのリンクの場合、行動の目標を表す。
オブジェクトからオブジェクトへのリンクの場合、リンク先をリーダーとした同じ部隊(編隊、車列、砲列など)であることを表す。- MCUかオブジェクトを選択し、プロパティのFind targetボタン、右クリックメニューのSelected Object Menu/Add Target、またはShift+Tを押して相手を選択して作成する。
- Trigger:WaypointやTranslator:Iconは、選択してマップをShift+クリックするとTLで繋がった同じものを配置できる。一連のウェイポイントや線を作成するのに用いる。
- イベントリンク(EL):紫の矢印で表示される(OLと重複する場合薄紫色になる)。
オブジェクト(または一部のMCU)からMCUへのリンク。オブジェクトなどの様々な状態変化(離陸、撃墜など)をイベントとしてMCUが実行されることを表す。- プロパティのAdd eventボタン、右クリックメニューのSelected Object Menu/Add ○○ Eventで作成する。
- レポートリンク(RL):青の矢印で表示される(OLと重複する場合水色になる)。
オブジェクトから2つのMCU(コマンド、ターゲット)へのリンク。矢印はコマンド→オブジェクト→ターゲットとなる。使い方はRLと似ており、コマンドMCUによってオブジェクトが状態変化を起こすとターゲットMCUが実行される。- プロパティのAdd reportボタン、右クリックメニューのSelected Object Menu/Add ○○ Reportで作成する。
リンクを削除するには、オブジェクトまたはMCUのAdvancedプロパティで一覧からリンクを選択してDelキー。
基本ルール
- 最低1個のTranslator:Mission Beginが必要。
- シングルミッションでは、1個のplaneオブジェクトをAI:Playerにする。
マルチプレイのドッグファイトミッションでは、両陣営にそれぞれ1つ以上の飛行場が必要。 - 各Commandはそれを実行する1個のオブジェクトとOLでリンクされる。
- CommandやTriggerは、他のMCUからのTL、オブジェクトからのELなどで実行される。
- 1個のオブジェクトに同時に複数のCommandが行かないよう、Trigger:Timerで1~2秒間隔を空ける。
オブジェクトがアクティブになってから次のCommandまでの間も、同様に1~2秒空ける。
ミッションエディタの機能
メニューバー
- File:ミッションの作成・読み込み・保存、オブジェクトグループのインポートなどを行う。
- View:各種の表示/非表示を切り替える。またマップ表示の操作を行う。
カメラ以外はツールバーで操作可能。 - Search and Select:オブジェクトを探し選択する。
- Find Mission/Location Objects:オブジェクトを検索する。フィルタ、検索オプション、検索結果をダブルクリックした時の動作を設定できる。
- Draw:マップのグリッド、アイコン、リンク等の表示/非表示を切り替える。
ほとんどはツールバーで操作可能。 - Tools
- Location Database
- Test
- Surface Edit
ツールバー
- Cut、Copyボタン:切り取り・貼り付けを行う。
- Measure Modeボタン:マップをクリックしてルートを描き、前の点からの距離、通算距離、前の点からの方位を表示する。ホットキーはShift+M。
線を消すにはBackSpaceキー。 - GUI Map、Mini GUI Map、Toggle Camera:マップの表示を切り替える。Viewメニューと同じ。
- Focus on Selectionボタン:選択したオブジェクトにズームインする。
- Set on Groundボタン:選択したオブジェクトの高度を地上に設定する。
- Zoom to Cursorボタン:ONだとマウスホイールでカーソル位置にズームする。OFFだと画面中心にズーム。
- Drow Grid、Drow Icons、Drow Icon Text、Drow Icons in Group、Drow Compassボタン:Drowメニューと同じ。
- OBJ FILTボタン:表示のフィルタを設定する。
- Mission Tree、Object Library、Property Dialogボタン:ミッションエディタの各部の表示/非表示を切り替える。Viewメニューと同じ。
- MCU OBJ、MCU TAR、MCU MES、MCU ARWボタン:Drowメニューと同じ。
プロパティウィンドウ
なにも選択していない状態だとミッションプロパティが表示され、ミッション全体の設定を行う。
- Name:ミッションの名前。ファイル名とは別。
- Date、Time:ミッションの開始日時。
- Mission Type:自作ミッションでは、シングルプレイならSingle、マルチプレイならDeathmatchを選ぶ。
- Author:作者名。
Terrain Presetsでマップを選び、GUI MapとSeasonで同じマップ・季節を選ぶ。
Atmosphere optionsで天候を選択する。
- Clouds:前半(00_Clear、01_lightなど)はQMBの天候と同じで、低空の雲の量を表す。後半の数字は高空の雲の量を表すと共に、奇数なら朝夕に地上に霧が生じる。
- 選択すると、Level(雲の底の高度)とHeight(雲の厚さ)にデフォルト値が入る。その後手入力で変更できるが、Heightはある範囲(選択した天候によって変わる)を超えた値を入力しても上限値/下限値と同じ雲になる。
- 04_overcastを選ぶと、Precipitationsで雨や雪の強さ(0~100)を選択できる。
- Wind Options:高度0、500m、1000m、2000m、5000mでの風向・風速、乱流の強さ(2~3で弱い乱流、4~6で強い乱流)を入力する。
- ここで入力する風向は「どこに向かって吹くか」であり、ゲーム中に爆撃照準器画面で表示される風向(どこから吹くか)は逆向きになる。
- おおよその目安として、風速は高度1000mで地上の2倍。2000~5000mでは2~4倍程度で、5000mでは風向も大きく変わることがある。
- Temperature and Pressure:指定した高度で指定した気温・気圧になる。
- Sea:
Countriesで、各国がどの陣営か(連合、枢軸、中立)選択する。通常はデフォルトのまま。
Descriptionにミッションブリーフィングのテキストを入力する。
- 改行は<br>、アンダーラインは<u></u>、イタリックは<i></i>、太字は<b></b>を用いる。
MCU以外のオブジェクト
プロパティウィンドウのCreate Linked Entityボタンを押すことでオブジェクトがミッションとリンクし、ミッション内に実際に存在するようになり、Advancedプロパティの設定が可能になる。建物のオブジェクトはリンクしなくてもミッションに現れるが、他のオブジェクトと関係を持たせるにはリンクする必要がある。
※コピーするとAdvancedプロパティはデフォルトに戻る。
Planes
AIをPlayerにすると自機になる。※コピーするとコピー元・コピー先ともAIに戻るので注意。
武装・スキンはAdvancedプロパティで設定できる。まずWeaponModsを設定してからPayloadを選択すること。
編隊を組む場合、全ての僚機から長機に対してTLをつける(つけた順に2番機、3番機…になる。順番を変える時は長機のAdvancedプロパティでChange Formationを使う)。編隊へのCommandなどは全て長機に対して行う。数が増えすぎると衝突などの危険が高まるので、2~4機にするのが安全。
- Enabledをonにするとミッション開始と同時に出現。offだと、Trigger:Activateなどで出現する。
- 出現位置は、In Airが空中スタート、On Runwayが地上スタート(エンジン始動)、On Parkingが地上スタート(エンジン停止)を表す。プロパティのYで高度(m)を指定する。
- DamageはThreshold(チェックあり)とStep(チェックなし)の2種類がある。Damage reportの数字と合わせて、イベント「OnDamaged」の発生タイミングを決める。
Thresholdで25%の場合、75%のダメージを受けるとOnDamagedイベントが発生する。
Stepで25%の場合、25%、50%、75%のダメージを受ける度にOnDamagedイベントが発生する。 - コールサインの指定で番号を0にすると番号なしのコールサインになる。
- AddEventボタンで、何らかのイベントでMCUをアクティブにするELを作成できる。イベントには以下のようなものがある。
パイロットが死亡/負傷、機体が離陸/着陸/不時着/致命的ダメージ/破壊、燃料/弾薬/爆弾/銃座の弾が欠乏、機銃手が死亡、ダメージ(上記の設定による)、破壊、移動
Vehicles、Artillery、Ship
プロパティの大部分はPlanesと同様。TLで部隊を作るのもPlanesと同じ。
Vehicleのうち、名前が_で始まるものはプレイヤーとして使用可能。
- Spotter radiusをonにすると、指定範囲内の目標がマップに表示される。
プレイヤー機が味方地上オブジェクトの観測範囲内に入ると、OnSpottingStartedイベントが発生し、無線メッセージが入る。 - ndbのBeacon Channelを1にすると電波を発信し、味方機のラジオコンパスで受信できる(複数あると一番近いものが受信される)。
※複数のビーコンを配置してのチャンネル切替は、後日実装される予定。 - イベントには、ダメージ、破壊、移動、観測開始がある。
Trains
Vehiclesと同様だが、機関車をマップ(線路上)に配置し、プロパティからCarriagesボタンを押して編成を決める点が異なる。
- ウェイポイントは線路上に置き、範囲は5m程度とする。機関車がウェイポイントを通過すると、次のウェイポイントがアクティブになっていなければ減速して停止する。停止までのおよその距離は以下の通り。
20km/h:5m
30km/h:37m
40km/h:74m
50km/h:113m
60km/h:142m
Buildings、Blocks、Bridges
様々な建物やその組み合わせ。Blocksには地上の飛行機なども含まれる。
Create linked entityを使わなくてもゲームに登場するが、破壊でイベントを起こすなど他のMCUとリンクさせるにはCreate linked entityを使う。
- File-Impot From Fileでdata/Templateからマップに対応したテンプレートを読み込むことで、デフォルトの建物等を配置できる。
- Durabilityを指定することで、どれだけのダメージで破壊されるか指定する。デフォルト値は25000だが、テンプレートでは建物などは5000にしてあることが多い。
- Damageで、一部が破壊された建物を作成できる。
- Structure ID:オブジェクトごとに0、1、2…がどこを表すかが異なる。拡大表示してどのIDがどの部分に対応するか確認すること。
- Damage Level:0.5より大きい値を入れると破壊される。
Airfields
飛行場を設定する。マルチプレイでは、配置位置と方向(黄色い線)で飛行機の出現ポイントが決まる。
fakefieldは配置位置・方向から右に135mまでの範囲が出現ポイントになる。駐機場に出現させたい場合に用いる。
fakefield_rnwspawnは配置位置・方向から右に60m・後ろに90mまでの範囲が出現ポイントになる。滑走路上に出現させたい場合に用いる。
- File-Impot From Fileでdata/Templateフォルダからマップに対応したテンプレートを読み込むことで、デフォルトの飛行場を配置できる。
- Edit Chartボタンで、AIのタキシング経路、滑走路を指定する。詳細はテンプレートを参照。タキシングの開始位置はAI機のすぐ前に置き、ウェイポイントは間隔を離しすぎないこと。また途中でプレイヤー機や他のAI機などが経路を塞がないように注意。
- Planesボタンで、マルチプレイで出現する機体の種類などを設定する。
出現場所をIn Airにすると、真上の指定した高度に出現する。 - イベントには、ダメージ、破壊、機体出現、機体なし、機体追加がある。
Effects
炎や煙、サイレンなど。Command:Effectで開始/終了する。
Flags
Create linked entityを使わなくてもゲームに登場するが、機能させるにはCreate linked entityを使う。
windsockは、Create linked entityで風向表示機として機能する。
flagは、指定範囲内に敵陣営の飛行機/車両しかいなくなると旗が下がり始め、一番下まで下がると陣営が変わる。この時OnFlagCapturedBy○○イベントが発生する。
- Start Height(0~1):旗の開始位置。1だと一番上で開始する。
- Speed Factor:旗が上下に動く速さ。1だと4分、4だと1分で端から端まで動く。 ※現時点では1より大きくするとうまく動作しないことがある。
- Block Threshold(0~1):旗が指定した割合より下に下がるとOnFlagBlockedイベント、上に上がるとOnFlagUnblockedイベントが発生する。
- Flag Typeで範囲の形を指定する。LandedOnlyにすると、空中のオブジェクトは含まれなくなる。
Count Planes/Vehiclesで、オブジェクトの種類を指定する。
Groups
複数のオブジェクトやMCUを選択して、Fileメニューまたは右クリックメニューからSave Selection to Fileでグループをdata/Missionsフォルダに保存し、ここから呼び出すことができる。
自作またはダウンロードしたテンプレートやミッション構成要素をここに保存し呼び出すことで、ミッション作成時間を短縮できる。
MCU
※コピーするとAdvancedプロパティはデフォルトに戻る。
Command
- Command:Take off
OL先のPlaneオブジェクトに離陸を指示する。- Airfieldオブジェクトでタキシング経路・滑走路を指定している場合、飛行場に配置されたPlaneオブジェクトはこれに従ってタキシング・離陸する。
- Command:Land
OL先のPlaneオブジェクトにこの位置に着陸するよう指示する。MCUの向き(黄色の線)で着陸滑走方向を指定する。- Airfieldオブジェクトでタキシング経路・滑走路を指定している飛行場にこのMCUを配置した場合、MCUの向きは無視され、指定された経路に従って着陸・タキシングする。
- 前のWPは高度500m程度とし、飛行場の近くに配置すること。Command:Landがアクティブになると飛行機は航行灯を点灯し、着陸態勢になる。
- Command:Attack
OL先のPlaneオブジェクトに、TL先を攻撃するよう指示する。- Attack Groupがonの場合、TL先を含む部隊全体を攻撃する。
- Command:Cover
OL先のPlaneオブジェクトに、TL先を護衛するよう指示する。- Cover Groupがonの場合、TL先を含む部隊全体を護衛する。
- TL先を車両にし、その車両のSpotterをonにすると、指定された半径内の敵の位置がマップに表示される。
- Command:AttackArea
OL先のオブジェクトに、指定した範囲内の指定した目標(Air Target、Ground Target、Ground)を攻撃するよう指示する。 図:敵陣営の飛行機が5000m以内に入ると射撃開始する。- 飛行機の目標にGroundを指定した場合、全爆弾をこのMCUのアイコンの真下に向けて、このMCUを配置した高度で投下する。水平爆撃では前のWPから10kmほど離して同じ高度、急降下爆撃では2kmほど離して3000mほど低い高度にすること。
- 地上ユニット(大砲やロケットなど)の目標にGroundを指定した場合、指定した範囲を攻撃する。目標が見えていないと射撃できないので、地面の起伏などで見えない場所を大砲で攻撃させる時は、MCUの高度を少し上げて大砲ユニットから見えるようにする。
- Command:Formation
OL先の移動オブジェクトグループ(飛行機または車両)に、隊形と間隔を指示する。車両の場合、停止および移動再開、道路上を進むかどうかもこれで指示する。 図:3機のグループがWPを通過して一定時間後、隊形を左梯形(標準の間隔)に変更する。- 停止中のオブジェクトグループには使わない。
- 飛行機の場合、Noneは縦一列を表す。
- 車両の場合、On Road Column隊形にすると道路上を進む。
- 車両のForwardはBackwardの後、Continue MovingはPanic Stopの後に使う。
- 車両のSet Direction and Stopは、全車両が同時に指定した方向を向いて停止する。方向はプロパティのAYで指定する。
- Command:Flare
OL先のオブジェクトに、このMCUに向かって指定した色のフレアを発射させる。
オブジェクトはPlanes、Vehicles、Trains、Artilleryのどれか。- 連続して発射させる場合、4秒以上間隔を開けること。
- Command:Effect
OL先のEffectオブジェクトを開始/終了する。 - Command:Force Complete
OL先のオブジェクトに、最後に受けた指示を中止させる。- サーチライトや滑走路照明のON/OFFを切り替えるのにも使う。この場合Priority:LowでON、HighでOFF。
- この指示に続いて次の指示を与える場合、Trigger:Timerで1~2秒時間を空けること。
- Command:Behaviour
OL先のオブジェクトのプロパティを変更する。
AIレベルや国籍、飛行場の飛行機リストなどが変更可能。 - Command:Damage
OL先のオブジェクトに指定したダメージを与える/修理する。- グループにダメージを与えると、グループ全体がダメージを受ける。
- 飛行機は修理できない(static○○は別)。
- 建物などの、プロパティで設定されたダメージは修理できない。
- Command:Play Animation
OL先のTranslator:Animation Operatorで指定されたアニメーションを再生する。- Animation Nameで、OL先のTranslator:Animation Operatorに含まれるアニメーションから再生するものを選ぶ。右クリックメニューのSelected Object Menu/Playで、エディタ内でアニメを再生できる(Escで終了)。
- Command:Play Sound
OL先のTranslator:Animation Operatorで指定された音声を再生する。 - Command:Move
Trigger
- Trigger:Waypoint
OL先のオブジェクトにこの位置に向かうよう指示する。
あるイベント(離陸など)、または前のWPからのTLでアクティブになる。OL先のオブジェクトが通過するとTL先をアクティブにする。- 優先順位Lowだと、AIは攻撃できる目標があればそれを優先する。Mediumだと、自衛を優先する。
- 通過する範囲(半径)と速度を指定する必要がある。飛行機の場合、範囲は200m程度ある方がよい。
- オブジェクトにOLをつけてから選択してShift+クリックで、同じオブジェクトにリンクし、順番にTLで結ばれた一連のWPを配置できる。
途中にWPを挿入したい時は、プロパティウィンドウからTLを削除してWPを配置し、リンクしなおす。
- Trigger:Timer
指定した時間が経過したらTL先のMCUを実行する。
オブジェクトに対し同時に複数の指示が送られるのを防ぐためなどに使用される。- 途中で非アクティブになると、時間はゼロに戻る。
- ランダムさを100%より小さくすることで、時間経過しても機能しなくなる確率を指定できる。
これを組み合わせることで、複数のMCUからランダムに選んでアクティブに出来る。スクリプトの例を参照。
- Trigger:Checkzone
OL先のオブジェクト、または指定した種類のオブジェクトが、指定した範囲に入るまたは出ると、TL先のMCUを実行する。- 入る(Distance Type: Closer)場合、このTriggerがアクティブになった時点で対象が範囲の外にいる必要がある。逆も同様。
- 範囲をSphereにした場合、プロパティウィンドウで範囲の中心高度Yも指定する。
- Trigger:Proximity
OL先のオブジェクト間、またはOL先のオブジェクトと指定した種類のオブジェクトとの間の距離を測定し、指定した距離より近づくか離れると、TL先のMCUを実行する。- Trigger:Checkzoneと違い、移動オブジェクトを中心とした範囲への出入りをチェックできる。
- Trigger:Activate
OL先の非アクティブ状態の飛行機・車両・Translator、TL先のCommand・Triggerをアクティブにする。- AdvancedプロパティのEnabledをOFFにすると非アクティブ状態で開始する。
- 飛行機や車両のグループの長をアクティブにすると、グループ全体がアクティブになり、ゲームに出現する。
- アクティブにした後次の指示を出すまでに、数秒時間をおくこと。
- Trigger:Deactivate
OL先の飛行機・車両・Translator、TL先のCommand・Triggerを非アクティブにする。 - Trigger:Spawner
OL先の1個のオブジェクト(グループは不可)と同じものを出現させる。- Spown at meをONにすると、Trigger:Spawnerの位置に出現する。OFFだとオブジェクトの位置に出現する。(この場合複数のオブジェクトを同時に出現させることができるが、グループは不可)
- 複数のTrigger:Spawnerから1つのオブジェクトにOLすることで、同じオブジェクトを複数出現させることができる。(Spown at meをONにすること)
- 出現したオブジェクトに対するCommandやTriggerは、OL先のオブジェクトに対して行う。
- OL先のオブジェクト自体は、ゲーム中には現れない。
- Trigger:Delete
OL先のオブジェクトを消す。 - Trigger:Date time
日の出、日没、あるいは指定した日時になると、TL先を実行する。 - Trigger:Counter
実行されるたびに1ずつカウントし、指定した数に達すると、TL先のMCUを実行する。
オブジェクトを一定数破壊で次のイベントを起こすなどの用途で使用される。- Reset After Operationを有効にすると、指定数に達した後でカウントがゼロに戻る。
- 途中で非アクティブになっても、カウントはそのまま残る。
- Trigger:Camera Point
Translator:Camera Operatorとセットで、カメラのWPとして用いる。OL先のカメラをこの位置に動かす。
あるイベント、または前のTrigger:Camera PointからのTLでアクティブになる。カメラが通過するとTL先をアクティブにする。- 移動速度、FOV(視野の角度)を指定できる。
Translator
- Translator:Mission begin
ミッション開始時にアクティブになり、TL先のMCUを実行する。数は自由だが、最低1個は必要。- 全てのMCUは、リンクをさかのぼるとこれに辿りつくようにする。
- 次のMCUはTrigger:Timerにして、数秒の時間をおいて次のMCUを実行するようにする。そうしないと、正しく実行されない可能性がある。
- Translator:Mission end
ミッションを終了する。 - Translator:Mission Objective
ミッション成功/失敗を決定する。- 主要目標、副次目標1~15を設定できる。
- Translator:Complex Trigger
オブジェクトの範囲や陣営、種類などを指定して、様々な条件でEL先のMCUを実行する。- Trigger:Checkzoneより複雑な処理が可能だが負荷が大きい。
- Translator:Icon
マップに様々なアイコンを表示したり、TLで結んで線を引く。プロパティのNameに入れた文字も表示される。- Icon IDで、ウェイポイントや攻撃目標などのアイコンを表示できる。
- Line Typeで、TLで結んで作成した線の種類を指定する。詳細は下の「付録:線の種類」を参照。
- 選択してShift+クリックで、順番にTLで結ばれた同じタイプのTranslator:Iconを配置できる。
- RGBに0~255の数を入力することで、線や文字の色を指定できる。
- Trigger:Activate/Deactivateで、プレイ中に表示・非表示を切り替えることが出来る。
- Translator:Influence Area
(ver2.005時点で動作せず)
各勢力の支配地域を設定する。Advancedプロパティで勢力を選ぶ。
マルチプレイヤーミッションで、敵の支配地域に不時着・脱出すると捕虜扱いとなる。- 右クリックしてEdit Influence Area Boundaryで領域を表示し、頂点をドラッグして支配地域の境界を指定する。頂点を追加するにはCtrl+クリックする。
- Translator:Subtitle
画面に文章を表示する。表示位置や時間、フォントサイズなどを指定できる。- 改行は<br>、アンダーラインは<u></u>、イタリックは<i></i>、太字は<b></b>を用いる。
- Translator:Media
画像、動画、音声を再生する。Browseでファイルを選択し、Setで決定する。
※タキシング中・離着陸中などに画面全体を隠してしまわないよう注意。- Media Type:Imageで.jpg、.ddsファイルを表示する。
- Media Type:Videoで.bikファイルを再生する。
- Media Type:Flashで.swfファイルを再生する。
- Media Type:Post Effect Movieで画面をセピア色にする。
- Media Type:Stop Mediaで、再生中のすべてのTranslator:Mediaを停止する。
- Media Type:Play Soundで.mp3ファイルを再生する。
- Media Type:Simulation Muteで、エンジン音などを小さくする。
- Translator:Animation Operator
Command:Play Animation/Soundとセットで用いる。再生するファイルへのパス等を指定する。
アニメーションの場合、座標と向きも指定すること。- Browseで再生するアニメ/音声ファイルを選択し、Setで設定する。
- アニメーションファイルは.chrファイルを選択する。data/graphics/Helpersフォルダにいくつかのファイルが用意されている。
- 音声ファイルはmp3ファイルを選択し、Config is SampleをONにすること。
- Browseで再生するアニメ/音声ファイルを選択し、Setで設定する。
- Translator:Camera Operator
様々な種類のカメラを配置する。F12キー(Camera operator: friendly)でカメラ視点を表示し、F11キー(Camera: free)でマウス操作できる。- Camera Operator TypeはDefaultにする。
- 右クリックメニューのSelected Object Menu/Look from This Objectで位置や方向を調整し、3Dマップを右クリックしてSelected Object Menu/Copy Camera Position and Orientation to Objectを実行することで、カメラ位置を微調整できる。
- Trigger:Camera Pointと組み合わせることで、カメラを動かすことができる。
- 敵陣営のカメラ視点を表示するには、難易度設定でAllow spectatorをONにする。
- Translator:AI POI
- Translator:Next Mission
- Translator:Server Input
ミッション作成の例
公式フォーラムで公開されているMission Building Guide、Rise of Flight wikiで紹介されている解説動画を参考に順次書いていく予定。
1:最初の設定
メニューバーのFile-Newで新規作成し、Mission Propertyウィンドウで基本設定を行う。
- Terrain PresetボタンでLapinoマップを選択する。
- ミッション名、日付、開始時刻、作者を入力する。
- Mission TypeはSingleを選択する。
- マルチプレイ用ミッションの場合はDeathmatchを選ぶ。
- Atmosphere optionsボタンで天候を設定する。
- Descriptionにミッションブリーフィング内容を入力する。改行は<br>、太字は<b></b>、アンダーラインは<u></u>、イタリックは<i></i>を用いる。
メニューバーのFile-Save asで、data/Missionの中のフォルダに保存する。
- マルチプレイ用ミッションの場合はdata/Multiplayer/Dogfightに保存する。
File-Import from Fileでdata/TemplateフォルダからLapino_ALL.Groupを読み込み、建物などの基本的なオブジェクトをマップに追加する。
不要なオブジェクトを削除するには、選択してDelキーを押す。
この時点で全てのオブジェクトを選択し、適当な名前でグループ化しておくと、後の作業が楽になる。
2:オブジェクトの配置
右のオブジェクトライブラリからPlanesを選び、下のリストから「bf109f4」を選択して、マップ北西の飛行場の駐機場をクリックして配置する。
- 位置合わせをする場合、2Dマップでは、オブジェクトアイコンをドラッグして移動、オブジェクトを囲む枠の赤い四角をドラッグして回転する。3Dマップでは、Shift+ドラッグで移動、Ctrl+ドラッグで回転する。
- カーソルキーで移動、<>キーで回転することもできる。Shiftを押しながらだと速くなり、Ctrlを押しながらだと遅くなる。空中のオブジェクトの場合、PgUp/Dnで高さを変える。
- プロパティウィンドウに直接座標・角度を入力することもできる。
プロパティウィンドウのCreate Linked Entityボタンを押し、ミッション内に実際に存在するようにする。
アイコンをダブルクリック、またはプロパティウィンドウの「>」ボタンでAdvancedプロパティウィンドウを表示させて、詳細な設定を行う。
- AIをPlayer、Countryをドイツにする。出現位置を「On Parking」にする。これでエンジン停止状態で出現する。
- Enabledのチェックをオンにし、ミッション開始と同時に出現するようにする(チェックを外すとTriggerで出現)。
- スキンや武装も指定できるが、それらをアンロックしていないプレイヤーはプレイできなくなる。
同様にマップ南東の飛行場の滑走路端にLaGG-3を配置し、AIをNormal、Countryをソ連、出現位置を「On Runway」にする。これでエンジン始動状態で出現する。
3:ウェイポイントの作成
LaGG-3のウェイポイント(以下WP)を配置する。
オブジェクトライブラリからMCUを選び、Trigger:Waypointを選択して、マップをクリックして最初のWPを配置する。
- プロパティウィンドウのYに高さ(m)を入力し、Advancedプロパティウィンドウで優先順位、範囲、通過速度を設定する。
- 高さは500m、範囲は300m、通過速度は280km/hとして、滑走路から3kmほど離して配置する。
- Find objectボタンかShift+Oを押し、LaGG-3をクリックして、WP→LaGG-3のOLをつける。
これで最初のWPが完成する。
このWPを選択した状態でマップをShift+クリックすれば、同じオブジェクトにリンクしたWPを次々と配置することができる。各WPで高度と速度を設定すること。
次に、ミッション開始後にLaGG-3が離陸し、最初のWPをアクティブにする設定を行う。
- MCUからTranslator:Mission beginを選択して、任意の位置に配置する。続いてTrigger:Timer、Command:Take offを配置する。
- Trigger:Timerをダブルクリックして、時間を10秒に設定する。
- Translator:Mission begin→Trigger:Timer→Command:Take offの順でTLをつけ、Command:Take off→LaGG-3にOLをつける。
- LaGG-3をダブルクリックして、Add Eventボタンを押してOnPlaneTookOffを選び、ID手入力かFind Targetボタンで最初のWPを指定する。
これでミッション開始10秒後に離陸を開始し、離陸完了後に最初のWPがアクティブになるよう設定された。
最後に、着陸の設定を行う。
- 最後のWPの高度を500mに設定する。
- MCUからCommand:Landを選択し、滑走路端に配置する。回転させて、アイコンから出る黄色い線を滑走路の反対の端に向ける。
- 最後のWP→Command:LandのTLをつけ、Command:Land→LaGG-3にOLをつける。
これで最後のWP通過後着陸するよう設定された。
スクリプテッドキャンペーンの作成
data/Campaignsの下にフォルダを作り、下記のファイルを入れる。サンプルファイルは公式フォーラムのAnnouncements/Developer DiaryにあるDeveloper Diary 142からダウンロードできる。
- info.txt:キャンペーンの基本設定。
- &order=#:キャンペーンリストで、数字が小さい順に表示される。
- &free=#:フリーのキャンペーンは1。
- &tows=#:使用する機体やマップが含まれる、プレイに必要なセット。BoSは1、BoMは2、BoKは3。複数ある時は1,2などとする。
- &planes=luascript/worldobjects/planes/*****.txt:必要なプレミアム機・有料機。複数ある時はカンマで区切る。
- &missionAmount=#:ミッション数。
- &showFutureMissionsNames=#:1なら先のミッション名も表示する。0なら隠す。
- &showFutureMissionDescriptions=#:1なら先のミッションの説明文も表示する。0なら隠す。
- info.locale=***.txt:各国語のキャンペーン名と説明文。***は言語(eng/fra/ger/pol/rus/spa)。
多言語対応にする必要がなければ、全て英語で書いても問題ない。- &name:キャンペーン名
- &description:説明文
- campaign.png:キャンペーンのタイトル画像。サイズは420x420。
- **.Mission、**.msnbin、**.eng/fra/ger/pol/rus/spa:ミッション**のミッションファイル。**はミッションの順に01、02…とする。
- ミッションはタイプをCampaignとし、Translator:Mission ObjectiveでPrimary objectiveを設定してミッション成功判定できるようにする(その後別のTranslator:Mission Objectiveで失敗に変えることもできる)。
- **.settings:ミッション**での武装・塗装・燃料のロックの有無を設定するテキストファイル。
- &lockAmmoSchemes=#:1だとプレイヤーは武装を変更不可。0なら変更可能。
- &lockPaintSchemes=#:1だとプレイヤーは塗装を変更不可。0なら変更可能。
- &lockFuelAmount=#:1だとプレイヤーは燃料搭載量を変更不可。0なら変更可能。
- **.png:ミッション**のタイトル画像。サイズは940x500。
- **.coalition=*.tactics:なくても可。ミッション**のマップに重ねるオーバーレイ(戦術記号など)。*はプレイヤーが連合国なら1、枢軸国なら2。
- Adobe Flashで**.coalition=*.SWFのファイルを作成し、拡張子を.tacticsに変えて作る。
- SWFファイルの1ピクセルはマップの200x200mに対応する。
- Stalingrad:1792x1344ピクセル
- Lapino:256x256ピクセル
- Moscow:1408x1408ピクセル
- Velikiye Luki:832x624ピクセル
- Novosokolniki:256x256ピクセル
- すべてのフォントはカーブに、線はFillに変換する。グループ、ムービークリップ、レイヤーは入っていてもよい。タイムラインはシングルフレーム。
- オーバーレイ作成での推奨値は以下の通り。
味方(青):#006CAB
敵(赤):#930808
主なオブジェクト(前線、矢印、テキスト、シンボルなど):translucencyは使わない
支配地域:9% translucent object
特殊な地域:13% translucent object
テキスト:PF DinDisplay Pro font
キャンペーンを公開する場合、フリーであれば単純にフォルダをzipに圧縮してアップロードする。
有料にしたい場合は作成前に開発チームと連絡をとり、協力して作成すること。
地上オブジェクト
Vehicles
- ford-g917、gaz-aa、gaz-aa-m4-aa、zis5、zis5-72k
ソ連軍のトラック。フォードG917はアメリカからのレンドリース品。gaz-aa-m4-aa、zis5-72kは対空車両。 - gaz-m
ソ連軍の自動車。 - ba10m、ba64
ソ連軍の装甲車。BA-10mは45mm砲、BA-64は7.62mm機銃を装備。 - bt7m、t70、t34-76stz-41、t34-76stz、kv1-41、kv1-42
ソ連軍のBT-7m快速戦車、T-70軽戦車、T-34中戦車 76mm砲搭載型(スターリングラードトラクター工場製)の41年型および42年型、KV-1重戦車の41年型および42年型。 - bm13
ソ連軍のカチューシャ・自走ロケット砲台。 - opel-blitz
ドイツ軍のトラック。 - horch830
ドイツ軍の自動車。 - sdkfz10-flack38
ドイツ軍の小型ハーフトラックに2cm対空砲を搭載したもの。 - sdkfz251-1c、sdkfz251-szf
ドイツ軍のハーフトラック。-1cは兵員輸送車、-szfはロケット搭載型。 - pz38t、pziii-h、pziii-l、pziv-g
ドイツ軍の38(t)軽戦車、III号戦車H型(短砲身5cm砲)およびL型(長砲身5cm砲)、IV号戦車G型。 - marderiii-h
ドイツ軍のマルダーIII 対戦車自走砲。 - stug37l24、stug40l43
ドイツ軍のIII号突撃砲。短砲身7.5cm砲装備の前期型と長砲身7.5cm砲装備の後期型がある。 - ndb(NDB)
無指向性ビーコン局。Beacon channelを1にすることで電波を発信する。クイックミッションなどでは滑走路の手前1kmに配置されている。 - land_canvas
地面に敷いた10x2mの布。T字型に並べて着陸方向を指示する(↑の意味)などの使い方がある。
Ships
- 1124
- 1124bm13
- rivergunshipa
- rivershipgeorgia
- rivershipgeorgiaaaa
Artillery
- dshk
DshKはソ連軍の12.7mm機銃。 - maksim4-aa
マキシム機銃を4連装にして、簡易な対空砲架にのせたソ連軍の対空火器。 - 72k、61k、52k
ソ連軍の対空砲。72-Kは25mm、61-Kは37mm、52-Kは85mm。 - 53k、zis2gun、zis3gun
ソ連軍の対戦車砲。53-Kは45mm、ZiS-2は57mm。ZiS-3は76mm野砲で、高い初速からドイツ軍にはラッチュ・バムと呼ばれた。 - m30、ml20
ソ連軍の榴弾砲。M-30は122mm、ML-20は152mm。 - mg34、mg34-aa
MG34はドイツ軍の多用途機関銃。-aaは対空仕様。 - flak38、flak36、flak37
ドイツ軍の対空砲。FlaK38は2cm、FlaK36は3.7cm、FlaK37は8.8cm。 - pak35、pak38、pak40
ドイツ軍の対戦車砲。Pak35/36は3.7cm、PaK38は5cm、PaK40は7.5cm。 - lefh18
leFH18はドイツ軍の10.5cm榴弾砲。 - landlightger、landlightsu
夜間に滑走路を照らすのに使う。 - searchlightger、searchlightsu
対空砲と同じように配置することで、夜間に敵機を照らす。
Blocks
- art_position_○○
火砲の付属物。弾薬、土のうなど。 - mg_position
機銃の周りの盛り土。 - tank_position
戦車の周りの盛り土。 - static_○○
静止した飛行機やトラック。 - arf_○○
飛行場の各種建造物。
linked entityにして陣営を設定すると、プレイ中に周囲に地上要員が現れる。 - arf_sign_○○
タキシング経路の標識。 - rwstation_○○
駅のセット。 - country_○○、village_○○
- vl_○○
ヴェリーキエ・ルーキの特殊建造物。
スクリプトの例
赤矢印はTL、緑矢印はOLを表す。青矢印はオブジェクトのイベントのリンクを表す。
- 離着陸 ミッション開始から一定時間後に離陸し、3つのWPを通過して、一定時間後着陸態勢に入る。
- 対地攻撃 WPを通過後、2500m以内の地上目標を攻撃。3つ破壊するか弾がなくなると、攻撃を中止し次のWPに向かう。
- ある範囲に入ると砲撃開始、出ると停止
飛行機が6000m以内に入るとAAAがアクティブになる。
遅延時間の後、AAAは6000m以内の空中目標に攻撃を開始する。
飛行機が6500m以上離れるとAAAが非アクティブになり、攻撃を停止する。
- ランダムに分岐
最初のTimerの後、下のような理屈で、3つの分岐のいずれかがそれぞれ1/3の確率で発生する。
- 1秒後に33%の確率で一番上の分岐がアクティブになる。同時に残り2つが非アクティブになる。
- これが起こらなかった場合、2秒後に50%の確率で真ん中の分岐がアクティブになり、3番目が非アクティブになる。
- これも起こらなかった場合、3秒後に一番下の分岐がアクティブになる。
付録:線の種類
Translator:Iconでマップに表示する線には、以下のような種類がある。画像をクリックすると大きなサイズで表示される。
いずれも3個のIconをTLで結んでいる。直線で結ぶものと曲線で結ぶものがある。
左は、上からNormal、Bold、Border、Section Type 1、2、3、4。
右は、上からDefend、Position Type 0、1、2、3~8、9。
Zone Type 1~4は、最後と最初のIconをTLで結んでループにすると、内側を斜線で塗りつぶす。
→
Attackは、一連のIconを配置してグラデーションつき矢印を表示する。
- 最初の2個のIconの間隔の2倍が、線の開始位置での幅になる。
- 2個目以降のIconに沿って矢印が引かれる。
- 最後の1個を折り返す角度と間隔で、先端の矢印の形を決める。
メモ
小技、情報など。
- 天候オプションの00_clear_00などは、前半(00_clear、01_lightなど)は天候を表し、後の数字は高空の雲の量を表す。天候が04_overcastの時は、precipitationsで雨や雪を指定できる。
- 天候ごとの雲の厚さの下限・上限は下表の通り。
天候 下限 上限 01_Light_00 400 800 01_Light_01 300 500 01_Light_02 300 700 01_Light_03 300 500 01_Light_04 300 600 01_Light_05 400 800 01_Light_06 300 600 01_Light_07 300 700 01_Light_08 400 800 01_Light_09 400 800 02_Medium_00 500 1000 02_Medium_01 500 1000 02_Medium_02 500 1000 02_Medium_03 300 700 02_Medium_04 500 1000 02_Medium_05 500 1000 02_Medium_06 400 850 02_Medium_07 500 1000 02_Medium_08 400 900 02_Medium_09 600 1200 03_Heavy_00 600 1200 03_Heavy_01 600 1300 03_Heavy_02 600 1200 03_Heavy_03 600 1200 03_Heavy_04 600 1200 03_Heavy_05 600 1200 03_Heavy_06 700 1400 03_Heavy_07 600 1200 03_Heavy_08 600 1200 03_Heavy_09 700 1500 04_Overcast_00 150 300 04_Overcast_01 200 500 04_Overcast_02 200 500 04_Overcast_03 200 600 04_Overcast_04 200 600 04_Overcast_05 200 500 04_Overcast_06 300 600 04_Overcast_07 200 600 04_Overcast_08 200 500 04_Overcast_09 200 600