lucass001 Posted May 15, 2009 Share Posted May 15, 2009 Hi, i have a problem. I've made this script below (my first ) and when I start LeftClick and stop it for example, Exit Button (this red ) doesn't work and I must exit program from the tray. Why? Sorry for my bad english. If someone know answer for my problem, please post it here. Here is part of the code: expandcollapse popupinclude <GUIConstants.au3> GUICreate ("Click", 150, 220) WinMove("Click", "", 10, 760) GUICtrlCreateLabel ("Functions:", 10, 10) GUICtrlCreateLabel ("Left Click - F5", 10, 40) GUICtrlCreateLabel ("Right Click - F6", 10, 60) GUICtrlCreateLabel ("Stop All - F7", 10, 100) GUICtrlCreateLabel ("Clicks delay (ms):", 10, 130) $heal = GUICtrlCreateLabel ("Heal:", 95, 40) GUICtrlSetFont ($heal, 8) $heal = GUICtrlCreateInput ("1", 125, 38, 23, 18) $defence = GUICtrlCreateLabel ("Def:", 95, 60) GUICtrlSetFont ($defence, 8) $defence = GUICtrlCreateInput ("2", 125, 58, 23, 18) $damage = GUICtrlCreateLabel ("Dmg:", 95, 80) GUICtrlSetFont ($damage, 8) $damage = GUICtrlCreateInput ("3", 125, 78, 23, 18) GUICtrlCreateLabel ("Start buff - F11", 10, 80) GUICtrlCreateLabel ("Buff delay (ms):", 10, 170) $delay1 = GUICtrlCreateInput ("", 10, 145, 50, 21) $buffdelay = GUICtrlCreateInput ("", 10, 185, 50, 21) HotKeySet ("{F5}", "left") HotKeySet ("{F6}", "right") HotKeySet ("{F7}", "stop") HotKeySet ("{F11}", "buff") Func left () While 1 $var = 1 While $var = 1 $delay2 = GUICtrlRead ($delay1) Opt("MouseClickDownDelay", 100) Opt("MouseClickDelay", $delay2) MouseClick ("Left") WEnd Sleep(100) WEnd EndFunc Func right () While 1 $var = 1 While $var = 1 $delay2 = GUICtrlRead ($delay1) Opt("MouseClickDownDelay", 100) Opt("MouseClickDelay", $delay2) MouseClick ("Right") WEnd Sleep(100) WEnd EndFunc Func stop () While 1 $var = 0 WEnd EndFunc GUISetState () While GuiGetMsg() <> $GUI_EVENT_CLOSE WEnd Link to comment Share on other sites More sharing options...
Skruge Posted May 15, 2009 Share Posted May 15, 2009 All those While loops are preventing the functions from ending, thus preventing other Hotkey functions from being processed. Try this (untested) :expandcollapse popup#include <GUIConstants.au3> GUICreate("Click", 150, 220) WinMove("Click", "", 10, 760) Global Enum $STOP, $LEFT, $RIGHT, $BUFF Global $iAction GUICtrlCreateLabel("Functions:", 10, 10) GUICtrlCreateLabel("Left Click - F5", 10, 40) GUICtrlCreateLabel("Right Click - F6", 10, 60) GUICtrlCreateLabel("Stop All - F7", 10, 100) GUICtrlCreateLabel("Clicks delay (ms):", 10, 130) $heal = GUICtrlCreateLabel("Heal:", 95, 40) GUICtrlSetFont($heal, 8) $heal = GUICtrlCreateInput("1", 125, 38, 23, 18) $defence = GUICtrlCreateLabel("Def:", 95, 60) GUICtrlSetFont($defence, 8) $defence = GUICtrlCreateInput("2", 125, 58, 23, 18) $damage = GUICtrlCreateLabel("Dmg:", 95, 80) GUICtrlSetFont($damage, 8) $damage = GUICtrlCreateInput("3", 125, 78, 23, 18) GUICtrlCreateLabel("Start buff - F11", 10, 80) GUICtrlCreateLabel("Buff delay (ms):", 10, 170) $delay1 = GUICtrlCreateInput("", 10, 145, 50, 21) $buffdelay = GUICtrlCreateInput("", 10, 185, 50, 21) HotKeySet("{F5}", "left") HotKeySet("{F6}", "right") HotKeySet("{F7}", "stop") HotKeySet("{F11}", "buff") Func left() $iAction = $LEFT EndFunc ;==>left Func right() $iAction = $RIGHT EndFunc ;==>right Func stop() $iAction = $STOP EndFunc ;==>stop Func buff() $iAction = $BUFF EndFunc ;==>buff GUISetState() While GUIGetMsg() <> $GUI_EVENT_CLOSE Switch $iAction Case $LEFT $delay2 = GUICtrlRead($delay1) Opt("MouseClickDownDelay", 100) Opt("MouseClickDelay", $delay2) MouseClick("Left") Case $RIGHT $delay2 = GUICtrlRead($delay1) Opt("MouseClickDownDelay", 100) Opt("MouseClickDelay", $delay2) MouseClick("Right") Case $BUFF ; Undefined EndSwitch Sleep(100) WEnd [font="Tahoma"]"Tougher than the toughies and smarter than the smarties"[/font] Link to comment Share on other sites More sharing options...
JackDinn Posted May 15, 2009 Share Posted May 15, 2009 well you missed the # from the include. you stuck inside the stop loop , never getting to the While GuiGetMsg() <> $GUI_EVENT_CLOSE loop. you start out inside the $GUI_EVENT_CLOSE loop but as soon as you hit a hot key you go into your other loops and never get back to it. just put the $msg=GuiGetMsg() inside the stop func and a if $msg=$GUI_EVENT_CLOSE then EXIT Func stop() While 1 $msg = GUIGetMsg() If $msg = $GUI_EVENT_CLOSE Then Exit $var = 0 WEnd EndFunc ;==>stop Thx all,Jack Dinn. JD's Auto Internet Speed Tester JD's Clip Catch (With Screen Shot Helper) Projects :- AutoIt - My projects My software never has bugs. It just develops random features. :-D Link to comment Share on other sites More sharing options...
lucass001 Posted May 15, 2009 Author Share Posted May 15, 2009 Thanks now all works fine Link to comment Share on other sites More sharing options...
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now