Sign in to follow this  
Followers 0
jannikrendl

GUI which counts runtime of a script

5 posts in this topic

#1 ·  Posted

Hey guys,

lately I was working on a script... Good thing: the script works well. Bad thing: I would like to create a nice GUI which consists of various elements (1. Start Button, 2. Stop Button, 3. Input [to define the time which the script should work], 4. Timer [which counts the total runtime of the script]). Problem: I know how to create the GUI but I don't know how to create the timers and stuff. I visited some forum sites but I just don't understand how the whole timer stuff works :(.

Maybe someone could help me...

Thanks in advance :)

 

Jannik Rendl

Share this post


Link to post
Share on other sites



#2 ·  Posted

@jannikrendl how about posting your script, so we can see what kind of timers would fit well in your GUI?


√-1 2^3 ∑ π, and it was delicious!

Share this post


Link to post
Share on other sites

#3 ·  Posted (edited)

@JLogan3o13 Basicly it does some clicks on random spots to "prentend" staying online and active.

 

Local $mygui = GUICreate('AntiAFK.exe', 300, 70)
GUICtrlCreateLabel('Runtime in minutes:', 10, 13, 100, 20)
Local $mytime = GUICtrlCreateInput('', 110, 10, 40, 20, $ES_NUMBER)
Local $start = GUICtrlCreateButton('Start', 160, 10, 60, 20)
Local $stop = GUICtrlCreateButton('Stop', 230, 10, 60, 20)
GUICtrlSetLimit(-1, 2)
Local $status = GUICtrlCreateLabel('', 10, 40, 280, 20, BitOR($SS_SUNKEN, $SS_CENTER))
GUICtrlSetColor($status, 0xff0000)
GUICtrlSetFont($status, 10, 800)
GUISetState()

While 1
    $msg = GUIGetMsg()
    Switch $msg
        Case $gui_event_close
            Exit
        Case $mytime
        Case $start
                $timer = TimerInit()
                chk_time()
                AdlibRegister('chk_time', 1000)
                GUICtrlSetState($mytime, $GUI_DISABLE)
                GUICtrlSetState($start, $GUI_DISABLE)
                AntiAFK()
        Case $stop
            Exit
    EndSwitch
WEnd

Func chk_time()
    Local $diff = Int(TimerDiff($timer))
    If $diff > GUICtrlRead($mytime) * 1000 * 60 Then Exit MsgBox(0, 'AntiAFK', 'You are going to AFK now!', 10)
    GUICtrlSetData($status, 'Ending in ' & GUICtrlRead($mytime) - Int($diff / 1000 / 60) & ' Minutes')
EndFunc

Func AntiAFK();to stay online
    sleep(random(15000,120000)
    MouseMove(random(x,x),random(x,x),random(10,30));replace x
    sleep(random(15000,120000)
    MouseClick("Left",random(y,y),random(y,y),1,random(10,30));replace y
    sleep(random(15000,120000)
    MouseCLick("Right",random(z,z),random(z,z),1,random(10,30));replace z
EndFunc

Thats basically what I achieved right now... (Thanks to @kylomas for helping me with the first part :))

Missing stuff: Timer aka "Runtime counter"...

 

Edited by jannikrendl

Share this post


Link to post
Share on other sites

#4 ·  Posted

So, how is this any different than your last post, which was locked? Aside from removing the references to Runescape, that is. Did you actually read the forum rules to which you were pointed, this piece in particular?

Quote

7. Do not repost the same question if the previous thread has been locked - particularly if you merely reword the question to get around one of the prohibitions listed above.

 


√-1 2^3 ∑ π, and it was delicious!

Share this post


Link to post
Share on other sites

#5 ·  Posted

@jannikrendl as I see you have been viewing this thread, and no answer is forthcoming, I'll assume there is no decent explanation. This is the second thread locked for game automation, don't let there be a third.


√-1 2^3 ∑ π, and it was delicious!

Share this post


Link to post
Share on other sites
Guest
This topic is now closed to further replies.
Sign in to follow this  
Followers 0

  • Similar Content

    • jannikrendl
      By jannikrendl
      Hey,
      I'd like to create a gui wich records the total runtime of the script. 
      It should tell the hours,minutes and seconds (like this: Running since 00:00:00)
      This is what I have right now:
      Local $iTimer, $hGUI, $cLabel $iTimer = TimerInit() $hGUI = GUICreate("") $cLabel = GUICtrlCreateLabel("",300,380,100,20) GUISetState() AdlibRegister("_UpdateLabel",1000) While 1 $nMsg = GUIGetMsg() Switch $nMsg Case -3 Exit EndSwitch Wend Func _UpdateLabel() $iTimerDiff = TimerDiff($iTimer) GUICtrlSetData($cLabel,"Running Since " & Round($iTimerDiff/1000,0) & " sec.") EndFunc Thanks in advance
    • CT83
      By CT83
      I have a text field in my scripts gui which displays the current runtime. I usually update it using  a function, in the script, but i was wondering if there is any other way to keep the Runtime running without having to call the runtime function again and again and while my script is carrying out something else and running other functions. I mean autoit does'nt support multithreading does it?
    • CT83
      By CT83
      I am using the code given below to calculate the runtime but, the run time returned is sometimes, slightly lesser (the runtime field on my gui runs is slightly faster than the normal clock) How is this possible? 
      #include <Date.au3> #include <MsgBoxConstants.au3> #include <StringConstants.au3> Global $iFirst_Run=0 Global $iS_Time=0, $iS_TimeDisp=0 ;test Calc_Runtime(0) Sleep(5000) $test=Calc_Runtime(0) MsgBox("","",$test) $test=Calc_Runtime(1) MsgBox("","",$test) Func Calc_Runtime($choice) If $iFirst_Run=0 Then $iS_TimeDisp = _NowTime(5) $iS_Time = Number(_StringStripChars($iS_TimeDisp, ':')) $iFirst_Run=1 EndIf Local $iTime_Now=Number(_StringStripChars(_NowTime(5), ':')) Local $iR_Time= $iTime_Now - $iS_Time Switch $choice ;1 is for returning in Integer; 0 is for proper display time Case 0 Return $iR_Time Case 1 Return Sec2Time($iR_Time) EndSwitch EndFunc Func _StringStripChars($sString, $sChars) If $sChars == '' Then Return SetError(1, 0, $sString) If $sString == '' Then Return SetError(2, 0, $sString) $sChars = StringRegExpReplace($sChars, '\\([eEqQ])', '\1\\') Return StringRegExpReplace($sString, '[\Q' & $sChars & '\E]', '') EndFunc Func Sec2Time($nr_sec) $nr_sec=$nr_sec $sec2time_hour = Int($nr_sec / 3600) $sec2time_min = Int(($nr_sec - $sec2time_hour * 3600) / 60) $sec2time_sec = $nr_sec - $sec2time_hour * 3600 - $sec2time_min * 60 Return StringFormat('%02d:%02d:%02d', $sec2time_hour, $sec2time_min, $sec2time_sec) EndFunc ;==>Sec2Time