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

Основной раздел => Общие вопросы => Topic started by: Ramzesia on November 12, 2019, 02:02:50 PM

Title: прошу помощи
Post by: Ramzesia on November 12, 2019, 02:02:50 PM
Помогите пожалуйста никак не могу сделать что бы работало(
Нужно проверить 2 пикселя в разных частях (оба находятся в этой области GETSCREEN(393,178, 411,187)) если один или оба найдены выход из цикла если нет то (LOGWRITE ("Добиваем"))

Code: (clickermann) [Select]
$check = 0
WHILE($check = 0)
   GETSCREEN(393,178, 411,187)
   COLORMODE(6, 393,178, 411,187)
   IF_PIXEL_IN(393,178, 401,180, 4145023, 4145087)
      $check = 1
      LOGWRITE ("1")
      WAITMS(100)
   ELSE
      IF_PIXEL_IN(370,179, 373,185, 16777215, 12566463)
         $check = 1
         LOGWRITE ("2")
         WAITMS(100)
      ELSE
         WAITMS(200)
         DBLCLICK(368,156)
         LOGWRITE ("Добиваем")
         WAITMS(200)
         LCLICK(285,521)
         WAITMS(1400)
      END_IF
      WAITMS(50)
   END_IF
END_CYC

Может так можно?
Code: (clickermann) [Select]
IF_PIXEL_IN(393,178, 401,180, 4145023, 4145087) | (370,179, 373,185, 16777215, 12566463)
$check = 1
Title: Re: прошу помощи
Post by: Oraven on November 12, 2019, 04:35:36 PM
Может так можно?
Code: (clickermann) [Select]
IF_PIXEL_IN(393,178, 401,180, 4145023, 4145087) | (370,179, 373,185, 16777215, 12566463)
$check = 1
Нет, так нельзя.

У тебя зоны снимка не сходятся с зонами поиска. При таких задержках ограничивать зону снимка не нужно.
Вот так все правильно
Code: (clickermann) [Select]
$check = 0
WHILE($check = 0)
   GETSCREEN
   COLORMODE(6)
   IF_PIXEL_IN(393,178, 401,180, 4145023, 4145087)
      $check = 1
      LOGWRITE ("1")
      WAITMS(100)
   ELSE
      IF_PIXEL_IN(370,179, 373,185, 16777215, 12566463)
         $check = 1
         LOGWRITE ("2")
         WAITMS(100)
      ELSE
         WAITMS(200)
         DBLCLICK(368,156)
         LOGWRITE ("Добиваем")
         WAITMS(200)
         LCLICK(285,521)
         WAITMS(1400)
      END_IF
   END_IF
END_CYC

Если задачи получить координату цвета нет то можно воспользоваться PXLCOUNT
Code: (clickermann) [Select]
GETSCREEN
COLORMODE(6)
WHILE((PXLCOUNT(393,178, 401,180, 4145023) = 0)&(PXLCOUNT(393,178, 401,180, 4145087) = 0)&(PXLCOUNT(370,179, 373,185, 16777215) = 0)&(PXLCOUNT(370,179, 373,185, 12566463) = 0))
   WAITMS(200)
   DBLCLICK(368,156)
   LOGWRITE ("Добиваем")
   WAITMS(200)
   LCLICK(285,521)
   WAITMS(1400)
   GETSCREEN
   COLORMODE(6)
END_CYC
Title: Re: прошу помощи
Post by: Ramzesia on November 12, 2019, 08:29:50 PM
Спасибо большое.