Du verwendest in deinem Skript Objektnamen als Variable, das geht nicht!!!!!
Dann vermeide nach Möglichkeit Goto Sprünge. Das ist unübersichtlich und verwirrt nur.
Ich gehe davon aus, dass du den zweiten Skriptaufruf erst machen willst, nachdem der erste Aufruf erfolgt ist.
Zu Beginn solltest du deine Variablen initialisieren. z.B.
Next1=true
Next2=false
Next3=false
Ende=false
Dann die Schleife:
#Loop
if (Next1 AND player distance Objekt1 < 5000) then {Next1=false;publicVariable "Next1";Next2=true;publicVariable "Next2";[] exec "scripts\heli1.sqs"}
if (Next2 AND player distance Objekt1 < 4000) then {Next2=false;publicVariable "Next2";Next3=true;publicVariable "Next3";[] exec "scripts\heli2.sqs"}
if (Next3 AND (player distance Objekt2 < 2000 OR !alive Objekt2)) then {Ende=true;publicVariable "Ende";}
if (Ende) then {[] exec "scripts\konvoi.sqs"; exit}
~1
goto "Loop"
Das ersetzt jetzt nicht dein Skript, sondern soll dir nur zeigen wie du es programmieren sollst.
Bei den Skripts ist zu überpfüfen, ob wie wirklich von allen Spielern aktiviert werden sollen. Wenn darin z.B. 10 Einheiten erstellt werden, dann erstellt jeder Spieler diese Einheiten. Bei zwei spielern hättest du z.B. 20 und bei fünf Spielern 50 Einheiten.
|