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

Основной раздел => Общие вопросы => Topic started by: aleks15 on October 31, 2014, 10:44:59 PM

Title: Вопрос по коду поиска картинки
Post by: aleks15 on October 31, 2014, 10:44:59 PM
Помогите разрешить проблему. Написал код на  поиск картинки с условием else, но почему то вне зависимости от истинности выражения, esle в любом случае выполняется. Посмотрите код, что не так?

Code: [Select]
GETSCREEN
   IF_PICTURE_IN (0,0, 1365,726, "домой1.bmp", 10)
 
   //ищет картинку главная
   move($_return1, $_return2) //наводит на картинку
   LCLICK ($_return1, $_return2)   //кликает на картинку
wait(1)
else
// нажимаем обновить
wait(1)

   IF_PICTURE_IN (0,0, 1365,726, "обновить.bmp", 10)
 
   //ищет картинку обновить
   move($_return1, $_return2) //наводит на картинку
   LCLICK ($_return1, $_return2)   //кликает на картинку
end_if
Title: Re: Вопрос по коду поиска картинки
Post by: dramster on October 31, 2014, 11:18:39 PM
Code: (clickermann) [Select]
GETSCREEN
IF_PICTURE_IN (0,0, 1365,726, "домой1.bmp", 10)
 
   //ищет картинку главная
   move($_return1, $_return2) //наводит на картинку
   LCLICK ($_return1, $_return2)   //кликает на картинку
   wait(1)
else
   // нажимаем обновить
   wait(1)

   IF_PICTURE_IN (0,0, 1365,726, "обновить.bmp", 10)
 
     //ищет картинку обновить
     move($_return1, $_return2) //наводит на картинку
     LCLICK ($_return1, $_return2)   //кликает на картинку
   end_if
end_if

каждое условие IF должно заканчиваться END_IF
Title: Re: Вопрос по коду поиска картинки
Post by: Oraven on October 31, 2014, 11:25:22 PM
А что у тебя обозначает 10 по твоему?
IF_PICTURE_IN (0,0, 1365,726, "домой1.bmp", 10)
Title: Re: Вопрос по коду поиска картинки
Post by: aleks15 on October 31, 2014, 11:26:31 PM
Спасибо)) помогло, буду знать
Title: Re: Вопрос по коду поиска картинки
Post by: aleks15 on October 31, 2014, 11:27:32 PM
А что у тебя обозначает 10 по твоему?
IF_PICTURE_IN (0,0, 1365,726, "домой1.bmp", 10)

точность поиска %
Title: Re: Вопрос по коду поиска картинки
Post by: Oraven on October 31, 2014, 11:30:35 PM
точность поиска

Да ну?

Ну во первых писать надо так
Code: (clickermann) [Select]
IF_PICTURE_IN (0,0, 1365,726, "домой1.bmp", -1, 10)
Во вторых 10% это нереально мало. Я считаю рабочие значения 70-100%
Используй COLORMODE, цвета сильно сократятся а заодно и процент совпадения можно будет повысить. Ведь чем меньше процент тем дольше поиск.
Title: Re: Вопрос по коду поиска картинки
Post by: dramster on October 31, 2014, 11:32:25 PM
 IF_PICTURE_IN (0,0, 1365,726, "обновить.bmp", 10)

 :) походу игноритуется цвет  "10", которого скорее всего нет в картинке, такчто находит всю картинку 100%
Title: Re: Вопрос по коду поиска картинки
Post by: aleks15 on October 31, 2014, 11:33:38 PM
точность поиска

Да ну?

Ну во первых писать надо так
Code: (clickermann) [Select]
IF_PICTURE_IN (0,0, 1365,726, "домой1.bmp", -1, 10)
Во вторых 10% это нереально мало. Я считаю рабочие значения 70-100%
Используй COLORMODE, цвета сильно сократятся а заодно и процент совпадения можно будет повысить. Ведь чем меньше процент тем дольше поиск.

я процент специально низкий поставил чтобы дольше искал, чтобы кликер работал рандомно и меньше шансов определить что это бот.
Title: Re: Вопрос по коду поиска картинки
Post by: dramster on October 31, 2014, 11:38:41 PM
Quote
я процент специально низкий поставил чтобы дольше искал, чтобы кликер работал рандомно и меньше шансов определить что это бот.

ну вот и отлично....как хитро придумано   :D




