Автор Тема: Поиск картинки(ок) на экране и клик по ней(памагите)  (Прочитано 556 раз)

0 Пользователей и 1 Гость просматривают эту тему.

sarkis95

  • Зашел в гости
  • *
  • Сообщений: 3
    • Просмотр профиля
Помогите пожалуйста в написании скрипта
задача в том, чтобы на экране обнаружить бота, который "танцует"(немного дрыгает руками от чего одного скрина бота не достаточно для обнаружения) и кликнуть по нему, через шаблоны сделать не выходит, кликер долго думает и не находит, на форуме похожих скриптов не нашел, какую переменную вставить чтобы кликер искал "или одну или вторую или третью и т.д" фотографию бота тоже не нашел.
и если не трудно, подскажите какие переменные вставлять после "вайт 5 сек" для банального клика по определенным кординатам
заранее очень признателен!
« Последнее редактирование: Январь 25, 2019, 07:10:36 pm от sarkis95 »

Космич

  • Активный участник
  • ***
  • Сообщений: 247
    • Просмотр профиля
Re: Поиск картинки(ок) на экране и клик по ней
« Ответ #1 : Январь 25, 2019, 04:26:51 pm »
Выложи полную картинку игрового окна с этим ботом
«Иногда ты ваяешь до тех пор, пока до тебя не дойдёт, что именно ты делаешь.»

sarkis95

  • Зашел в гости
  • *
  • Сообщений: 3
    • Просмотр профиля
Re: Поиск картинки(ок) на экране и клик по ней
« Ответ #2 : Январь 25, 2019, 04:42:06 pm »
Выложи полную картинку игрового окна с этим ботом

скрин общий https://pastenow.ru/db481897ff921ee8052b439c655a3b03
и те, что код взятый по шаблону не находит

Космич

  • Активный участник
  • ***
  • Сообщений: 247
    • Просмотр профиля
Скорее всего через раз будет находить и не факт что бота  ;D

Код: Clickermann
  1. GETSCREEN
  2. COLORMODE(5)
  3. SCANPXL($array_scan, 0,0, $_xmax,$_ymax, 8339295)
  4. $size = ARRSIZE($array_scan)
  5. FOR($i = 0, $i < $size, 2)
  6.   FOR($k = $i + 2, $k < $size, 2)
  7.      $y =     $array_scan[$k+1] - $array_scan[$i+1]
  8.      $x = ABS($array_scan[$k]   - $array_scan[$i])
  9.      IF( ($y > - 1 & $y < 5) & ($x > 10 & $x < 50) )
  10.         MOVE(ROUND( ($array_scan[$i] + $array_scan[$k]) / 2, 0), ROUND( ($array_scan[$i+1] + $array_scan[$k+1]) / 2, 0))
  11.         $size = 0
  12.      END_IF
  13.   END_CYC
  14. END_CYC
  15.  
  16. UNDEFINE($array_scan)
  17.  
  18. HALT
  19.  
« Последнее редактирование: Январь 25, 2019, 11:28:09 pm от Космич »
«Иногда ты ваяешь до тех пор, пока до тебя не дойдёт, что именно ты делаешь.»

Oraven

  • Супермодератор
  • Герой форума
  • *
  • Сообщений: 3675
  • Котэ
    • Просмотр профиля
А с чего он найдет эти картинки если фон все время меняется. Плюс эффекты сглаживания плюс возможная частичная прозрачность этих роботов.

Искать надо уникальный цвет робота,

Космич

  • Активный участник
  • ***
  • Сообщений: 247
    • Просмотр профиля
а я и имел ввиду цвет, хотя мона еще попробовать с разложением на RGB цвета, но это будет еще дольше)
«Иногда ты ваяешь до тех пор, пока до тебя не дойдёт, что именно ты делаешь.»

sarkis95

  • Зашел в гости
  • *
  • Сообщений: 3
    • Просмотр профиля
Скорее всего через раз будет находить и не факт что бота  ;D

Код: Clickermann
  1. GETSCREEN
  2. COLORMODE(5)
  3. SCANPXL($array_scan, 0,0, $_xmax,$_ymax, 8339295)
  4. $size = ARRSIZE($array_scan)
  5. FOR($i = 0, $i < $size, 2)
  6.   FOR($k = $i + 2, $k < $size, 2)
  7.      $y = $array_scan[$k+1] - $array_scan[$i+1]
  8.      $dist = DIST($array_scan[$i], $array_scan[$i+1], $array_scan[$k], $array_scan[$k+1])
  9.      IF( ($y > -1 & $y < 10) & ($dist > 5 & $dist < 40)  )
  10.         $x = ROUND( ($array_scan[$i]   + $array_scan[$k])   / 2, 0)
  11.         $y = ROUND( ($array_scan[$i+1] + $array_scan[$k+1]) / 2, 0)
  12.         MOVE($x, $y)
  13.         $size = 0
  14.      END_IF
  15.   END_CYC
  16. END_CYC
  17.  
  18. UNDEFINE($array_scan)
  19.  
  20. HALT
  21.  

большое спасибо! буду пытаться дополнить)

Космич

  • Активный участник
  • ***
  • Сообщений: 247
    • Просмотр профиля
Я уже изменил, там дистанция между пикселями излишне
«Иногда ты ваяешь до тех пор, пока до тебя не дойдёт, что именно ты делаешь.»