Author Topic: Цикличность с условием времени  (Read 3189 times)

0 Members and 1 Guest are viewing this topic.

casethps

  • Освоившийся
  • **
  • Posts: 23
    • View Profile
Цикличность с условием времени
« on: June 23, 2018, 08:58:29 PM »
Всем привет
Хотел узнать как можно сделать так чтобы каждые 10 минут с начала использования цикла он прожимал кнопку F3
Пример Цикла:
KEYPRESS(#F)
WAITMS(250)
KEYDOWN(#F)
WAITMS(3600)
KEYUP(#F)
WAITMS(150)             
KEYPRESS(#F)
WAITMS(250)


KEYDOWN(#d)
WAITMS(2000)
KEYUP(#d)                                 
WAITMS(250)

KEYDOWN(#W)
WAITMS(3100)
KEYUP(#W)                                 
WAITMS(250)

KEYDOWN(#a)
WAITMS(500)
KEYUP(#a)                                 
WAITMS(250)

casethps

  • Освоившийся
  • **
  • Posts: 23
    • View Profile
Re: Цикличность с условием времени
« Reply #1 on: June 24, 2018, 05:25:16 AM »
Спасибо!ф

casethps

  • Освоившийся
  • **
  • Posts: 23
    • View Profile
Re: Цикличность с условием времени
« Reply #2 on: July 08, 2018, 12:50:48 AM »
Code: (clickermann) [Select]
IF($time < $_time_t)  // условие сработает снова через 600 сек
   KEYPRESS(#F3)
   $time = $_time_t + 600
END_IF

KEYPRESS(#F)
WAITMS(250)
KEYDOWN(#F)
WAITMS(3600)
KEYUP(#F)
WAITMS(150)
KEYPRESS(#F)
WAITMS(250)


KEYDOWN(#d)
WAITMS(2000)
KEYUP(#d)
WAITMS(250)

KEYDOWN(#W)
WAITMS(3100)
KEYUP(#W)
WAITMS(250)

KEYDOWN(#a)
WAITMS(500)
KEYUP(#a)
WAITMS(250)
как я понял он будет жать только ф3 когда макрос пойдет с начала, можно ли как либо сделать чтобы он жал его вне позиции цикла?

Oraven

  • Супермодератор
  • Герой форума
  • *
  • Posts: 3685
  • Котэ
    • View Profile
Re: Цикличность с условием времени
« Reply #3 on: July 08, 2018, 07:40:09 AM »
Code: (clickermann) [Select]
THREAD(t1, 1) // Дополнительный поток, выполняется параллельно основному
   KEYPRESS(#F3)
   WAIT(600)
END_THREAD

// Основной поток
KEYPRESS(#F)
WAITMS(250)

KEYDOWN(#F)
WAITMS(3600)
KEYUP(#F)
WAITMS(150)

KEYPRESS(#F)
WAITMS(250)

KEYDOWN(#d)
WAITMS(2000)
KEYUP(#d)
WAITMS(250)

KEYDOWN(#W)
WAITMS(3100)
KEYUP(#W)
WAITMS(250)

KEYDOWN(#a)
WAITMS(500)
KEYUP(#a)
WAITMS(250)

casethps

  • Освоившийся
  • **
  • Posts: 23
    • View Profile
Re: Цикличность с условием времени
« Reply #4 on: July 08, 2018, 07:18:35 PM »
спасибо большое!

casethps

  • Освоившийся
  • **
  • Posts: 23
    • View Profile
Re: Цикличность с условием времени
« Reply #5 on: July 09, 2018, 01:27:46 AM »
а можно как нибудь сделать чтобы главный макрос приостанавливался на 1 секунду и использовал thread условие
потому что если он использует во время макроса он мне сбивает прожатие кнопок

Oraven

  • Супермодератор
  • Герой форума
  • *
  • Posts: 3685
  • Котэ
    • View Profile
Re: Цикличность с условием времени
« Reply #6 on: July 09, 2018, 06:52:25 AM »
Так как скрипт не большой проще написать так

Code: (clickermann) [Select]
SUB(F3) // Подпрограмма выполняется только после вызова
   IF($time < $_time_t)  // условие сработает снова через 600 сек
      WAITMS(100)
      KEYPRESS(#F3)
      WAITMS(100)
      $time = $_time_t + 600
   END_IF
END_SUB

KEYPRESS(#F)
F3() // Вызываем подпрограмму F3
WAITMS(250)

KEYDOWN(#F)
WAITMS(3600)
KEYUP(#F)
F3()
WAITMS(150)

KEYPRESS(#F)
F3()
WAITMS(250)

KEYDOWN(#d)
WAITMS(2000)
KEYUP(#d)
F3()
WAITMS(250)

KEYDOWN(#W)
WAITMS(3100)
KEYUP(#W)
F3()
WAITMS(250)

KEYDOWN(#a)
WAITMS(500)
KEYUP(#a)
F3()
WAITMS(250)
« Last Edit: July 09, 2018, 06:54:43 AM by Oraven »

casethps

  • Освоившийся
  • **
  • Posts: 23
    • View Profile
Re: Цикличность с условием времени
« Reply #7 on: July 09, 2018, 08:34:56 AM »
скрипт большой но спасибо за помощь! попробую сегодня

Vint

  • Супермодератор
  • Герой форума
  • *
  • Posts: 3935
  • Лечу куда хочу. cman 4.13.014x32, 4.14.003 W10
    • View Profile
Re: Цикличность с условием времени
« Reply #8 on: July 09, 2018, 08:51:03 AM »
а можно как нибудь сделать чтобы главный макрос приостанавливался на 1 секунду и использовал thread условие
потому что если он использует во время макроса он мне сбивает прожатие кнопок

Можно. Выворачиваем всё наизнанку
Code: (clickermann) [Select]
THREAD(t1, 1) // Основные действия
    KEYPRESS(#F)
    WAITMS(250)
   
    KEYDOWN(#F)
    WAITMS(3600)
    KEYUP(#F)
    WAITMS(150)
   
    KEYPRESS(#F)
    WAITMS(250)
   
    KEYDOWN(#d)
    WAITMS(2000)
    KEYUP(#d)
    WAITMS(250)
   
    KEYDOWN(#W)
    WAITMS(3100)
    KEYUP(#W)
    WAITMS(250)
   
    KEYDOWN(#a)
    WAITMS(500)
    KEYUP(#a)
    WAITMS(250)
END_THREAD

SETTHREAD(t1, 0)
WAITMS(250)
KEYPRESS(#F3)
WAIT(500)
SETTHREAD(t1, 1)
WAITMS(250)
« Last Edit: July 09, 2018, 08:54:37 AM by Vint »


Oraven

  • Супермодератор
  • Герой форума
  • *
  • Posts: 3685
  • Котэ
    • View Profile
Re: Цикличность с условием времени
« Reply #9 on: July 09, 2018, 10:29:30 AM »
Можно. Выворачиваем всё наизнанку

Не пойдет, нельзя нажимать F3 если кнопка зажата.

Oraven

  • Супермодератор
  • Герой форума
  • *
  • Posts: 3685
  • Котэ
    • View Profile
Re: Цикличность с условием времени
« Reply #10 on: July 09, 2018, 10:34:55 AM »
Вот так поток будет приостановлен если никакие клавиши не зажаты.
Code: (clickermann) [Select]
THREAD(t1, 0) // Основные действия
   KEYPRESS(#F)
   WAITMS(250)
   
   KEYDOWN(#F)
   WAITMS(3600)
   KEYUP(#F)
   WAITMS(150)
   
   KEYPRESS(#F)
   WAITMS(250)
   
   KEYDOWN(#d)
   WAITMS(2000)
   KEYUP(#d)
   WAITMS(250)
   
   KEYDOWN(#W)
   WAITMS(3100)
   KEYUP(#W)
   WAITMS(250)
   
   KEYDOWN(#a)
   WAITMS(500)
   KEYUP(#a)
   WAITMS(250)
END_THREAD

GETKEYSDOWN ($arr)
WHILE(ARRSIZE($arr) > 0)
   WAITMS(30)
   GETKEYSDOWN ($arr)
END_CYC
SETTHREAD(t1, 0)
WAITMS(100)
KEYPRESS(#F3)
WAITMS(100)
SETTHREAD(t1, 1)
WAIT(600)