PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Array bei setWaypointsStatment


Drunken Officer
01.01.2014, 21:02
Moinsen

Ich möchte ein Script bei einem WP ausführen. Dies ist in SQF deswegen konnt setWaypointScript - Bohemia Interactive Community (http://community.bistudio.com/wiki/setWaypointScript) nicht in Frage.

Grundgedanke:
Heli fliegt an, und schmeißt zuvor per script gespawnt Einheiten via Schirm ab. Anflug paßt alles, auch die sprung.sqf ist fehlerfrei.

In meinem Statment füge ich folgendes ein

_wp0 = _heli addWaypoint [(getMarkerPos _marker), 0];
[_heli, 0] setWaypointType "MOVE";
_wp0 setWaypointStatements ["true", "[_lfz,3,1] execVM "scripte\sprung.sqf";"];
A3 versucht das sprung.sqf auszuführen. Aber leider übernimmt er den Array nicht. Was aber wichtig ist, da zumindest select 0 das LFZ definiert, aus dem die Unterstützungseinheiten abspringen sollen.

Buliwyf
01.01.2014, 21:13
Wo definierst Du denn _lfz? Außerdem hantierst Du mit einer lokalen Variable im globalen Bereich rum... also entweder nimmst Du den Namen des Vehicles oder _this könnte auch gehen. Bin mir aber nicht sicher...

Drunken Officer
01.01.2014, 21:41
_lfz wird zum Anfang des scriptes definiert.
Es ist quasi der Heli der gespawnt wird. Aber ich werde es mal mit _this probieren.

Joa, wie schon geschrieben, es wird der komplette Array nicht übernommen. Auch die Zahlen, die Zeit zwischen den Absprüngen definiert ist dann nicht bekannt.

Wenn ich die Zeile so schreibe:

_wp0 setWaypointStatements ["true", "[_lfz,3,1] execVM "scripte\sprung.sqf";"];
wäre es ein Fehler und das script wird sofort aber korrekt ausgeführt

Schreibe ich es so:

hupf = false;
...
_wp0 setWaypointStatements ["true", "hupf = true"];
waitUntil {hupf};
[_lfz,3,1] execVM "scripte\sprung.sqf;
...

Wird es auch ausgeführt. Nur bei der waituntil schleife bleibt der Heli in der Luft stehen, bis er 100% den WP erreicht hat. Das will ich aber nicht.
Deswegen stimmen die übegebenen Parameter, nur wird der array irgendwie in den Statemants nicht übergeben.
[/code]

Eden
03.01.2014, 15:59
Hallo Drunken Officer,
probiers mal so:


_wp0 setWaypointStatements ["true", "[_lfz,3,1] execVM 'scripte\sprung.sqf';"];
oder so
_wp0 setWaypointStatements ["true", "[_lfz,3,1] execVM ""scripte\sprung.sqf"";"];


du unterbrichst sonst nämlich das script vom setWaypointStatements vor dem scripte\sprung.sqf und damit geht gar nichts mehr.