Автокликер Clickermann :: Форум
Основной раздел => Общие вопросы => Topic started by: SanteR on December 20, 2014, 01:47:05 PM
-
Добрый день, подскажите как использовать правильно данную конструкцию -
IF (KEYDOWN(#CTRL)=1)
.......
ELSE
IF(KEYUP(#CTRL)=1)
......
Мне нужно проверить по условию нажата ли клавиши CTRL (например) и если она нажата выполнить действия и в тот момент когда клавишу отпустить, выполнить другие действия.
-
Никак не правильно!
Функция ISKEYDOWN(#CTRL) возвращает при обращении 1 если зажата клавиша, и 0 если отпущена.
IF(ISKEYDOWN(#CTRL)=1)
// действия если зажат CTRL
END_IF
WHILE(ISKEYDOWN(#CTRL)=1) // цикл крутится и не пускает выполнение пока зажат CTRL
WAITMS(20)
END_CYC
-
и 0 если отпущена.
Вот не срабатывает с 0 если отпущена
-
а как можно узнать тогда что клавиша была опущена?
-
да, нажимаю руками, суть такая когда нажимаю CTRL и не отпускаю ее, появляется мышка и мне мышку нужно переместить в определенное место экрана, затем там уже управляя "мышкой" выбрать нужное место и кликнуть после чего нужно отпустить CTRL и что бы курсор мышки остался на середине и я дальше мог им управлять "мышкой"
-
А кликер то тебе зачем, раз ты все руками делаешь?
-
нужно для быстроты, что бы когда нажал ctrl мышка почти сместилась в угол экрана, там я выбираю мышкой кнопку в зависимости от надобности, отпускаю ctrl и она возвращается на середину. вот так нужно сделать
-
Ну вот, хоть к пятому посту удалось из тебя осмысленный алгоритм выжать 8)
Вот то, что ты так хотел.
IF(ISKEYDOWN(#CTRL)=1)
MOVE(95,144) // перемещаем мышь в угол (напиши свою координату)
WHILE(ISKEYDOWN(#CTRL)=1) // цикл крутится и не пускает выполнение пока зажат CTRL
WAITMS(20)
END_CYC
MOVE(INT($_xmax/2),INT($_ymax/2)) // возвращаем в центр экрана (авто)
WAITMS(100)
ELSE
WAITMS(20)
END_IF
-
2 Oraven
Спасибо, твой вариант работает, немного задержки подправил!
Спасибо!