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

Основной раздел => Общие вопросы => Topic started by: nikolay8696 on February 06, 2019, 07:19:36 PM

Title: Нужна помощь, кликер через раз пропускает картинку.
Post by: nikolay8696 on February 06, 2019, 07:19:36 PM
Всем привет! Сделал скрипт из шаблонов, которые были в кликере. Задача этого скрипта ставить лайк или подписываться на канал, когда я его запускаю он работает через раз, иногда находит лайк, иногда пропускает и переходит к следующему сценарию. Не могу понять в чём проблема, помогите пожалуйста.

Code: (clickermann) [Select]
WAITMS(500)
GETSCREEN
IF_PICTURE_IN (0,0, $_xmax,$_ymax, "zadanye.bmp", -1, 100)
   MOVE($_return1, $_return2)
   WAITMS(250)
   LCLICK($_return1, $_return2)
   WAITMS(250)
END_IF

WAIT(30)
GETSCREEN
IF_PICTURE_IN (0,0, $_xmax,$_ymax, "like.bmp", -1, 100)
   MOVE($_return1, $_return2)
   WAITMS(250)
   LCLICK($_return1, $_return2)
   WAITMS(250)
END_IF
WAIT(2)

KEYDOWN (#CTRL)
WAITMS (50)
KEYPRESS (#W)
KEYUP (#CTRL)
Title: Re: Нужна помощь, кликер через раз пропускает картинку.
Post by: Космич on February 06, 2019, 07:41:32 PM
Используй лог для отладки скрипта
Code: (clickermann) [Select]
GETSCREEN
IF_PICTURE_IN (0,0, $_xmax,$_ymax, "like.bmp", -1, 100)
   PRINT("Нашёл like.bmp")
   MOVE($_return1, $_return2)
   WAITMS(250)
   LCLICK($_return1, $_return2)
   WAITMS(250)
ELSE
   PRINT("Не нашёл like.bmp")
END_IF
Title: Re: Нужна помощь, кликер через раз пропускает картинку.
Post by: nikolay8696 on February 06, 2019, 08:12:12 PM
Что мне даст лог, если я и так знаю что он не находит.
Title: Re: Нужна помощь, кликер через раз пропускает картинку.
Post by: Oraven on February 06, 2019, 08:34:16 PM
Нужно циклы вставлять которые гарантированно будут ждать нужную картинку и реагировать на нее немедленно.

Code: (clickermann) [Select]
WAITMS(500)

$check = 0
WHILE($check = 0)
   GETSCREEN
   IF_PICTURE_IN (0,0, $_xmax,$_ymax, "zadanye.bmp", -1, 100)
      MOVE($_return1, $_return2)
      WAITMS(250)
      LCLICK($_return1, $_return2)
      WAITMS(500)
      $check = 1
   ELSE
      WAITMS(50)
   END_IF
END_CYC

$check = 0
WHILE($check = 0)
   GETSCREEN
IF_PICTURE_IN (0,0, $_xmax,$_ymax, "like.bmp", -1, 100)
      MOVE($_return1, $_return2)
      WAITMS(250)
      LCLICK($_return1, $_return2)
      WAITMS(500)
      $check = 1
   ELSE
      WAITMS(50)
   END_IF
END_CYC

KEYDOWN (#CTRL)
WAITMS (50)
KEYPRESS (#W)
KEYUP (#CTRL)
WAIT(1)

Ну а если не находит то нужно использовать цветокоррекцию и процент совпадения.
Title: Re: Нужна помощь, кликер через раз пропускает картинку.
Post by: nikolay8696 on February 06, 2019, 09:34:14 PM
Всем спасибо! всё получилось, я поставил совпадение 60% и теперь он всегда кликает на лайк не разу не пропустив.
Code: (clickermann) [Select]
$check = 0
WHILE($check = 0)
   GETSCREEN
   IF_PICTURE_IN (300,100, 1350,870, "like.bmp", -1, 60)
      PRINT("Нашёл like.bmp")
      MOVE($_return1+9, $_return2+6)
      WAITMS(250)
      LCLICK($_return1+9, $_return2+6)
      WAITMS(500)
      $check = 1
   ELSE
      PRINT("Не нашёл like.bmp")
      WAITMS(50)
   END_IF
END_CYC
Title: Re: Нужна помощь, кликер через раз пропускает картинку.
Post by: nikolay8696 on February 06, 2019, 10:15:58 PM
Ребят ещё такой вопрос. Как сделать чтобы он 5 раз проверил, если картинка не найдена то он закрывает окно браузера. Бывает такое что видео не доступно или сбой соединения с сервером.
Title: Re: Нужна помощь, кликер через раз пропускает картинку.
Post by: Oraven on February 07, 2019, 07:56:54 AM
Не 5 раз а заданный промежуток времени!

Такой цикл будет искать картинку не более 20 секунд. Если за 20 сек не найдет выполнение продолжится после цикла.
Code: (clickermann) [Select]
$time = $_time_t + 20 // таймер на 20 секунд
WHILE($time > $_time_t)
   GETSCREEN
   IF_PICTURE_IN (300,100, 1350,870, "like.bmp", -1, 60)
      PRINT("Нашёл like.bmp")
      MOVE($_return1+9, $_return2+6)
      WAITMS(250)
      LCLICK($_return1+9, $_return2+6)
      WAITMS(500)
      $time = 0
   ELSE
      WAITMS(50)
   END_IF
END_CYC
Title: Re: Нужна помощь, кликер через раз пропускает картинку.
Post by: nikolay8696 on February 10, 2019, 02:01:21 PM
Ребят хотел спросить по поводу цветокоррекции, как применить эту функцию в моём коде? Дело в том, что если я зайду с другого браузера или использую этот скрипт на другом компе он откажется работать потому что он не видит картинки.
Title: Re: Нужна помощь, кликер через раз пропускает картинку.
Post by: Oraven on February 10, 2019, 03:31:02 PM
Ребят хотел спросить по поводу цветокоррекции, как применить эту функцию в моём коде? Дело в том, что если я зайду с другого браузера или использую этот скрипт на другом компе он откажется работать потому что он не видит картинки.

Вот таким скриптом делаешь снимок в цветокоррекции.
Code: (clickermann) [Select]
// Получение скриншота с цветокоррекцией (фильтр 6)
GETSCREEN
COLORMODE(6)
SCREENSHOTEX(0,0, $_xmax,$_ymax, "Image_", 0)
HALT

Можно попробовать значения 5-7

Из полученного скриншота вырезаешь то что тебе нужно.
В своем скрипте указываешь цветокоррекцию того же уровня.
Code: (clickermann) [Select]
GETSCREEN
COLORMODE(6)
Title: Re: Нужна помощь, кликер через раз пропускает картинку.
Post by: Geraran on February 10, 2019, 05:56:19 PM
всем привет.
у меня та же проблема. скрипт поиска картинки работал без цветокорекции на 64 железе. на днях комп сдох, пришлось перейти на 32 бит. сначала кликерман тормозил, поставил фрамеворк 4.5. начал работать. мой скрипт работает чужом компе, но не видит картинку. уже хотел тему создавать, но увидел вашу беседу. сделал с COLORMODE(6). скрипт увидел картинку

НО..
увидел всего раз. после захода в другой аккаунт, опять не видит картинку...  :o

подскажите в чем проблема?

я уже привык к автоматизации  ;), а еще не известно когда починят мой пк  :(

заранее спасибо
Title: Re: Нужна помощь, кликер через раз пропускает картинку.
Post by: nikolay8696 on February 10, 2019, 06:39:31 PM
Попробуй поставить меньше процент совпадения.
Title: Re: Нужна помощь, кликер через раз пропускает картинку.
Post by: Geraran on February 10, 2019, 11:07:21 PM
GETSCREEN
COLORMODE(5)
    IF_PICTURE_IN (20,150, 600,1150, "makowkina.bmp", -1, 80)
       LCLICK($_return1, $_return2)
       WAITMS(100)
    END_IF // поиск кнопки репоста
WAIT(3)

изменил колормоде на 5 и процент совпадения 80. заработало. но потом ждал облом, скриншот кнопки (логотип на белом фоне) срабатывал только на том сайте где был сделан снимок экрана, на салатовом фоне, хоть скриншот был обрезан. сделал кнопку на белом фоне, как у себя на компе, начало срабатывать на всех сайтах.

и еще одна проблема, иногда в зоне сканирования появляется другая кнопка, с тем же логотипом + еще нарисована сбоку монетка. как сделать чтобы она не нажималась?

Quote
Изучи игнорирование фона, в сложных случаях нужно использовать все доступные возможности.
спасибо, учту
Title: Re: Нужна помощь, кликер через раз пропускает картинку.
Post by: nikolay8696 on February 19, 2019, 11:54:11 AM
Ребят подскажите в чём моя ошибка? Это сценарий для выполнения заданий на сайте vkmix. Кликер успешно выполняет задание, после того как он обратно переходит к пункту start он уже не видит картинку "Выполнить задание (sub)" и останавливается, хотя картинка есть, только на другом месте чуть правее.
Code: (clickermann) [Select]
// Переход на главную страницу и на задания instagram
GETSCREEN
COLORMODE(5)
IF_PICTURE_IN (0,0, $_xmax,$_ymax, "main.bmp", -1, 80)
   MOVE($_return1, $_return2)
   WAITMS(250)
   LCLICK($_return1, $_return2)
   WAIT(3)
   GETSCREEN
   COLORMODE(5)
   IF_PICTURE_IN (0,0, $_xmax,$_ymax, "instagram.bmp", -1, 80)
      MOVE($_return1, $_return2)
      WAITMS(250)
      LCLICK($_return1, $_return2)
      WAIT(3)   
   END_IF
END_IF

// Нажимает начать выполнение задания
start:
WAITMS(500)
$check = 0
WHILE($check = 0)
   GETSCREEN
   IF_PICTURE_IN (0,0, $_xmax,$_ymax, "sub.bmp", -1, 80)
      $check = 1
      MOVE($_return1-14, $_return2+50)
      WAITMS(250)
      LCLICK($_return1-14, $_return2+50)
      WAITMS(250)
   ELSE
      WAITMS(50)
      GOTO(stop) // Если он не нашёл картинку выполнить задание
   END_IF
END_CYC

WAIT(5)

$check = 0
WHILE($check = 0)
   GETSCREEN
   IF_PICTURE_IN (0,0, $_xmax,$_ymax, "subinst.bmp", -1, 70)
      $check = 1
      MOVE($_return1, $_return2)
      WAITMS(250)
      LCLICK($_return1, $_return2)
      WAIT(2)
      KEYDOWN (#CTRL)
      WAITMS (50)
      KEYPRESS (#W)
      KEYUP (#CTRL)
      GOTO(start) // Выполнив задание переходит к start
   ELSE
      WAITMS(500)
      KEYDOWN (#CTRL)
      WAITMS (50)
      KEYPRESS (#W)
      KEYUP (#CTRL)
      GOTO(stop)
   END_IF
END_CYC


stop:
HALT
Title: Re: Нужна помощь, кликер через раз пропускает картинку.
Post by: nikolay8696 on February 19, 2019, 12:24:51 PM
Спасибо за исправления, я только учусь :)