Jump to content

Ignoring mobs during pull/movement/harvesting/resurrecting


Recommended Posts

Seeing an issue where my bot is body pulling too many mobs as it is trying to do anything, seems to be ignoring mobs frequently

This happens when pulling, chasing fleeing mobs, going to harvest, resurrecting, moving in for quest item, etc. It will run into/resurrect into a group of 3+ mobs and not react until it is being attacked.

I've tried turning on Attack before being Attacked, but that doesn't seem to help



Any other settings I could look at that can help to fix this?


I tried the settings outlined here, but this did not help


 

Edited by n0t5ew
editing words

I've recorded a couple GIF examples, one showing movement into a group of mobs aggroing and dying, and the 2nd showing the attempt to resurrect immediately next to the same group of mobs

Seeing around 10+ deaths an hour on all classes

MoveIntoMobs.gif

Resurrect.gif

@DroidzHere is 2 examples, the 2.log should have the better example where it repeatedly died until all gear was broken in a short amount of time

I can post more logs if needed
 

1.log.html 2.log.html

@DroidzHere is a 3rd example where it paths along aggroing mobs without initiating combat, until it finally aggros an elite and dies, then runs back to body and aggros again and dies

let me know if you need more

 

3.1.log.html

Dying occasionally is part of the experience. Your issue comes mainly from the fact that when resurrecting, the bot is not seeking a safe resurrection place around the blacklst zone. I have no idea why it does that for you. This is not something I have ever observed myself. I advise you reinstall WRobot to restart fresh.

As for "the bot always ignores mobs", the log you provided (3.1) doesn't reflect that fact. If anything, it proves that the product did in fact defend against mobs. The issue is just the same as before. It died from an elite and didn't manage to find a safe place to resurrect.

There is however one, and only one case where the product will ignore fight, and it's when your gear is under 20% durability. I made it this way so that if you're stuck in a bad position, the bot will simply try and run to a repair vendor. I'm seeing that you have our Vendors plugin disabled. I highly advise you turn it on, and enable Repair.

@Zer0Thanks for the feedback!

I am seeing that the bot is defending itself against mobs, but that's not the issue I am having. The main issue that I have is that it will run into a group of mobs and it won't target/pull/defend itself until it has been attacked. This leads to situations where it is running into a group of 1 or more mobs without initiating the combat, pulling too much at once and then dying (as indicated in my first .gif I provided). Then, as you described, it will run back and not find a safe place to resurrect, and die again.

I disabled the Wholesome plugins as part of the request from @Droidzto capture the log files, I normally have them turned on


So I guess my question is whether the bot is meant to clear mobs in its path? It will fight/defend itself against mobs, but in most cases it does not initiate the combat.



I just had an example happen where it ran into a camp attempting to grab a quest item and agroed 5+ mobs at once and did not initiate combat until it was attacked (log attached, I have plugins on in this example, I copied the log right after the death so should be at the tail end)

Per your recommendation, I will attempt to reinstall the bot and see if that helps.


 

4.log.html

Yes, by default, WRobot does not engage combat with enemies on your path. It only defends when attacked. The Auto Quester, on the other hand, does clear your path of enemies under certain conditions (mounted or not, level difference, distance from objective etc..).

06:56:16 - [Wholesome Auto Quester] WAQ Clearing path against Stonesplinter Seer

The product DID try to clear the path before your death. Now if it's a camp, since you're a paladin and don't have any mean to pull from a safe distance, I don't know what else you expect, apart from running in.

The SmoothMove plugin is probably interfering too. Disable it. As said in the AQ description, the product only supports the Wholesome plugins.

Thanks again for looking at this @Zer0

Despite what the log is saying there, it did not attempt to pull the Stonesplinter Seer, it simply ran into a group and did not try to fight/target any enemies until after it had been attacked. I will disable the SmoothMove and provide another log accompanied with a .gif so you can see what I am talking about

@Zer0

Here is another example with a rogue with ranged pull enabled in a zone where I am seeing a lot of repeated deaths. You can see that the log says it is clearing the path, but it runs into the mob without targeting and pulls multiple

Note this is only with Wholesome plugins/fight class, and immediately after a fresh install of wrobot
 

6.gif

Capture.PNG

6.log.html

@Zer0thanks again for the time looking at this.

I wanted to update one last time and let you know that I've tried installing on a different PC as a fresh wrobot install, redownloaded all the plugins/fightclass/product from scratch and am still seeing the same behavior.

I suppose I will try with a different quester/grinder.

No worries.

After looking again at your log, I think I know what's going on. The issue that appears is the time it takes for your WRobot to calculate a path. WRobot uses a distant server for pathfinding (which is one of its biggest flaws in my opinion) and the AQ uses pathfing a lot, and often. Even very short paths seem to take at least 340ms for you, which is really a lot. VPN, slow internet connection, I don't know. As a comparison, mine takes 40ms max on short paths.

