cowdude
Active Member
- Joined
- Feb 17, 2010
- Messages
- 337
- Reaction score
- 27
Hey,
I actually need a 'cheap' way to improve the current detour/recast-based pathing algorithm by blacklisting every solid game object.
I believe there are three ways to achieve this:
1. set a huge area cost on gameobjects locations
2. remove mesh polys around these gameobjects (ouch)
3. use high-level helpers like the HotspotManager class
4. write my own pathfinding algo
Current goal: Avoid walking into given areas while using Navigator.MoveTo.
I tried playing with the hotspotmanager from a dummy profile, which did not work at all when you're using the Navigator to compute paths instead of a roaming behavior (like the default levelbot one).
Solution 2:
<img src="http://img101.imageshack.us/img101/2584/fffuuuu.jpg" width=120 height=90 />
Well, no.
Solution 4: See solution 2.
Now, I guess that solution 1 should be the way to go. I've found some stuff called 'query filters', and it seems that this is the only way to change some area's cost.
Alright then, I just need to find an instance of that query filter and add my own 'black zones', sounds easy enough! And bang, that's where I'm stuck.
I saw that many botbase classes (like the bg bot and the levelbot) have a SetDefaultQueryFilter method, which sounds like there's a solution. But still, I don't know what this method is doing, nor how to get a query filter instance.
Then I looked at the WoWNavigator class that has a QueryFilter property. It could even be overrided, looks perfect! But once again, it seems there's no freaking way to get an instance of this class either.
Damn, I'm getting tired of it... Does anyone got a clue about how to achieve this?
If you're wondering why on earth would I need that: try running HB inside Orgrimmar.
Thanks you for any clues or advices
I actually need a 'cheap' way to improve the current detour/recast-based pathing algorithm by blacklisting every solid game object.
I believe there are three ways to achieve this:
1. set a huge area cost on gameobjects locations
2. remove mesh polys around these gameobjects (ouch)
3. use high-level helpers like the HotspotManager class
4. write my own pathfinding algo
Current goal: Avoid walking into given areas while using Navigator.MoveTo.
I tried playing with the hotspotmanager from a dummy profile, which did not work at all when you're using the Navigator to compute paths instead of a roaming behavior (like the default levelbot one).
Solution 2:
<img src="http://img101.imageshack.us/img101/2584/fffuuuu.jpg" width=120 height=90 />
Well, no.
Solution 4: See solution 2.
Now, I guess that solution 1 should be the way to go. I've found some stuff called 'query filters', and it seems that this is the only way to change some area's cost.
Alright then, I just need to find an instance of that query filter and add my own 'black zones', sounds easy enough! And bang, that's where I'm stuck.
I saw that many botbase classes (like the bg bot and the levelbot) have a SetDefaultQueryFilter method, which sounds like there's a solution. But still, I don't know what this method is doing, nor how to get a query filter instance.
Then I looked at the WoWNavigator class that has a QueryFilter property. It could even be overrided, looks perfect! But once again, it seems there's no freaking way to get an instance of this class either.
Damn, I'm getting tired of it... Does anyone got a clue about how to achieve this?

If you're wondering why on earth would I need that: try running HB inside Orgrimmar.
Thanks you for any clues or advices
