Author Topic: Продолжение скрипта двумя клавишами  (Read 2643 times)

0 Members and 1 Guest are viewing this topic.

SimplY

  • Активный участник
  • ***
  • Posts: 125
    • View Profile
Есть скрипт 1. Далее идет развлетвление. Если нажать на Ctrl, он идет по одному сценарию, если Alt, то другой сценарий. Возможно?

Code: (clickermann) [Select]
//Начало скрипта

WHILE(iskeydown(#CTRL)=0)
   WAITMS(20)
END_CYC
WHILE(iskeydown(#CTRL)=1)
   WAITMS(20)
END_CYC

//Продолжение скрипта (вариант 1)

Если
WHILE(iskeydown(#ALT)=0)
   WAITMS(20)
END_CYC
WHILE(iskeydown(#ALT)=1)
   WAITMS(20)
END_CYC

//Продолжение скрипта (вариант 2)

Использовать диалоговые окна в этом конкретном случае неудобно!
« Last Edit: February 07, 2020, 11:09:06 AM by SimplY »

Oraven

  • Супермодератор
  • Герой форума
  • *
  • Posts: 3685
  • Котэ
    • View Profile
Re: Продолжение скрипта двумя клавишами
« Reply #1 on: February 07, 2020, 11:29:37 AM »
Code: (clickermann) [Select]
//Начало скрипта

$check = 0
WHILE($check = 0)
   IF(ISKEYDOWN(#CTRL)=1)
      WHILE(ISKEYDOWN(#CTRL)=1)
      END_CYC
      $check = 1
   ELSE
      IF(ISKEYDOWN(#ALT)=1)
         WHILE(ISKEYDOWN(#ALT)=1)
         END_CYC
         $check = 2
      ELSE
         WAITMS(20)
      END_IF
   END_IF
END_CYC

IF($check = 1) // Продолжение скрипта (вариант 1)
   // body
END_IF

IF($check = 2) // Продолжение скрипта (вариант 2)
   // body
END_IF

Bitya

  • Зашел в гости
  • *
  • Posts: 7
    • View Profile
Re: Продолжение скрипта двумя клавишами
« Reply #2 on: February 07, 2020, 11:33:09 AM »
Есть скрипт 1. Далее идет развлетвление. Если нажать на Ctrl, он идет по одному сценарию, если Alt, то другой сценарий. Возможно?
Нажимать на Ctrl и Alt будет человек так понимаю, и таким способом управлять логикой работы скрипта?

SimplY

  • Активный участник
  • ***
  • Posts: 125
    • View Profile
Re: Продолжение скрипта двумя клавишами
« Reply #3 on: February 07, 2020, 11:52:08 AM »
Есть скрипт 1. Далее идет развлетвление. Если нажать на Ctrl, он идет по одному сценарию, если Alt, то другой сценарий. Возможно?
Нажимать на Ctrl и Alt будет человек так понимаю, и таким способом управлять логикой работы скрипта?
Или или

SimplY

  • Активный участник
  • ***
  • Posts: 125
    • View Profile
Re: Продолжение скрипта двумя клавишами
« Reply #4 on: February 07, 2020, 12:39:36 PM »
Code: (clickermann) [Select]
//Начало скрипта

$check = 0
WHILE($check = 0)
   IF(ISKEYDOWN(#CTRL)=1)
      WHILE(ISKEYDOWN(#CTRL)=1)
      END_CYC
      $check = 1
   ELSE
      IF(ISKEYDOWN(#ALT)=1)
         WHILE(ISKEYDOWN(#ALT)=1)
         END_CYC
         $check = 2
      ELSE
         WAITMS(20)
      END_IF
   END_IF
END_CYC

IF($check = 1) // Продолжение скрипта (вариант 1)
   // body
END_IF

IF($check = 2) // Продолжение скрипта (вариант 2)
   // body
END_IF

Он работает, но здесь чтобы работало, нужно нажимать сначала Ctrl, а затем еще раз Ctrl или Alt. Получается два раза. Это не очень удобно. Можно убрать первую необходимость в нажатии Crrl? Чтобы один раз нажал и всё.

Vint

  • Супермодератор
  • Герой форума
  • *
  • Posts: 3935
  • Лечу куда хочу. cman 4.13.014x32, 4.14.003 W10
    • View Profile
Re: Продолжение скрипта двумя клавишами
« Reply #5 on: February 07, 2020, 01:17:02 PM »
Нет здесь никакого двойного нажатия Ctrl


SimplY

  • Активный участник
  • ***
  • Posts: 125
    • View Profile
Re: Продолжение скрипта двумя клавишами
« Reply #6 on: February 07, 2020, 01:37:28 PM »
Нет здесь никакого двойного нажатия Ctrl

Code: (clickermann) [Select]
#name "Письмо И"

LDOWN(600, $_ymouse)
WAITMS(100)
LUP(1138, $_ymouse)
WAITMS(50)
MOVE(779,464)
WAITMS(300)
KEYDOWN (#CTRL)
WAITMS (50)
KEYPRESS (#C)
KEYUP (#CTRL)
WAITMS(400)
$em = FROMCLIP()

WHILE(iskeydown(#CTRL)=0)
   WAITMS(20)
END_CYC
WHILE(iskeydown(#CTRL)=1)
   WAITMS(20)
END_CYC

KEYDOWN (#CTRL)
WAITMS (50)
KEYPRESS (#C)
KEYUP (#CTRL)
WAITMS(400)
$io = FROMCLIP()
WAITMS(400)
GETSCREEN(597,420,908,972)
IF_PICTURE_IN (597,420,908,972, "нк.bmp", -1, 60)
   LCLICK($_return1+8, $_return2+18)
   WAITMS(200)
ELSE
   LOGWRITE ("Элемент нк не найден:(")
   WAITMS(200)
END_IF

#DEFINE EOL: CHAR(13), CHAR(10)
TOCLIP(STRCONCAT("**Именное** КП было отправлено на ", $em, EOL, "Получатель: ", "**", $io, "**"))

KEYDOWN (#CTRL)
WAITMS (50)
KEYPRESS (#V)
KEYUP (#CTRL)
WAITMS(400)
KEYDOWN (#CTRL)
WAITMS (50)
KEYPRESS (#ENTER)
KEYUP (#CTRL)
WAITMS(700)
LCLICK(182,18)  // В склонятель
WAITMS(400)
LCLICK(753,409)  // Кликнуть на строку
WAITMS(400)
FOR($a=0,$a<3)
   LCLICK(884,409)  // 16777215
   WAITMS(20)
END_CYC
WAITMS (400)
TOCLIP($io)
KEYDOWN (#CTRL)
WAITMS (50)
KEYPRESS (#V)
KEYUP (#CTRL)
WAITMS(400)
LCLICK(1262,407)  // Просклонять
WAITMS (1800)
GETSCREEN(547,372,733,779)
IF_PICTURE_IN (547,372,733,779, "род.bmp", -1, 100)
   FOR($a=0,$a<3)
      LCLICK($_return1+119, $_return2+8)
      WAITMS(40)
   END_CYC
END_IF
WAITMS(200)
KEYDOWN (#CTRL)
WAITMS (50)
KEYPRESS (#C)
KEYUP (#CTRL)
WAITMS(80)
$ior = FROMCLIP()
WAITMS(20)
$ior = STRFILTER($ior, "АБВГДЕЁЖЗЙИКЛМНОПРСТУФХЦЧШЩЪЫЬЭЮЯ абвгдеёжзийклмнопрстуфхцчшщъыьэюя", 1)
WAITMS(400)
LCLICK(65,16)  // В Trello
WAITMS(800)

LCLICK(118,1054)  // 3080277

WAITMS(100)
LCLICK(83,146)  // 3080277
WAITMS(200)
LCLICK(524,135)  // 12055525
WAITMS(400)
LCLICK(524,135)  // 12055525
WAITMS(700)
LCLICK(283,122)  // 16777215
WAITMS(200)
TOCLIP($em)
KEYDOWN (#CTRL)
WAITMS (50)
KEYPRESS (#V)
KEYUP (#CTRL)
WAITMS(250)
LCLICK(422,203)  // 16777215
WAITMS(250)
TOCLIP(STRCONCAT("ВАЖНО: Для ", $ior, " от Александра по энергоэффективности"))
KEYDOWN (#CTRL)
WAITMS (50)
KEYPRESS (#V)
KEYUP (#CTRL)

WHILE(iskeydown(#CTRL)=0)
   WAITMS(20)
END_CYC
WHILE(iskeydown(#CTRL)=1)
   WAITMS(20)
END_CYC

$check = 0
WHILE($check = 0)
   IF(ISKEYDOWN(#CTRL)=1)
      WHILE(ISKEYDOWN(#CTRL)=1)
      END_CYC
      LCLICK(54,64)  // 11308707
      WAITMS(600)
      LCLICK(1804,4)  // 15066597
      WAITMS(600)
      LCLICK(1804,4)  // 15066597
      WAITMS(600)
      MOVE(895,510)  // 16777215
     
      $time = $_time_t + 22 // таймер на 10 секунд
      WHILE($time > $_time_t)
         GETSCREEN(100,1037,158,1079)
         IF_PICTURE_IN (100,1037,158,1079, "ув.bmp", -1, 100)
            $time = 0
            HINTPOPUP("Можно отправлять следующее:)", "КП отправлено")
            WAITMS(100)
         ELSE
            HINTPOPUP("Можно отправлять следующее:)", "КП отправлено")
            WAITMS(100)
         END_IF
      END_CYC
      IF($time ! 0)
         // время истекло, картинка не найдена
      END_IF
      HINTPOPUP("Можно отправлять следующее:)", "КП отправлено")
   ELSE
      IF(ISKEYDOWN(#ALT)=1)
         WHILE(ISKEYDOWN(#ALT)=1)
         END_CYC
         HALT
      ELSE
         WAITMS(20)
      END_IF
   END_IF
END_CYC

HALT

Вот полный скрипт!!!

Hito

  • Герой форума
  • *****
  • Posts: 1212
    • View Profile
Re: Продолжение скрипта двумя клавишами
« Reply #7 on: February 07, 2020, 01:48:55 PM »
Вот полный скрипт!!!
А что за восклицания такие...? ТЫ изначально людям голову морочишь, а потом восклицаешь... Тут телепатов нет. Откуда людям знать - какой у тебя там полный скрипт...? Ты задачу дал - тебе конкретный ответ дали. А потом оказывается, что у тебя там полный скрипт есть, который люди угадать должны были...
Я не ду... Потому и не бу...

SimplY

  • Активный участник
  • ***
  • Posts: 125
    • View Profile
Re: Продолжение скрипта двумя клавишами
« Reply #8 on: February 07, 2020, 02:18:25 PM »
тебе нужна оперативная смена работающих вариантов в процессе их работы?
Идет скрипт. Потом он останавливается. Нужно нажать либо Ctrl, чтобы завершить скрипт по первому сценарию, либо ALT, чтобы завершить по второму сценарию.

Vint

  • Супермодератор
  • Герой форума
  • *
  • Posts: 3935
  • Лечу куда хочу. cman 4.13.014x32, 4.14.003 W10
    • View Profile
Re: Продолжение скрипта двумя клавишами
« Reply #9 on: February 07, 2020, 05:12:39 PM »
Вот полный скрипт!!!

Ну так откуда там появилось в двух местах вот это?
стр. 16-21
стр. 114-119
Code: (clickermann) [Select]
WHILE(iskeydown(#CTRL)=0)
   WAITMS(20)
END_CYC
WHILE(iskeydown(#CTRL)=1)
   WAITMS(20)
END_CYC


SimplY

  • Активный участник
  • ***
  • Posts: 125
    • View Profile
Re: Продолжение скрипта двумя клавишами
« Reply #10 on: February 10, 2020, 06:18:32 AM »
Вот полный скрипт!!!

Ну так откуда там появилось в двух местах вот это?
стр. 16-21
стр. 114-119
Code: (clickermann) [Select]
WHILE(iskeydown(#CTRL)=0)
   WAITMS(20)
END_CYC
WHILE(iskeydown(#CTRL)=1)
   WAITMS(20)
END_CYC
Там 2 паузы по сценарию.