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

Основной раздел => Общие вопросы => Topic started by: naniel on May 07, 2017, 02:20:21 PM

Title: Помогите новичку)
Post by: naniel on May 07, 2017, 02:20:21 PM
Доброго времени суток, помогите пожалуйста со скриптом. Суть скрипта на странице может быть несколько картинок, нужно что бы клик был по приоритету 1-2-3 если клик был то всё начинается заново, а так же есть четвёртая картинка при появлении которой скрипт останавливается и подаёт звуковой сигнал.
Title: Re: Помогите новичку)
Post by: Oraven on May 07, 2017, 03:22:00 PM
Code: (clickermann) [Select]
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
Title: Re: Помогите новичку)
Post by: naniel on May 07, 2017, 03:56:22 PM
Спасибо. Ещё пара вопросов можно ли заменить  WAITMS на WAITMS(RND ? Если выскокочит картинка №4, а при этом будет доступна №1 скрипт крикнет по 1, а не остановится?
Title: Re: Помогите новичку)
Post by: Oraven on May 07, 2017, 04:32:25 PM
Code: (clickermann) [Select]
WAITMS(RND(100,200)) // задержка на 100-200 мс
Если нужно по любому искать четвертую картинку то поиск нужно писать отдельно без вложения.
Code: (clickermann) [Select]
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 сильно жрет ресурсы.
Title: Re: Помогите новичку)
Post by: naniel on May 07, 2017, 04:50:56 PM
условно можно сказать первая картинка это Да, а четвертая это вопрос - Вы бот? т.е во всех случаях кроме этого нужно отвечать утвердительно, а на нём остановится.
Title: Re: Помогите новичку)
Post by: Oraven on May 07, 2017, 05:11:58 PM
Ну тогда нужно сначала искать 4 а потом уже все остальные
Code: (clickermann) [Select]
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)
Title: Re: Помогите новичку)
Post by: naniel on May 07, 2017, 06:31:51 PM
Всё работает, но иногда бывает глюк на 2ой картинке, клик проходит до того как курсор оказывается на картинке (возможно из за того что она меньше остальных) на этом месте всё останавливается.
Title: Re: Помогите новичку)
Post by: Oraven on May 07, 2017, 08:56:51 PM
Добавь перед каждым кликом предварительное перемещение курсора
Code: (clickermann) [Select]
MOVE($_return1, $_return2)
WAITMS(60)
LCLICK($_return1, $_return2)
WAITMS(100)

А еще добавь в конце
Code: (clickermann) [Select]
MOVE(100,100) // любые удобные координатыЭто будет убирать курсор в сторону. Возможно из за него не кликает.
Title: Re: Помогите новичку)
Post by: naniel on May 07, 2017, 09:32:43 PM
Большое спасибо за помощь  :)
Title: Re: Помогите новичку)
Post by: naniel on May 10, 2017, 09:44:05 PM
ну и наверное последний вопрос, если включать привязку к окну скрипт сильно нужно изменять?
Title: Re: Помогите новичку)
Post by: Loginow on May 10, 2017, 11:04:17 PM
Открываешь скрипт, наводишь курсор на окно, нажимаешь Alt+W, запускаешь скрипт.

ну или добавь вначале скрипта

Code: (clickermann) [Select]
$hwnd1 = wndfind("название окна") // можно скопировать из манагера окон
WAITMS(50)
HSET ($hwnd1, 1) // привязка к онку
Title: Re: Помогите новичку)
Post by: Oraven on May 11, 2017, 08:16:49 AM
ну и наверное последний вопрос, если включать привязку к окну скрипт сильно нужно изменять?

В режиме привязки координаты отсчитываются от начала окна, поэтому если есть клики координаты придется пересчитать.
Также не работают зажатия клавиш. Невозможно нажать Ctrl+V например.
Кликер может не видеть графику в привязанном окне из за аппаратного ускорения.

Все это надо учитывать.