Здравствуйте, гость ( Вход | Регистрация )

> FindImage, поиск одинаковых картинок и клик по ним
portos
сообщение 24.2.2018, 20:32
Сообщение #1


****

Apprentice
Сообщений: 195
Регистрация: 6.12.2014
Группа: Пользователи
Наличность: 0
Пользователь №: 17.157



подскажите , есть 5 одинаковых картинок в браузере , и надо кликнуть по каждой. появляються в разных местах
Пользователь в офлайнеDelete PostОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
 
Ответить в эту темуОткрыть новую тему
Ответов
FREEON
сообщение 17.4.2018, 13:31
Сообщение #2


*****

Journeyman
Сообщений: 365
Регистрация: 14.2.2017
Группа: Пользователи
Наличность: 0
Пользователь №: 18.346
Возраст: 25



Не знаю в чем косяк но спустя время выбивает ошибку pos по координатам...хотя пробовал поиск и для одного объекта и для всех найденных с параметром -1
set #объект findimage (зона поиска(путь\s0.bmp) %s5 2 80 -1)
Прикрепленный файл  Screenshot_5.bmp ( 849,66 килобайт ) Кол-во скачиваний: 183

Для понимания процесса...есть 6 попыток... 7 слотов в которые рандомно падают конфеты в наборе 5, 3 и 1. Вот нужно собрать сперва максимальное колличество наборов сладостей а затем меншее... и лишнюю одну которая остаеться выбросить часто это набор по 1 но бывает и 3
Код

set #s0 findimage (434, 165 1014, 644 (D:\_UOPilot\Image\botn\s0.bmp) %s0 2 80)
    while #s0 = 0 //пока есть попытки
           set #s0 findimage (434, 165 1014, 644 (D:\_UOPilot\Image\botn\s0.bmp) %s0 2 80)
           set #s5 findimage (434, 165 1014, 644 (D:\_UOPilot\Image\botn\s5.bmp) %s5 2 80)
           if #s5 > 0 // поиск набора по 5 сладостей
              set #s5 findimage (434, 165 1014, 644 (D:\_UOPilot\Image\botn\s5.bmp) %s5 2 80)
              set #x (%s5 [1 1] + %s5 [1 3]) / 2
              set #y (%s5 [1 2] + %s5 [1 4]) / 2
              left #x #y //клик на сладость
              wait 1s
              set #x1 (%s5 [1 1] + %s5 [1 3]) / 2 + 50
              set #y1 (%s5 [1 2] + %s5 [1 4]) / 2 - 15
              left #x1 #y1 //получить вкусняшку
              wait 1s
           end_if
           set #s5 findimage (434, 165 1014, 644 (D:\_UOPilot\Image\botn\s5.bmp) %s5 2 80)
           if #s5 = 0 // если нет набора по 5
              set #s3 findimage (434, 165 1014, 644 (D:\_UOPilot\Image\botn\s3.bmp) %s3 2 80)
              if #s3 > 0 //собирать по 3
                 set #s3 findimage (434, 165 1014, 644 (D:\_UOPilot\Image\botn\s3.bmp) %s3 2 80)
                 set #x (%s3 [1 1] + %s3 [1 3]) / 2
                 set #y (%s3 [1 2] + %s3 [1 4]) / 2
                 left #x #y //клик на сладость
                 wait 1s
                 set #x1 (%s3 [1 1] + %s3 [1 3]) / 2 + 50
                 set #y1 (%s3 [1 2] + %s3 [1 4]) / 2 - 15
                 left #x1 #y1 //забрать вкусняшку
                 wait 1s
              end_if
           end_if
           set #s3 findimage (434, 165 1014, 644 (D:\_UOPilot\Image\botn\s3.bmp) %s3 2 80)
           if #s3 = 0 // если нет наборов по 5 и 3
              set #s3 findimage (434, 165 1014, 644 (D:\_UOPilot\Image\botn\s3.bmp) %s3 2 80)
              set #s1 findimage (434, 165 1014, 644 (D:\_UOPilot\Image\botn\s1.bmp) %s1 2 80)
              if #s1 > 0 //собирать по 1
                 set #s1 findimage (434, 165 1014, 644 (D:\_UOPilot\Image\botn\s1.bmp) %s1 2 80)
                 set #x (%s1 [1 1] + %s1 [1 3]) / 2
                 set #y (%s1 [1 2] + %s1 [1 4]) / 2
                 left #x #y //клик по конфете
                 wait 1s
                 set #x1 (%s1 [1 1] + %s1 [1 3]) / 2 + 50
                 set #y1 (%s1 [1 2] + %s1 [1 4]) / 2 - 15
                 left #x1 #y1 //получить конфету
                 wait 1s
              end_if
           end_if
        end_while
    set #s0 findimage (434, 165 1014, 644 (D:\_UOPilot\Image\botn\s0.bmp) %s0 2 80)
    if #s0 > 1 //если все попытки израсходованы освободить слоты от сладостей
    set #s00 findimage (434, 165 1014, 644 (D:\_UOPilot\Image\botn\s00.bmp) %s00 2 80)
    if #s00 > 0
    set #s00 findimage (434, 165 1014, 644 (D:\_UOPilot\Image\botn\s1.bmp) %s00 2 80)
    set #x (%s00 [1 1] + %s00 [1 3]) / 2
    set #y (%s00 [1 2] + %s00 [1 4]) / 2
    left #x #y
    wait 1s
    set #x1 (%s00 [1 1] + %s00 [1 3]) / 2 - 50
    set #y1 (%s00 [1 2] + %s00 [1 4]) / 2
    left #x1 #y1
    wait 1s
    end_if
    end_if

