Автокликер Clickermann :: Форум

Основной раздел => Общие вопросы => Topic started by: KOSTIK320 on September 08, 2019, 11:00:00 AM

Title: Оптимизация скрипта
Post by: KOSTIK320 on September 08, 2019, 11:00:00 AM
Добрый день, подскажите как ускорить скрипт на этапе распознавания картинки "pereiti" и "vipolnil"? В остальном работает более менее шустро но вот в этих 2-х моментах задумывается секунд на 10-15.
Code: [Select]
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
Title: Re: Оптимизация скрипта
Post by: Oraven on September 08, 2019, 12:05:09 PM
Тут, для начала, нужно ошибки исправить. Зачем там LOGCLEAR если лог даже не пишется?

Куча ELSE вне условий. Это надо писать несколько иначе.
Code: (clickermann) [Select]
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 пикселей.
Title: Re: Оптимизация скрипта
Post by: KOSTIK320 on September 08, 2019, 12:12:11 PM
С логами понятно, за ELSE спасибо. Картинки пробовал сократить, ничего не менялось. Область в IF_PICTURE_IN я меня даже до размеров самой кнопки но всё равно ничего не менялось.

Попробовал Ваш скрипт он совсем перестал жмакать на кнопку перейти.