CyberSlug Posted February 5, 2004 Share Posted February 5, 2004 I'm trying to think of a good user-defined function for pausing, and I cannot figure out why the following code fails this task. Once paused, I cannot unpase..... Global $PAUSE_STATE = 0 ;1 = pause, 0 = not paused HotKeySet("{PAUSE}", "PauseScript") HotKeySet("{ESC}", "UnPauseScript") ; body of script would go here While(1) Wend ;... Func PauseScript() $PAUSE_STATE = 1 while $PAUSE_STATE ;this is global, isn't it? sleep(1000) WEnd EndFunc Func UnPauseScript() $PAUSE_STATE = 0 Exit ;for debugging purposes to test unpause function EndFunc Use Mozilla | Take a look at My Disorganized AutoIt stuff | Very very old: AutoBuilder 11 Jan 2005 prototype I need to update my sig! Link to comment Share on other sites More sharing options...
Administrators Jon Posted February 5, 2004 Administrators Share Posted February 5, 2004 Seems like a bug. Deployment Blog: https://www.autoitconsulting.com/site/blog/ SCCM SDK Programming: https://www.autoitconsulting.com/site/sccm-sdk/ Link to comment Share on other sites More sharing options...
Developers Jos Posted February 5, 2004 Developers Share Posted February 5, 2004 (edited) tried this before as well... but assumed you could only have 1 hotkey activated at one time... Edited February 5, 2004 by JdeB SciTE4AutoIt3 Full installer Download page - Beta files Read before posting How to post scriptsource Forum etiquette Forum Rules Live for the present, Dream of the future, Learn from the past. Link to comment Share on other sites More sharing options...
Administrators Jon Posted February 5, 2004 Administrators Share Posted February 5, 2004 I'd cut and pasted the code that handles Adlibs and it had the same check to prevent adlib firing whilst adlib was running . No wonder everyone said they couldn't get a puse function working... Deployment Blog: https://www.autoitconsulting.com/site/blog/ SCCM SDK Programming: https://www.autoitconsulting.com/site/sccm-sdk/ Link to comment Share on other sites More sharing options...
scriptkitty Posted February 5, 2004 Share Posted February 5, 2004 This seems to work fine: $x=2 hotkeyset("{Pause}","Start"); Initially this will start the macro hotkeyset("!^e","exit1"); this exits the macro from memory $vsleep = IniRead("config.ini","Delay","delay",1000) $vjump = IniRead("config.ini","Jump","jump","") While 1 If $x=1 Then send($vjump) ; send chars defined in INI sleep(1) ; Just incase $vsleep is not defined sleep($vsleep) ; sleep amount of msec defined in INI EndIf Wend Func Stop() $x=2 hotkeyset("{Pause}","Start"); changes to make Pause start macro EndFunc Func Start() $x=1 hotkeyset("{Pause}","Stop"); changes to make Pause stop macro EndFunc Func exit1() Exit(1) EndFunc Larry wrote something like this that works great as well: AdlibEnable("pause"); this keeps running at all times till you exit. HotKeySet("{pause}","pauseset"); uses the pause key to change the value of $Pause $Pause = -1 sleep(500) While 1 send("4"); this sends the number 4 key to the active program. sleep(1000) ; sleep for 1 second before repeating Wend Func pauseset() $Pause = $Pause * -1 EndFunc Func pause() While $Pause = -1 Sleep(500) Wend EndFunc It seems more that you can only have one function at one time, kinda of a funtion in a function loop. The adlib is a good way to circumvent it because autoit seems to stop what it is doing and check this. (correct me if I am wrong.) So you can see that both aproaches use the um..features of AutoIt to thier advantage. I tried to keep it simple. The adlib function works better because it can pause a script at any point, where the changing of hotkey aproach stops at the next breakpoint. AutoIt3, the MACGYVER Pocket Knife for computers. Link to comment Share on other sites More sharing options...
Administrators Jon Posted February 5, 2004 Administrators Share Posted February 5, 2004 It's fixed in the current unstable anyhow. So the orginal code will work. Deployment Blog: https://www.autoitconsulting.com/site/blog/ SCCM SDK Programming: https://www.autoitconsulting.com/site/sccm-sdk/ 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