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.
|