Переписал скрипт, оказывается в кликермане свищ есть, оператор - недоглядел.
Поменял у подпрограммы порядок чередования параметров, с целю сделать обязательными только два первых, добавляя по одному по необходимости. Но так с подпрограммами ничего не работает - ошибка РОР. Есть ли способ как нибудь извернуться, например инклюдить как нить, вместо подпрограмм?
// подпрограмма обязательно выше вызова
SUB(mouse, $IN_X, $IN_Y, $mouse, $Razb_X, $Razb_Y)
$MOVE_SPEED = 1 // множитель скорости
IF(($mouse = 11) or ($mouse = 12))
$MOVE_END_X=$IN_X + rnd(rnd(-1*$Razb_Y, 0),rnd(0, $Razb_Y))
$MOVE_END_Y=$IN_Y + rnd(rnd(-1*$Razb_Y, 0),rnd(0, $Razb_Y))
ELSE
$MOVE_END_X=$IN_X + rnd(rnd(-1*$Razb_X, 0),rnd(0, $Razb_X))
$MOVE_END_Y=$IN_Y + rnd(rnd(-1*$Razb_Y, 0),rnd(0, $Razb_Y))
END_IF
//-------------------------------------------------------
$MOVE_Start_X = $_xmouse
$MOVE_Start_Y = $_ymouse
$MOVE_X = $MOVE_Start_X
$MOVE_Y = $MOVE_Start_Y
$dist = DIST($MOVE_END_X,$MOVE_END_Y,$MOVE_Start_X,$MOVE_Start_Y)
$MOVE_SPEEDVAR = INT((SQRT($dist))/$MOVE_SPEED)
IF($MOVE_SPEEDVAR < 1)
$MOVE_SPEEDVAR = 1
END_IF
$MOVE_step=($dist-1)/$MOVE_SPEEDVAR
$MOVE_X_step = ($MOVE_END_X-$MOVE_Start_X)/$MOVE_step
$MOVE_Y_step = ($MOVE_END_Y-$MOVE_Start_Y)/$MOVE_step
FOR($MOVE_i=0, $MOVE_i<INT($MOVE_step))
$MOVE_X = $MOVE_X + $MOVE_X_step
$MOVE_Y = $MOVE_Y + $MOVE_Y_step
MOVE(ROUND($MOVE_X,0)+RND(-5,5), ROUND($MOVE_Y,0)+RND(-5,5)) // добавляем рандом
WAITMS(1)
END_CYC
MOVE($MOVE_END_X, $MOVE_END_Y) //Передвинуть окончательно в заданную точку
//-------------------------------------------------------
SWITCH($mouse)
CASE(0)
WAITMS(50+rnd(rnd(-9,0),rnd(0,23)))
CASE(1)
LCLICK($MOVE_END_X, $MOVE_END_Y) // Левый клик
WAITMS(50+rnd(rnd(-9,0),rnd(0,23)))
CASE(2)
RCLICK($MOVE_END_X, $MOVE_END_Y) // Правый клик
WAITMS(50+rnd(rnd(-9,0),rnd(0,23)))
CASE(3)
MCLICK($MOVE_END_X, $MOVE_END_Y) // Средний клик
WAITMS(50+rnd(rnd(-9,0),rnd(0,23)))
CASE(4)
DBLCLICK($MOVE_END_X, $MOVE_END_Y) // Двойной левый
WAITMS(50+rnd(rnd(-9,0),rnd(0,23)))
CASE(5)
LDOWN($MOVE_END_X, $MOVE_END_Y) // Зажать левую
WAITMS(50+rnd(rnd(-9,0),rnd(0,23)))
CASE(6)
LUP($MOVE_END_X, $MOVE_END_Y) // Отпустить левую
WAITMS(50+rnd(rnd(-9,0),rnd(0,23)))
CASE(7)
RDOWN($MOVE_END_X, $MOVE_END_Y) // Зажать правую
WAITMS(50+rnd(rnd(-9,0),rnd(0,23)))
CASE(8)
RUP($MOVE_END_X, $MOVE_END_Y) // Отпустить правую
WAITMS(50+rnd(rnd(-9,0),rnd(0,23)))
CASE(9)
MDOWN($MOVE_END_X, $MOVE_END_Y) // Зажать среднюю
WAITMS(50+rnd(rnd(-9,0),rnd(0,23)))
CASE(10)
MUP($MOVE_END_X, $MOVE_END_Y) // Отпустить среднюю
CASE(11)
FOR($i=0, $i < $Razb_X)
print("- ",$i," -")
WHEELDOWN // Колесико вниз
WAITMS(200+rnd(rnd(-47,0),rnd(0,37)))
END_CYC
CASE(12)
FOR($i=0, $i < $Razb_X)
print("- ",$i," -")
WHEELUP // Колесико вверх
WAITMS(200+rnd(rnd(-47,0),rnd(0,37)))
END_CYC
END_SWITCH
$mouse=0
$Razb_X=0
$Razb_Y=0
END_SUB
//-------------------------------------------------------
// SUB(mouse, $IN_X, $IN_Y, $mouse, $Razb_X, $Razb_Y)
// 1: $IN_X - координата х
// 2: $IN_Y - координата Y
// 3: $mouse - действия мыши в конечной точке
// $mouse = 0 нет действия
// $mouse = 1 LCLICK (Левый клик)
// $mouse = 2 RCLICK (Правый клик)
// $mouse = 3 MCLICK (Средний клик)
// $mouse = 4 DBLCLICK (Двойной левый клик)
// $mouse = 5 LDOWN (Зажать левую)
// $mouse = 6 LUP (Отпустить левую)
// $mouse = 7 RDOWN (Зажать правую)
// $mouse = 8 RUP (Отпустить правую)
// $mouse = 9 MDOWN (Зажать среднюю)
// $mouse = 10 MUP (Отпустить среднюю)
// $mouse = 11 WHEELDOWN (Колесико вниз)
// $mouse = 12 WHEELUP (Колесико вверх)
// Функции при $mouse от 1 до 10
// 4: $Razb_X - разброс х
// 5: $Razb_Y - разброс Y
// Функции при $mouse = 11 или 12
// 4: $Razb_X - число строк колесиком
// 5: $Razb_Y - разброс х и разброс Y
// Рисуем В паинте
GOTO(mous) // Пропускаем зачистку холста
// Очищаем холст паинта
mouse(140,110,1,8,8) // кликаем на выделение
mouse(10,200,5,0,0) // Верхний угол рамки выделения
mouse(1000,970,6,0,0) // Нижний угол рамки выделения
mouse(500,250,2,0,0) // Открываем меню
WAITMS(100)
mouse(560,267,1,0,0) // стираем старое
WAITMS(100)
mous:
mouse(290,96,1,5,5) // включаем карандаш
// рисуем треугольник
mouse(100,300,5,5,8) // точка 1 c зажимом
mouse(920,300,0,5,8) // точка 2
mouse(510,900,0,100,5) // точка 3
mouse(100,300,6,5,8) // точка 1 c отпуском
// рисуем прямоугольник
mouse(300,350,5,5,8) // точка 4 c зажимом
mouse(720,350,0,5,8) // точка 5
mouse(720,530,0,5,8) // точка 6
mouse(300,530,0,5,8) // точка 7
mouse(300,350,6,5,8) // точка 4 c отпуском
HALT
200 прогонов вроде неплохо:
https://i.ibb.co/NF31nW6/2.png