В принципе все просто. Есть 3 варианта. По сложности. Первый - производим клик мышкой где нибудь рядом с персом, например:
ControlClick($NameWin, "", "", "Left", 1, 410, 235)
где $NameWin - название окна клиента. Потом быстренько подменяем конечные координаты движения перса.
_MemoryWrite($GotoN+0x20,$HendleDll,$GoX)
_MemoryWrite($GotoN+0x28,$HendleDll,$GoY)
Где $GotoN - BA+$20+$C10+$30+$04, $HendleDll - хендл, который получается при OpenMemory, $Gox - координата. У меня она была в Hex. Если будет в представлении с точкой, добавлять "float".
Недостаток - если комп загружен (открыто несколько окон), то видно, как перс дергается сначала в одну сторону, потом идет в другую.
Достоинство - простота, стабильность в работе, Клиент нормально считает клики и передает их серверу.
Второй и третий варианты не моей разработки, поэтому писать листинг не буду.
Второй вариант описан где то выше. Его смысл заключается в постановке этих же координат и записывании указателя на действие по адресу BA+$20+$C10+$14.
Недостатки - Через некоторое время работы перс перестает двигаться, пока не кликнешь мышкой по экрану клиента. Как показало ближайшее рассмотрение, ошибка в памяти возникает при использовании скилов.
Достоинства - можно использовать при свернутом окне.
Третий вариант - использование инжекта. Все описано

. Если заинтересовало, Эту же тему можно поискать на вьетнамских форумах - очень много интересного. Одни достоинства, недостатков почти нет, за исключением роста занимаемой памяти за счет инжектированных кусков.
vies1812, пиши числа в hex как 0x000, и все будет нормально.
Добавил: Варианты, использующиеся более продвинутыми программистами, не рассматривал

Если будут добавлены другие способы - все скажем спасибо.