• You've discovered RedGuides 📕 an EverQuest multi-boxing community 🛡️🧙🗡️. We want you to play several EQ characters at once, come join us and say hello! 👋
  • IS THIS SITE UGLY? Change the look. To dismiss this notice, click the X --->

Request - MQ2Nav Beta by Brainiac and Donation Kick Starter. (3 Viewers)

Status
Not open for further replies.
If you have a moment can you also add

I know /nav X Y Z works but would be beneficial for consistency for a safeNav subroutine in one of my macro's =)


Also I get so confused with which loc is XY from all the commands... here is a snippet for everyone

Rich (BB code):
| wtfLOC.mac by LamahHerder
#event yourLocation "Your Location is #1#, #2#, #3# #*#"
sub main
	/loc
	/doevents
	/echo ${Me.X} ${Me.Y} ${Me.Z} = {Me.X} {Me.Y} {Me.Z}
	/echo ${Me.EQLoc} = {Me.EQLoc}
	/echo ${Me.Loc} = {Me.Loc}
	
/end


sub event_yourLocation(Line)
	/echo ${Param1} ${Param2} ${Param3} = /loc
/return
 
I always get confused with the XYZ as some commands do it different than what /loc reports which was why I was hoping for both =)

YXZ = /loc and ${Me.Loc} and MQ2MoveUtils/moveto is YZ
XYZ = ${Me.EQLoc} and ${Me.X} ${Me.Y} ${Me.Z} and MQ2AdvPath

I think it would be safe to do both if its not a huge hassle, that way when people convert from moveto or something that uses XYZ or YXZ they can just use the proper one for what they need.

  • /nav locXYZ 10 20 30
  • /nav locYXZ 20 10 30
  • not sure which you would want to default /nav loc to or /nav # # #

The more interesting thing for me is having a /nav option that is not /nav # # # for loc's so I can call a single subroutine for /nav loc /nav id /nav door as the first param would always be a string.
The subroutine would do stuff while ${Navigation.Active} instead of having a /while loop everytime I use /nav.

Rich (BB code):
sub safeNav(string navType, int navParm1, int navParm2, int navParm3)
 do some stuff
/return
Actually I guess I do need to just have a safeNav$$ for each as sometimes it is string sometimes int for other parameters


I usually use /nav id ${Spawn[$ $ $].ID}
Like this
Rich (BB code):
    /nav id ${Spawn[$ $ $].ID}
        /call waitTarget id ${Spawn[$ $ $].ID}
        /while ( ${Navigation.Active} ) {
            /delay 5
            /call doSomeStuff
            /call CheckAThing
            /if ( blah ) /nav stop
            }

Either way I am very happy with all the work you have done for this, it is awesome and makes many things I wanted to do possible =)

/nav door
I am seeing some oddities with portals, I think moveutils or advpath had a break on warp to fix this but it may be on my end, I will look at it later and let you know.
 
Last edited:
My personal opinion is keep the loc to be the same as in game /loc. Would be less confusing for laymen alike me.
I go find a camp or position I want to be, I jot down the /loc and I'm good to go. So that would get my vote for what it's worth.

I also like the idea of /nav loc xyz. It would be more consistent with your other commands. I believe that's how moveutils does it to?


Sent from my iPhone using Tapatalk
 
/Moveto type command for /nav would be kickass

-Update-
I shouldn't post before 8 am. For whatever reason /nav target wasn't working for me when I recalled trying it. Ty
 
Last edited:
/moveto is mq2moveutils

MQ2Nav commands are

Rich (BB code):

/nav Target Navigate to target.
/nav X Y Z Navigate to coordinates.
/nav Item [click] [once] Navigate to item (and click it)
/nav Door Navigate to door/option (and click it)
/nav Waypoint Navigate to waypoint.
 
This is basically everything I would want =)
  • /nav target
    • Navigates to XYZ of your current target
  • /nav id ####
    • Navigates to XYZ of ${Spawn[].ID}


  • /nav loc # # #
    • Navigates to YXZ (like in game /loc)
  • /nav locYXZ # # #
    • Navigates to YXZ (like in game /loc)
  • /nav locXYZ # # #
    • Navigates to XYZ




  • /nav waypoint
  • /nav waypoint $NAME $STEPSTART




 
Last edited:
I think most of those (except the loc yxz) are covered in the new version. Which of those are missing from here that you would like?
https://github.com/brainiac/MQ2Nav/wiki/Command Reference
Yes thats correct
/nav loc YXZ is functionally only thing missing


