Вот что у меня получилось в итоге. Это не конечный, а черновой вариант, но тем не менее персонаж проходит расстояние сам, в зависимости от расстояния между точками А и Б. Если я правильно понял, то функция DIST показывала общее расстояние, поэтому пошёл на другому пути. Оказывается в справке программы, во владке "введение", находилось почти всё, что мне нужно было знать, для начала работы. Открывал всё до этого, кроме этой вкладки, тогда и вопрос с вычислением отпал.
В данном алгоритме отсутствует анализ экрана, который собираюсь добавить позже, а также некоторые другие элементы.В данном виде персонаж ходит только по х и у осям, поэтому алгоритм получился грубый, первобытный, но работает и это главное.
waitms(50)
move(988, 547)
waitms(110)
$x1 = $_xmouse
$y1 = $_ymouse
move (311, 50)
$x2 = $_xmouse
$y2 = $_ymouse
waitms(124)
$Diff_x = ($x2 - $x1)
waitms(30)
$Diff_y = ($y2 - $y1)
$mtt_x = ($Diff_x / 0.43) // 0.43 скорость персонажа пиксель/мс, высчитана вручную.
$mtt_y = ($Diff_y / 0.43)
If ($mtt_x < 0)
$mtt_x = Abs($mtt_x)
$mtt_x = round($mtt_x, 0)
keyDown(#A)
waitms($mtt_x)
keyup(#A)
else
keyDown(#D)
waitms($mtt_x)
keyUp(#D)
End_IF
If ($mtt_y < 0)
$mtt_y = Abs($mtt_y)
$mtt_y = round($mtt_y, 0)
keyDown(#W)
waitms($mtt_y)
keyup(#W)
else
keyDown(#S)
waitms($mtt_y)
keyUp(#S)
End_IF
waitms(276 + $S_CORR)
lDown($_xmouse, $_ymouse)
waitms(36272 + $S_CORR)
lUp($_xmouse, $_ymouse)
waitms(470 + $S_CORR)
Halt
P.s не сразу понял, что дробное число миллисекунд не даёт выполнить алгоритм, но, благо, ошибку нашёл.