返信先: Arma3 スクリプト公開スレ
ホーム › フォーラム › TRI Gaming フォーラム › Arma3 スクリプト公開スレ › 返信先: Arma3 スクリプト公開スレ
市街地での殲滅ミッションの製作と進行を補助する S&D Marker Manager スクリプト
セクターごとに置いたエリアマーカーの色の状態によって、クリア状況を検知するスクリプトです。
市街地等の入り組んだ地形での殲滅ミッション作成を補助します。
多少アーケードライクにはなりますが、市街地での殲滅ミッションで懸念される”最後の一匹”の捜索避けなどに役立つので、プレイヤー規模よりも大きな街での殲滅作戦の実現や、大きさを問わず効率よく市街戦ミッションを作りたい/回したい要望に応えられると思います。
SandD_area_marker_sample.Altis
(サンプルミッション同梱)
参考動画:
S&D Marker Manager Script
うごき:
・ミッション開始と同時にユニット検知を開始します。
・設定した陣営の敵ユニットの有無のみを検知し、存在すれば赤、クリアすれば青になります。
・クリア状態のエリアに再び敵ユニットが侵入した場合、再び赤に戻ります。
・全てのエリアのクリアを検知したら、タスク完了用の値 ST_eliminatedone がtrueになります。これを検知するトリガを作れば、クリア条件としてセットが可能です。
とくちょう:
トリガ area_e_ と マーカ area_ からなるコピペして連番のエリアを作っていけば、その分だけスクリプト側が勝手に検知します。
サンプルのように街の形状に沿ったり、街のエリアが分かれている場合でも柔軟にエリアの配置ができます。
つかいかた:
(サンプルミッションから設定したエリア全てをコピーし、貼り付け先のミッションで増やしたり減らしたり調整するだけで全て対応できますが、連番で動くという仕様の説明になります)
・サンプルミッションにコピペ用の素材を枠と一緒に用意したので、こちらを使う前提で説明します。
サンプルミッションの素材をコピーするか、基本用のトリガ area_e_ と マーカ area_ を用意し、コピーします。
※トリガはデフォルトではEASTが検知条件になっていますが、検知したい陣営が異なる場合は予め変えてからコピーしてください。
このトリガとマーカの大きさが検知範囲=エリアのグリッドになりますので、お好みの大きさに設定してください。
・エリアとして設定したい場所に、先程コピーしたエリアとマーカをポンポンと置いていきます。
ペーストされた最初のモノがarea_e_1とarea_1になっているか、必ず確認してください。スクリプトはこの連番を検知して動作します。
あとは枠のマーカを適当に配置します。こちらは検知に影響されないから好きに置いてOK
・同梱のinit.sqfをmission.sqmと同じフォルダに入れます。既にある場合、中身をコピペしてください。
・引数を設定します。
nul = [設定したエリアの数,検知したい陣営] execvm "scripts\mkrmanager.sqf";
設定したエリアの数:
コピペしたエリアの数です。最後にペーストしたエリアの連番を入力します。
例:サンプルミッションでは14個のエリアでeastユニットを検知したいので
nul = [14,east] execvm "scripts\mkrmanager.sqf";
となります。
・全エリアをクリアしたことを検知すると、 ST_eliminatedone を出力します。
タスク完了用にこの値を検知するトリガをミッション側に置いたら設定完了です。
・設定が全て完了したら、連番作製用に作ったコピー元の基本トリガとマーカは消してしまってOKです。