スクリプトコマンドのTips
コピペですぐ使えるスクリプトコマンド集です。
Edenエディター(3Dミッションエディタ)の実装により、ArmA3では既に必要ないコマンドもありますが、そのまま掲載します。
Unitのinitialize欄用
建物へのユニット配置
this setpos (nearestBuilding this buildingPos 0);
ユニットを設置した位置に最も近い建物の0番目のポジションにユニットを設置する。
監視塔が沢山ある場合などに重宝する。
buildingPos Xの部分をランダム化するとリプレイ性が高まる。
ユニットの高度を指定して配置
this setpos [ getPos this select 0, getPos this select 1, (getPos this select 2) +5]
setPosの引数は3次元座標の配列。建物内部に配置する時などに使用。
この例ではマップ上でユニットを置いた地点の地面を基準にして、+5m高いところに設置している。
ArmA2では高さを指定するコマンドが幾つかあり、SetPosを使用した場合は地面から(海など水面の場合は海底からの高さ)が基準点(0m)となる。
ユニットの姿勢指定
this setUnitPos "up";
ほぼ姿勢が変わらなくなる。"DOWN","UP","Middle"を指定。
unitNameが所属するグループ全体への姿勢指定
{_x setUnitPos "UP"}forEach units group this;
ユニットが敵を発見したらAIの判断で自由に動くようにする
this setCombatMode "RED";
Waypointのengage at willと同じ。engage at willになっていないとグループリーダまたは単品で置いたユニットは動きにくくなる。
グループリーダ指揮下のユニットはどの道リーダにengage命令を受ける事が多いのであまり意味はないかもしれない。
ウェイポイントを使用したくない場合使用する。
ユニットまたはグループのBehaviour設定
this setBehaviour "COMBAT";
参考 http://community.bistudio.com/wiki/AIBehaviour
ウェイポイントのBehaviourと同じ。ウェイポイントを使用したくない場合使用する。
地点の監視をさせる
this commandWatch 3D座標;
positionはgetPosやgetMarkerPosで座標を取得する事。
地点の監視をさせる(車両用)
gunner this commandWatch 3D座標;
車両の砲塔などが自分の意図していない方向を向いている時などに。
航空機の高度下限設定
this flyInHeight 100;
ただし戦闘開始すると守るとは限らない。Behaviourが"CARELESS"なら守るが夜間だとライトが付きっ放し。
ArmA3では5~30mの指定は無示される模様(2017/01/08現在)
グループ名の変更
group this setGroupId ["Sierra One"];
マルチプレイではAIスロットの無効化でユニットが消えてしまうのでグループ内の全てのユニットに記述する必要がある。