Sign in to follow this  
Followers 0
whoRu

need a little help

8 posts in this topic

#1 ·  Posted (edited)

hi i need a little help with my scrip. here the script. what i want it to do is to pause when it loop 30 time.

Global $Paused
HotKeySet("{PAUSE}", "TogglePause")
HotKeySet("{ESC}", "Terminate")


MsgBox(4096, "click", "ok", 5)

MouseClick ( "left" , 268, 486 , 1, 3)
MouseClick ( "left" , 452, 186 , 1, 3)
Sleep ( 100 )
MouseClick ( "left")
Sleep ( 75 )
MouseClick ( "right")
Sleep ( 100 )
MouseClick ( "right")

MouseClick ( "left" , 205, 100 , 1, 3)

$i = 0
Do
MouseClick ( "right" , 130, 205 , 2, 3)
MouseClick ( "left" , 268, 486 , 1, 3)
MouseClick ( "left" , 452, 186 , 1, 3)
Sleep ( 120 )
MouseClick ( "left")
Sleep ( 100 )
MouseClick ( "right")
Sleep ( 100 )
MouseClick ( "right")

$i = $i + 1

Until $i = 30

Stuck here don't know how to end it to pause

Edited by whoRu

Share this post


Link to post
Share on other sites



Well, what I'll show you will 'Pause', but if that's all your script, as soon as you 'unpause' (by pressing the pause button) there is no loop to continue anywhere so it will exit.

Until $i = 30

Send('{PAUSE}')

Func TogglePause()
    $Paused = NOT $Paused
    While $Paused
        sleep(100)
        ToolTip('Script is "Paused"',0,0)
    WEnd
    ToolTip("")
EndFunc


[center]Common sense plays a role in the basics of understanding AutoIt... If you're lacking in that, do us all a favor, and step away from the computer.[/center]

Share this post


Link to post
Share on other sites

thanks for your help SmOke_N. how do u make it not to exit when u unpause and just start over with the script again?

Share this post


Link to post
Share on other sites

I am not an AutoIt expert but I think put a loop round the code you want repeated, with no exit condition is one way.

For example:

$j = 1

Do

;code you want to repeat including the pause

until $j = 0

Share this post


Link to post
Share on other sites

Do you want it to start everything over again, or just the part that has the 30 times?

JS


AutoIt Links

File-String Hash Plugin Updated! 04-02-2008 Plugins have been discontinued. I just found out.

ComputerGetInfo UDF's Updated! 11-23-2006

External Links

Vortex Revolutions Engineer / Inventor (Web, Desktop, and Mobile Applications, Hardware Gizmos, Consulting, and more)

Share this post


Link to post
Share on other sites

i had a sript that i wanted to keep looping until you told it not to and this was how i got around it.

hope this helps

work(); calls the main script the first time.

; looping statement that prompts if you want to continue 
$i = -1
While $i <> 1
    message()
    $i = $i
WEnd
    


; functions in here that will be called

Func work()
;   main part of script in here
EndFunc


Func message()
    If Not IsDeclared("iMsgBoxAnswer") Then Dim $iMsgBoxAnswer
    $iMsgBoxAnswer = MsgBox(36,"More ??","do you want to rerun ?")
    Select
       Case $iMsgBoxAnswer = 6;Yes
        work()
       Case $iMsgBoxAnswer = 7;No
        Exit
    EndSelect
EndFunc

Share this post


Link to post
Share on other sites

If you only want the second part to run everytime you pause then use the following...

Global $Paused
HotKeySet("{PAUSE}", "TogglePause")
HotKeySet("{ESC}", "Terminate")

Stuff1()

While 1
    Stuff2()
    SEND("{PAUSE}")
WEnd

Func TogglePause()
    $Paused = NOT $Paused
    While $Paused
        sleep(100)
        ToolTip('Script is "Paused"',0,0)
    WEnd
    ToolTip("")
EndFunc

Func Terminate()
    Exit
EndFunc

Func Stuff1()
    MsgBox(4096, "click", "ok", 5)

    MouseClick ( "left" , 268, 486 , 1, 3)
    MouseClick ( "left" , 452, 186 , 1, 3)
    Sleep ( 100 )
    MouseClick ( "left")
    Sleep ( 75 )
    MouseClick ( "right")
    Sleep ( 100 )
    MouseClick ( "right")
    
    MouseClick ( "left" , 205, 100 , 1, 3)
EndFunc

Func Stuff2()
    For $i = 0 To 30 Step 1
        MouseClick ( "right" , 130, 205 , 2, 3)
        MouseClick ( "left" , 268, 486 , 1, 3)
        MouseClick ( "left" , 452, 186 , 1, 3)
        Sleep ( 120 )
        MouseClick ( "left")
        Sleep ( 100 )
        MouseClick ( "right")
        Sleep ( 100 )
        MouseClick ( "right")
    Next
EndFunc

If you want the whole script to run each time the second part has finished 30 then use the following.

Global $Paused
HotKeySet("{PAUSE}", "TogglePause")
HotKeySet("{ESC}", "Terminate")

While 1
        Stuff1()
    Stuff2()
    SEND("{PAUSE}")
WEnd

Func TogglePause()
    $Paused = NOT $Paused
    While $Paused
        sleep(100)
        ToolTip('Script is "Paused"',0,0)
    WEnd
    ToolTip("")
EndFunc

Func Terminate()
    Exit
EndFunc

Func Stuff1()
    MsgBox(4096, "click", "ok", 5)

    MouseClick ( "left" , 268, 486 , 1, 3)
    MouseClick ( "left" , 452, 186 , 1, 3)
    Sleep ( 100 )
    MouseClick ( "left")
    Sleep ( 75 )
    MouseClick ( "right")
    Sleep ( 100 )
    MouseClick ( "right")
    
    MouseClick ( "left" , 205, 100 , 1, 3)
EndFunc

Func Stuff2()
    For $i = 0 To 30 Step 1
        MouseClick ( "right" , 130, 205 , 2, 3)
        MouseClick ( "left" , 268, 486 , 1, 3)
        MouseClick ( "left" , 452, 186 , 1, 3)
        Sleep ( 120 )
        MouseClick ( "left")
        Sleep ( 100 )
        MouseClick ( "right")
        Sleep ( 100 )
        MouseClick ( "right")
    Next
EndFunc

I hope the above helps some.

JS


AutoIt Links

File-String Hash Plugin Updated! 04-02-2008 Plugins have been discontinued. I just found out.

ComputerGetInfo UDF's Updated! 11-23-2006

External Links

Vortex Revolutions Engineer / Inventor (Web, Desktop, and Mobile Applications, Hardware Gizmos, Consulting, and more)

Share this post


Link to post
Share on other sites

thanks you very much JSThePatriot and craig.gill thats was what i wanted it do.

Share this post


Link to post
Share on other sites

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 account

Sign in

Already have an account? Sign in here.


Sign In Now
Sign in to follow this  
Followers 0