PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Logik-Frage hinterherlaufen?


Sol.LrMartyn
16.12.2013, 15:45
Hallöle zusammen,

bin heute mal wieder auf ein kleines Problem gestoßen,...
Es soll mir ein Zivilist hinterherlaufen.

Auslöser
Bedingung: civ distance player < 100
Aktivierung: while {civ distance player < 100}{hint 'Funktioniert.'; civ doMove getPos player};

Dies wird leider nur einmal ausgeführt. Natürlich steht der Auslöser auf "Mehrfach". Liegt es möglicherweise daran, dass der Spieler schon bereits innerhalb der 100 Meter und der Trigger nur bei übergang der "Grenze" auslöst?

Ich bitte um einen Denkanstoß, Onkel Google hat noch nicht geholfen.

Grüße
Martyn

JoeJoe87577
16.12.2013, 17:27
Versuch mal bei der Aktivierung die while Schleife wegzumachen, dann sollte der Trigger immer dann ausgelöst werden wenn sich der Spieler mehr als 100 Meter vom Civ entfernt.

JanIs
16.12.2013, 18:41
Ich denke du hast das Problem ja schon selbst gelöst.
Der Trigger löst wohl erst wieder erneut aus wenn du vom Civi weiter als 100 Meter entfernt bist, da du andernfalls ja immer noch in der "Auslösebedingung" des Triggers der erstmaligen Aktivierung bist.

So gesehen bräuchtest du IMHO entweder ein Script oder eine Art Wechseltrigger.

LG
Jan

Drunken Officer
16.12.2013, 19:24
Hau doch mal in die Aktivierung:
Chicka=[] spawn { dein Code; sleep 1 }
»eine while Funktion fordert ein Do. Bin mir nicht sicher, ob deine Variante so funktioniert ohne Meldung in der rpt

Von der Logik her haust hin. Du lässt auslösen, wenn kleiner 100 und startest nen loop.

civ eine schlechte Wahl als Variable.

Sol.LrMartyn
16.12.2013, 21:02
Also zusammen, was hat geholfen?

Auslöser:
Bedingung: civ distance player < 100
Aktivierung: _handle = [] execVM "test.sqf";

test.sqf

while {civ distance player < 100} do {civ doMove getPos player; sleep 2};

@Drunken Officer
"civ" war gedacht, um es besser zu veranschaulichen. Bitte gebe mir doch ein Beispiel deiner Namenskonventionen für einen Zombie :-D

Jekko
16.12.2013, 23:02
nenn ihn doch WIXXER, Schwuchtel oder Westerwälle :zahn:
alles Namen die keine Konflikte auslösen dürften...