Приветствую всех! Не могу понять как остановить работу функции при отжатии ЛКМ. Отдачу гасит нормально при стрельбе очередью, но если сделать 1-2 выстрела, то функция выполняется полностью - продолжает рисовать траекторию движения прицела.
Пробовал 2 варианта:
Пробовал 2 варианта:
Код:
#include <GUIConstantsEx.au3>
#include <MouseOnEvent.au3>
HotKeySet("{END}","Exitt")
Global $nronoff, $x, $y
_MouseSetOnEvent($MOUSE_PRIMARYDOWN_EVENT, "_MOUSE_PRIMARYDOWN_EVENT")
_MouseSetOnEvent($MOUSE_PRIMARYUP_EVENT, "_MOUSE_PRIMARYUP_EVENT")
While 1
Sleep(50)
WEnd
Func _MOUSE_PRIMARYDOWN_EVENT()
sleep(150)
nrmove(-10, 15)
sleep(140)
nrmove(0, 13)
sleep(140)
nrmove(-17, 13)
sleep(140)
nrmove(-16, 9)
sleep(140)
nrmove(-10, 5)
sleep(140)
EndFunc
Func _MOUSE_PRIMARYUP_EVENT()
;Остановка функции снижения отдачи
EndFunc
Func nrmove($x, $y)
_WinAPI_Mouse_Event(0x0001, $x, $y)
EndFunc
Func Exitt()
Exit
EndFunc
Код:
#Include <constants.au3>
#include <buttonconstants.au3>
#include <staticconstants.au3>
#include <statusbarconstants.au3>
#include <windowsconstants.au3>
#include <misc.au3>
#include <WinAPI.au3>
#include <Sound.au3>
#include <Array.au3>
#include <EditConstants.au3>
#include <MsgBoxConstants.au3>
#include <GDIPlus.au3>
;///Configurations///
;/ Here is where u change the shaking value
$shake = 10
;/ On/Off Hotkey
HotKeySet("{F1}", "nronoff")
HotKeySet("{END}","Exitt")
;////////////////////
Global $shake, $nronoff, $x, $y
while 1
If $nronoff = "1" then
While _IsPressed(01)
nrmove(-10, 15)
sleep(140)
nrmove(0, 13)
sleep(140)
nrmove(-17, 13)
sleep(140)
nrmove(-16, 9)
sleep(140)
nrmove(-10, 5)
sleep(140)
WEnd
EndIF
WEnd
Func nronoff ()
Switch $nronoff
Case "1"
$nronoff = 0
Case Else
$nronoff = 1
EndSwitch
EndFunc
Func nrmove($x, $y)
_WinAPI_Mouse_Event(0x0001, $x, $y)
EndFunc
Func Exitt()
Exit
EndFunc