OK, so the Timer safeguard is actually quite simple so I just wrote it up. Add a timer:
Every 2 seconds (you can adjust higher if you have a bad lag I suppose)
Send:
speedwalk=0
Send To: Script
Label: DisableSW
Now add the line:
ResetTimer("DisableSW")
To the beginning of each of the Exits triggers and to the beginning of the ^w(n|s|e|w|u|d)$ alias. Now if you stop speedwalking (hit a "wall") or start fighting, after 2 seconds the speedwalk will be disabled. Without the timer, you might run into trouble if, say, you stop speedwalking and then teleport/recall without moving out of the room.
Edited 3 time(s). Last edit at 12/08/2011 08:56PM by joecloud.