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

Основной раздел => Общие вопросы => Topic started by: iliash on October 02, 2015, 03:13:34 PM

Title: help
Post by: iliash on October 02, 2015, 03:13:34 PM
Clickermann делает GETSCREEN, потом делает второй и нажимает на ту точку, в которой изменился цвет пикселя.
Спасибо за внимание. 
Title: Re: help
Post by: Oraven on October 02, 2015, 07:25:15 PM
Понятно о чем ты но нереально, нереально долго. Потому что такой функции нет а собирать все цвета и координаты даже а небольшой области занимает уйму времени. Даже анализ квадрата 200Х200 может занять несколько десятков секунд (зависит от компа) А уж что говорить о всем экране.

Вот такой скрипт получился
Code: (clickermann) [Select]
// область анализа
$x1 = 279 // верхний левый угол
$y1 = 376
$x2 = 397 // нижний правый
$y2 = 490

UNDEFINE($arr_1)
UNDEFINE($arr_2)
INC($x2,1)
INC($y2,1)
LOGWRITE ("Сбор данных 1")
GETSCREEN
FOR($a=$x1,$a<$x2)
   FOR($b=$y1,$b<$y2)
      ARRPUSH($arr_1, PXL($a,$b))
      ARRPUSH($arr_1, $a)
      ARRPUSH($arr_1, $b)
   END_CYC
END_CYC
LOGWRITE ("Сбор данных 1 завершен")

WAIT(2)

LOGWRITE ("Сбор данных 2")
GETSCREEN
FOR($a=$x1,$a<$x2)
   FOR($b=$y1,$b<$y2)
      ARRPUSH($arr_2, PXL($a,$b))
      ARRPUSH($arr_2, $a)
      ARRPUSH($arr_2, $b)
   END_CYC
END_CYC
LOGWRITE ("Сбор данных 2 завершен")

$siz = ARRSIZE($arr_1)
LOGWRITE ("Анализ")
FOR($a=0,$a<$siz,3)
   IF($arr_1[$a] ! $arr_2[$a])
      LCLICK($arr_1[$a+1],$arr_1[$a+2])
      $a=$siz
      WAITMS(100)
      HALT
   END_IF
END_CYC
LOGWRITE ("Сравнение завершено")