Can you be more specific?
If you are talking about my edited version: The Thread.Sleep() should handle that, actually. If its not working for you try to increase the timings. If that wont work i dont have any clue why not.
I edited this again and removed checking inside town because i had...