Author Topic: !!!Помощь с кликом по пикселям!!!  (Read 11594 times)

0 Members and 1 Guest are viewing this topic.

Oraven

  • Супермодератор
  • Герой форума
  • *
  • Posts: 3685
  • Котэ
    • View Profile
Re: !!!Помощь с кликом по пикселям!!!
« Reply #15 on: March 13, 2015, 07:30:50 AM »
Забыл написать про переменную $check = 1 она выступает в роли переключателя.

Code: (clickermann) [Select]
check = 0
WHILE($check = 0) // цикл выполняется пока пиксел не будет найден
   GETSCREEN
   IF_PIXEL_IN(476,479, 618,624, 3359840)   //выбор башни
      $check = 1 // переменная меняется, цикл прерывается при проверке условия
      LCLICK($_return1, $_return2)
      WAIT(1)
   ELSE
      WAITMS(50)
   END_IF
END_CYC // конец цикла

$check = 0
WHILE($check = 0) // следующий цикл со следующим поиском и тд.
   GETSCREEN
   IF_PIXEL_IN(412,881, 566,958, 11245682)   //АТАКОВАТЬ
      $check = 1
      LCLICK($_return1, $_return2)
      WAIT(1)
   ELSE
      WAITMS(50)
   END_IF
END_CYC

$check = 0
WHILE($check = 0)
   GETSCREEN
   IF_PIXEL_IN(144,452, 270,559,  9083840)   //ГЕРОЙ
      $check = 1
      LCLICK(410,626)
      WAIT(1)
   ELSE
      WAITMS(50)
   END_IF
END_CYC

$check = 0
WHILE($check = 0)
   GETSCREEN
   IF_PIXEL_IN(63,336, 168,438,  1637375)   //ГЕРОЙ
      $check = 1
      LCLICK($_return1, $_return2)
      WAIT(1)
   ELSE
      WAITMS(50)
   END_IF
END_CYC


Myotus

  • Зашел в гости
  • *
  • Posts: 13
    • View Profile
Re: !!!Помощь с кликом по пикселям!!!
« Reply #16 on: March 13, 2015, 11:54:15 AM »
Code: (clickermann) [Select]
$check = 0
WHILE($check = 0)
   GETSCREEN
   IF_PIXEL_IN(327,848, 456,947, 10653032)    //АТАКОВАТЬ в окне РУНЫ
$check = 1
  LCLICK($_return1, $_return2)
      WAIT(1)
      LCLICK(322,666)  //Синяя бутылка, всплывающее окно КНОПКА ОК
      WAIT(5)
      LCLICK(400,900)   //Кнопка АТАКОВАТЬ из первого условия  //IF_PIXEL_IN(327,848, 456,947, 10653032)//
   ELSE
    WAITMS(50)
   END_IF
END_CYC
Спасибо за совет, всё работает, только теперь вот какой момент. Вот в этом куске там получается нашли пиксель нажали на кнопку, а после нажатия бывает выскакивает всплывающее окно и надо нажать там кнопку, окно пропадает и снова нажать первую кнопку. Как мне это условие записать? Тут я просто указал левый клик через задержку и он постоянно там нажимает когда к нему подходит, это не удобно и теряется время, плюс задержка может быть и 10 сек и 20 или вообще пару сек.
 Я уже думал что-то вроде такого через или (I) WHILE((PXL (100, 100) ! пиксель в основном окне) I (100, 100) ! пиксель в всплывающем окне)). Только всё равно хрень какая-то. Или что-то после ELSE вписать
Кстати где посмотреть значения символов типа ! и какие ещё существуют. I,&,^ эти я знаю, а какие ещё есть?
« Last Edit: March 13, 2015, 12:03:12 PM by Myotus »

Oraven

  • Супермодератор
  • Герой форума
  • *
  • Posts: 3685
  • Котэ
    • View Profile
Re: !!!Помощь с кликом по пикселям!!!
« Reply #17 on: March 13, 2015, 04:30:06 PM »
Code: (clickermann) [Select]
$check = 0
WHILE($check = 0)
   GETSCREEN
   IF_PIXEL_IN(327,848, 456,947, 10653032)    //АТАКОВАТЬ в окне РУНЫ
      $check = 1
      LCLICK($_return1, $_return2)
      WAIT(1)
      GETSCREEN
      IF(PXL(10,10) = 3) // тут настроить условие поиска пикселя
         LCLICK(322,666)  //Синяя бутылка, всплывающее окно КНОПКА ОК
         WAITMS(500)
         $check = 0 // сбрасываем переключатель
      END_IF
   ELSE
      WAITMS(50)
   END_IF
END_CYC

Значения все в справке описаны.

Myotus

  • Зашел в гости
  • *
  • Posts: 13
    • View Profile
Re: !!!Помощь с кликом по пикселям!!!
« Reply #18 on: March 14, 2015, 10:00:16 PM »
Спасибо дружище, всё разобрался. Кое что дописал. Теперь работает без ошибок. Поставлю на ночь, проверю что получится