返信先: Arma3 スクリプト公開スレ

ホーム フォーラム TRI Gaming フォーラム Arma3 スクリプト公開スレ 返信先: Arma3 スクリプト公開スレ

#102372
アバター画像michy_REV19
キーマスター

       ..     、      ,_    
        ̄\_/ ̄ ̄\/ ̄     ゴゴゴゴゴゴ・・・
    ___/ ̄へ√⌒l⌒´ ̄ ̄\_ 
    ´        /   \ 

どうも皆様こんにちは、みっちーでございます。
僭越ながら今回も製作したスクリプトを公開させていただきます。
Reinforcement Group Teleporting Script by michy
(Download from Dropbox)

今回は、増援ユニットをグループごとテレポートさせるスクリプトを製作いたしました。

ミッションで増援を出したいとき、遠くの基地からWaypointを使って自走させると、移動中にAIが途中で事故ったり迷子になったりと、なかなかうまくいかないことがあります。
かといって目標地点の近くに「沸かせる」と、動作が重くなるだけでなく、リアリティを損なってしまいます。
また、最近はあまり発生していないようですが、以前createunitコマンドで増援を生成した際に動作が非常に重くなり、サーバーが停止してしまう現象が多々発生していました。(最近は停止することは少なくなりましたが…)

このスクリプトは、増援ユニットをミッション開始時から配置し、トリガーと連動して”ある程度ユニットに近い位置”にテレポートさせることで、上記のような問題を解決することを目的としています。

特徴としましては、マルチプレイヤーミッションに対応していることはもちろん、車輛を含むグループにも対応しています。
さらに、テレポート後にWaypointを1つスキップする機能も備えていますので、テレポートした後の場所でもWaypointを使用することが出来ます。
また、増援のユニットについてエディタ上から諸設定が可能なことも利点です。

使い方

0.ファイル配置
ミッションフォルダ内にscriptsフォルダを作成し、その中にrfGroupTeleport.sqfファイルをコピーしてください。

1.ユニット
エディタ上でテレポートさせたいグループのリーダーユニットのinit欄にgroupname= group this;と記述してください。
groupnameはグローバル変数ですので、他と被らないよう任意の名称を付けてください。

2.マーカー
エディタ上でテレポートさせたい場所にインビジブルマーカーを設置し、name欄に記述したマーカー名をメモしておいてください。

3.トリガー
エディタ上でトリガーを設置し、任意の条件を設定してください。
最後に、On.Act欄に_rf = [groupname,markername] execVM "scripts\rfGroupTeleport.sqf";と記述してください。
アレイ([]のこと)のgroupnameには1で設定したグループの名称が、markernameには2で設定したマーカーの名称が入ります。

4.作動後の挙動
トリガーがアクティヴェートされると、スクリプトはリーダーの座標とマーカーの座標を取得し、グループの各ユニットははリーダーを中心に、”元の隊形(リーダーとの相対座標)を維持した状態”でマーカーの位置にテレポートします。また、テレポート後に現在のWaypointを1つスキップします。

以上になります。
テストではCreateUnitコマンドを使用した時よりも軽快に動作することを確認しました。
Shouw/Hideモジュールを使用すると、グループに車輛を含んでいる場合にうまく作動しないので、こちらを使用していただくことにより、確実な動作が可能です。

CreateUnitsコマンド、Shouw/Hideモジュールを使用した時より動作が重くなることは無いはずですので、もしよければ使ってみてください!!

  • この返信は10年、 4ヶ月前にアバター画像michy_REV19が編集しました。理由: 推敲
  • この返信は10年、 4ヶ月前にアバター画像michy_REV19が編集しました。理由: URL更新