Author Topic: прошу помощи  (Read 1352 times)

0 Members and 1 Guest are viewing this topic.

Ramzesia

  • Активный участник
  • ***
  • Posts: 263
    • View Profile
прошу помощи
« 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
« Last Edit: November 12, 2019, 02:24:14 PM by Ramzesia »

Oraven

  • Супермодератор
  • Герой форума
  • *
  • Posts: 3685
  • Котэ
    • View Profile
Re: прошу помощи
« Reply #1 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

Ramzesia

  • Активный участник
  • ***
  • Posts: 263
    • View Profile
Re: прошу помощи
« Reply #2 on: November 12, 2019, 08:29:50 PM »
Спасибо большое.