Also I'm not sure I follow this one: /nav waypoint $NAME $STEPSTART

Yea sorry, I think maybe I dont understand waypoint.
I was thinking it is a listing of points that you step thru
  • bobs-secret-route
    • loc1
    • loc2
    • loc3
    • loc4
    • loc5
    • loc6

If I did /nav waypoint bobs-secret-route
This would start moving to loc1, then loc2, then loc3 etc...

If i did /nav waypoint bobs-secret-route 3
This would start moving to loc3, then loc4, then loc5 etc...
 
Waypoint is just a location with a name. It will automatically find a path to it.

I do plan on adding the full gamut of functionality that MQ2AdvPath provides in the future, but I'm not quite there yet.
 
It's far from urgent, but does anyone have ideas about certain features that can be a snag on characters. For instance, in the Bazaar as one is traversing from one vendor to another (which I use MQ2Nav all the time-- target the merchant, hit a /nav target button macro on my razer mouse pad) there are these damn wall "lights" that snag my characters (Ogres at least, or regular characters on mounts). I don't see how one can use any of the current settings to access something that is not ground topology.

And there are those darn standing lamps in the Guild Hall that smaller characters can run UNDER, but large characters get caught.
 
It's far from urgent, but does anyone have ideas about certain features that can be a snag on characters. For instance, in the Bazaar as one is traversing from one vendor to another (which I use MQ2Nav all the time-- target the merchant, hit a /nav target button macro on my razer mouse pad) there are these damn wall "lights" that snag my characters (Ogres at least, or regular characters on mounts). I don't see how one can use any of the current settings to access something that is not ground topology.

And there are those darn standing lamps in the Guild Hall that smaller characters can run UNDER, but large characters get caught.

That is due to your Mesh. You can eliminate a lot of the issue by using the correct settings. The main settings that need to be adjusted are TileSize, Cell Size, Height, and Radius. Start by cranking the TileSize down as low as you can. You can get the size as low as possible by raising your Cell Size. Once you have the TileSize at its lowest value raise your Cell Size until you hit the Tile Limit. The part that will help you avoid obstacles will be Height and Radius. In my experimentation a height of 10 and radius of 5 has produced the absolute best results thus far. I also max out both settings until detail mesh. Setting Sample Distance at 32 and max sample at 16. Below I've attached a screenshot of a zone I've rendered.


-- EDIT --
I ran over and generated a map for Bazaar. Give this one a shot.
 

Attachments

  • Bazaar Gen.PNG
    Bazaar Gen.PNG
    736.7 KB · Views: 10
  • bazaar.zip
    257.3 KB · Views: 2
That is due to your Mesh. You can eliminate a lot of the issue by using the correct settings. The main settings that need to be adjusted are TileSize, Cell Size, Height, and Radius. Start by cranking the TileSize down as low as you can. You can get the size as low as possible by raising your Cell Size. Once you have the TileSize at its lowest value raise your Cell Size until you hit the Tile Limit. The part that will help you avoid obstacles will be Height and Radius. In my experimentation a height of 10 and radius of 5 has produced the absolute best results thus far. I also max out both settings until detail mesh. Setting Sample Distance at 32 and max sample at 16. Below I've attached a screenshot of a zone I've rendered.


-- EDIT --
I ran over and generated a map for Bazaar. Give this one a shot.

You need to fiddle with Agent_radius a bit as sometimes it is too high to go thru a passage
Like for example I had been using Agent_radius of I think 5 for most zones.... in bazaar I could not path to the portal from red->center so I could go to center->blue until I had a radius of 3.6

This is what I use for bazaar that seems to work well, not sure if I get stuck on lamps but I was using an Elf...

Bazaar mesh settings

105 TileSize
0.190 Cell Size
0.185 Cell Height

3.6 Actor Radius
3.0 Max Climb
 
For the most part you should leave radius alone, it is used to determine the effective distance from walls. You should only make it larger if you are having trouble turning corners. What you're looking for is Agent height, increase that value and it will block off areas where your head would hit things that could obstruct your path.

Also, cell size and height determine relative accuracy of the mesh, the smaller the cell the smaller the voxels and the higher the resolution of the mesh. Smaller tile size and cell size will create a "better" mesh but path calculations, memory usage, cpu usage, disk usage, etc all go up quite a lot.
 
