Detecting effects on raid members

zeppelin

Active Member
Hi,
I have written a script to detect if certain effects are cast on a raid member.

The basic logic is this:

effectname:Set["Jester's Cap"]

Actor[pc,exactname,${toonname}]:InitializeEffects

for (RaidIndex:Set[1] ; ${RaidIndex}<=24 ; RaidIndex:Inc)
{
toonname:Set[${Me.Raid[${RaidIndex}].Name}]
EffectOn:Set[${Actor[pc,exactname,${toonname}].Effect[${effectname}](exists)}]

if ${EffectOn}
{
DoSomething.......
}
}

The main issue I am seeing right now is that my script won't detect the effect for at least 10 seconds. It inspects each actor for the effect quite a few times before seeing it. I am running the script in a loop using "wait 10" (wait one second). I initially assumed this was some kind of server lag, however I can see the effect immediately in the target effects window if I target them, so the client should already know it is on them.

Any ideas?

Thanks,
Z
 
Last edited:

Pygar

EQ2Bot Specialist
Effects has never worked very well.

I find if the player has less than 15 effects on them, you can detect them reliably. If they have more than 15, its a crap shoot to how many times you hit the data till you find what your looking for.


As such, I haven't relied on effects to code any scripts.
 

zeppelin

Active Member
Now that I have tested during a live raid session, I see that issue very clearly. What seems to happen is if the effects your looking for is too far down the list you won't see it. I don't know what exact figure is yet (15 or 30 for example), because it is hard to get a raid to stand around while you experiment on them. When it works it works very well.

-z
 

mycroft

Script Author: MyPrices
Now that I have tested during a live raid session, I see that issue very clearly. What seems to happen is if the effects your looking for is too far down the list you won't see it. I don't know what exact figure is yet (15 or 30 for example), because it is hard to get a raid to stand around while you experiment on them. When it works it works very well.

-z
Any buff is pushed off the Raids effects window after 30 , I'm guessing thats when it becomes un-scannable.
 

Pygar

EQ2Bot Specialist
I'm telling you, it becomes unreliable with the datatype after 15.

I did quite a bit of testing with it.

It certainly becomes more apt to fail the more you pile over 15. But at 16, there is a chance for a fail, at 15, I never got an error.

This is the very reason I never got SoW working well enough to leave in the bots.
 

zeppelin

Active Member
I'm telling you, it becomes unreliable with the datatype after 15.

I did quite a bit of testing with it.

It certainly becomes more apt to fail the more you pile over 15. But at 16, there is a chance for a fail, at 15, I never got an error.

This is the very reason I never got SoW working well enough to leave in the bots.
Sorry, I didn't mean to challenge what you said. I was trying trying to make the further observation that "I think" it goes from unreliable after 15 to undetectable after 30. I should have said it better.

-Z
 

Pygar

EQ2Bot Specialist
Oh sorry, didn't mean to sound defensive.

Was just trying to warn you not to script anything dependent on effects > 15 to be accurate.
 

jondough

Active Member
Can eq2bot detect that the MT (in another group) has an elemental (or trauma/noxious/arcane) debuff on them and cure it? Or would it be lumped in with the big group of effects and possibly be missed because of the large # of effects on the person? If it's lumped in, I wonder if it'd be possible to break out just the detrimental effects on a person?

I've only raided with my healer occasionally and I was playing another toon so I didn't notice if he cured or not.
 

Pygar

EQ2Bot Specialist
SoE revamped raiding for performance some time ago, and one of the items they removed was the affliction data for the whole raid. Affliction data is only sent to your client about your group.

It is possible to see the detrimental effects on a raid member out of group, but the effect itself doesn't lend to what cure will remove it. As the effect will be 'Gnorbl's Gaze of Stupid Stuns' and we don't really have a way of knowing that means he needs a arcane cure.

It would be necessary to build a list of debuff names to affliction types to parse to do out of group curing.
 

RatPower

Active Member
Any Workaround?

Ironically I installed InnerScape and ISXEQ2 for exactly this problem. Or at least I THINK its this problem. Specifically, I want to maintain the Jester's Cap rotation without sitting there and concentrating on who was next constantly. I just installed and created an account so my ignorance is boundless at this point but...

Assuming you want to apply JCap, could you cast it and then determine the immunity was active (it gives a message if the toon's immunity is up), making the requirement that you parse the current effects unnecessary. Only once it successfully hit would I send the /tell announcement to the toon.

Other things I am hoping to do in regards to this JCap Rotation include:
Set a default toon priority based on class, but then allow it to be re-ordered.
Have the script encounter aware such that you don't cast Jcap on someone in the last 30 second of the mobs life
Similarly, I might want to set up seperate times based on certain classes' core abilities (Lifeburn for instance) so that those individuals are both only capped when they are ready and that they aren't immune when that time comes.

This logic tree would be the better part of the script, but if I could swing it, it might help me get my DPS out of the basement... yeah, that ain't happenin
 
Top Bottom