Operation Flashpoint: Dragon Rising エディター解説編 (8)

この記事は約11分で読めます。

Operation Flashpoint: Dragon Risingのエディターに関する徒然。
実際に使いながら一つずつ覚えていきましょう。

●基礎編
00.エディターの説明
01.プレイヤーを配置する
02.チームを編成する
03.乗り物を配置する
04.敵を配置する
05.開始チェックポイントを作る
06.天候と時間を変更する
07.ミッション名やブリーフィングを設定する
08.マルチプレイヤーモードを設定する
09.ウェイポイントの設定
10.今までの内容のテストプレイを行う

●オブジェクティブ編
00.要人殺害ミッションを作る
01.敵部隊殲滅ミッションを作る
02.車両破壊ミッションを作る

・基礎編00.エディターの説明
エディターを起動しましょう。

ofpdre0910191

エディターの画面は大きく分けて3つに分類されています。
左の大きな画面がMap画面、右上がCreate画面、右下がModifiy画面です。

Map画面ではプレイヤーや敵、乗り物などを実際に配置できます。

Create画面には兵士や車両、オブジェクティブのテンプレートが格納されています。
Create画面で配置したいテンプレートを選択し、Map画面に配置することになります。

Modifiy画面はテンプレートの編集が行えます。
兵士や車両、オブジェクティブの設定を行えます。
また、Modifiyタブの横にはMission Propertiesタブがあり、ここでミッション全体の設定を行えます。

↑ 一番上へ

・基礎編01.プレイヤーを配置する
Create画面のUSMCボタンをクリックします。
すると、USMCボタンの下に、以下のフォルダが表示されます。

ofpdre0910192

Soldiersをクリックして下さい。
USMC Riflemanを選択し、Map画面へ配置します。

ofpdre0910193

ofpdre0910194

次にModify画面のCharacter→Control ModeをAIからPlayerに変更します。

ofpdre0910195

これでプレイヤーの設定が行えました。
実際に動くか試してみて下さい。

↑ 一番上へ

・基礎編02.チームを編成する
チームを作成したい時はCreate画面→USMC→Fireteamsからチームを配置しましょう。

ofpdre0910196

兵士アイコンの横に白い盾のマークが付いているのがチームの隊長になります。隊長は部下へ指示を行えます。
Leadershipの設定はModify画面→Hierarchyからできます。

チームから兵士を減らしたい場合は、兵士アイコンを右クリックしてDeleteして下さい。
逆に他の兵士をチームに追加したい場合は、追加したい兵士アイコンを選択し、Modify画面→Hierarchy→Parent Echelon→Pickをクリックし、チームアイコンをクリックすれば追加できます。これで異種混合のチームが編成可能です。一チームは最大五人編成までになります。それ以上は追加できません。

↑ 一番上へ

・基礎編03.乗り物を配置する
Create画面→USMC→Vehiclesに車両のテンプレートが用意されています。

↑ 一番上へ

・基礎編04.敵を配置する
Create画面→PLAが敵のテンプレートになります。

↑ 一番上へ

・基礎編05.開始チェックポイントを作る
Create画面→Systems→Mission→Mission Progress checkpointを選択し、Map画面に配置して下さい。
Modify画面→Entityからチェックポイントの設定が行えます。
では、Nameをcheckpointからstartcheckに変えてみましょう。

Create画面→Systems→Scripting→Level Scriptを選択し、Map画面に配置して下さい。
するとMap画面のタブにlevel.luaのタブが追加されます。

開始チェックポイントはLuaで定義する必要があります。
level.luaに以下のおまじないを書いて下さい。

function onMissionStart()
OFP:enableCheckpoint(”startcheck”)
end

おまじないの説明
function onMissionStart() ← ミッション始まったら
OFP:enableCheckpoint(“startcheck”) ← チェックポイントをstartcheckに更新
end ← おまじない終わり

↑ 一番上へ

・基礎編06.天候と時間を変更する
Modifyタブの横のMission Properties→Environmentで時間と天候が設定できます。

↑ 一番上へ

・基礎編07.ミッション名やブリーフィングを設定する
Modifyタブの横のMission Properties→Generalでミッション名を設定できます。
Modifyタブの横のMission Properties→Briefingでブリーフィングが設定できます。

↑ 一番上へ

・基礎編08.マルチプレイヤーモードを設定する
Modifyタブの横のMission Properties→Multiplayerでマルチプレイヤーモードが設定できます。

↑ 一番上へ

・基礎編09.ウェイポイントの設定
Create画面→Systems→Mission→Waypointを選択し、マップ上に三つ配置してみます。

ofpdre09101999

敵を配置し、Modify画面→Assigned WaypointをwaypointにPickします。

ofpdre09101997

この画像ではip17pllmgはwaypoint→waypointI1→waypointI2の順に移動するようになっています。

ofpdre09101998

この巡回ルートをループさせたい場合はwaypointI2を選択したままでModify画面→Waypoint→Next WaypointをwaypointにPickします。

ofpdre091019991

ofpdre09101996

