Sign in to follow this  
Followers 0
ihenvyr

Anyone Can Solve This?

8 posts in this topic

This timer behaves like this:

Pressing "T" starts 4 minutes countdown

while pressing "T" again it adds 4 minutes..

as i observed, the countdown timer in "seconds" is decreasing and skipping fast when i continually pressing "T" to add time..

IS IT NORMAL? or IS THERE SOMETHING WRONG WITH THIS SCRIPT?

i've noticed that hitting "T" 15 times is have a result of 59min 30 below, i think adding time while decreasing time in seconds made a conflict.. HELLO have you encountered someone like this?

Please help..

HotKeySet("t", "ADD_TO_TIMER")

Dim $ADDTIME = "", $TIME_WAS_ADDED, $TIMER, $MY_TIME_LEFT
Func ADD_TO_TIMER()
    If Not $ADDTIME <> "" Then
        Send("p")
        $ADDTIME = 4
        $TIME_WAS_ADDED = 1
        $TIMER = TimerInit()
    Else
        $ADDTIME = 4 + ($MY_TIME_LEFT / 60)
    EndIf
EndFunc;==>ADD_TO_TIMER
While 1
; SCRIPT HERE
    If $TIME_WAS_ADDED = 1 Then
        $DIFF = TimerDiff($TIMER) / 1000
        $MY_TIME_LEFT = ($ADDTIME * 60) - $DIFF
        If $MY_TIME_LEFT <= 0 Then
            Send("p")
            $TIME_WAS_ADDED = 0
            $ADDTIME = ""
            $MY_TIME_LEFT = ""
        EndIf
    EndIf
    ToolTip('TIME LEFT: ' & StringFormat('%i minute(s) and %i second(s)', $MY_TIME_LEFT / 60 , Mod($MY_TIME_LEFT , 60)), 0, 0)
    Sleep(100)
WEnd

Umbrella Member

Share this post


Link to post
Share on other sites



If Not $ADDTIME <> "" Then

should be:

If Not ($ADDTIME <> "") Then

or even simply:

If $ADDTIME = "" Then

HotKeySet("t", "ADD_TO_TIMER")

Dim $ADDTIME = "", $TIME_WAS_ADDED, $TIMER, $MY_TIME_LEFT
Func ADD_TO_TIMER()
    If Not ($ADDTIME <> "") Then
        Send("p")
        $ADDTIME = 4
        $TIME_WAS_ADDED = 1
        $TIMER = TimerInit()
    Else
        $ADDTIME = 4 + ($MY_TIME_LEFT / 60)
    EndIf
EndFunc;==>ADD_TO_TIMER
While 1
; SCRIPT HERE
    If $TIME_WAS_ADDED = 1 Then
        $DIFF = TimerDiff($TIMER) / 1000
        $MY_TIME_LEFT = ($ADDTIME * 60) - $DIFF
        If $MY_TIME_LEFT <= 0 Then
            Send("p")
            $TIME_WAS_ADDED = 0
            $ADDTIME = ""
            $MY_TIME_LEFT = ""
        EndIf
    EndIf
    ToolTip('TIME LEFT: ' & StringFormat('%i minute(s) and %i second(s)', $MY_TIME_LEFT / 60 , Mod($MY_TIME_LEFT , 60)), 0, 0)
    Sleep(100)
WEnd

still not working.. :)

it should work like this:

adding 4 minutes should not affect the seconds for example

3:59

7:58

11:57

15:56

19:55

i think there's something wrong with

here->> $ADDTIME = 4

and-->> $ADDTIME = 4 + ($MY_TIME_LEFT / 60)

or---->> $MY_TIME_LEFT = ($ADDTIME * 60) - $DIFF

..but i'm not familiar with that script :think:

