Author Topic: Возможно ли упростить нажатие Ctrl+(...)  (Read 8031 times)

0 Members and 1 Guest are viewing this topic.

The Egoist

  • Зашел в гости
  • *
  • Posts: 3
    • View Profile
Всем привет!
Посоветовали вот мне кликерман.
Пытаюсь написать свой первый скрипт в нем. Смысл такой:
Нужно чтоб при нажатии кнопки F1 он с имитировал нажатие подряд 7 комбинаций клавиш от Ctrl+0 до Ctrl+4
Так-же нужно, чтоб он это сделал всего 1 раз и ждал новой команды.
Получилось так:
Code: [Select]
IF (ISKEYDOWN(112)=1)
KEYDOWN (#CTRL)
WAITMS (50)
KEYDOWN (#0)
WAITMS (50)
KEYUP (#0)
KEYUP (#CTRL)
KEYDOWN (#CTRL)
WAITMS (50)
KEYDOWN (#9)
WAITMS (50)
KEYUP (#9)
KEYUP (#CTRL)
KEYDOWN (#CTRL)
WAITMS (50)
KEYDOWN (#8)
WAITMS (50)
KEYUP (#8)
KEYUP (#CTRL)
KEYDOWN (#CTRL)
WAITMS (50)
KEYDOWN (#7)
WAITMS (50)
KEYUP (#7)
KEYUP (#CTRL)
KEYDOWN (#CTRL)
WAITMS (50)
KEYDOWN (#6)
WAITMS (50)
KEYUP (#6)
KEYUP (#CTRL)
KEYDOWN (#CTRL)
WAITMS (50)
KEYDOWN (#5)
WAITMS (50)
KEYUP (#5)
KEYUP (#CTRL)
KEYDOWN (#CTRL)
WAITMS (50)
KEYDOWN (#4)
WAITMS (50)
KEYUP (#4)
KEYUP (#CTRL)
END_IF

Хотел вот что узнать:

1. Что не правильно?

2. Возможно ли упростить скрипт?
Рассмотрим на примере "Ctrl+0"
Каждый раз когда он нажимает комбинацию "Ctrl+0", то он с начала зажимает "Ctrl", потом зажимает "0", потом всё отжимает.
Может можно с начала зажать "Ctrl" потом нажать все нужные цифры, а потом отжать "Ctrl" ? И почему "0" нужно зажимать? может его можно просто нажать?
« Last Edit: March 10, 2013, 04:57:01 PM by The Egoist »

Oraven

  • Супермодератор
  • Герой форума
  • *
  • Posts: 3685
  • Котэ
    • View Profile
Re: Возможно ли упростить нажатие Ctrl+(...)
« Reply #1 on: March 11, 2013, 02:11:30 AM »
Все зависит от того где эти клавиши жмутся, тормазная флешь может просто не замечать "молниеносных" нажатий кликера. Поэтому и нужны зажатия клавишь с задержками. Но если
Code: (clickermann) [Select]
   KEYDOWN (#CTRL)
   WAITMS (50)
   KEYPRESS (#0)
   KEYUP (#CTRL)
отрабатывает без проблем, то можно и без лишних зажатий.

На счет упрощения ничего не выйдет. Здесь не удастся провернуть такое
Code: (clickermann) [Select]
$a = "#0"
KEYPRESS ($a)
Это не работает.

Vint

  • Супермодератор
  • Герой форума
  • *
  • Posts: 3935
  • Лечу куда хочу. cman 4.13.014x32, 4.14.003 W10
    • View Profile
Re: Возможно ли упростить нажатие Ctrl+(...)
« Reply #2 on: March 11, 2013, 07:28:15 AM »
Конечно можно сначала нажать CTRL и отпустить только в самом конце, почему нет.
Ещё желательно в конце условия, перед END_IF проверить на отпускание твою клавишу. Чтобы не было не нужных повторов.
Code: (clickermann) [Select]
   WHILE(ISKEYDOWN(112)=1)
      WAITMS(50)     
   END_CYC

Можно ещё попробовать так:
Code: (clickermann) [Select]
IF (ISKEYDOWN(112)=1)
   KEYDOWN (#CTRL)
   WAITMS (50)
   KEYSTRING("0987654",50)   
   KEYUP (#CTRL)
   WHILE(ISKEYDOWN(112)=1)
      WAITMS(50)
   END_CYC
END_IF
WAITMS(100)
« Last Edit: March 11, 2013, 09:09:52 AM by Vint »


The Egoist

  • Зашел в гости
  • *
  • Posts: 3
    • View Profile
Re: Возможно ли упростить нажатие Ctrl+(...)
« Reply #3 on: March 11, 2013, 12:49:15 PM »
Можно ещё попробовать так:
Code: (clickermann) [Select]
IF (ISKEYDOWN(112)=1)
   KEYDOWN (#CTRL)
   WAITMS (50)
   KEYSTRING("0987654",50)   
   KEYUP (#CTRL)
   WHILE(ISKEYDOWN(112)=1)
      WAITMS(50)
   END_CYC
END_IF
WAITMS(100)

вот это то - что нужно, но аномалия какая-то:
он жмет через Ctrl 9865 а 074 пропускает, я уже и задержку увеличивал - не помогает(
может кто-то знает в чем дело?

*И в самом деле аномалия...
проверил так:
Code: (clickermann) [Select]
IF (ISKEYDOWN(112)=1)
KEYDOWN (#CTRL)
WAITMS (50)
KEYPRESS (#0)
WAITMS (50)
KEYPRESS (#9)
WAITMS (50)
KEYPRESS (#8)
WAITMS (50)
KEYPRESS (#7)
WAITMS (50)
KEYPRESS (#6)
WAITMS (50)
KEYPRESS (#5)
WAITMS (50)
KEYPRESS (#4)
WAITMS (50)
KEYUP (#CTRL)
  WHILE(ISKEYDOWN(112)=1)
     WAITMS(50)     
  END_CYC
END_IF
тот-же резултат  :(
« Last Edit: March 11, 2013, 01:10:22 PM by The Egoist »

Vint

  • Супермодератор
  • Герой форума
  • *
  • Posts: 3935
  • Лечу куда хочу. cman 4.13.014x32, 4.14.003 W10
    • View Profile
Re: Возможно ли упростить нажатие Ctrl+(...)
« Reply #4 on: March 11, 2013, 01:15:11 PM »
Может задержку именно после этих нажатий нужно больше. Смотря что они делают.
Нажатия в блокноте (с закомменченым CTRL) идут нормально.


The Egoist

  • Зашел в гости
  • *
  • Posts: 3
    • View Profile
Re: Возможно ли упростить нажатие Ctrl+(...)
« Reply #5 on: March 11, 2013, 07:04:28 PM »
спасибо всем огромное, разобрался, всё работает) просто функцию невозможно данную было выполнить в тех условиях)
в общем ВСЁ работает! =)

ещё раз большое спасибо)