• 0 Vote(s) - 0 Average
  • 1
  • 2
  • 3
  • 4
  • 5
Nav Mesh
#1
im using nav mesh for 5 days now, just testin' it... as far as i could see, it's starting to delete nodes, and then the bot just stop walking, lose alot of its patch, can't even ressurrect properly.
  Reply
#2
blacklisting everything from nowhere, havent even died or got stuck lol theres a way to disable it?


Attached Files Thumbnail(s)
   
  Reply
#3
(04-01-2017, 09:50 PM)iPyro Wrote: blacklisting everything from nowhere, havent even died or got stuck lol theres a way to disable it?

It blacklists when it gets stuck.

Navmesh is a beta feature and will prob never work properly since Darklinux bailed on us.
  Reply
#4
(04-02-2017, 05:04 AM)whaaa Wrote:
(04-01-2017, 09:50 PM)iPyro Wrote: blacklisting everything from nowhere, havent even died or got stuck lol theres a way to disable it?

It blacklists when it gets stuck.

Navmesh is a beta feature and will prob never work properly since Darklinux bailed on us.

yet stills the best tool to ressurrect and etc... cept by the blacklisting shit

what u mean, hes outty? omg lol nobody can comment this part or script? its  a shame :/
  Reply
#5
Would anyone have an Idea on how to turn off the blacklisting node feature?  Wouldn't that fix it?
  Reply
#6
No. Just restart the bot when there are to many blacklisted nodes.
Sometimes it works after a few restarts
  Reply
#7
I found a solution for myself for restarting the bot if it gets stuck.
Until now, I am successfully running 8 bots(1x for each class, hunter wont work..) and they do not stuck anymore.
My fix is nothing more but a reload function which i looked up in the main menu. When the scripts are reloaded, my bots find their meshes again really fast.

I have edited the
script_nav.lua
> function script_nav:moveToNav(localObj, _x, _y, _z)

-- Get the current path node's coordinates
_ix, _iy, _iz = GetPathPositionAtIndex(5, self.lastpathnavIndex);

-- When dead use 2D distance // changed back to 3D from ..if (math.sqrt((_lx - _ix)^2 + (_ly - _iy)^2)..
if (localObj:IsDead()) then
if (GetDistance3D(_lx, _ly, _lz, _ix, _iy, _iz) < self.nextNavNodeDistance) then
self.lastpathnavIndex = self.lastpathnavIndex + 1;
if (GetPathSize(5) <= self.lastpathnavIndex) then
self.lastpathnavIndex = GetPathSize(5)-1;
coremenu:reload(); --ADDED THIS LINE
end
end
else
-- If we are close to the next path node, increase our nav node index
if(GetDistance3D(_lx, _ly, _lz, _ix, _iy, _iz) < self.nextNavNodeDistance) then
self.lastpathnavIndex = self.lastpathnavIndex + 1;
if (GetPathSize(5) <= self.lastpathnavIndex) then
self.lastpathnavIndex = GetPathSize(5)-1;
coremenu:reload(); --ADDED THIS LINE
end
end
end

-- Check: If the move to coords are too far away, something wrong don't use those
if (GetDistance3D(_lx, _ly, _lz, _ix, _iy, _iz) > 25) then
coremenu:reload(); --ADDED THIS LINE
return "Moving to target...";
end


Now I'd like to add a function which checks if my charactes coordinates changed in the last 3 seconds.
If not then
> coremenu:reload()

Somebody any advise?
Cause in this case the navmesh seems to think it's working, aslong as the character moves. This happens for instance with smaller obstacles.
  Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)