Автокликер Clickermann :: Форум
Основной раздел => Общие вопросы => Topic started by: naniel on May 07, 2017, 02:20:21 PM
-
Доброго времени суток, помогите пожалуйста со скриптом. Суть скрипта на странице может быть несколько картинок, нужно что бы клик был по приоритету 1-2-3 если клик был то всё начинается заново, а так же есть четвёртая картинка при появлении которой скрипт останавливается и подаёт звуковой сигнал.
-
GETSCREEN
IF_PICTURE_IN (0,0, $_xmax,$_ymax, "1.bmp", -1, 100)
LCLICK($_return1, $_return2)
WAITMS(100)
ELSE
IF_PICTURE_IN (0,0, $_xmax,$_ymax, "2.bmp", -1, 100)
LCLICK($_return1, $_return2)
WAITMS(100)
ELSE
IF_PICTURE_IN (0,0, $_xmax,$_ymax, "3.bmp", -1, 100)
LCLICK($_return1, $_return2)
WAITMS(100)
ELSE
IF_PICTURE_IN (0,0, $_xmax,$_ymax, "4.bmp", -1, 100)
BEEP(900,1000)
WAITMS(500)
HALT
END_IF
END_IF
END_IF
END_IF
-
Спасибо. Ещё пара вопросов можно ли заменить WAITMS на WAITMS(RND ? Если выскокочит картинка №4, а при этом будет доступна №1 скрипт крикнет по 1, а не остановится?
-
WAITMS(RND(100,200)) // задержка на 100-200 мс
Если нужно по любому искать четвертую картинку то поиск нужно писать отдельно без вложения.
GETSCREEN
IF_PICTURE_IN (0,0, $_xmax,$_ymax, "1.bmp", -1, 100)
LCLICK($_return1, $_return2)
WAITMS(100)
ELSE
IF_PICTURE_IN (0,0, $_xmax,$_ymax, "2.bmp", -1, 100)
LCLICK($_return1, $_return2)
WAITMS(100)
ELSE
IF_PICTURE_IN (0,0, $_xmax,$_ymax, "3.bmp", -1, 100)
LCLICK($_return1, $_return2)
WAITMS(100)
END_IF
END_IF
END_IF
IF_PICTURE_IN (0,0, $_xmax,$_ymax, "4.bmp", -1, 100)
BEEP(900,1000)
WAITMS(500)
HALT
END_IF
WAITMS(100)
Заметь GETSCREEN я написал только в начале а не перед каждым анализом. В данном случаи мы делаем снимок а потом серией анализов проводим поиск на нем. Так лучше для нагрузки на процессор, так как GETSCREEN сильно жрет ресурсы.
-
условно можно сказать первая картинка это Да, а четвертая это вопрос - Вы бот? т.е во всех случаях кроме этого нужно отвечать утвердительно, а на нём остановится.
-
Ну тогда нужно сначала искать 4 а потом уже все остальные
GETSCREEN
IF_PICTURE_IN (0,0, $_xmax,$_ymax, "4.bmp", -1, 100)
BEEP(900,1000)
WAITMS(500)
HALT
END_IF
IF_PICTURE_IN (0,0, $_xmax,$_ymax, "1.bmp", -1, 100)
LCLICK($_return1, $_return2)
WAITMS(100)
ELSE
IF_PICTURE_IN (0,0, $_xmax,$_ymax, "2.bmp", -1, 100)
LCLICK($_return1, $_return2)
WAITMS(100)
ELSE
IF_PICTURE_IN (0,0, $_xmax,$_ymax, "3.bmp", -1, 100)
LCLICK($_return1, $_return2)
WAITMS(100)
END_IF
END_IF
END_IF
WAITMS(100)
-
Всё работает, но иногда бывает глюк на 2ой картинке, клик проходит до того как курсор оказывается на картинке (возможно из за того что она меньше остальных) на этом месте всё останавливается.
-
Добавь перед каждым кликом предварительное перемещение курсора
MOVE($_return1, $_return2)
WAITMS(60)
LCLICK($_return1, $_return2)
WAITMS(100)
А еще добавь в конце
MOVE(100,100) // любые удобные координаты
Это будет убирать курсор в сторону. Возможно из за него не кликает.
-
Большое спасибо за помощь :)
-
ну и наверное последний вопрос, если включать привязку к окну скрипт сильно нужно изменять?
-
Открываешь скрипт, наводишь курсор на окно, нажимаешь Alt+W, запускаешь скрипт.
ну или добавь вначале скрипта
$hwnd1 = wndfind("название окна") // можно скопировать из манагера окон
WAITMS(50)
HSET ($hwnd1, 1) // привязка к онку
-
ну и наверное последний вопрос, если включать привязку к окну скрипт сильно нужно изменять?
В режиме привязки координаты отсчитываются от начала окна, поэтому если есть клики координаты придется пересчитать.
Также не работают зажатия клавиш. Невозможно нажать Ctrl+V например.
Кликер может не видеть графику в привязанном окне из за аппаратного ускорения.
Все это надо учитывать.