Jump to content

How to make something happen when a timer ends? - (Locked)


Recommended Posts

global $timer

While True
    $timer = TimerInit()
    Do
        ;
    Until TimerDiff($timer) > 3000
    Execute function here?
WEnd


Hey guys, quite, quite new to Autoit (and coding and general, to be honest). I've dabbled before and edited some scripts here and there, but that's about it.

I've been trying to figure out how to do something like the code above; trying to make a function happen if a timer goes above a certain number of seconds.

I've messed around with If statements, Do and While, but I can't seem to figure out how to merge them, or if there is another argument out there that'd do the trick.

Points for simplicity, once again I'm quite new.

Thanks for your time!

Link to post
Share on other sites

As an addendum, I don't think the timer needs to run on a loop, I just need a timer to run during certain different sequences to kill them/go back the the beginning if it gets stuck.

Link to post
Share on other sites
  • Moderators

john36,

As a beginner, I would strongly advise that you do NOT use the Timer UDF library and stick to the native TimerInit/Diff functions - the UDF functions can rapidly get very complicated and are usually not necessary.

Quote

 I just need a timer to run during certain different sequences to kill them/go back the the beginning if it gets stuck

That is rather more than your initial statement:

Quote

trying to make a function happen if a timer goes above a certain number of seconds

Can you give a concrete example of what it is that you actually trying to do? That way we can see how we might best structure the code to get you on the right path.

M23

Public_Domain.png.2d871819fcb9957cf44f4514551a2935.png Any of my own code posted anywhere on the forum is available for use by others without any restriction of any kind

Open spoiler to see my UDFs:

Spoiler

ArrayMultiColSort ---- Sort arrays on multiple columns
ChooseFileFolder ---- Single and multiple selections from specified path treeview listing
Date_Time_Convert -- Easily convert date/time formats, including the language used
ExtMsgBox --------- A highly customisable replacement for MsgBox
GUIExtender -------- Extend and retract multiple sections within a GUI
GUIFrame ---------- Subdivide GUIs into many adjustable frames
GUIListViewEx ------- Insert, delete, move, drag, sort, edit and colour ListView items
GUITreeViewEx ------ Check/clear parent and child checkboxes in a TreeView
Marquee ----------- Scrolling tickertape GUIs
NoFocusLines ------- Remove the dotted focus lines from buttons, sliders, radios and checkboxes
Notify ------------- Small notifications on the edge of the display
Scrollbars ----------Automatically sized scrollbars with a single command
StringSize ---------- Automatically size controls to fit text
Toast -------------- Small GUIs which pop out of the notification area

 

Link to post
Share on other sites

Alright, so I've automated going to a lever, using it, go through the open gate, then move to Zone 3.
Here's what I got so far, it works great.

; Zone 1
   CheckStuck_MoveTo(-12232,-14221)
   CheckStuck_MoveTo(-12953,-12465)
   CheckStuck_MoveTo(-13666,-11333)
   CheckStuck_MoveTo(-13015,-9810)
   RndSleep(1000)
   CheckAndUseStone()
   sleep(500)
   LeverOpenDoor()
   sleep(500)
   CheckStuck_MoveTo(-13015,-9810)
   sleep(500)
   WaitMapLoading(150)
   sleep(5000)
        
   ; Zone 2
   CheckStuck_MoveTo(-12504,-8509)
   CheckAndUseStone()
   sleep(500)
   CheckStuck_MoveTo(-12504,-8509)
   sleep(500)
   WaitMapLoading(150)
   sleep(5000)
   ;arrived

Most these functions I (unfortunately) didn't write and make calls to an external API, but were easy enough for me to read and stitch together to make this.

What I'm trying to do is to implement a timer that would run independently for each zone and would set:

GoBackToCheckpoint($ZoneCheckPoint)

If a timer gets to, say, 5 minutes without having reached WaitMapLoading() for the current zone.

GoBackToCheckpoint() resets the position and the script runs from the start. I've used that too, also works great.

Hope this makes better sense, thanks a lot for your time and patience.

Link to post
Share on other sites
  • Moderators

Welcome to the AutoIt forum.

Unfortunately you appear to have missed the Forum rules on your way in. Please read them now - particularly the bit about not discussing game automation - and then you will understand why you will get no help and this thread will now be locked.

See you soon with a legitimate question I hope.

The Moderation team

Public_Domain.png.2d871819fcb9957cf44f4514551a2935.png Any of my own code posted anywhere on the forum is available for use by others without any restriction of any kind

Open spoiler to see my UDFs:

Spoiler

ArrayMultiColSort ---- Sort arrays on multiple columns
ChooseFileFolder ---- Single and multiple selections from specified path treeview listing
Date_Time_Convert -- Easily convert date/time formats, including the language used
ExtMsgBox --------- A highly customisable replacement for MsgBox
GUIExtender -------- Extend and retract multiple sections within a GUI
GUIFrame ---------- Subdivide GUIs into many adjustable frames
GUIListViewEx ------- Insert, delete, move, drag, sort, edit and colour ListView items
GUITreeViewEx ------ Check/clear parent and child checkboxes in a TreeView
Marquee ----------- Scrolling tickertape GUIs
NoFocusLines ------- Remove the dotted focus lines from buttons, sliders, radios and checkboxes
Notify ------------- Small notifications on the edge of the display
Scrollbars ----------Automatically sized scrollbars with a single command
StringSize ---------- Automatically size controls to fit text
Toast -------------- Small GUIs which pop out of the notification area

 

Link to post
Share on other sites
Guest
This topic is now closed to further replies.
  • Recently Browsing   0 members

    No registered users viewing this page.

×
×
  • Create New...