September 30, 20223 yr What is tolerance for Z coordinate inside pathfinder for each type of TypeArea ? In my experiments POLYAREA_BIGDANGER has not infinite height of cylinder, so I forced to play with Z on Blackspots for make Pathfinder avoid it in mountains or oceans
October 1, 20223 yr Author 20 for each? Why is no one cylinder from hell to heaven (without Z-check)?
November 16, 20223 yr Author Can't understand why pathfinder goes through blacklisted by POLYAREA_BIGDANGER zones. For sure Z tolerance I'm testing by folowing code: bool result; var path = PathFinder.FindPath(new Vector3(4674.098, 3099.332, 352.9073), out result); var miniMapLandmarkName = "m"; wManager.Wow.Forms.UserControlMiniMap.LandmarksMiniMap.Remove(miniMapLandmarkName); if (path.Count > 0) wManager.Wow.Forms.UserControlMiniMap.LandmarksMiniMap.Add(path[0], miniMapLandmarkName, System.Drawing.Color.Aquamarine, 10, miniMapLandmarkName, true); foreach (var vector3 in path) { if (wManager.wManagerSetting.IsBlackListedZone(vector3)) wManager.Wow.Forms.UserControlMiniMap.LandmarksMiniMap.Add(vector3, miniMapLandmarkName, System.Drawing.Color.Blue, 10, "", true); else wManager.Wow.Forms.UserControlMiniMap.LandmarksMiniMap.Add(vector3, miniMapLandmarkName, System.Drawing.Color.Aquamarine, 10, "", true); } And i get Zone is too big to find 100% alternative path. So what should I do to avoid blacklisted zone?
November 17, 20223 yr In POLYAREA_BIGDANGER cost is 500 yards by yard. If crossing the BigDanger zone has a lower total cost than going around it, the bot will cross the zone. m_filter->setAreaCost((int)PolyArea::POLYAREA_GROUND, 10.0f); m_filter->setAreaCost((int)PolyArea::POLYAREA_WATER, 120.0f); m_filter->setAreaCost((int)PolyArea::POLYAREA_ROAD, 1.0f); m_filter->setAreaCost((int)PolyArea::POLYAREA_DOOR, 1.0f); m_filter->setAreaCost((int)PolyArea::POLYAREA_GRASS, 20.0f); m_filter->setAreaCost((int)PolyArea::POLYAREA_JUMP, 15.0f); m_filter->setAreaCost((int)PolyArea::POLYAREA_DANGER, 40.0f); m_filter->setAreaCost((int)PolyArea::POLYAREA_BIGDANGER, 500.0f); You can try to bypass the area (BigDanger area) with "ROAD" type. By default, "Ground" type is used (with cost of 10)
November 17, 20223 yr Author cost calculates for each entry path's point to polyarea? What if point will simultaneously in more than one zone? Will cost adding? I mean overlapping blacklist zones.
November 17, 20223 yr The fact that the zones overlap does not change anything. 1 - If to reach the destination, the character must do 50 yards in normal areas (ground) and 15 yards in bigdanger areas, then the total cost will be 50*10+15*500 = 8000 2 - If to reach the destination, the character must do 850 yards in normal areas (ground) (to cross the bigdanger zones), then the total cost will be 850*10 = 8500 The bot will choose option 1 (less costs). This system is not 100% reliable, especially if you are close (flight distance) to the destination
November 17, 20223 yr Author Well it seems to be a good new feature - to test not just whether a coordinate belongs to an blacklisted areas as sum of all. But new difficulty appears: path will more complex to avoid overlaps :-) So.. maybe add custom zone with overlayed AreaCost property in new versions?
November 18, 20223 yr Is it possible to add a new type, "IMPOSSIBLE" or something, with cost 2000? There are scenarios where going around is the only way. BigDanger is good as is. It shouldn't be changed.
November 18, 20223 yr Author "IMPOSSILBE" not much flexible as public property of new custom polyarea type
November 18, 20223 yr I don't think it will change much. Recast/Detour seems to have its limits with this feature.
November 20, 20223 yr Author Well, then we need new "wall" polyarea type with int.max cost and infinity height to build real walls, cuz your first answer was Z tolerance has just 20 yards
November 20, 20223 yr POLYAREA_AVOID by default will blacklist on a great height. I added method Pather.ReportArea(Vector3 position, float radius, float height, RD.PolyArea areaType)
November 20, 20223 yr Author nice pathfinder bug, now all path are straight as a ruler )) It's exactly bug, having nothing in common with new feature. I just ran few times test from this forum thread
November 23, 20223 yr Author damn wManagerSetting.CurrentSetting.UsePathsFinder was disabled !! Shame on me New polyarea is awesome, dude, You can push it in production
November 25, 20223 yr yes, blacklist zones dont help, can you do something with fucking water? Bot again and again try to fly into water on flight mount when bot is dead
November 25, 20223 yr Author what means your's "yes" ? I mean POLYAREA_AVOID is good enough for avoid. But wManagerSetting.IsBlackListed() method doesn't take new POLYAREA_AVOID enum. btw little bit more respect for author! take back your "fucks" and describe detailed your repeatable bug
November 26, 20223 yr Author wManager.wManagerSetting.ClearBlacklist(); wManager.wManagerSetting.AddBlackListZone(new Vector3(3437.02344, -2807.998, 231.762161), 100, ContinentId.Northrend, RDManaged.RD.PolyArea.POLYAREA_BIGDANGER, true); wManager.wManagerSetting.CurrentSetting.AvoidBlacklistedZonesPathFinder = false; bool result; var path = PathFinder.FindPath(new Vector3(3215.589, -2845.045, 146.3819), new Vector3(3583.113, -2798.588, 175.9346), out result); var m = "m"; wManager.Wow.Forms.UserControlMiniMap.LandmarksMiniMap.Remove(m); wManager.Wow.Forms.UserControlMiniMap.LandmarksMiniMap.Add(path[0], m, System.Drawing.Color.Aquamarine, 10, m, true); foreach (var vector3 in path) { var color = wManager.wManagerSetting.IsBlackListedZone(vector3) ? System.Drawing.Color.Red : System.Drawing.Color.Aquamarine; wManager.Wow.Forms.UserControlMiniMap.LandmarksMiniMap.Add(vector3, m, color, 10, "", true); } @Droidz test it please, smth broke Here is POLYAREA_AVOID result:
Create an account or sign in to comment