For the most part you should leave radius alone, it is used to determine the effective distance from walls. You should only make it larger if you are having trouble turning corners. What you're looking for is Agent height, increase that value and it will block off areas where your head would hit things that could obstruct your path.

Also, cell size and height determine relative accuracy of the mesh, the smaller the cell the smaller the voxels and the higher the resolution of the mesh. Smaller tile size and cell size will create a "better" mesh but path calculations, memory usage, cpu usage, disk usage, etc all go up quite a lot.

I have been using radius to avoid things I commonly get stuck on. It really shines when you look at zones like Chardok as well. The tables near fracture and objects in that room for instance were a nightmare on the default settings. Playing with Radius/Height allowed me to avoid the bad spots all together. I'll post a before and after of that zone next time I go there.
 
agent_radius and agent_maxclimb have been the most valuable settings to mess with for better pathing for me

agent_radius stop's any wall or obstacle 'clipping' I assume this also lets me avoid things like lanterns attached to walls.
I basically set it as high as I can so it can still go thru archways/hallways etc...
When you create your mesh fly around and make sure there is at least a sliver of blue thru an area
3.5 agent_radius seems to be a good generic value, some zones I have it as 5 or higher so it path's around better.


agent_maxclimb stop's attempting to walk over obstacles you cant climb (good for the whole gnome vs ogre stuff)


bazaar-mesh.jpg



For example this is bazaar, if I did not want to allow the toon to climb into that window I would mess with agent_maxclimb

bazaar-mesh2.jpg


god i love mq2nav =)
 
Which setting would be useful for when a character gets stuck on ramps? I assumed that was the pathfinder in the plugin, but I have begun to try playing with mesh settings to see if I can correct it.
 
Which setting would be useful for when a character gets stuck on ramps? I assumed that was the pathfinder in the plugin, but I have begun to try playing with mesh settings to see if I can correct it.

Max slope and max climb. I've made some adjustments to the defaults as well as some various improvements to general pathfinding. I do need to do some runthroughs on my tests with gnomes and ogres but it works pretty well in pok!

If you guys know some good neutral zones with places to test with low level dummy characters that would be good for me to test too.
 
If you guys know some good neutral zones with places to test with low level dummy characters that would be good for me to test too.

If you got a spare gold account than TLP servers noob starting cities I think would work well.
Not sure if you have to start in CR on Test server but may be an option as well?
 
Small status report: I think I've solved the inner space and eok issues. Working towards wrapping up and getting a release out soon. If I have enough time it could be this weekend, maybe next
 
Small status report: I think I've solved the inner space and eok issues. Working towards wrapping up and getting a release out soon. If I have enough time it could be this weekend, maybe next

Great news. I'm still struggling using this plugin which is frustrating. I can test paths in the mesh generator but my toon always seems to run off into a wall or smash back and forth on an excluded tile.
 
Great news. I'm still struggling using this plugin which is frustrating. I can test paths in the mesh generator but my toon always seems to run off into a wall or smash back and forth on an excluded tile.

I've got solutions to those problems in this update i'm working on. Just hang tight, I'll have more details soon.
 
I've got solutions to those problems in this update i'm working on. Just hang tight, I'll have more details soon.

Thanks man! I was having the same issues, so it's cool to hear you're aware and working through solutions. Cheers!
 
I have gotten the mq2nav plugin to load and the program is working properly, the only issue I am having is /nav ui is not bringing up the ui box for me anymore, it did the first couple of times but now, no luck. I need it to tell the char to open doors, I saw in previous comments there is a command /nav Door Navigation. I don't know if this applies to me but I tried that also, no luck. Do I need to do a fresh install or is there a file I can delete and repatch? I'm sorry to everyone thinking this guy is a goof lol, I am probably the most computer illiterate person here.
 
I have gotten the mq2nav plugin to load and the program is working properly, the only issue I am having is /nav ui is not bringing up the ui box for me anymore, it did the first couple of times but now, no luck. I need it to tell the char to open doors, I saw in previous comments there is a command /nav Door Navigation. I don't know if this applies to me but I tried that also, no luck. Do I need to do a fresh install or is there a file I can delete and repatch? I'm sorry to everyone thinking this guy is a goof lol, I am probably the most computer illiterate person here.


Read up a handful of posts, I assume you are using ISboxer
 
Strange thats the same thing Isboxers doing , hijacking the UI. Maybe that will be fixed with the same fix he has coming. /hopes
 
out of curiosity, have you tried to re download the UI file with a fresh copy? this happened to me once and worked after i replaced the UI file.
 
