Ganz ehrlich: Du machst dich gerade richtig lächerlich. Das ist ein Programmierfehler sondergleichen, auf den du vorher von mir und von iSmokiieZz hingewiesen wurdest. Du hast uns zwar widersprochen, aber so ist es eben einfach! Man muss sich als Fragender auch einfach mal helfen lassen. Wenn man jede Hilfe in den Wind schlägt und geradezu unhöflich darauf reagiert und seine Fehler einfach nicht einsehen will, sondern darauf beharrt, dass der Compiler oder die Engine schuld sein soll, dann kommt man nicht weiter.
Um dir deinen Fehler mal zu erklären:
Wenn du direkt vor der Prüfung, ob der Timer 0 ist, den Timer auf 2 setzt, dann wird er niemals 0 sein. Egal wo du den Timer verkleinerst.
Was du da gemacht hast, um das Problem zu lösen, mag zwar jetzt funktionieren. Aber dein System ist dann einfach grundlegend falsch. Du kannst auch alle Timer entfernen und einfach global.Path2 = 0 immer ausführen. Das würde dasselbe bewirken. Aber es ist definitiv nicht die Engine, die irgendwelche Werte überspringt.
Im Übrigen zeigt das auch, dass du den Debugger nicht richtig eingesetzt hast. Denn so ein Problem stellt man sehr schnell mit dem Debugger fest, weil man ja einfach mal die Timer beim Runterzählen verfolgen könnte.