Author Topic: Не бейте, я только учусь :)  (Read 1823 times)

0 Members and 1 Guest are viewing this topic.

Cecum

  • Зашел в гости
  • *
  • Posts: 2
    • View Profile
Не бейте, я только учусь :)
« on: November 07, 2017, 04:26:31 AM »
Приветствую всех, для гуру мои вопросы конечно покажутся детскими, но к сожалению раньше мне не приходилось сталкиваться с собственным написанием сценариев, по этому надеюсь на понимание и помощь. Написал простейший сценарий, который в определенное время запускается, делает клики, ожидает окна с нужным пикселем и делает очередные клики
Code: [Select]
IF(($_time_h = 3)&($_time_m = 08)&($_time_s = 00))
LCLICK(212,283)  // 4365302
LCLICK(533,283)  // 16777215
LCLICK(852,285)  // 16645887
LCLICK(1171,283)  // 16777215
LCLICK(1491,283)  // 10013178
   ELSE
   WAITMS(10)
END_IF
GETSCREEN
IF_PIXEL_IN(241,238, 303,257, 2697684)
LOGWRITE ("Пиксель найден")
LCLICK(29,160)  // 16777215
LCLICK(349,159)  // 16777215
LCLICK(668,161)  // 16777215
LCLICK(988,160)  // 16777215
LCLICK(1307,161)  // 16777215
   ELSE
   WAITMS(10)
END_IF

Вопросов несколько:
1. как сделать, чтобы изначально выполнялось только условие по ожидание заданного времени, без поиска пикселя
2. после того как пиксель найден, как выставить количество нажатий по заданным координатам, допустим 2-3 по каждому циклично
3. как после выполнения всех условий остановить работу кликера, я только руками могу это сделать, думал HALT, так с ним вообще не запускается
В общем прошу, не пинайте сильно, я хороший ученик :)

Vint

  • Супермодератор
  • Герой форума
  • *
  • Posts: 3935
  • Лечу куда хочу. cman 4.13.014x32, 4.14.003 W10
    • View Profile
Re: Не бейте, я только учусь :)
« Reply #1 on: November 07, 2017, 08:50:43 AM »
1. Почти то же самое, что в первом условии, но в цикле. Ну и условие обратное, т.к. ждём.
Code: (clickermann) [Select]
WHILE(($_time_h ! 3) | ($_time_h ! 8) & ($_time_s ! 0))
   WAITMS(500)
END_CYC

2. Чёт не очень понятно, ты про циклы совсем не слышал?
Code: (clickermann) [Select]
FOR($i=0, $h < 3)  // 3 раза
    // то, что 3 раза
END_CYC

3. HALT.  Что там с ним может не запускаться? Не вижу никакой связи.


Oraven

  • Супермодератор
  • Герой форума
  • *
  • Posts: 3685
  • Котэ
    • View Profile
Re: Не бейте, я только учусь :)
« Reply #2 on: November 07, 2017, 08:57:57 AM »
Code: (clickermann) [Select]
IF(($_time_h = 3)&($_time_m = 8)&($_time_s = 0)) // Условие срабатывает в 4:00.00
   FOR($a=0,$a<2) // цикл повторит тело 2 раза
      LCLICK(212,283)  // 4365302
      LCLICK(533,283)  // 16777215
      LCLICK(852,285)  // 16645887
      LCLICK(1171,283)  // 16777215
      LCLICK(1491,283)  // 10013178
   END_CYC
   $check = 0
   WHILE($check = 0) // Цикл
      GETSCREEN(241,238, 303,257)
      IF_PIXEL_IN(241,238, 303,257, 2697684)
         LOGWRITE ("Пиксель найден")
         LCLICK(29,160)  // 16777215
         LCLICK(349,159)  // 16777215
         LCLICK(668,161)  // 16777215
         LCLICK(988,160)  // 16777215
         LCLICK(1307,161)  // 16777215
         $check = 1 // при успешном нахождении разрешаем выход из цикла 
      ELSE
         WAITMS(50)
      END_IF
   END_CYC
   HALT // Останавливаем выполнение
ELSE
   WAITMS(10)
END_IF

Oraven

  • Супермодератор
  • Герой форума
  • *
  • Posts: 3685
  • Котэ
    • View Profile
Re: Не бейте, я только учусь :)
« Reply #3 on: November 07, 2017, 08:59:05 AM »
3. HALT.  Что там с ним может не запускаться? Не вижу никакой связи.

Ну циклов то у него нет, он поди написал его в конце, скрипт поле запуска тут же и останавливается.

Cecum

  • Зашел в гости
  • *
  • Posts: 2
    • View Profile
Re: Не бейте, я только учусь :)
« Reply #4 on: November 07, 2017, 12:08:01 PM »
Огромное Вам спасибо, буду дальше грызть гранит науки и таки да HALT впихнул в конце и с циклами не сталкивался - буду исправляться