Автокликер Clickermann :: Форум
Основной раздел => Общие вопросы => Topic started by: KOSTIK320 on September 08, 2019, 11:00:00 AM
-
Добрый день, подскажите как ускорить скрипт на этапе распознавания картинки "pereiti" и "vipolnil"? В остальном работает более менее шустро но вот в этих 2-х моментах задумывается секунд на 10-15.
WHEELDOWN(RND(1,70))
WHEELUP(RND(1,48))
WAIT(1)
GETSCREEN
IF_PICTURE_IN (0,0, $_xmax,$_ymax,"posmotret.bmp")
LCLICK($_return1+10, $_return2+10)
END_IF
GETSCREEN
IF_PICTURE_IN (0,0, $_xmax,$_ymax,"pereiti.bmp")
LCLICK($_return1+10, $_return2+10)
END_IF
WAIT(4)
LOGCLEAR
GETSCREEN
IF_PICTURE_IN (0,0, $_xmax,$_ymax,"Podpisatsya.bmp")
LCLICK($_return1+10, $_return2+10)
WAIT (1)
END_IF
ELSE
IF_PICTURE_IN (0,0, $_xmax,$_ymax,"podat.bmp")
LCLICK ($_return1+10, $_return2+10)
WAIT (1)
END_IF
ELSE
IF_PICTURE_IN (0,0, $_xmax,$_ymax,"vstypit.bmp")
LCLICK ($_return1+10, $_return2+10)
WAIT (1)
END_IF
ELSE
IF_PICTURE_IN (0,0, $_xmax,$_ymax,"dobavitvdr.bmp")
LCLICK ($_return1+10, $_return2+10)
WAIT (1)
END_IF
MCLICK(343,18)
GETSCREEN
IF_PICTURE_IN (0,0, $_xmax,$_ymax,"vipolnil.bmp")
LCLICK($_return1+10, $_return2+10)
WAIT (1)
END_IF
WAIT(4)
LOGCLEAR
GETSCREEN
IF_PICTURE_IN (0,0, $_xmax,$_ymax,"ok.bmp")
LCLICK($_return1+10, $_return2+10)
WAIT (1)
END_IF
ELSE
IF_PICTURE_IN (0,0, $_xmax,$_ymax,"nazad.bmp")
LCLICK ($_return1+10, $_return2+10)
WAIT (1)
END_IF
LOGCLEAR
-
Тут, для начала, нужно ошибки исправить. Зачем там LOGCLEAR если лог даже не пишется?
Куча ELSE вне условий. Это надо писать несколько иначе.
WHEELDOWN(RND(1,70))
WHEELUP(RND(1,48))
WAIT(1)
GETSCREEN
IF_PICTURE_IN (0,0, $_xmax,$_ymax,"posmotret.bmp")
LCLICK($_return1+10, $_return2+10)
END_IF
GETSCREEN
IF_PICTURE_IN (0,0, $_xmax,$_ymax,"pereiti.bmp")
LCLICK($_return1+10, $_return2+10)
END_IF
WAIT(4)
GETSCREEN
IF_PICTURE_IN (0,0, $_xmax,$_ymax,"Podpisatsya.bmp")
LCLICK($_return1+10, $_return2+10)
WAIT (1)
ELSE
IF_PICTURE_IN (0,0, $_xmax,$_ymax,"podat.bmp")
LCLICK ($_return1+10, $_return2+10)
WAIT (1)
ELSE
IF_PICTURE_IN (0,0, $_xmax,$_ymax,"vstypit.bmp")
LCLICK ($_return1+10, $_return2+10)
WAIT (1)
ELSE
IF_PICTURE_IN (0,0, $_xmax,$_ymax,"dobavitvdr.bmp")
LCLICK ($_return1+10, $_return2+10)
WAIT (1)
END_IF
END_IF
END_IF
END_IF
MCLICK(343,18)
WAITMS(500)
GETSCREEN
IF_PICTURE_IN (0,0, $_xmax,$_ymax,"vipolnil.bmp")
LCLICK($_return1+10, $_return2+10)
WAIT (1)
END_IF
WAIT(4)
GETSCREEN
IF_PICTURE_IN (0,0, $_xmax,$_ymax,"ok.bmp")
LCLICK($_return1+10, $_return2+10)
WAIT (1)
ELSE
IF_PICTURE_IN (0,0, $_xmax,$_ymax,"nazad.bmp")
LCLICK ($_return1+10, $_return2+10)
WAIT (1)
END_IF
END_IF
На счет оптимизации, нужно сократить область поиска до примерной области возможного появления объектов. Чем больше размер экрана тем больше тратится время на анализ всего скриншота.
Картинки тоже нужно подсократить. Достаточно небольшой тонкой полоски вдоль слова высотой 2-5 пикселей.
-
С логами понятно, за ELSE спасибо. Картинки пробовал сократить, ничего не менялось. Область в IF_PICTURE_IN я меня даже до размеров самой кнопки но всё равно ничего не менялось.
Попробовал Ваш скрипт он совсем перестал жмакать на кнопку перейти.