negative, I will try that

** Ok, I got it working, what I did.

like Jackei suggested I deleted the UI file, I updated MQ2, I changed the settings of the mq2navini file to shownav ui on. relogged in, and it works perfect. Hope this helps anyone else having this issue. Thanks again =D
 
Finished the majority of the work for the new version. Hoping to get this out soon. Need to write some documentation and check some things in the client first.

One of the new features is a robust way to mark areas of the map either for exclusion (i.e. don't path here at all) or for assigning costs to certain areas. For example, if you want to prefer a certain area set it with a lower cost, or if you want to avoid a certain area unless necessary than use a higher cost. The path finder will always try to find the path with the lowest cost. Cost is a factors in length as well, so a shorter distance through higher cost area may be preferred over a longer distance with lower cost area.

Screenshot of the UI that I'm building for this.
Screenshot 2017-02-14 09.39.40.png

UI for editing areas (these show up in the drop down for the volume tool
area types.png
 
Awesome! Exciting. Can't wait.

As an aside, as you know I've downloaded you GitHub and got it to compile. Would it be possible for you to use this to do LineOfSight testing between two points? I know it's not the primary focus of MQ2Nav... but it would be great if you could. The LOS between two points function ain't working in MQ2 (works for LOS between you and a MOB).

Another thing to think about is... dynamic "weighting" of an area to avoid MOBs. So, if we could give MQ2Nav a list of coordinate (from a radar scan of an area) that it would try to traverse without running through MOBs. Or it would return a "can't get there" flag without aggroing. The idea is to dynamically weight those areas (and say 10 units around for aggro) purposes. I can think of several things that could be done with that.

I know I know... there goes JJB again with his grandiose and unmanageable ideas for someone else to work on!
 
Awesome! Exciting. Can't wait.

As an aside, as you know I've downloaded you GitHub and got it to compile. Would it be possible for you to use this to do LineOfSight testing between two points? I know it's not the primary focus of MQ2Nav... but it would be great if you could. The LOS between two points function ain't working in MQ2 (works for LOS between you and a MOB).

Another thing to think about is... dynamic "weighting" of an area to avoid MOBs. So, if we could give MQ2Nav a list of coordinate (from a radar scan of an area) that it would try to traverse without running through MOBs. Or it would return a "can't get there" flag without aggroing. The idea is to dynamically weight those areas (and say 10 units around for aggro) purposes. I can think of several things that could be done with that.

I know I know... there goes JJB again with his grandiose and unmanageable ideas for someone else to work on!

As far as line of sight computation is concerned: right now, no it isn't possible since the client only loads the navmesh, not the geometry. There may be a way to query the game engine for actual lineofsight/raytrace operations. EQMule might know more, I'll check with him. If that doesn't pan out: One of the things I want to do is load the meshgenerator in the background and use it to generate meshes on the fly. This could double as a sort of 3d showeq. Using that to do lineofsight calculations could be possible.

As far as agro radius / avoiding spawns: Yes this is something I want to support, its still a bunch of work but I've been moving in that direction. If you look at my github I've changed thousands of lines of code in the past few weeks. All of this is to build a more robust tool that can do some of this fancy stuff.

- - - Updated - - -

Heres basically a sneak peak at the change log:

Mesh Generator:
* will fully support EoK zones, but expect things to be REALLY SLOW (sorry!)
* is 64-bit only.
* has completely redesigned UI
* Now supports defining custom areas
* Redesigned area marking too lets you mark the mesh with different areas, or exclude entire areas from the mesh. Please stop deleting tiles, this will be the proper way to do things.

MQ2Nav:
* has new path indicator that I spent an entire weekend on writing in game dx9 shaders (dx9 sucks!). You'd better like it!
* has some new and improved path finding algorithms that should avoid hysteresis (running back and forth in place)
* Has revamped commands that are more consistent. I was going to do even more but then ran into limitations in the TLO/macro system. (DOH)

Also
* New navmesh files!! they are called like poknowledge.navmesh
* No longer compatible with older versions. Should be forwards compatible, though
* Compression is now being used so the mesh files will be significantly smaller, basically the same as being in a zip file
* New navmesh format stores settings, volumes, custom areas, etc so that loading a mesh will basically be like continuing where you left off

... more stuff, i'll have a full change log for you guys.
 
Request - MQ2Nav Beta by Brainiac and Donation Kick Starter.
Status
Not open for further replies.

Users who are viewing this thread

Back
Top