1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
|
Private ["_created","_current","_dir","_i","_object","_origin","_relDir","_relPos","_skip","_template","_toplace","_toWorld"];
_origin = _this select 0;
_template = _this select 1;
_existingTemplate = if (count _this > 2) then {_this select 2} else {[]};
_dir = getDir _origin;
_created = [];
_toplace = objNull;
for '_i' from 0 to count(_template)-1 do {
_current = _template select _i;
_object = _current select 0;
_relPos = _current select 1;
_relDir = _current select 2;
_skip = false;
if (_i < count(_existingTemplate)) then {
if (alive(_existingTemplate select _i)) then {_skip = true};
};
if !(_skip) then {
_toplace = _object createVehicle [0,0,0];
_toWorld = _origin modelToWorld _relPos;
_toWorld set [2,0];
_toplace setDir (_dir - _relDir);
_toplace setPos _toWorld;
} else {
_toplace = _existingTemplate select _i;
};
_created = _created + [_toplace];
};
_created
|