so muss das bei dir aussehen:
Code:
null= [lb1,lb2,lb3] execVM "Sprung.sqf";
sprung.sqf
Code:
_heli1 = _this select 0;
_heli2 = _this select 1;
_heli3 = _this select 2;
_high1 = getPos _heli1 select 2;
_high2 = getPos _heli2 select 2;
_high3 = getPos _heli3 select 2;
if ((_heli1 distance _high1) < 0.3) then {
d1 action ["eject", _heli1]
d2 action ["eject", _heli1]
d3 action ["eject", _heli1]
d4 action ["eject", _heli1] };
if ((_heli2 distance _high2) < 0.3) then {
d5 action ["eject", _heli2]
d6 action ["eject", _heli2]
d7 action ["eject", _heli2]
d8 action ["eject", _heli2] };
if ((_heli3 distance _high3) < 0.3) then {
d9 action ["eject", _heli3]
d10 action ["eject", _heli3]
d11 action ["eject", _heli3]
d12 action ["eject", _heli3]
};
oder das
Code:
_heli1 = _this select 0;
_heli2 = _this select 1;
_heli3 = _this select 2;
if ((getPos _heli1 select 2) < 0.3) then {
d1 action ["eject", _heli1]
d2 action ["eject", _heli1]
d3 action ["eject", _heli1]
d4 action ["eject", _heli1] };
if ((getPos _heli2 select 2) < 0.3) then {
d5 action ["eject", _heli2]
d6 action ["eject", _heli2]
d7 action ["eject", _heli2]
d8 action ["eject", _heli2] };
if ((getPos _heli3 select 2) < 0.3) then {
d9 action ["eject", _heli3]
d10 action ["eject", _heli3]
d11 action ["eject", _heli3]
d12 action ["eject", _heli3]
};
Die zweite Variante habe ich mal als FSM beigelegt
Init:
Code:
null=[lb1,lb2,lb3] execFSM "sprung.fsm";
EDIT: Bitte nächtes mal nicht mit den Scripten experimentieren, wenn man nicht viel davon versteht. So erspart man viele Leute viel Nerven.
@ca$hflow: In deine geänderte Version hattest du die Helis doppelt definiert, aber die Action Befehle nicht dementsprechend geändert. Desswegen wusste die Engine nicht, von welchen Heli die Einheiten rausgeschleudert werden sollten.