Deine Variable ist lokal definiert, weshalb jegliche Änderung einer bspw. globalen Variable mit dem gleichen Namen keinen Effekt auf diese in der entsprechenden Funktion haben kann.
Die Bedingung in deiner while-Schleife ist zudem stets wahr, da du den Wert der Variablen nX nicht mit 1 vergleichst, sondern nX immer wieder auf 1 setzt. "=" ist der Zuweisungsoperator, "==" der Vergleichsoperator.
Eine kürzere Variante, bei welcher dieser Fehler nicht auftreten kann, ist folgende Methode:

Code:
var i = 1;
while(i) // stets wahr, solange i ungleich 0 ist
{
if(key_space) i = 0;
wait(1);
}



"Falls das Resultat nicht einfach nur dermassen gut aussieht, sollten Sie nochmal von vorn anfangen..." - Manual

Check out my new game: Pogostuck: Rage With Your Friends