arma3でチキンクリスプ食べながらスクリプト

arma3のエディッタ向けスクリプトを自分用に投稿

スクリプトを使ってマーカーを自動でマップに描くコード

例:
ミッションの日付を2020年2月16日20時0分に設定する。
マップ上にプレイヤーの位置に日時を書いたマーカーを設置する。
f:id:question_and_life:20200216143244j:plain

_Time = date;
_Year  = _Time select 0;
_Month = _Time select 1;
_Days  = _Time select 2;
_hour  = _Time select 3;
_min   = _Time select 4;
_marker1 = createMarker ["Marker1", position player];
"Marker1" setMarkerType "hd_dot"; 
"Marker1" setMarkerText (
str _Year + "/" +
str _Month + "/" +
str _Days + " " +
str _hour + ":" + str _min);

//マーカーの設定に使うのはローカル変数ではなくcreateMarkerで設定した名前になる。
//この場合_markerでなく"Marker1"になることに注意。
//SetMarkerTypeには他にも"hd_start"などあるエディッタからクラス名を参照すること。
//SetmarkerTextは文字列を使うので数値は文字列に変換する必要があることに注意。


使いみち
・20~30分おきに自分の隊の位置をマーキングする
・目標を殺害・破壊した時に位置、日付を自動的にマーキングする
など色々記録に使える


個人的な備忘録コード

_Time = date;
_Day1  = _Time select 2;

while {alive player} do {
_Time = date;
_Day  = _Time select 2;
_MissionDay = _Day - _Day1 +1;

_marker1 = createMarker ["Marker1", position player];
"Marker1" setMarkerType "hd_dot"; 
"Marker1" setMarkerText (str _MissionDay+ " " + "Day");
sleep 1800;
};

処理内容
ミッションの日数を書くスクリプト

処理の流れ
1・ミッション開始時に_Day1に現在の日にちを代入する。
2・条件合致後_Dayに現在の日にちを代入する。
2から1を引き+1をすることでミッションの日数を計算する
その後マーカーを設置する。
実際に書いていないので条件は便宜上、whileDoにしている