Modify画面では移動する時の姿勢(Stance)や各ウェイポイント上での待機時間(Delay)なども設定できます。

↑ 一番上へ

・基礎編10.今までの内容のテストプレイを行う
左上のメニューのTools→Test Missionで内容のテストが行えます。
ちゃんと動作しているか試してみましょう。

↑ 一番上へ

・オブジェクティブ編00.要人殺害ミッションを作る
Create画面→PLA→Soldiers→General Hanを配置します。

ofpdre0910197

Create画面→System→Mission→Mission objectiveを配置します。
配置したMission Objectiveを選択したままでModify画面→Objective→TypeをPrimary Objective 1に設定、Linked ToでhanをPickして下さい。
objectiveとhanのアイコンが線で繋がったらOKです。
Objective Textにはkill hanと記入してください。

ofpdre0910198

ofpdre0910199

次にCreate画面→System→Scripting→Level scriptを配置します。

ofpdre09101991

level.luaを開いてください。
level.luaに以下のおまじないを記述します。

function onMissionStart()
OFP:setObjectiveState(”objective”,”IN_PROGRESS”);
end

function onDeath(victim, killer)
alive=OFP:isAlive(”han”);
if alive == false then
OFP:setObjectiveState(”objective”,”COMPLETED”);
end
end

これで完成です。
hanを殺害するとプライマリオブジェクティブ1がコンプリートになります。

+おまじまいの説明
function onMissionStart() ← ミッション始まったら
OFP:setObjectiveState(“objective”,”IN_PROGRESS”); ← objectiveを未達成状態でスタート
end

function onDeath(victim, killer) ← 殺害ミッション作成
alive=OFP:isAlive(“han”); ← hanが生きてたらそのまま
if alive == false then  ← hanが死んだら
OFP:setObjectiveState(“objective”,”COMPLETED”); ← objectiveをコンプリートにする
end
end ←おまじない終わり

↑ 一番上へ

・オブジェクティブ編01.敵部隊殲滅ミッションを作る
Create画面→PLA→Fireteams→PLA Assault Teamを配置します。
Create画面→System→Mission→Mission objectiveを配置します。

ofpdre09101992

配置したMission Objectiveを選択したままでModify画面→Objective→TypeをPrimary Objective 1に設定、Linked ToでEchelonをPickして下さい。
objectiveとEchelonのアイコンが線で繋がったらOKです。
Objective Textにはkill Echelonと記入してください。

ofpdre09101993

次にCreate画面→System→Scripting→Level scriptを配置します。
level.luaを開いてください。
level.luaに以下のおまじないを記述します。

function onMissionStart()
OFP:setObjectiveState(”objective”,”IN_PROGRESS”);
end

function onDeath(victim, killer)
alive=OFP:isAlive(”Echelon”);
if alive == false then
OFP:setObjectiveState(”objective”,”COMPLETED”);
end
end

これで完成です。
Echelonが全滅するとプライマリオブジェクティブ1がコンプリートになります。

+おまじまいの説明
function onMissionStart() ← ミッション始まったら
OFP:setObjectiveState(“objective”,”IN_PROGRESS”); ← objectiveを未達成状態でスタート
end

function onDeath(victim, killer) ← 殺害ミッション作成
alive=OFP:isAlive(“Echelon”); ← Echelonの隊員が生きてたらそのまま
if alive == false then  ← Echelonが全滅したら
OFP:setObjectiveState(“objective”,”COMPLETED”); ← objectiveをコンプリートにする
end
end ←おまじない終わり

↑ 一番上へ

・オブジェクティブ編02.車両破壊ミッションを作る
Create画面→PLA→Vehicles→Type 99 Tankを配置します。
Create画面→System→Mission→Mission objectiveを配置します。

ofpdre09101994

ofpdre09101995

配置したMission Objectiveを選択したままでModify画面→Objective→TypeをPrimary Objective 1に設定、Linked Toでvp02type99をPickして下さい。
objectiveとvp02type99のアイコンが線で繋がったらOKです。
Objective TextにはDestroy Tankと記入してください。

次にCreate画面→System→Scripting→Level scriptを配置します。
level.luaを開いてください。
level.luaに以下のおまじないを記述します。

function onMissionStart()
OFP:setObjectiveState(”objective”,”IN_PROGRESS”);
end

function onDeath_vp02type99(victim, killer)
OFP:destroyVehicle(”vp02type99″);
OFP:setObjectiveState(”objective”, “COMPLETED”);
end
end

これで完成です。
戦車を破壊するとプライマリオブジェクティブ1がコンプリートになります。

+おまじまいの説明
function onMissionStart() ← ミッション始まったら
OFP:setObjectiveState(“objective”,”IN_PROGRESS”); ← objectiveを未達成状態でスタート
end

function onDeath_vp02type99(victim, killer) ← vp02type99破壊ミッション作成
OFP:destroyVehicle(“vp02type99”); ← vp02type99を破壊したら
OFP:setObjectiveState(“objective”, “COMPLETED”); ← objectiveをコンプリートにする
end
end ← おまじない終わり

