Thema: Baseschutz
Einzelnen Beitrag anzeigen
Alt 06.10.2010, 11:20   #24 (permalink)
Vienna
SQF Zauberer 10 Jahre hx3
500 Beiträge1000 Beiträge
 
Benutzerbild von Vienna
 
Registriert seit: 12.07.2004
Ort: Wien
Beiträge: 1.917
Standard

Interessant ist bei der while Bedingung im EventHandler folgendes:



... this addEventHandler ["Fired", {...; while {alive _p}do{...;if(...)then{deleteVehicle _p};...}}]

Das Geschoss wird beim ersten Durchlauf gelöscht, ist nicht mehr sichtbar und macht auch keinen Schaden. Trotzdem wird die while Schleife 10000 Mal durchlaufen.



... this addEventHandler ["Fired", {...; while {alive _p}do{...;if(...)then{_p setDamage 1;deleteVehicle _p};...}}]

Gibt man _p setDamage 1 hinzu, dann ist die Schleife nach dem 1. Durchlauf beendet.



... this addEventHandler ["Fired", {...; while {alive _p}do{...;if(...)then{_p setDamage 1};...}}]

Hier wurde jetzt deleteVehicle _p entfernt. Die Schleife wird nach dem 1. Durchlauf beendet, aber dass Geschoss fliegt weiter und hat auch die entsprechende Trefferwirkung.



... this addEventHandler ["Fired", {...; while {true}do{...;if(...)then{...};...}}]

Diese Schleife wird zwingend 10000 Mal durchlaufen. Das Geschoss wird nicht zerstört oder entfernt. Das Geschoss ist nach den 10000 Durchläufen keine 2 Meter geflogen.
Vienna ist offline   Mit Zitat antworten