en ese tipo de script me parece que nadie de aqui puede ayudarte(por el tipo de codigo), lo unico que te puedo decir es que revises la condicion de "true" ya que si esta cambia el bucle termina o al menos asi funciona en otros codigos, ademas tambien puede deberse a que no defines una accion para realizarse cuando esa variable cambia (true)...no se si me entiendes espero que sirva de algo
salu2
salu2