Данный скрипт передвигает курсор мыши по случайной траектории из текущего положения в заданные координаты со случайным смещением(указываются параметры смещения) по горячей клавише.
Вот весь продукт моих соображений по данному вопросу).
По крайней мере меня он устроил полностью, выкладываю как сделал).
Думаю стоит отметить то, что данный код отправляет курсор мыши в назначенные координаты, но останавливается она со случайным смещением(в коде указано где и как)).
Process, Priority,,High ;выделяем максимальны приоритет процессу(может и не нужно, хз)).
SetMouseDelay, 10 ;устанавливаем время задержки на один шаг мыши. число ставится от -1 до 100.
;(тут стоит указать, если ставим число задержки -1, то мышь передвигается в
;точку назначения мгновенно, и преломлений случайной траектории нет. Чем больше
;данное число, тем больше реализм приломления траектории движения мыши, но тем
;самым медленнее её скорость перемещения).
SetDefaultMouseSpeed, 0 ;указываем скорость мыши(менять не нужно, просто замедлит её движение, если это необходимо).
CoordMode, Mouse, Screen
return
q::
Critical ;cпридаем приоритет процессу.
loop ;начинаем луп.
{
xf := 553-5 ;координата назначения по х.
yf := 580+34 ;координата назначения по y.
xd := xf+5 ;граница координаты назначения по х.
yd := yf+15 ;граница координаты назначения по y.
MouseGetPos, x, y ;берем текущее положение курсора.
if (y>=yf) and (y<=yd) and (x>=xf) and (x<=xd) ;при выполнении условия, если текущее положение курсора попадает в квадрат с .крайними координатами xf-yf и xd-yd? тогда выполняется действие.
{
random,rsmd, 90, 110 ;определение случайного времени задержки перед нажатием правой кнопкой мыши от 90 до 110 .миллисекунд
SetMouseDelay, rsmd ;включаем случайно выбранное время задержки.
random, r1,1,5 ;определяем число случайного отклонения от точки назначения в пикселях от 1 до 5 по оси х.
random, r2,1,1 ;определяем число случайного отклонения от точки назначения в пикселях от 1 до 1 по оси y.
MouseMove, xf+r1, yf+r2 ;остановка мыши в указанной области с учетом случайных отклонений по х и у.
Break ;сброс выполнения процесса.
}
else ;если первое условие не выполняется, то смотрим условие:
if (y<yf) ;если текущее положение мыши меньше положения, куда отправляем курсор, то выполняем:
{
random,rand, -0.1, 7.5 ;выбор случайного числа от -0.1 до 7.5.
random,rand1, -0.1, 7.5 ;выбор случайного числа от -0.1 до 7.5.
var := ((yf-y)-rand) ;вычисляем длинну отрезка по х между текущим положением курсора и направляемым
;со случайным смещением.
var1 := ((yf-y)-rand1) ;снова вычисляем длинну отрезка по х между текущим положением курсора и направляемым с
; другим случайным смещением.
koef :=((xf - x+1) / (yf - y+1)) ;вычисляем коэффициент смещения.
y1 := (yf -var) ;координата назначения курсора по у.
x1 := (xf-(var1 * koef)) ;координата назначения по х.
MouseMove, x1, y1 ;двигаем мышь от текущего положения к расчитанному.
}
else ;иначе
{
random,rand, -0.1, 7.5 ;выбор случайного числа от -0.1 до 7.5.
random,rand1, -0.1, 7.5 ;выбор случайного числа от -0.1 до 7.5.
var := ((y-yf)-rand) ;вычисляем длинну отрезка по х между текущим положением курсора и направляемым со случайным
;смещением.
var1 := ((y-yf)-rand1) ;снова вычисляем длинну отрезка по х между текущим положением курсора и направляемым с
; другим случайным смещением.
koef :=((x - xf+1) / (y - yf+1)) ;вычисляем коэффициент смещения.
y1 := (yf +var) ;координата назначения курсора по у.
x1 := (xf+(var1 * koef)) ;координата назначения по х.
MouseMove, x1, y1 ;двигаем мышь от текущего положения к расчитанному.
}
}
return
Возможно кому то поможет, всегда готов обсудить данный материал и буду благодарен за отзывы и критику:)