секретная функция, рандомная задержка waitms(RND (500, 1500)), где задержка будет от 500мс до 1500мс.
Title: Re: Вопрос по коду поиска картинки
Post by: aleks15 on October 31, 2014, 11:45:17 PM
Quote
я процент специально низкий поставил чтобы дольше искал, чтобы кликер работал рандомно и меньше шансов определить что это бот.

ну вот и отлично....как хитро придумано   :D




секретная функция, рандомная задержка waitms(RND (500, 1500)), где задержка будет от 500мс до 1500мс.

 ;Dспасибо)) не знал, только разбираюсь в программе))
Title: Re: Вопрос по коду поиска картинки
Post by: Oraven on November 01, 2014, 12:02:09 AM
я процент специально низкий поставил чтобы дольше искал, чтобы кликер работал рандомно и меньше шансов определить что это бот.

(http://cs14111.vk.me/c620723/v620723435/1dc13/wIWoX1pbFe4.jpg)
Title: Re: Вопрос по коду поиска картинки
Post by: aleks15 on November 01, 2014, 12:03:15 AM
я процент специально низкий поставил чтобы дольше искал, чтобы кликер работал рандомно и меньше шансов определить что это бот.

(http://cs14111.vk.me/c620723/v620723435/1dc13/wIWoX1pbFe4.jpg)

ну это было единственное, что я мог придумать когда только разбираюсь в программе
Title: Re: Вопрос по коду поиска картинки
Post by: aleks15 on November 01, 2014, 12:11:36 AM
я процент специально низкий поставил чтобы дольше искал, чтобы кликер работал рандомно и меньше шансов определить что это бот.

(http://cs14111.vk.me/c620723/v620723435/1dc13/wIWoX1pbFe4.jpg)

еще хотел задать вопрос, а как сделать чтобы картинка искалась больше времени и пока не найдет не завершалось условие?
Title: Re: Вопрос по коду поиска картинки
Post by: Oraven on November 01, 2014, 12:16:34 AM
Code: (clickermann) [Select]
$check = 0
WHILE($check = 0) // цикл поиска изображения, пока не найдет не завершится.
   GETSCREEN
   IF_PICTURE_IN (0,0, $_xmax,$_ymax, "file.bmp", -1, 100)
      $check = 1
      LCLICK($_return1, $_return2)
      WAITMS(100)
   ELSE
      WAITMS(50)
   END_IF
END_CYC
Title: Re: Вопрос по коду поиска картинки
Post by: Oraven on November 01, 2014, 12:20:36 AM
Вот тебе вариант с не бесконечным поиском

Code: (clickermann) [Select]
$time = $_time_t + 30 // таймер на 30 сек
WHILE($time > $_time_t) // ищем картинку 30 секунд
   GETSCREEN
   IF_PICTURE_IN (0,0, $_xmax,$_ymax, "домой1.bmp", -1, 100)
      $time = 0
      move($_return1, $_return2) //наводит на картинку
      LCLICK ($_return1, $_return2)   //кликает на картинку
      wait(1)
   ELSE
      WAITMS(50)
   END_IF
END_CYC

IF($time!0) // если за 30 сек не нашли то выполняем это
   GETSCREEN
   IF_PICTURE_IN (0,0, 1365,726, "обновить.bmp", -1, 100)       
      //ищет картинку обновить
      move($_return1, $_return2) //наводит на картинку
      LCLICK ($_return1, $_return2)   //кликает на картинку
   end_if
END_IF
Title: Re: Вопрос по коду поиска картинки
Post by: aleks15 on November 01, 2014, 12:39:03 AM
спасибо
Title: Re: Вопрос по коду поиска картинки
Post by: showtime on November 01, 2014, 04:27:00 AM
почему-то не ищет одну текстурку хоть убей. колормод не помогает.
третья картинка = вторая в колормод 6.  первые три никак не ищет, хотя это есть на экране 100%. ставлю поиск четвертой - находит. но не она мне нужна, а именно эта чернота-синева между ними
Title: Re: Вопрос по коду поиска картинки
Post by: Vint on November 01, 2014, 07:29:25 PM
Что в этом Паворотти, ни голоса ни слуха. Рабинович мне немного напел.
Короче, что можно сказать по картинкам в jpg?
Title: Re: Вопрос по коду поиска картинки
Post by: showtime on November 02, 2014, 12:25:06 AM
Что в этом Паворотти, ни голоса ни слуха. Рабинович мне немного напел.
Короче, что можно сказать по картинкам в jpg?
Нет) картинки в bmp 24. Писал пост с планшета, скачивал их с гугл диска и он сохранил в жпг. Повторюсь, четвертую находит.
Title: Re: Вопрос по коду поиска картинки
Post by: dramster on November 02, 2014, 12:33:38 AM
поиграй с процентом совпадения.....или, если у тебя находит четвертую, то отталкивайся от нее, х = $_return1 - 20 если тебе нужно туда кликнуть или типо того. если тебе нужно просто узнать что там ничего нету, то воспользуйся PXL (x, y) или IF_PIXEL_IN (x, y, x2, y2, color1, ...)
Title: Re: Вопрос по коду поиска картинки
Post by: showtime on November 02, 2014, 01:05:43 AM
поиграй с процентом совпадения.....или, если у тебя находит четвертую, то отталкивайся от нее, х = $_return1 - 20 если тебе нужно туда кликнуть или типо того. если тебе нужно просто узнать что там ничего нету, то воспользуйся PXL (x, y) или IF_PIXEL_IN (x, y, x2, y2, color1, ...)
мне нужно просто найти пустую ячейку. мол, если есть хоть одна, то.. если нету - else. а он ее в упор не видит. это же просто синюшный квадрат (
Title: Re: Вопрос по коду поиска картинки
Post by: dramster on November 02, 2014, 01:16:46 AM
дай пожалуйста скрин окна или той облости где нужно найти квадрат. я немного прикинул, в колормод 6 100% должно найти этот квадрат, чудес то небывает.
Title: Re: Вопрос по коду поиска картинки
Post by: showtime on November 02, 2014, 01:49:18 AM
дай пожалуйста скрин окна или той облости где нужно найти квадрат. я немного прикинул, в колормод 6 100% должно найти этот квадрат, чудес то небывает.
область. на деле ее можно сузить. кстати, он даже пиксель не ищет такого цвета))
Title: Re: Вопрос по коду поиска картинки
Post by: dramster on November 02, 2014, 02:03:07 AM
Code: (clickermann) [Select]
GETSCREEN
COLORMODE(6, 814,367, 1111,758)

IF_PICTURE_IN (814,367, 1111,758, "1.bmp")
 print($_return1,"x", $_return2)
END_IF

halt

находит без проблем

прямо в браузере можно найти
Code: (clickermann) [Select]
GETSCREEN

COLORMODE(6, 0,0, $_xmax,$_ymax)

IF_PICTURE_IN (0,0, $_xmax,$_ymax, "1.bmp")
 print($_return1,"x", $_return2)
END_IF

halt

Title: Re: Вопрос по коду поиска картинки
Post by: showtime on November 02, 2014, 04:04:09 AM
Code: (clickermann) [Select]
GETSCREEN
COLORMODE(6, 814,367, 1111,758)

IF_PICTURE_IN (814,367, 1111,758, "1.bmp")
 print($_return1,"x", $_return2)
END_IF

halt

находит без проблем

прямо в браузере можно найти
Code: (clickermann) [Select]
GETSCREEN

COLORMODE(6, 0,0, $_xmax,$_ymax)

IF_PICTURE_IN (0,0, $_xmax,$_ymax, "1.bmp")
 print($_return1,"x", $_return2)
END_IF

halt

и у меня нашел. чудеса? кстати, я указывал colormode(6) - так, без области. в примере в справке оно так. может из-за этого не находил раньше? хотя опять же , одну то он находил как то..

добавлено: и все равно как то не совсем всё так. на этой картинке он принимает за искомую текстурку это место.
пришлось изворачиваться - загораживать этот кусок элементами интерфейса -_-
Title: Re: Вопрос по коду поиска картинки
Post by: showtime on November 02, 2014, 02:42:12 PM
как раз таки огород получится если писать эти исключения(только не на экране , а в коде)
окон 6, таких сумок в каждом окне тоже. перед запуском макроса меняется разрешение с оконного fhd до минимального разрешения. поэтому привязка к конкретной области и  пикселям не целесообразна - при расстановки окон всегда есть погрешность. я описываю область поиска сумок с неким запасом. скажите прописать это тоже в коде( расстановку окон), так сумки в каждом окне тоже каждый раз перемещаются в нужное место в ручную, потому что при переходе с минимального разрешения на fhd и обратно там все смещается само