I tried different approaches.
i never opened the mission in the editor, i only added sections to the mission.sqf and init to run my script. i dont trust the editors merge function all too much so i prefer adding it manually to the mission.sqf.
first i tried running it as a script, which i created with the help of x-cam in the 2d editor.
After i realised the stuff gets duplicated on each restart, i tried putting it directly into the mission.sqf, with the same result.
the script looks like this:
private ["_obj","_dat","_cString","_adString"];
_obj = objNull;_dat = [];_adString = "CAN_COLLIDE";
_cString =
{
_obj = createVehicle [(_dat select 0), [0,0,0], [], 0, _adString];
if((_dat select 4) == 0) then {_obj enableSimulation false};
if((_dat select 8) == 0) then {_obj allowDamage false};
_obj setdir (_dat select 2);
if((_dat select 3) == -100) then
{
_obj setposATL (call compile (_dat select 1));
if((_dat select 5) == 0) then {_obj setVectorUp [0,0,1]} else {_obj setVectorUp (surfacenormal (getPosATL _obj))};
}
else
{
_obj setposworld [((call compile (_dat select 1)) select 0),((call compile (_dat select 1)) select 1),(_dat select 3)];
[_obj,((_dat select 7) select 0),((_dat select 7) select 1)] call BIS_fnc_setPitchBank;
};
if(count (_dat select 6) > 0) then {{call _x} foreach (_dat select 6)};
};
_dat = ["Land_Sign_WarningMilitaryArea_F","[16832.171875,10338.834961,0]",116.577,-100,1,0,[],[0,0],1];call _cString;
And this is how i put it in the mission file:
class Item138
{
position[]={16832.172,14.967101,10338.835};
azimut=116.577;
id=217;
side="EMPTY";
vehicle="Land_Sign_WarningMilitaryArea_F";
skill=0.60000002;
init="this enableSimulation true;this setdir 116.577;this setposATL [16832.171875,10338.834961,0];this setVectorUp [0,0,1]";
};