DCS DMLは、Missionを作成する際のToolboxです。
A Toolbox For Mission Designers (no Lua Required)
cflagさんが開発しています。
https://github.com/csofranz/DML
https://forum.dcs.world/topic/290975-dml-mission-creation-toolbox-no-lua-required/
で公開されています。
DMLとは
1 Foreword to Version 2
よく使用されるヘルパーの小さなライブラリとしての始まりから、すぐに使える機能のミッション デザイナーのコレクションとしての最初のステップ、そして デザイナーが一緒にクリックする「レゴ®」のような「レンガ」のコレクションとしての現在の具体化まで優れたミッションを構築するために、DML は進化、変化、成長してきました。
DML が他の多くの (多くの場合、より強力な) ミッション ライブラリと異なる点は、その使いやすさです。ミッション設計者はすべてにミッション エディターのトリガー ゾーンを使用し、スクリプト コード(または「Lua」)を 1 行も処理する必要はありません。ミッション退役軍人はビーストをその名前で呼ぶことを知っています)。これにより、Mission Editor の GUIを使用して、さまざまなモジュール (「ブリック」) がどのように機能するかを DML に指示する方法を含め、すべてを配置およびセットアップできるようになります。ミッション設計者は、ミッション エディター内のトリガー ゾーンを使用して、複雑な側面も制御します。
上の例は、Mission Editor を使用してトリガー ゾーンを編集し、いくつかの「属性」 ( radioMenu 、 coalition 、 itemA 、A! ) とそれぞれの値を追加する方法を示しています。そして、それらが後でゲーム内でプレイヤーの「コミュニケーション」メニュー ツリーのメニューとしてどのように表示されるか。
Mission Editor の組み込みツールを使用するこのアプローチは、非常に成功しており、使いやすいことが証明されています。これは決して保証されたものではなく、以前の DML はこの点で少し一貫性がありませんでした。あなたや他のミッション設計者からのフィードバックに基づいて、DML II はこれらの機能を調和させ、さらに使いやすく、より便利になることを目指しています。
DML が進化し続けるにつれて、より多くの機能が登場し、(できれば) DCS ミッションの作成をより困難でなく、より速く、そして何よりもより楽しいものにするさらに優れた統合が登場するでしょう。楽しいミッションは作成するのも楽しいものでなければならないからです。
1.1 How to get started quickly
DMLは大きいです。この 書類は恐ろしく大きいです。では、どうすれば最短で DML を最大限に活用できるでしょうか? 先ほど述べたように、DML は LEGO® ブロックの箱に似ています。構築を開始する前に知っておくべきことをすべて知る必要はなく、すべてのブロックを同時に使用することはありません。したがって、最初は基本だけを知り、その後、要求が拡大するにつれてさらに学習するのは問題ありません。
1.2 What you need to know already
まず、Mission Editor を使用して簡単なミッションを作成する方法を理解していることを前提としています。あなたが知っている:
ミッションを作成し、プレイヤー/クライアントプレーンを配置し、いくつかのユニットを追加し、トリガーゾーンを配置します。その方法はすでに知っているはずです。また、「ミッションへの DML の追加」ビデオ チュートリアルを視聴するか、ミッションに 「トリガールール」を追加する方法をすでに知っている必要があります。
また、DML に付属するデモを実行するには、少なくとも 1 機の飛行機の操縦方法を知っておく必要があります。
DML のデモ ミッションでは、DCS に付属する (無料の) Su-25T を使用するので、今すぐそのコックピットに乗り込み、数分かけてコントロールをセットアップし、感触を掴んでみてはいかがでしょうか。
1.3 No Scripting, no Lua
スクリプトを作成したり、Lua を知ったりする必要はありません。さらに言えば、 DML は、 DML を独自のスクリプトと統合したいユーザーを積極的にサポートしなくなりました。あとはモジュールを追加し、入力を出力に接続するだけです。
歴史的に、DML は私自身のミッション設計の取り組みから生まれました。今でも、Mission Editor だけでは不可能なことを達成するために必要なツールボックスを私に提供しています。
DML の最初の公開リリース後、人々は DML のシンプルさと「モジュールを追加して接続する」というメタファーを気に入っていることがますます明らかになりました。ミッション設計者は、コードを 1 行も気にすることなく、さまざまなモジュールを「一緒にクリック」することを楽しんでいます。DML には包括的なスクリプト サポートが付属していましたが、それを使用している人は (私を除いて)ほとんどいませんでした。DML のシンプルさは人々に好まれており、私は現在そこに重点を置いています。
したがって、DML バージョン 2 では、ドキュメントをスリム化し、「アーキテクチャ」や同様の難解なものに関連する多くの不必要な部分を削除し、ミッション設計の観点に焦点を当てました。
2 Preface
このドキュメントへようこそ。実際にRTFMに時間を割いていただきありがとうございます。ここで書いたことの多くはDML の使用をより楽しくし、独自のミッションで DML を使用するのにかかる時間を短縮するのに役立つため、これを読むのは賢明です。。
2.1 What is DML?
では、DML とは何でしょうか? それはミッション構築のツールボックスです。これには、ユーザーに代わって何かを実行でき、連携してうまく機能する多くの「モジュール」が含まれています。レゴ ® ブロックの箱のように作られています。
• 「モジュール」と呼ばれる小さな単純な構成要素が 多数あります(例:スモーク ゾーン、 NDB、クローナー、ラジオメニュー)。
• 各ブロックは、ミッションに何らかの能力を追加します。
• ブロックは互いに接続して、より大きなブロックを構築できます。
• CSARミッション、サブハンティング、統合プレイヤースコアなどの独特の機能を提供する既製の「高額」アイテムもあります。
• 最も重要なことは、すべてのミッションですべてのブロックが必要になることはほとんどないということです。基本だけを知っていれば、楽しく構築を始めて、そこから拡張することができます。
以下に「ビルディング ブロック」の例をいくつか示します。
• 移動 NDB を船に追加しますか? ND Bモジュールを追加します。
• キルスコアを記録したいですか? PlayerScoreモジュールを追加します。
• 必要なときに必要な場所に軍隊を動的に生成するのはどうでしょうか? クローンを見てください。
• あなたの任務にはランダムな民間交通が必要ですか? Civ Airをチェックしてください。
さらに重要なのは、DML が真に発揮されるのは、ブロックを組み立て始めるときです。
• オンデマンドでスポーンするターゲットが必要ですか? スポーンには「クローナー」を使用し、プレーヤーがクローナーを制御できるようにするために「radioMenu」モジュールを使用します。
• もっと応答性の高い飛行場が必要ですか? プレーヤーが到着したときに「係員」を使用して出迎え、「詐欺師」モジュールで以前は静止していた地上部隊のアニメーションを開始します
• アクションの振り付けが必要ですか? 「パルサー」を使用してタイミング信号を提供し、「シーケンサー」を使用してすべてが正しい順序で行われるようにします。次に、「デリケート」 と「地上爆発」を投入して、合図に従って物を爆破します。
• あなた自身の使命をあなたを驚かせたいですか?「パルサー」を「クローナー」 をランダムに選択する「RND 」モジュールに接続します。数回クリックするだけで、あなたでも予測できないミッションが実現します。
スクリプトはありません。DMLを追加するときは、常にすぐに使用できるモジュールをミッションに追加しますが、それを自分で編集することはありません。
では、DML はどのように機能するのでしょうか? DML のモジュールは、ミッションエディター(ME) のトリガー ゾーンにインテリジェントに接続されます。ミッション設計者は、これらのトリガー ゾーンに「属性」を追加することで、MEのモジュールの能力を制御します。
たとえば、上記の属性をトリガー ゾーンに追加すると、「 NDB 」モジュールがこのゾーンに対して自動的にアクティブになり、ゾーンの中心の 121.5 MHz で NDB を開始し、その周波数で「distressbeacon.ogg」サウンド ファイルを再生します。よく見ると、さまざまな属性とその値の間の関係がすでに確立されているかもしれません。
この単純なメカニズムにより、複雑な新しい能力をミッションに追加することが簡単になります (少なくとも、はるかに簡単になります)。DML のすべての側面をME側から制御するため、スクリプトをいじる必要はありません。すべての DML モジュールは、トリガー ゾーン属性から設定を取得します(以下を参照)。これらをME で直接編集します。Trigger Zにはすでに属性があり、それらの編集は Mission Editor に直接組み込まれています。
DML はトリガー ゾーン属性を使用して、DCS ミッションの作成をスーパー クルーズにします。トリガーゾーンに新しい能力を追加し、いくつかの属性を追加および変更するだけでその動作を制御できます。したがって、属性は、モジュールがトリガー ゾーンにアタッチされたときにどのように動作するかをモジュールに指示するために使用されます。
それだけでは不十分な場合は、DML は属性を使用して、モジュールが相互に通信したり、ミッション自体と通信したりできるようにします。DML モジュールには入力 (「?」で終わる属性名) と出力 (「!」で終わる属性名) があり、ミッション設計作業の多くは入力と出力を接続することです。残りは DML が処理します。
たとえば、スポーン ゾーンにフラグ「playerDeparted」(入力に接続されている)を監視し、そのフラグの値が変わるたびに敵をスポーンするように指示できます。他のモジュールは、適切と思われる場合、出力に接続されているフラグ (例: "startSAM" )の値を変更するように指示できます。たとえば、「valet」モジュールは、プレイヤー飛行機がそのゾーンに入ったときに、その出力に接続されているフラグを変更します。これにより、通常の ME ミッション設計ワークフローにモジュールを簡単に統合できます。
ゾーン属性を通じてモジュールにデータを渡すこの方法は、モジュール構成にも拡張されます。従来のフレームワークでは、スクリプトの動作をミッション要件に合わせて変更する必要があります。DML では、すべての構成データは、特別に名前が付けられた「構成ゾーン」に追加された属性から取得されます。モジュールはデフォルト値で起動し、このミッションで変更する属性を含むことができる「構成トリガー ゾーン」を探します。ME 内からすべてのモジュールを構成します。DMLではコードを 1 行も変更することはありません。
これは、DML に付属する多くのデモの最初のものを試すのに最適な機会です。そのため、これが何であるかを知りたい場合は、ここ ( → Smoke'em ! DML Intro.miz)にアクセスして調べてください。



