Author Topic: Выполнения макроса с привязкой ко времени  (Read 2629 times)

0 Members and 2 Guests are viewing this topic.

casethps

  • Освоившийся
  • **
  • Posts: 23
    • View Profile
Привет всем)
Интересует такой вопрос: можно ли при достижении 6.30 утра делать определенные действия
Move(530,290)
waitms(50)
ldown(530,290)
waitms(50)
lup(530,290)
waitms(100)

Но так же существует макрос основной
Хотелось бы сделать так чтобы в 6.30 он останавливал основной макрос, потом делал действия, которые описаны выше и заново начинал делать основной макрос

Основной макрос
SUB(actions)
   FOR($i=0, $i < 2)
      $we=0
      $ye=24
      while($we=0)
         MOVE(8,$ye)
         WAITMS(200)
         
         inc($ye,10)
         if($ye=354)
            $we=1
         end_if
      end_cyc
     
      MOVE(1520,16)
      WAITMS(200)
      LDOWN(1520,16)
      WAITMS(50)
      LUP(1520,16)
      WAITMS(500)
     
      MOVE(1511,46)
      WAITMS(200)
      LDOWN(1511,46)
      WAITMS(50)
      LUP(1511,46)
      WAITMS(500)
     
      MOVE(1520,16)
      WAITMS(200)
      LDOWN(1520,16)
      WAITMS(50)
      LUP(1520,16)
      WAITMS(500)
     
      MOVE(1507,72)
      WAITMS(200)
      LDOWN(1507,72)
      WAITMS(50)
      LUP(1507,72)
      WAITMS(500)
   
   END_CYC
END_SUB
for($wy=0,$wy<11)
   actions()
   for($wt=0,$wt<75)
      WHEELDOWN
      waitms(50)
   end_cyc
end_cyc
actions()
for($wy=0,$wy<11)
   for($wt=0,$wt<75)
      WHEELUP
      waitms(10)
   end_cyc
   waitms(300)
end_cyc

Vint

  • Супермодератор
  • Герой форума
  • *
  • Posts: 3935
  • Лечу куда хочу. cman 4.13.014x32, 4.14.003 W10
    • View Profile
Хотелось бы сделать так чтобы в 6.30 он останавливал основной макрос, потом делал действия, которые описаны выше и заново начинал делать основной макрос

Code: (clickermann) [Select]
THREAD(main, 1)
    waitms(50) // не убирать!
    // здесь основной скрипт
END_THREAD

IF(($_time_h = 6) & ($_time_m = 30))
    SETTHREAD(main, 2)
    Move(530,290)
    waitms(50)
    ldown(530,290)
    waitms(50)
    lup(530,290)
    waitms(100)
    SETTHREAD(main, 1)
    WAIT(3600)
END_IF
WAIT(10)


casethps

  • Освоившийся
  • **
  • Posts: 23
    • View Profile
спасибо

open_78

  • Активный участник
  • ***
  • Posts: 285
  • v4.13.014 x64
    • View Profile
Может я чего не знаю или не понимаю, но почему вместо
Code: (clickermann) [Select]
LDOWN(1520,16)
WAITMS(50)
LUP(1520,16)
не использовать
Code: (clickermann) [Select]
LCLICK(1520,16)???

casethps

  • Освоившийся
  • **
  • Posts: 23
    • View Profile
У меня почему то не всегда срабатывал (я тестил)

open_78

  • Активный участник
  • ***
  • Posts: 285
  • v4.13.014 x64
    • View Profile
Я подобные движения в подпрограмму засовывал:
Code: (clickermann) [Select]
SUB(klk,$poz1,$poz2)
   MOVE($poz1,$poz2)
   WAITMS(200)
   LDOWN($poz1,$poz2)
   WAITMS(50)
   LUP($poz1,$poz2)
   WAITMS(500)
END_SUB

klk(530,290)
Количество строк значительно сокращает.