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

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

Title: Какая команда?
Post by: pitahok21 on March 03, 2019, 03:06:19 PM
Всем привет, есть ли в кликермене возможность исключить все цвета фона и искать только определённый цвет по СКРИНУ. Ничего подобного придумать не могу кроме как скриншотить новый крест с таким фоном...
Т.Е. Прикладываю скриншот (вложение), нужно что бы каждый раз не зависимо от фона он нажимал на этот белый крест. Или команда для обнаружения только такой формы пикселей? Благодарю всех кто откликнется на помощь =)
Code: (clickermann) [Select]
#name "Фарм монет"
SUB(поиск, $par1) // подпрограмма с параметрами
   // тело выполняется только после вызова   
      GETSCREEN
      IF_PICTURE_IN (0,0, $_xmax,$_ymax,$par1, -1, 100)//поиск картинки
         $check = 1
         LCLICK($_return1, $_return2)// клик по найденому
         WAITMS(100)
      ELSE
         WAITMS(50)
      END_IF     
END_SUB
 
//начало скрипта
$check = 0
WHILE($check = 0)
 поиск("Запуск.bmp") // вызов подпрограммы (обязательно ниже подпрограммы)
поиск("Монетка.bmp")
поиск("Посмотреть.bmp")
поиск("Крестик.bmp")
поиск("Крестик2.bmp")
  поиск("Крестик3.bmp")
  поиск("Крестик4.bmp")
  поиск("Крестик5.bmp")
  поиск("Крестик6.bmp")
  поиск("Крестик7.bmp")
поиск("Крестик8.bmp")
поиск("Крестик9.bmp")
  поиск("Крестик10.bmp")
  поиск("Крестик11.bmp")
поиск("Крестик12.bmp")
поиск("Крестик13.bmp")
поиск("Крестик14.bmp")
поиск("Крестик15.bmp")
  поиск("Крестик16.bmp")
поиск("Крестик17.bmp")
поиск("Крестик18.bmp")
поиск("Крестик19.bmp")
поиск("Крестик20.bmp")
  поиск("Крутить.bmp")
END_CYC
Title: Re: Какая команда?
Post by: Космич on March 03, 2019, 03:54:35 PM
Закрась фон в пеинте и укажи новый цвет фона в поиске IF_PICTURE_IN (x, y, x2, y2, file, [bgcolor], [currency] )
Title: Re: Какая команда?
Post by: Oraven on March 03, 2019, 04:11:18 PM
Закрасить то можно, только мы будем искать белое пятно и найдем его где угодно на белом фоне.

Вот пример, я ищу крайний белый пиксел на крестике, и проверяю также 3 других конца крестика + проверяю два пиксела по бокам чтоб они небыли белыми.

Code: (clickermann) [Select]
GETSCREEN
COLORMODE(6)
SCANPXL($ARR_SCAN, 574,309, 1029,766, 16777215)
FOR($i=0,$i<ARRSIZE($ARR_SCAN),2)
   IF((PXL($ARR_SCAN[$i]+7, $ARR_SCAN[$i+1]+1) = 16777215)&(PXL($ARR_SCAN[$i], $ARR_SCAN[$i+1]+10) = 16777215)&(PXL($ARR_SCAN[$i]+8, $ARR_SCAN[$i+1]+10) = 16777215)&(PXL($ARR_SCAN[$i]-1, $ARR_SCAN[$i+1]+6) ! 16777215)&(PXL($ARR_SCAN[$i]+9, $ARR_SCAN[$i+1]+5) ! 16777215))
      MOVE($ARR_SCAN[$i]+5, $ARR_SCAN[$i+1]+5)
      WAITMS(100)
      $i=ARRSIZE($ARR_SCAN)
   END_IF
END_CYC
UNDEFINE($ARR_SCAN)

HALT

PS: Тут для себя обнаружил что 64 битная версия кликера выдает ошибку если массив превышает определенную длинну данных. 32 работает нормально.
Title: Re: Какая команда?
Post by: Hito on March 04, 2019, 12:21:53 AM
PS: Тут для себя обнаружил что 64 битная версия кликера выдает ошибку если массив превышает определенную длинну данных. 32 работает нормально.
Я от 64 вообще отказался...
Title: Re: Какая команда?
Post by: pitahok21 on March 06, 2019, 01:30:10 AM
Закрасить то можно, только мы будем искать белое пятно и найдем его где угодно на белом фоне.

Вот пример, я ищу крайний белый пиксел на крестике, и проверяю также 3 других конца крестика + проверяю два пиксела по бокам чтоб они небыли белыми.

Code: (clickermann) [Select]
GETSCREEN
COLORMODE(6)
SCANPXL($ARR_SCAN, 574,309, 1029,766, 16777215)
FOR($i=0,$i<ARRSIZE($ARR_SCAN),2)
   IF((PXL($ARR_SCAN[$i]+7, $ARR_SCAN[$i+1]+1) = 16777215)&(PXL($ARR_SCAN[$i], $ARR_SCAN[$i+1]+10) = 16777215)&(PXL($ARR_SCAN[$i]+8, $ARR_SCAN[$i+1]+10) = 16777215)&(PXL($ARR_SCAN[$i]-1, $ARR_SCAN[$i+1]+6) ! 16777215)&(PXL($ARR_SCAN[$i]+9, $ARR_SCAN[$i+1]+5) ! 16777215))
      MOVE($ARR_SCAN[$i]+5, $ARR_SCAN[$i+1]+5)
      WAITMS(100)
      $i=ARRSIZE($ARR_SCAN)
   END_IF
END_CYC
UNDEFINE($ARR_SCAN)

HALT

PS: Тут для себя обнаружил что 64 битная версия кликера выдает ошибку если массив превышает определенную длинну данных. 32 работает нормально.
Ох, разобраться бы)
Title: Re: Какая команда?
Post by: pitahok21 on March 06, 2019, 01:30:27 AM
Спасибо всем =)
Title: Re: Какая команда?
Post by: dramster on March 06, 2019, 11:43:44 AM
PS: Тут для себя обнаружил что 64 битная версия кликера выдает ошибку если массив превышает определенную длинну данных. 32 работает нормально.
Я от 64 вообще отказался...

А я даже не представляю, что б я делал без нее  ::). По началу тоже думал, что смысла в ней нету.

Пример: купил я длл библиотеку у артмани с набором функций чтения памяти, защищенной от чтения, с их драйвером какимто. Так там две версии, для 32бит винды и для х64. Для вызова этих функций кликерманом я пишу длл, которая использует функции из артмановской длл и передает результат кликерману.

Так вот, для работы с версией длл для х64 винды, потребовалось написать именно х64 длл-ку, а эту длл-ку читает только х64 кликерман... Во как. Такчто смысл в существовании Кликрманна х64 всеже есть  :D.