![]() |
#1 (permalink) |
![]() Registriert seit: 15.05.2012
Beiträge: 27
|
![]()
Servus zusammen
![]() ich steh irgendwie auf'm Schlauch,... Folgende Situation: ein Heli (KIgesteuert) fliegt eine folge von Wegpunkten ab, dabei soll einer dieser WP den Wert einer Variable "aVar" ändern, z.B.: "aVar auf wert 2 stellen" oder "aVar dem Wert 1 hinzufügen (aktuell 1, dann +1, ergibt im endeffekt auch 2). sobald das geschehen ist, soll eine kontrollschleife im script "start.sqf" die änderung erkennen, die condition auf true stellen und die Anweisung ausführen. Das Bild im Anhang dient zur Veranschaulichung. |
![]() |
![]() |
#2 (permalink) |
![]() Registriert seit: 25.02.2013
Beiträge: 53
|
![]()
Wenn ich dich richtig verstanden habe willst du also die Variable ändern wenn der Heli den Wegpunkt erreicht? Das sollte eigentlich möglich sein, wenn du bei dem Aktivierungsfeld einfach aVar = aVar + 1; eingibst, da aVar global ist (kein _ davor) solltest du von überall darauf zugreifen können, auch aus dem Editor.
Nun noch die abfrage ob die Variable noch gleich ist: du könntest den waitUntil Befehl benutzen das könnte dann so aussehen: Code:
_referenzValue = aVar; waitUntil {aVar != _referenzValue}; //Dieser Code ab hier wird erst ausgeführt wenn aVar sich geändert hat
__________________
ArmA ohne Editor wäre wie Apfelkuchen ohne Äpfel! ![]() |
![]() |
![]() |
#3 (permalink) |
![]() ![]() Registriert seit: 15.05.2011
Beiträge: 1.110
|
![]()
????
Warum stellst du nicht gleich die Variable auf true oder besser gefragt, warum läßt du das SCript nicht erst mit erreichen des WP starten. Wenn ich richtig verstanden habe. Heli startet var = 0 Heli ist am ersten WP var = 1 Heli ist am zweiten WP var = 2 (var = var +1) Du kannst doch sofort in den Statement des 2. WP das Script starten. meinekomischesvariablenspiel = execVM "start.sqf" Dann noch etwas. In der Init.sqf lädst du ein script. Dann setzt du die Variablen public. Doppeltgemoppelt! Die Init lädt jeder (Server + Clienten) damit auch die Variablen. Muss dein Script vom Server & Client verarbeitet werden? Ist es für Singleplayer ist diese Public-Geschichte sowieso überflüssig. if ((count sVar) == (2+1)) then { } Diese Anweisung ist putzig. sVar hat ja nur einen Wert. Es ist kein Array. Es soll gewartet werden bis sVar 3 ist, richtig? Die IF bedingung wird übergangen, wenn sie nicht zutrifft. Ich nehme an, du läßt eine While-Schleife laufen. Warum nicht einfach if (sVar == 3) then {}
__________________
Bewegende Momente bei ArmA 3 Geändert von Drunken Officer (10.04.2015 um 09:06 Uhr). |
![]() |
Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1) | |
Themen-Optionen | |
Ansicht | |
|
|
![]() |
||||
Thema | Autor | Forum | Antworten | Letzter Beitrag |
Variablen hochzählen und Feuer löschen funktioniert nicht | Drunken Officer | Editing & Scripting | 5 | 20.10.2014 20:11 |
Nächster Wert aus Array | Steirer | Editing & Scripting | 6 | 22.05.2012 20:06 |
Ampelschaltung | Drunken Officer | Editing & Scripting | 26 | 06.11.2011 13:26 |
Server Parameter...? | MaSch0815 | Multiplayer | 5 | 07.04.2011 08:14 |
globale variablen ändern/einstellen | Deagle105 | Editing & Scripting | 9 | 01.07.2010 11:52 |