Не знаю еще но почему-то когда идет while если не дублировать set в самом цикле то находит один раз...если дублировать сет в самом цикле тогда работает как нужно но иногда опять выбивает ошибку pos c координатами. С чем это связанно?
пример
Код

set #test параметры поиска
while #test > 1 // в принципе любое условие
    set #test параметры поиска
   //действие
end_while
Пользователь в офлайнеDelete PostОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения

Сообщений в этой теме
portos   FindImage   24.2.2018, 20:32
cirus   set #a FindImage (0 0 1920 1080 (d:...   24.2.2018, 21:26
dron4938   set #a FindImage (0 0 1920 1080 (d:...   24.2.2018, 21:55
portos   set #a FindImage (0 0 1920 1080 (d:...   24.2.2018, 22:29
Sreg   А что значат числа "2 80 -1 5" после %ar...   16.3.2018, 11:54
cirus   http://uopilot.tati.pro/index.php?title=Findimage   16.3.2018, 12:14
Sreg   Понятно, а поиск одного слова на экране тоже через...   18.3.2018, 17:15
DarkMaster   А чем он плох? Иногда имеет смысл искать через вст...   18.3.2018, 18:13
Sreg   Ну в деле я пока еще не пробовал, просто слова не ...   18.3.2018, 18:45
cirus   Закрашиваете левый верхний пиксель и весь фон в о...   18.3.2018, 19:13
Sreg   Работает пока очень коряво, срабатывает через раз....   22.3.2018, 3:39
DarkMaster   Deviation задан в параметрах поиска? Погрешность ~...   22.3.2018, 10:40
cirus   https://forum.uokit.com/index.php?showtopic...mp;h...   22.3.2018, 11:06
Sreg   Я как понял скрипт готовый, нужно только указать п...   22.3.2018, 12:38
cirus   Да. Подобрать deviation, его же указывать потом в...   22.3.2018, 13:21
Sreg   Сначала подумал скрипт не рабочий, а потом потести...   22.3.2018, 14:14
cirus   deviation подберите, часть пикселей всё равно оста...   22.3.2018, 14:40
Sreg   Я попробую. А пилоте есть функция, чтоб поиск пикс...   22.3.2018, 15:23
DarkMaster   Нет. Ну точнее в каких-то релизах оно было случай...   22.3.2018, 18:58
cirus   Результаты поиска можно отсортировать. Sort_array   23.3.2018, 1:32
Sreg   Я так не раскурил тему про sort array... я смекну...   29.3.2018, 15:17
cirus   set #s5 findimage (434, 165 1014, 644 (D...   17.4.2018, 14:48
FREEON   set #s5 findimage (434, 165 1014, 644 (D...   17.4.2018, 15:02
DarkMaster   Т.е. при повторном поиске изображение может и не н...   17.4.2018, 15:36
FREEON   Т.е. при повторном поиске изображение может и не ...   17.4.2018, 15:46


Ответить в эту темуОткрыть новую тему
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 

- Текстовая версия | Версия для КПК Сейчас: 18.7.2025, 7:09
Designed by Nickostyle