Автор Тема: Как в макрос добавить если?  (Прочитано 7729 раз)

0 Пользователей и 1 Гость просматривают эту тему.

kirill

  • Освоившийся
  • **
  • Сообщений: 39
    • Просмотр профиля
Как в макрос добавить если?
« : Октябрь 19, 2012, 08:54:35 pm »
Как сделать так чтобы если не выполняется нахождение цвета в заданном прямоугольнике, он проверял бы снова и снова пока не найдет нужный цвет, а как найдёт то делал бы клик в заданное место?
p.s как сделать рандомные клики в заданной области?
« Последнее редактирование: Октябрь 19, 2012, 09:37:10 pm от kirill »

Сергей

  • Активный участник
  • ***
  • Сообщений: 159
    • Просмотр профиля
Re: Как в макрос добавить если?
« Ответ #1 : Октябрь 19, 2012, 11:34:28 pm »
$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

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


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

Вместо LCLICK
« Последнее редактирование: Октябрь 19, 2012, 11:38:05 pm от stupid_reg »
Отсутствую.

kirill

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

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

WHILE($break = 0)
   
$break=1

END_CYC
опиши их поподробней.
« Последнее редактирование: Октябрь 20, 2012, 07:56:07 am от kirill »

Oraven

  • Супермодератор
  • Герой форума
  • *
  • Сообщений: 3685
  • Котэ
    • Просмотр профиля
Re: Как в макрос добавить если?
« Ответ #3 : Октябрь 20, 2012, 08:19:13 am »
Код: Clickermann
  1. $break = 0
  2. WHILE($break = 0) // если переменная break равна 0 то цикл работает
  3.   GETSCREEN
  4.   IF_PIXEL_IN(50,50, 100,100, 255)
  5.      $break = 1
  6.      LCLICK(75,75)//Нажатие мышкой
  7.   END_IF
  8.   WAITMS(100)//Ожидание между проверками
  9. END_CYC

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

kirill

  • Освоившийся
  • **
  • Сообщений: 39
    • Просмотр профиля
Re: Как в макрос добавить если?
« Ответ #4 : Октябрь 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

  • Супермодератор
  • Герой форума
  • *
  • Сообщений: 3685
  • Котэ
    • Просмотр профиля
Re: Как в макрос добавить если?
« Ответ #5 : Октябрь 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

LCLICK(400+RND(-5,5),500+RND(-5,5))
в результате кликер будет кликать в области 10 пикселов от координаты 400, 500
« Последнее редактирование: Октябрь 20, 2012, 01:38:27 pm от Oraven »

kirill

  • Освоившийся
  • **
  • Сообщений: 39
    • Просмотр профиля
Re: Как в макрос добавить если?
« Ответ #6 : Октябрь 20, 2012, 01:52:02 pm »
Всё разобрался спасибо большое!!!

« Последнее редактирование: Октябрь 20, 2012, 01:56:51 pm от kirill »