amigosxxx
Newbie | Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору creature_ws Ясно, но как тогда мне сделать, чтобы при нажатии боковых кнопок Х1 и Х2, у меня включался этот скрипт: Код: #NoEnv SendMode Input _auto := true ;Toggle for the anti-recoil being on or off. default is on ~LButton::autofire() ; When the LButton is pressed run the autofire() function !LButton::_auto := ! _auto ;Alt + LButton used to toggle the anti-recoil on and off F1::ExitApp ; F1 used to exit the ahk script file ; autofire() function, name is misleading could easily be antiRecoil() autofire() { global _auto if _auto ; if _auto == true. i.e. is anti-recoil on? { ; anti-recoil on? If yes do this Loop ; Continuously loop until a 'break' command { if GetKeyState("LButton", "P") ; If LButton is pressed { ; LButton pressed? If yes do this Sleep 75 ; sleep for 85 milliseconds mouseXY(0, 70) ;Call the mouseXY() function which moves the mouse the specified distance. mouseXY( X, Y,) Sleep 45 ; sleep for 45milliseconds } else ;LButton pressed? If no do this, i.e. exit the loop break ;will stop the loop } ;; loop } ;; if } ;; autofire() ; anti-recoil on? If no do nothing mouseXY(x,y) { DllCall("mouse_event",uint,1,int,x,int,y,uint,0,int,0) ; moves the mouse could easily be the built in autohotkey MouseMove, X, Y } | Исправил на следующий код: Код: #NoEnv SendMode Input _auto := true ;Toggle for the anti-recoil being on or off. default is on ~XButton1:: #IfWinActive, PlayRust { ~^LButton::auto_fire1() ~LButton::autofire1() ; When the LButton is pressed run the autofire() function !LButton::_auto := ! _auto ;Alt + LButton used to toggle the anti-recoil on and off F1::ExitApp ; F1 used to exit the ahk script file } ~XButton2:: #IfWinActive, PlayRust { ~^LButton::auto_fire2() ~LButton::autofire2() ; When the LButton is pressed run the autofire() function !LButton::_auto := ! _auto ;Alt + LButton used to toggle the anti-recoil on and off F1::ExitApp ; F1 used to exit the ahk script file } ; autofire1() Reduces Recoil when only Left mouse button is pressed autofire1() { global _auto if _auto { Loop { if GetKeyState("LButton", "P") ; If LButton is pressed { Sleep 75 ; sleep for 85 milliseconds mouseXY(0, 20) ;Call the mouseXY() function which moves the mouse the specified distance. mouseXY( X, Y,) Sleep 45 ; sleep for 45milliseconds } else break ;will stop the loop } } } auto_fire1() ; Reduces recoil when ctrl is pressed { global _auto if _auto { Loop { if GetKeyState("LButton", "P") ; If LButton is pressed (And ctrl) { Sleep 75 ; sleep for 85 milliseconds mouseXY(0, 18) ;Call the mouseXY() function which moves the mouse the specified distance. mouseXY( X, Y,) Sleep 45 ; sleep for 45milliseconds } else break } } } ; autofire2() Reduces Recoil when only Left mouse button is pressed autofire2() { global _auto if _auto { Loop { if GetKeyState("LButton", "P") ; If LButton is pressed { Sleep 75 ; sleep for 85 milliseconds mouseXY(0, 20) ;Call the mouseXY() function which moves the mouse the specified distance. mouseXY( X, Y,) Sleep 45 ; sleep for 45milliseconds } else break ;will stop the loop } } } auto_fire2() ; Reduces recoil when ctrl is pressed { global _auto if _auto { Loop { if GetKeyState("LButton", "P") ; If LButton is pressed (And ctrl) { Sleep 75 ; sleep for 85 milliseconds mouseXY(0, 18) ;Call the mouseXY() function which moves the mouse the specified distance. mouseXY( X, Y,) Sleep 45 ; sleep for 45milliseconds } else break } } } mouseXY(x,y) { DllCall("mouse_event",uint,1,int,x,int,y,uint,0,int,0) ; moves the mouse could easily be the built in autohotkey MouseMove, X, Y } | Тут появляется другая проблема: горячие клавиши ~^LButton, ~LButton и !LButton повторяются 2 раза для Х1 и Х2. И программа считает это ошибкой. Когда оставляю только одну из боковых кнопок, то ошибок не выдает. (убираю эту часть: ~^LButton::auto_fire2() ~LButton::autofire2() !LButton::_auto := ! _auto ) Я не представляю как сделать, чтобы горячие клавиши все же могли повторяться в коде: АЛЬТ+ЛКМ, КТРЛ+ЛКМ, ЛКМ Добавлено: Сама идея же следующая: Если я нажал кнопку 4 мышки, то при последующем нажатии ЛКМ и ее удержании происходит цикл задержка, сдвиг мышки. Как только отпускаю мышку, из цикла выхожу. Также для кнопки 5, только там будет иная задержка и сдвиг. Пожалуй так. | Всего записей: 25 | Зарегистр. 12-03-2008 | Отправлено: 07:15 09-04-2014 | Исправлено: amigosxxx, 08:07 09-04-2014 |
|