otland/forgottenserver — pull request #972 by EvilHero90 (2014-09-01 01:28:34+00:00)
Title: Creature:onMove(oldPos, newPos, isTeleport) + isAbleToMove() / canMove(bool)

new event:
Creature:onMove(oldPos, newPos, isTeleport)
could change it to (fromPos, toPos, isTeleport) aswell if requested.
new functions: (creature table)
:isAbleToWalk() -- returns true / false (depends on how canMove is set)
:canMove(bool) -- canMove(true) = creature can move canMove(false) = creature can not move
It'll reset once the player makes a relog (could be saved with a storagevalue if needed)

Has been tested on:
Monsters
Npcs
Players

It supports canceling movement by:
minimap click.
tile click.
arrow keys.
beeing moved by someone else.
optional:
you can cancel movements from teleports aswell.

I've just stumbled into a little issue (where I'm not 100% sure if it's probably just client related)
When you minimap / tile click the player wil continously try to move until either you click on the same tile he stands or until the player is able to move again.