[N] 07:41:04 - [Path-Finding] FindPath from -11074.75 ; 898.3192 ; 40.03555 ; "None" to -11129 ; 936.59 ; 36.8307 ; "None" (Azeroth)
[N] 07:41:05 - [Path-Finding] Path Count: 5 (133.2519y, 345ms)
[N] 07:41:05 - [Path-Finding] FindPath from -11074.75 ; 898.3192 ; 40.03555 ; "None" to -11096.38 ; 886.2285 ; 41.5276 ; "None" (Azeroth)
[N] 07:41:05 - [Path-Finding] FindPath from -11074.75 ; 898.3192 ; 40.03555 ; "None" to -11067.94 ; 899.621 ; 38.16179 ; "None" (Azeroth)
[N] 07:41:05 - [Path-Finding] Path Count: 3 (24.90453y, 341ms)
[N] 07:41:06 - [Path-Finding] Path Count: 2 (7.178874y, 469ms)
07:41:06 - [Wholesome Auto Quester] Defending against Riverpaw Taskmaster

As you can see here, even a 2 nodes, 7 yards path took 469ms. This + the Line of sight checks I do on enemy detection might just be enough to make your bot too slow to react, which is what I observe from your gif. But I can't guarantee that this is your issue.

14 hours ago, Zer0 said:

No worries.

After looking again at your log, I think I know what's going on. The issue that appears is the time it takes for your WRobot to calculate a path. WRobot uses a distant server for pathfinding (which is one of its biggest flaws in my opinion) and the AQ uses pathfing a lot, and often. Even very short paths seem to take at least 340ms for you, which is really a lot. VPN, slow internet connection, I don't know. As a comparison, mine takes 40ms max on short paths.

[N] 07:41:04 - [Path-Finding] FindPath from -11074.75 ; 898.3192 ; 40.03555 ; "None" to -11129 ; 936.59 ; 36.8307 ; "None" (Azeroth)
[N] 07:41:05 - [Path-Finding] Path Count: 5 (133.2519y, 345ms)
[N] 07:41:05 - [Path-Finding] FindPath from -11074.75 ; 898.3192 ; 40.03555 ; "None" to -11096.38 ; 886.2285 ; 41.5276 ; "None" (Azeroth)
[N] 07:41:05 - [Path-Finding] FindPath from -11074.75 ; 898.3192 ; 40.03555 ; "None" to -11067.94 ; 899.621 ; 38.16179 ; "None" (Azeroth)
[N] 07:41:05 - [Path-Finding] Path Count: 3 (24.90453y, 341ms)
[N] 07:41:06 - [Path-Finding] Path Count: 2 (7.178874y, 469ms)
07:41:06 - [Wholesome Auto Quester] Defending against Riverpaw Taskmaster

As you can see here, even a 2 nodes, 7 yards path took 469ms. This + the Line of sight checks I do on enemy detection might just be enough to make your bot too slow to react, which is what I observe from your gif. But I can't guarantee that this is your issue.

Try caching. This is what I had to do for HMP. In HMP, there's a similar functionality where I attempt to recognize mobs in your path by scanning vectors around where I know the bot is intending to walk to. 
I found that caching approximate distance somewhat alleviated these issues. As a further backup, I tried creating a square around the character and periodically check for colission of enemies within that square. It's by no means pretty or efficient, but it doesn't have pathing overhead. Maybe this is something you might wanna try for the Wholesome Plugins too.

Additionally, regarding OP's request to rezz away from mobs -  this is something I've tried with HMP too. I know Droidz has his own code, but generally speaking it's not actually that easy. If you're trying to do the math, you may end up with no safe spot at all, simply because there aren't any within rezz distance. Some servers will also allow for rezzing from further apart than would normally be the case and all you can do is guesstimate and choose what should be "safe" values for most servers.

Personally, I place myself on top of the corpse, calculate the angle to the closest mob, check 180° in the opposite direct (so further away from that mob) in a cone for spots that aren't within x yards of a mob. There's only so much you can do.

PS if you message me on my Discord, I'll give you a 24h trial to HMP to see if this will alleviate your issues at all. If it does, I can pass some of the code on to Droidz and he can see if it helps him at all.

Edited by Matenia

Interesting. The way I check for hostiles along the path is as follows:

I use whatever current path WRobot is on, and every 3 yards ahead on the path (up to a certain distance), I check both LoS and Pathfinding from each node to the closest hostiles, until a positive result is found. I do cache my results (both LoS and PF) in a 3 yards approximation. This is a little intense but has been performing really well on multiple setups, even in tightly crowded areas like dungeons.

image.png.81cd2838f10e49f8733b1e09481cc065.png

Now what I don't cache is the Pathfinding when defending. So I can definitely improve that. Also the AQ uses the Pathfinder for a lot of other stuff, like checking for the closest objectives. I did try and optimize it the best I could but I can definitely see how a slow internet connection can cascade into slowing down the entire product.

I'm still not convinced that it's his problem, even after tests with a badly throttled connection, but thanks for the tip!

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...