Автокликер Clickermann :: Форум
Основной раздел => Общие вопросы => Topic started by: Treyvin on January 19, 2018, 05:58:44 AM
-
Привет, можете помочь?
Суть скрипта в том что бы нажимать по заданному пикселю, далее открывается страница, и на ней ищем иконку Лайка, нашли кликнули вышли, обновили страницу и по циклу.
Смотря логи, у меня почему то не видет иконки лайка хотя она попадает в область и прям перед носом даже листать не надо, но по принтам уходит в место
print("Не Вижу лайк - Кручу колесо")
$button_blue = 15832619
$button_green = 4893514
GETSCREEN
IF_PIXEL_IN(1727,261,1858,319, $button_blue)
LCLICK($_return1, $_return2)
WAIT(3)
END_IF
IF($time < $_time_t)
$count = 0
print($count)
$time = $_time_t + 30 // Выделяемое время в секундах
END_IF
IF($count < 1) // Количество лайков
GETSCREEN
WAIT(30)
print("Получаю Скрин фотографии")
IF_PICTURE_IN(472,227,1456,964, "like.bmp")
print("Вижу лайк - Лайкаю")
MOVE($_return1, $_return2)
WAIT(3)
LCLICK($_return1, $_return2)
MOVE(1200,600)
WAITMS(2000)
Else
LCLICK(1122,244)
print("Не Вижу лайк - Кручу колесо")
WHEELDOWN(2)
WAIT(3)
END_IF
END_IF
Помогите пожалуйста советом, или какие функции лучше использовать для данной задачи. Спасибо.
-
Странный скрипт. Особенно странно делать снимок а потом ждать аж 30 секунд прежде чем сделать анализ.
На счет "не видит лайка", используй цветокоррекцию и процент совпадения. В системах выше XP используется сглаживание которое при каждом открытии окна немного по другому смазывает пиксели. Поэтому твоя картинка не совпадает.
$button_blue = 15832619
$button_green = 4893514
GETSCREEN
IF_PIXEL_IN(1727,261,1858,319, $button_blue)
LCLICK($_return1, $_return2)
WAIT(3)
END_IF
$time = $_time_t + 30 // таймер на 30 секунд
WHILE($time > $_time_t) // цикл крутит код 30 секунд
GETSCREEN
IF_PICTURE_IN(472,227,1456,964, "like.bmp", -1, 100) // поиск со 100% совпадением
$time = 0 // если найдено обнуляем значение таймера и цикл прекратит повторяться.
print("Вижу лайк - Лайкаю")
MOVE($_return1, $_return2)
WAITMS(50)
LCLICK($_return1, $_return2)
WAITMS(50)
MOVE(1200,600)
WAIT(2)
ELSE
LCLICK(1122,244)
WAITMS(50)
print("Не Вижу лайк - Кручу колесо")
WHEELDOWN(2)
WAITMS(500)
END_IF
END_CYC
-
Странный скрипт. Особенно странно делать снимок а потом ждать аж 30 секунд прежде чем сделать анализ.
я просто пытался заставить увидеть его. думал getscreen сделал скрин, и надо время на анализ прежде чем рассмотреть снимок. По началу делея не было.
Спасибо за ответ)) , а так в целом какие функции лучше использовать при данных задачах? я понимаю у меня код очень примитивный + еще много проверок не доделано.
-
На какой анализ? Анализом у нас занимается как раз IF_PICTURE_IN.
GETSCREEN делает снимок. Выполнение пойдет дальше только после отработки функции. Поэтому никаких задержек между GETSCREEN и последующими функциями ставить не нужно.
Я не очень представляю что ты там делаешь. Если это очередной скрипт для автолайков тогда тебе нужно писать цикл поиска лайка.
$time = $_time_t + 10 // таймер на 10 секунд
WHILE($time > $_time_t) // цикл крутит код 10 секунд
GETSCREEN
IF_PICTURE_IN(472,227,1456,964, "like.bmp", -1, 100) // поиск со 100% совпадением
$time = 0 // если найдено обнуляем значение таймера и цикл прекратит повторяться.
print("Вижу лайк - Лайкаю")
MOVE($_return1, $_return2)
WAITMS(50)
LCLICK($_return1, $_return2)
WAITMS(50)
MOVE(1200,600)
WAIT(1)
ELSE // Если не найдено крутим страницу ниже и снова ищем
WHEELDOWN(2)
WAITMS(500)
END_IF
END_CYC
// После цикла пишем другие команды.
-
На какой анализ? Анализом у нас занимается как раз IF_PICTURE_IN.
GETSCREEN делает снимок. Выполнение пойдет дальше только после отработки функции. Поэтому никаких задержек между GETSCREEN и последующими функциями ставить не нужно.
Я не очень представляю что ты там делаешь. Если это очередной скрипт для автолайков тогда тебе нужно писать цикл поиска лайка.
$time = $_time_t + 10 // таймер на 10 секунд
WHILE($time > $_time_t) // цикл крутит код 10 секунд
GETSCREEN
IF_PICTURE_IN(472,227,1456,964, "like.bmp", -1, 100) // поиск со 100% совпадением
$time = 0 // если найдено обнуляем значение таймера и цикл прекратит повторяться.
print("Вижу лайк - Лайкаю")
MOVE($_return1, $_return2)
WAITMS(50)
LCLICK($_return1, $_return2)
WAITMS(50)
MOVE(1200,600)
WAIT(1)
ELSE // Если не найдено крутим страницу ниже и снова ищем
WHEELDOWN(2)
WAITMS(500)
END_IF
END_CYC
// После цикла пишем другие команды.
Да спасибо огромное) Да пишу скрипт для авто лайков ( для биржи лайков )
В данный момент получился вот такой скрипт
$button_blue = 15832619
$button_green = 4893514
$button_complite = "done.bmp"
begin:
//Если фотография то Скрыть
GETSCREEN
IF_PICTURE_IN(271,231,1879,347, "photo.bmp", -1, 100)
print("Попалась Фотография")
//Жму СКРЫТЬ
print("Нажимаю Скрыть")
WAIT(2)
MOVE(419,305)
WAITMS(100)
LCLICK(419,305)
print("Нажимаю на синию кнопку для излечения")
WAIT(2)
MOVE(1799,288)
WAITMS(100)
LCLICK(1799,288)
WAIT(3)
KEYPRESS(#F5)
WAIT(3)
print("Иду в начало")
GOTO(begin)
END_IF
//Если Синяя кнопка
GETSCREEN
IF_PIXEL_IN(1727,261,1858,319, $button_blue)
print("Кнопка Синяя")
LCLICK($_return1, $_return2)
print("1")
WAIT(1)
print("2")
WAIT(1)
print("3")
WAIT(1)
print("4")
WAIT(1)
print("5")
WAIT(1)
print("6")
WAIT(1)
print("7")
WAIT(1)
END_IF
//Если УЖЕ СТОИТ ЛАЙК
GETSCREEN
IF_PICTURE_IN(472,227,1456,964, "doLike.bmp", -1, 100)
print("Уже стоит лайк")
WAIT(2)
MOVE(1443,177)
WAITMS(50)
LCLICK(1443,177)
WAIT(5)
KEYPRESS(#F5)
print("Обновляюсь")
WAIT(2)
GOTO(begin)
END_IF
//Если кнопка Завершено
GETSCREEN
IF_PICTURE_IN(1727,261,1858,319, $button_complite, -1, 70)
print("Кнопка Завершено")
LCLICK(583,194)
WHEELUP(10)
KEYPRESS(#F5)
WAIT(3)
print("Иду в начало")
GOTO(begin)
END_IF
$time = $_time_t + 30 // таймер на 30 секунд
WHILE($time > $_time_t) // цикл крутит код 30 секунд
print("Делаю Снимок")
print("1")
WAIT(1)
print("2")
WAIT(1)
print("3")
WAIT(1)
GETSCREEN
IF_PICTURE_IN(472,227,1456,964, "like.bmp", -1, 100) // поиск со 100% совпадением
$time = 0 // если найдено обнуляем значение таймера и цикл прекратит повторяться.
print("Вижу лайк - Лайкаю")
MOVE($_return1, $_return2)
WAITMS(50)
LCLICK($_return1, $_return2)
WAITMS(50)
MOVE(1200,600)
WAIT(2)
MOVE(1443,177)
WAITMS(50)
LCLICK(1443,177)
WAIT(5)
KEYPRESS(#F5)
print("Обновляюсь")
WAIT(2)
ELSE
LCLICK(1122,244)
WAITMS(50)
print("Не Вижу лайк - Кручу колесо")
WHEELDOWN(2)
WAITMS(500)
END_IF
END_CYC
Но все таки в некоторых конкретных случаях отказывается видеть картинку лайка, не могу понять почему, вряд-ли иконки с лайками в вк разные . Если надо могу сказать под какой сайт делаю и какие задачи что бы легче понять было. так все работает отлично, не видит лайк под товарами в ВК
-
Это из за сглаживания в системе.
Сделай снимок вот таким кодом
// Получение скриншота с цветокоррекцией (фильтр 6)
GETSCREEN
COLORMODE(6)
SCREENSHOT
HALT
Снимок попадает в папку Screens по пути в заголовке редактора.
Из него вырежи лайк.
В своем скрипте тоже добавь COLORMODE с тем же уровнем
GETSCREEN // снимок
COLORMODE(6) // цветокоррекция
IF_PICTURE_IN(472,227,1456,964, "like.bmp", -1, 80) // поиск с 80% совпадением
-
Спасибо большое :-*