Hallo Zusammen, habe zwei kleine Problemchen und hoffe mir kann jemand helfen.
Ich habe ein kleines Script für ein Auto geschrieben das diesem eine neue Aktion hinzufügt "Licht Flackern". Das Script funktioniert, es schaltet in einer Endlosschleife das Licht ein und wieder aus, funktioniert soweit ganz gut.
Problem I:
Ich dachte mir ich versuche es das diese Aktion genau dann automatisch ausgeführt wird, wenn ich mit dem Auto einen bestimmten Auslöser betrete.
Doch leider wird das Script nach dem betreten des Auslösers nur bis an die Stelle ausgeführt wo die Bildschirmausgabe "LICHTER FLACKERN" erscheint? Es kommt keine Fehlermeldung, das Script wird wie gesagt gestartet, aber die For-Schleife wird scheinbar zu keinem Zeitpunkt betreten, ansonsten würden die Lichter doch flackern?
Kann mir bitte jemand verraten weshalb das Script vom Auto aus ausgelöst komplett funktioniert, aber vom Auslöser ausgelöst aufeinmal nicht??? :/
Der Auslöser ist wie folgt konfiguriert:
Das Auto ist an den Auslöser gruppiert.
Unter "On Activate" steht folgendes:
[] exec "script.sqf";
Hier das Script:
Code:
//Variablen deklarieren und initialisieren
_i = 0;
player globalChat format["%1","LICHTER FLACKERN!"];
for [{_i=1}, {_i < 10}, {_i=_i+1}] do
{
player action ["lightOn", Auto];
//Verzögerungsschleife
for [{_i=1}, {_i < 5000}, {_i=_i+1}] do
{
};
player action ["lightOff", Auto];
//Verzögerungsschleife
for [{_i=1}, {_i < 5000}, {_i=_i+1}] do
{
};
//Schleife zu einer Endlosschleife machen
If (_i > 8) then
{
_i = 1;
};
};
//Variablen zerstören
_i = nil;
Problem II:
Wie ihr bestimmt schon gesehen habt ist dieses Script eine Endlosschleife, da ich möchte dass das Licht NICHT nach einer gewissen Zeit ausgeht.
Hat jemand eine Idee wie ich ich das Flackern wieder beenden kann, vielleicht mit einer Aktion "Flackern beenden"?
Danke für jede Hilfe!