I think this deserves a function improvement. It's a little strange you stop to buy something in the NPC and your character is shifting. I think this feature should work only when necessary (when your character is without any action for a few minutes).
And besides the creation of the antiIdle.Stop(), antiIdle.Start()