Author Topic: Возможно ли такое условие?  (Read 2601 times)

0 Members and 1 Guest are viewing this topic.

Hito

  • Герой форума
  • *****
  • Posts: 1212
    • View Profile
Возможно ли такое условие?
« on: February 15, 2014, 07:41:27 PM »
Ребят, такой вопрос... Вот, скажем, простой скрипт:

getscreen
if_pixel_in(0,0, $_xmax,$_ymax, 1135487)
  lclick($_return1, $_return2)
end_if

Можно ли как-то сделать так, чтобы lclick($_return1, $_return2) производился только в том случае, если найденный пиксель остается на месте, скажем, пару секунд, а не передвигается по экрану?
Я не ду... Потому и не бу...

Oraven

  • Супермодератор
  • Герой форума
  • *
  • Posts: 3685
  • Котэ
    • View Profile
Re: Возможно ли такое условие?
« Reply #1 on: February 15, 2014, 08:51:23 PM »
Code: (clickermann) [Select]
GETSCREEN
IF_PIXEL_IN(0,0, $_xmax,$_ymax, 1135487)
   $time = $_ms + 2000 // задержка в мс
   WHILE((PXL($_return1,$_return2) = 1135487) & ($time > $_ms))
      WAITMS(50)
      GETSCREEN
   END_CYC
   IF(PXL($_return1,$_return2) = 1135487)
      lclick($_return1, $_return2)
      WAITMS(100)
   END_IF
END_IF

Hito

  • Герой форума
  • *****
  • Posts: 1212
    • View Profile
Re: Возможно ли такое условие?
« Reply #2 on: February 15, 2014, 10:05:46 PM »
Code: (clickermann) [Select]
GETSCREEN
IF_PIXEL_IN(0,0, $_xmax,$_ymax, 1135487)
   $time = $_ms + 2000 // задержка в мс
   WHILE((PXL($_return1,$_return2) = 1135487) & ($time > $_ms))
      WAITMS(50)
      GETSCREEN
   END_CYC
   IF(PXL($_return1,$_return2) = 1135487)
      lclick($_return1, $_return2)
      WAITMS(100)
   END_IF
END_IF

Спс! Для общего развития... - WAITMS(50) в 5-ой строчке и WAITMS(100) в 10-ой для чего?... И еще... Я знаю, что я тут спрашивал вроде уже, но найти что-то не могу... Как сделать так, чтоб кликер сделал скрин определенной области экрана? Скажем в (x,y, x2,y2)
Я не ду... Потому и не бу...

Oraven

  • Супермодератор
  • Герой форума
  • *
  • Posts: 3685
  • Котэ
    • View Profile
Re: Возможно ли такое условие?
« Reply #3 on: February 15, 2014, 10:26:17 PM »
Это задержки, нет необходимости анализировать экран каждую миллисекунду нагружая при этом проц на 100%. Даже 100 мс это почти мгновенно. Задержка серьезно разгружает процессор.

Только в 4.9.004 версии появилась новая функция SCREENSHOTEX

Пример:
Code: (clickermann) [Select]
GETSCREEN
SCREENSHOTEX(200, 200, 400, 400, 0) // сохранить область 200, 200, 400, 400 в BMP
SCREENSHOTEX(200, 200, 400, 400, 1) // сохранить область 200, 200, 400, 400 в JPG
SCREENSHOTEX(200, 200, 400, 400, "Картинка_", 1) // сохранить область 200, 200, 400, 400 в JPG вида Картинка_0000

 
« Last Edit: February 16, 2014, 10:39:57 AM by Oraven »

Hito

  • Герой форума
  • *****
  • Posts: 1212
    • View Profile
Re: Возможно ли такое условие?
« Reply #4 on: February 16, 2014, 02:33:01 AM »
Благодарю!
Я не ду... Потому и не бу...