Author Topic: Как в макрос добавить если?  (Read 12144 times)

0 Members and 3 Guests are viewing this topic.

kirill

  • Освоившийся
  • **
  • Posts: 39
    • View Profile
Как в макрос добавить если?
« on: October 19, 2012, 08:54:35 PM »
Как сделать так чтобы если не выполняется нахождение цвета в заданном прямоугольнике, он проверял бы снова и снова пока не найдет нужный цвет, а как найдёт то делал бы клик в заданное место?
p.s как сделать рандомные клики в заданной области?
« Last Edit: October 19, 2012, 09:37:10 PM by kirill »

Сергей

  • Активный участник
  • ***
  • Posts: 159
    • View Profile
Re: Как в макрос добавить если?
« Reply #1 on: October 19, 2012, 11:34:28 PM »
Code: [Select]
$break = 0
$color = COLORGEN(255,255,0)//Цвет
WHILE($break = 0)
   GETSCREEN
   IF_PIXEL_IN(50,50,100,100,$color)//Область. x, y, x2, y2
      LCLICK(75,75)//Нажатие мышкой
      $break = 1// Убери если не хочешь прерывать цикл.
   END_IF
   WAITMS(100)//Ожидание между проверками
END_CYC

Рандомные клики:
Code: [Select]
$rnd_x = RND(50,100)//Разброс по x
$rnd_y = RND(50,100)//Разброс по y
LCLICK($rnd_x,$rnd_y)


Если не работает, то юзай           
Code: [Select]
LDOWN($x,$y)
WAITMS(30)
LUP($x,$y)
WAITMS(30)

Вместо LCLICK
« Last Edit: October 19, 2012, 11:38:05 PM by stupid_reg »
Отсутствую.

kirill

  • Освоившийся
  • **
  • Posts: 39
    • View Profile
Re: Как в макрос добавить если?
« Reply #2 on: October 20, 2012, 07:52:53 AM »
мне не понятны эти функции:
$break = 0

$color = COLORGEN(255,255,0)//Цвет

WHILE($break = 0)
   
$break=1

END_CYC
опиши их поподробней.
« Last Edit: October 20, 2012, 07:56:07 AM by kirill »

Oraven

  • Супермодератор
  • Герой форума
  • *
  • Posts: 3685
  • Котэ
    • View Profile
Re: Как в макрос добавить если?
« Reply #3 on: October 20, 2012, 08:19:13 AM »
Code: (clickermann) [Select]
$break = 0
WHILE($break = 0) // если переменная break равна 0 то цикл работает
   GETSCREEN
   IF_PIXEL_IN(50,50, 100,100, 255)
      $break = 1
      LCLICK(75,75)//Нажатие мышкой
   END_IF
   WAITMS(100)//Ожидание между проверками
END_CYC

Переменной $break присваивается значение 1 (теперь цикл WHILE($break = 0) уже работать не будет, сценарий продолжится)
« Last Edit: December 09, 2013, 08:09:27 PM by Oraven »

kirill

  • Освоившийся
  • **
  • Posts: 39
    • View Profile
Re: Как в макрос добавить если?
« Reply #4 on: October 20, 2012, 01:18:00 PM »
$rnd_x = RND(50,100)//Разброс по x
$rnd_y = RND(50,100)//Разброс по y
LCLICK($rnd_x,$rnd_y)
этот макрос работает не так как мне надо,надо чтобы он нажимал хаотично не по всему экрану, а только в выделенной области. Пусть это будет квадрат 5х5 см в нижнем левом углу. Как сделать?

Oraven

  • Супермодератор
  • Герой форума
  • *
  • Posts: 3685
  • Котэ
    • View Profile
Re: Как в макрос добавить если?
« Reply #5 on: October 20, 2012, 01:35:53 PM »
$rnd_x = RND(50,100)//Разброс по x
$rnd_y = RND(50,100)//Разброс по y
LCLICK($rnd_x,$rnd_y)
этот макрос работает не так как мне надо,надо чтобы он нажимал хаотично не по всему экрану, а только в выделенной области. Пусть это будет квадрат 5х5 см в нижнем левом углу. Как сделать?

Проще писать так.
Предположим тебе нужно кликать по координате 400, 500

Code: [Select]
LCLICK(400+RND(-5,5),500+RND(-5,5))
в результате кликер будет кликать в области 10 пикселов от координаты 400, 500
« Last Edit: October 20, 2012, 01:38:27 PM by Oraven »

kirill

  • Освоившийся
  • **
  • Posts: 39
    • View Profile
Re: Как в макрос добавить если?
« Reply #6 on: October 20, 2012, 01:52:02 PM »
Всё разобрался спасибо большое!!!

« Last Edit: October 20, 2012, 01:56:51 PM by kirill »