please all experts help me with this.. :(

thanks..


Umbrella Member

Share this post


Link to post
Share on other sites

What do you mean your not familiar with it, I wrote it for you 6 months ago! You've had all this time to do some studying in the help file!!!!

It subtracts the time that has already passed...

This script hasn't changed since I wrote it, what have you done to try and fix the issue you 'think' your having, show me some effort, and I might try to do something different to help.


[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

#5 ·  Posted (edited)

Hi,

not very good, but maybe it helps. :think:

HotKeySet("t", "ADD_TO_TIMER")
HotKeySet("{F2}", "end")

Dim $min = 0, $sec = 60, $start = False, $first_S = False

Func ADD_TO_TIMER()
    If $first_S = False Then
        $min += 3
        $first_S = True
        $start = True
    Else
        $min += 4
        $start = True
    EndIf
EndFunc  ;==>ADD_TO_TIMER

While 1
    If $start = True Then
        $sec -= 1
        If $sec = 0 Then
            $sec = 59
            $min -= 1
        EndIf
    EndIf
    ToolTip('TIME LEFT: ' & StringFormat('%i minute(s) and %i second(s)', $min, $sec), 0, 0)
    Sleep(1000)
WEnd

Func end()
    Exit (0)
EndFunc  ;==>end

So long,

Mega

Edited by th.meger

Scripts & functions Organize Includes Let Scite organize the include files

Yahtzee The game "Yahtzee" (Kniffel, DiceLion)

LoginWrapper Secure scripts by adding a query (authentication)

_RunOnlyOnThis UDF Make sure that a script can only be executed on ... (Windows / HD / ...)

Internet-Café Server/Client Application Open CD, Start Browser, Lock remote client, etc.

MultipleFuncsWithOneHotkey Start different funcs by hitting one hotkey different times

Share this post


Link to post
Share on other sites

#6 ·  Posted (edited)

Hi,

not very good, but maybe it helps. ;)

HotKeySet("t", "ADD_TO_TIMER")
HotKeySet("{F2}", "end")

Dim $min = 0, $sec = 60, $start = False, $first_S = False

Func ADD_TO_TIMER()
    If $first_S = False Then
        $min += 3
        $first_S = True
        $start = True
    Else
        $min += 4
        $start = True
    EndIf
EndFunc;==>ADD_TO_TIMER

While 1
    If $start = True Then
        $sec -= 1
        If $sec = 0 Then
            $sec = 59
            $min -= 1
        EndIf
    EndIf
    ToolTip('TIME LEFT: ' & StringFormat('%i minute(s) and %i second(s)', $min, $sec), 0, 0)
    Sleep(1000)
WEnd

Func end()
    Exit (0)
EndFunc;==>end

So long,

Mega

Hello! :think: thanks for all the help

the default start time is 0 minute(s) 60 second(s)

here i edit to become

0 minutes(s) 0 second(s) start time..

i've noticed that when time reaches 0 minute(s) 0 second(s)

it keeps subtracting minute and seconds, resulting to negative value..

how to make it stop when minute and seconds reaches zero(0)??

..in order to add time again

here

HotKeySet("t", "ADD_TO_TIMER")
HotKeySet("{F2}", "end")

Dim $min = 0, $sec = 0, $start = False, $first_S = False

Func ADD_TO_TIMER()
    If $first_S = False Then
        $min += 3
        $sec += 60
        $first_S = True
        $start = True
    Else
        $min += 4
        $start = True
    EndIf
EndFunc;==>ADD_TO_TIMER

While 1
    If $start = True Then
        $sec -= 1
        If $sec = 0 Then
            $sec = 59
            $min -= 1
        ElseIf $min = 0 And $sec = 0 Then;is it correct?
;what will be the next script here? please help
        EndIf
    EndIf
    ToolTip('TIME LEFT: ' & StringFormat('%i minute(s) and %i second(s)', $min, $sec), 0, 0)
    Sleep(100);i reduced it in order to reach zero minute and seconds quickly
WEnd

Func end()
    Exit (0)
EndFunc;==>end

JdeB please help ..thanks :(

th.meger any help? :) please..

Edited by ihenvyr

Umbrella Member

Share this post


Link to post
Share on other sites

HI,

something like this?

HotKeySet("t", "add4Min")
HotKeySet("{F2}", "end")

Dim $min = 0, $sec = 60, $start = False, $first_S = False, $finish_S = False

Func add4Min()
    If $first_S = False Then
        $min += 3
        $first_S = True
        $start = True
    Else
        $min += 4
        $start = True
    EndIf
    $finish_S = False
EndFunc  ;==>add4Min

While 1
    If $finish_S = False Then
        If $start = True Then
            $sec -= 1
            If $sec = 0 Then
                $min -= 1
                If $min = 0 Then
                    $finish_S = True
                EndIf
                $sec = 59
            EndIf
            ToolTip('TIME LEFT: ' & StringFormat('%i minute(s) and %i second(s)', $min, $sec), 0, 0)
        Else
            ToolTip('TIME LEFT: ' & StringFormat('%i minute(s) and %i second(s)', 0, 0), 0, 0)
        EndIf
    Else
        ToolTip('TIME LEFT: ' & StringFormat('%i minute(s) and %i second(s) - FINISHED!!!', 0, 0), 0, 0)
        $first_S = False
    EndIf
    Sleep(1000)
WEnd

Func end()
    Exit (0)
EndFunc  ;==>end

So long,

Mega


Scripts & functions Organize Includes Let Scite organize the include files

Yahtzee The game "Yahtzee" (Kniffel, DiceLion)

LoginWrapper Secure scripts by adding a query (authentication)

_RunOnlyOnThis UDF Make sure that a script can only be executed on ... (Windows / HD / ...)

Internet-Café Server/Client Application Open CD, Start Browser, Lock remote client, etc.

MultipleFuncsWithOneHotkey Start different funcs by hitting one hotkey different times

Share this post


Link to post
Share on other sites

HI,

something like this?

HotKeySet("t", "add4Min")
HotKeySet("{F2}", "end")

Dim $min = 0, $sec = 60, $start = False, $first_S = False, $finish_S = False

Func add4Min()
    If $first_S = False Then
        $min += 3
        $first_S = True
        $start = True
    Else
        $min += 4
        $start = True
    EndIf
    $finish_S = False
EndFunc ;==>add4Min

While 1
    If $finish_S = False Then
        If $start = True Then
            $sec -= 1
            If $sec = 0 Then
                $min -= 1
                If $min = 0 Then
                    $finish_S = True
                EndIf
                $sec = 59
            EndIf
            ToolTip('TIME LEFT: ' & StringFormat('%i minute(s) and %i second(s)', $min, $sec), 0, 0)
        Else
            ToolTip('TIME LEFT: ' & StringFormat('%i minute(s) and %i second(s)', 0, 0), 0, 0)
        EndIf
    Else
        ToolTip('TIME LEFT: ' & StringFormat('%i minute(s) and %i second(s) - FINISHED!!!', 0, 0), 0, 0)
        $first_S = False
    EndIf
    Sleep(1000)
WEnd

Func end()
    Exit (0)
EndFunc ;==>end

So long,

Mega

Yup!! :think:

absolutely something like that..

thank you very very much th.meger!! :(

..thank you for your time! :)


Umbrella Member

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