(注: 個人用備忘録)
バージョン: DCS World 2.9.1
Scripting の種類
hoggitworld の情報を流し見する限りだと、大きく分けて 2種類の分類があり、 Mod にはさらに 3つに分けられる模様。
- Mission
- Mod
- Export
- Server control
- Liveries
Scripting の種類の概要
Mission
Lua スクリプトをミッションファイル (.miz) に組み込む形で動作する。
ゲーム内オブジェクトのコントロールができるのは Mission Scripting のみである。僚機や AI 機や地上ユニットなどの動作を制御したい場合は、 Mission Scripting の形で実装する必要がある。
無線コマンドなどを追加できるのも Mission Scripting のみ。
Mod – Export
Export.lua ファイルから直接呼び出される形で動作する。ベースは Lua だが、DLL を呼び出す形で別のプログラムを実行することができる。基本的には ~\Saved Games\dcs\Scripts\Export.lua
に直接処理を記述するか、そこから呼び出されるような形で処理を記述する。
Mission Scripting とは少々異なる方法でゲーム内の情報を取得できるほか、 (おそらく十分なドキュメント化されていないが) プレイヤーが操作している機体の状態を取得/変更することもできる。独自の計器やコントローラーをハードウェアとして作成した場合などに、Export を通じて DCS と連動させることができる。
LoGetWorldObjects
などの Object 系 API に関しては、自機の状態ではなく全てのゲーム内オブジェクトの状態 (位置/速度など) にアクセスできる。マルチプレイヤーの場合、 (おそらく不正行為を防ぐため) サーバー側で一部の API へのアクセスを制限するように設定することができる。
Mod – GameGUI
ゲームサーバーもしくはクライアントにインストールする形で動作する。マルチプレイヤーのサーバーとしても利用できる処理群。作るのは少々手間だが、 Export の上位互換。 ~\Saved Games\dcs\Mods\tech
の下に Mod 用のフォルダを作り、その中に処理群を作成する。
メニュー画面内にアイコンを出したり、設定画面に Mod 用の項目を追加したりできる。ゲーム内の情報にアクセスする方法は、 Export と同じものが使える。
Liveries
Livery は機体 Mod のことだが、特に調べてないので詳細不明。 ~\Saved Games\dcs\Mods\Aircraft
の下に機体用のフォルダを作り、必要なファイルを設置する。