コメント

  1. はじめまして^^Nezumiと申します。
    ひとつ教えていただきたいことがございます。
    エディターでカスタムミッションの編集をした後に、実際に「Mission Editor」フォルダに入れることのできるファイルを作成(生成?)する手順はどのようにしたらよろしいのでしょうか?
    ご鞭撻よろしくお願いいたします。

  2. Nezumiさん、こんばんわ。
    File→Export→Exportでミッションが出力できます。
    ミッションのファイルはExport Locationsに入っていますよ。

  3. おおお!すばやいご回答ありがとうございました!
    さっそくチャレンジしてみます^^
    またお世話になるかもしれませんが、よろしくお願いいたします><;
    あと、こちらのページが大変見やすく非常に助かっています♪
    重ねてありがとうございます^^

  4. またまた、質問があります><
    ミッションエディターで新たに作ってみたのですが、マルチプレイヤーの最大人数を4人以上にする方法はどのようにしたらよろしいのでしょうか?
    よろしければご指南お願いいたします><たびたびすいません。。。

  5. Mission Properties→Multiplayerから変えられます。
    ただし、COOPの場合は4人以上には増えないようです。

  6. そうですかぁ・・・残念です。。
    ご返答、ありがとうございました^^

  7. マルチプレイヤーのANNIHILATIONの設定の仕方はどうすればいいんでしょうか?
    ModifyのMultiplayer設定自体があまり理解できていないので…

  8. こちらのスレが参考になると思います。mssnファイルも配布されてます。
    http://community.codemasters.com/forum/showthread.php?t=387172

  9. ありがとうございます!!

  10. こんばんわ。TOMOTOMOです。
    質問があるのですが、指揮外のAIの車両が移動後、搭載している兵士(運転手とか以外)を下車させるにはどうすればいいのでしょうか?
    function onLand_vu25mh60s(HelicopterName)
    OFP:dismountVehicle(“Echelon”,”OVERRIDE”);
    end

    function onDismount_vu25mh60s(vehicleName, unitName, echelonName)
    if OFP:isAnyMounted(“Echelon”) == false then
    OFP:rapidMove(“Echelon”,”waypointI8p”,”OVERRIDE”);
    OFP:rapidMove(“vu25mh60s”,”waypointI1p”,”OVERRIDE”);
    end
    end
    ↑みたいにヘリはできるようになったのですが、これをどう組み替えたら車両になるのかが分かりません。

    英語が読めないので上のスレもよく分からなくて…
    それとwaypointごとに車両が減速してカクカクした動きになるんですがこういうものなんですか?
    長々とすみません><

    それと、

  11. 最後の「それと、」はミスです。すみません><

  12. そこまでご自分で組めているのなら簡単ですよ。へり用の命令を車両用の命令に変更して下さい。
    OnLandやOFP:rapidMoveはヘリ用だから変更する必要がありますね。いまLuaのコマンドを確認できないのでご自分でお願いします。
    下車の方法は、ドライバーと乗車チームを別にして、ウェイポイントに達したらチームだけ下車にすればいいのでは。
    車両の減速はちょっと分かりませんね。Delayはしていないですよね?waypointを細かく指定しすぎているくらいしか思いつきません。

  13. なるほど。丁寧なお返事ありがとうございます^^
    OnLand・OFP:rapidMoveがへりようとは知りませんでした。
    助かりました。ありがとうございます^^

  14. 再びすみません><
    最近フレンドと自作COOPをし始めたのですが、リスポン数が4しかありません。
    さすがに4だと部下が死んだりで増やしたいのですが、どこをいじればいいのか分かりません。
    お手数でなければお願いします。

  15. 確かゲーム難易度で数が決まっていたと思います。エディターからは変えられなかったかと。
    コードを弄れば可能なのかもしれませんが方法が見つかりませんでした。
    お力になれなくて申し訳ないです。

  16. そうなのですか…
    わざわざありがとうございます。
    難易度で変化することがわかっただけでも非常にありがたいです。
    ありがとうございました^^

  17. 教えていただきたいことがあります。
    手軽に全武器を使いたいと思いMission EditorでCreate→Props→Ammo Cratesで中にある武器の入った箱?
    をMAP上にすべて配置したのですが、全武器が出ず困ってます・・・全武器を出すにはどうすればいいでしょうか。

  18. こんにちはカスタムミッション制作をしこしこやってます。
    そこで一寸お聞きしたいことがあるんですが、coopカスタムミッションでマルチにつなぐと接続エラーでたりしませんか?当方、それで最近なやまされております。パッチは1.02 エンティティ数も上限以内 Luaにも記述ミスはなし(複雑なことはしていませんし・・)exportでの設定も全部ためしましたがすべてだめ。同じような症状の方、もしくは対応策などご存知の方いらっしゃいましたらご教授くださいませ。ちなみにこちらのNIceBoatは繫がりましたよw
    なにがいけないんだろう・・・

  19. 開始チェックポイントを作ったんですが
    OFP:enableCheckpoint(”startcheck”)に赤い波線がでてテストPlay出来ないんですがどうすればいいんでしょうか?

タイトルとURLをコピーしました