call UnitRemoveAbility(GetTriggerUnit(), 039;Amov039;)
That will be great! I'm programming with GUI however, do I call a line of Custom Script and paste your line the textbox?
Even if you remove the "move" ability, won't the unit be able to receive smart orders?
Yep. The "GetTriggerUnit()" is the unit. Make sure you change that if its a variable.
When you want it to stop have a dummy unit cast "ensnare" on it. this effectively sets speed to 0 but still allows the unit to turn and attack. When you issue a move order you can remove the ensnare buff to allow it to move. Once it reaches the point have a dummy unit ensnare it again.
Picked Unit is GetEnumUnit().
call UnitAddAbility(GetTriggerUnit(), 039;Amov039;)