Автокликер Clickermann :: Форум
Основной раздел => Использование => Topic started by: The Egoist on March 10, 2013, 03:14:14 PM
-
Всем привет!
Посоветовали вот мне кликерман.
Пытаюсь написать свой первый скрипт в нем. Смысл такой:
Нужно чтоб при нажатии кнопки F1 он с имитировал нажатие подряд 7 комбинаций клавиш от Ctrl+0 до Ctrl+4
Так-же нужно, чтоб он это сделал всего 1 раз и ждал новой команды.
Получилось так:
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" нужно зажимать? может его можно просто нажать?
-
Все зависит от того где эти клавиши жмутся, тормазная флешь может просто не замечать "молниеносных" нажатий кликера. Поэтому и нужны зажатия клавишь с задержками. Но если
KEYDOWN (#CTRL)
WAITMS (50)
KEYPRESS (#0)
KEYUP (#CTRL)
отрабатывает без проблем, то можно и без лишних зажатий.
На счет упрощения ничего не выйдет. Здесь не удастся провернуть такое
$a = "#0"
KEYPRESS ($a)
Это не работает.
-
Конечно можно сначала нажать CTRL и отпустить только в самом конце, почему нет.
Ещё желательно в конце условия, перед END_IF проверить на отпускание твою клавишу. Чтобы не было не нужных повторов.
WHILE(ISKEYDOWN(112)=1)
WAITMS(50)
END_CYC
Можно ещё попробовать так:
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)
-
Можно ещё попробовать так:
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 пропускает, я уже и задержку увеличивал - не помогает(
может кто-то знает в чем дело?
*И в самом деле аномалия...
проверил так:
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
тот-же резултат :(
-
Может задержку именно после этих нажатий нужно больше. Смотря что они делают.
Нажатия в блокноте (с закомменченым CTRL) идут нормально.
-
спасибо всем огромное, разобрался, всё работает) просто функцию невозможно данную было выполнить в тех условиях)
в общем ВСЁ работает! =)
ещё раз большое спасибо)