Checking number of mobs

bob_the_builder

Well-Known Member
Hello,

I am trying to check number of mobs in the engagement before casting an AOE. I am currently using
Code:
${Mob.Count} > 1
but it seems to be checking a huge area or it isn't working right. If there is a mob close, even behind a wall and not engaged then my AOEs are still being cast.

Is there a way to set a range to it or only check mobs in the current engagement?

Bob
 

bob_the_builder

Well-Known Member
Well I decided to use the search ... after I posted ...

I found this:

HTML:
http://www.isxgames.com/forums/showthread.php?t=228&highlight=%24{Mob.Count}
Is this still true?

Known issue: ${Mob.Count} works about 1% of the time for me. Therefore, the bot doesn't make the decision to use ae's. If anyone has any ideas to get that to work right feel free to let me know.
That is an old post but is it still not working?

Bob
 

Pygar

EQ2Bot Specialist
Mob.Count works 100% of the time.

It counts the number of mobs engaged in combat and targeting a friendly player or pet.

It tells you jack shit about the number of mobs in the current encounter.

Furthermore, EncounterSize only tells you the number of mobs that STARTED in that encounter. Say you have an encounter of 12 mobs, it will return 12. If you kill 11 of those mobs and target the last one, it still says EncounterSize = 12.
 

Kannkor

Ogre
You can do a custom actor array and count the number of NPCs. If you really want, you can count the number of NPCs and NamedNPCs. You could check them all to see if they are aggro on you etc etc, but for me, if there are more than __ mobs in my radius, aggro or not, when my AE hits, they are coming after me.. :)
 

Pygar

EQ2Bot Specialist
You can do a custom actor array and count the number of NPCs. If you really want, you can count the number of NPCs and NamedNPCs. You could check them all to see if they are aggro on you etc etc, but for me, if there are more than __ mobs in my radius, aggro or not, when my AE hits, they are coming after me.. :)
With the exception of checkign number of mobs in range that are not hostile, thats exactly what Mob.Detect is currently doing.
 

bob_the_builder

Well-Known Member
Mob.Count works 100% of the time.
Ok, well I'm not seeing that but let me test further. Like I said using If Mob.Count seems to be looking at mobs around an area, like through walls ... but let me test further.

Thx much for the input folks.

Bob
 

Kannkor

Ogre
It absolutely would look at mobs through walls. There is almost no way around this. I'm not sure if you would want a way around it also, as if you AE near a wall, you will aggro what's on the other side.

If you really really wanted, you could cycle every actor in the custom array, increase the Y axis to avoid slops/steps and do a collision check. You'll get a lot of false positives, but would help some. In my opinion, this would do more harm than good however.

If you believe it's scanning too large of an area, tone down the scan. It's doing it by distance...
 

Kannkor

Ogre
I don't use EQ2bot.. If there is an interface for it, then yes turn it down. I can't say whether or not that one you mentioned is what you are after.
 

bob_the_builder

Well-Known Member
Can you explain briefly the differences between the 3 sliders?

I thought AH meant Auto Heal which I wouldn't think would scan mobs only players.

Well if anyone has a minute or two to describe the settings Iknow sometimes my bots take off running to REZ or NUKE and I think that's the Max Range to Engage.

Thanks in adv.

Bob
 

Pygar

EQ2Bot Specialist
Ok, well I'm not seeing that but let me test further. Like I said using If Mob.Count seems to be looking at mobs around an area, like through walls ... but let me test further.

Thx much for the input folks.

Bob
I'm not sure how I can be more clear.

It looks at all mobs around you and returns the number of them that are hostile to you or an ally.

Period.

Thats what it does. If the mob is on the other side of the wall, in combat and targeting your groupmate's pet, it is included in Mob.Detect, as well its a hostile engaged with you or an ally.

If the mob is behind a wall and not targeting anyone, it isn't included in Mob.Count, and if you AoE, you'll most certainly hit it. Don't position your bots in places they can aoe other mobs if you've enabled PBAoE casting, its pretty simple really.

Mob.Detect, Mob.Count, do nothing in regards to checking to tell you if you'll engage additional mobs by casting a blue.
 

bob_the_builder

Well-Known Member
If the mob is behind a wall and not targeting anyone, it isn't included in Mob.Count
Ok, I quite understand.

If the mob is behind a wall and not targeting anyone, it isn't included in Mob.Count, and if you AoE, you'll most certainly hit it. Don't position your bots in places they can aoe other mobs if you've enabled PBAoE casting, its pretty simple really.
Right and I wasn't trying to sound like a noob, I completely understand that casting near a wall may/might/will agro, that's not what I was trying to say. What I meant is that if only one mob is engaged in combat and there are non engaged mobs behind a wall or close enough not to be engaged my bots seem to count all mobs, engaged or not, in the area.

It's obviously something wrong in my scripting and i will check it out. BTW, I think have it fixed since I posted this originally.

Thanks for the reply. Seriously Pygar, thanks much for answering me even if I come across as a noob most of the time :)

Bob
 
Last edited:
Top Bottom