• You've discovered RedGuides, an EverQuest multi-boxing and scripting community 🧙‍♀️⚙️. We want you to play several EQ characters at once, come join us and say hello! 👋

  • A TLP without truebox has thawed (Very Vanilla ready)
    Frostreaver

Question - MQ2Nav How to check if currently navigating

mattnaik

New member
Joined
Jan 29, 2020
RedCents
I'm trying to get to a specific point on the map using /nav loc and when i get there "do things".

The problem I'm running into is I don't see a way to know when the current /nav command is complete. I'd tried checking currently loc vs desired loc but since the desired loc is a float to 2 decimals it never seems to be the EXACT location so I just keep running my nav loop. Is there some sort of CurrentlyNavigating boolean I can access? I suppose I can monitor the MQ2 output for "Stopping Navigation" but was hoping there was a simpler solution.

Thanks
 
/delay 300s !${Navigation.Active}
This is what I use. Basically puts a 5 minute pause in there that will end early once it's done navigating. Although, if you're getting stuck in a nav loop, it sounds like you may need to adjust the expectations of the macro.
 
That's a poor way to wait for navigation to finish @cannonballdex If nav finishes half a second into your delay then you end up waiting an addition 4.5 seconds for the navigation to finish.
 
Code:
/while (Something is true) {
    /dosomething
    /delay 1
}

Would do the thing you want it to do so long as the condition is true.

So in your suggestion it checks if you are navigating, and if you are the macro doesn't do anything at all for 5 seconds. Then it checks to see if you're navigating again, and if you are it waits another 5 second. Rinse repeat.

For purposes of responsiveness and speed, @Spenster suggestion would be more responsive than yous because he will delay until navigation is finished.

Code:
/while (${Navigation.Active}) {
/delay 1
}

Which is to say you want to check navigation.active every 1 tenth of a second.

Ideally, unless you absolutely must wait a set amount of time. Your best option is to use an early stop condition with a delay, or a while loop, which has a very low delay. This way it will finish navigating, then immediately do the next thing in line.
 
Awesome! Learned something new, always tried to figure out the difference between /delay 1 and /delay 1s (haha). I knew 1s was seconds, had no idea what just 1 was, i always thought it wasn't a working 1 second. lol Thank you. Since were on the topic, is 1/10 of a second really enough time to process with lag or just it depend on what you are waiting to do?
 
Attached is what i am using

if you dont need to be fancy

after your /nav command

INI:
    /delay 10 ${Navigation.Active}
    /while ( ${Navigation.Active} ) {
        /delay 5
    }
 

Attachments

Question - MQ2Nav How to check if currently navigating

Users who are viewing this thread

Back
Top
Cart