• You've discovered RedGuides 📕 an EverQuest multi-boxing community 🛡️🧙🗡️. We want you to play several EQ characters at once, come join us and say hello! 👋
  • IS THIS SITE UGLY? Change the look. To dismiss this notice, click the X --->

Question - Xtarget buff check (1 Viewer)

Wealthmanager

banned
BANNED
Joined
Jun 3, 2014
RedCents
98¢
Trying to check if Xtarget has tepid deeds on it.. I have it working like this but it's annoying when it keeps targetting over and over to check. Is there some way to have it just check Xtarget[x].Buff[tepid deeds].ID? or do I need to store it in a varible so I can skip the /target

/if (${Target.ID} && ${Me.XTarget[1].ID} && ${Bool[${Spawn[${Me.XTarget[1].ID}]}]}) {
/target ${Spawn[${Me.XTarget[1].ID}]}
/if (!${Target.Buff[Tepid Deeds].ID} && ${Target.Distance} < 30) {
/casting "Tepid Deeds" -targetid|${Target.ID}
/delay ${Math.Calc[${Spell[Tepid Deeds].CastTime}/1000+4.5]}s
}
/if (${Target.Buff[Tepid Deeds].ID}) /keypress esc

}
 
Youve run into one of the tough things in EQMQ2 world

EQ does not send information about others buffs/debuffs unless it is your target (or yourself)
XTarget and Group only provides HP/MP and hate information


Options I am aware of...

1 - Target to get the data, this requires you to cycle thru the toons to get the updates (slowest method)
2 - Ask EQBC for a response, then use /doevents to parse strings to deal with it. ex: /bca Do you have this buff/debuff? If=True then /bct me, If you receive the tell then do whatever u want to do to the person that told you
3 - Have a macro/plugin running on each toon write to a file, then you can check the file as your source of truth (this is how buffs are done in KA)
4 - Ask MQ2Netbots for a response, then deal with it


I have not played with MQ2Netbots enough to know how reliable that type of thing could be or the extent it is able to do it

I imagine as far as speed my list is ordered correctly with MQ2Netbots being the fastest way to evaluate if buff/debuff exists but I may be wrong.
I am probably overly afraid of using a flat file for 2-60 toons to update because of non-mq2 experience with file locking issues =)
 
You could also set up an event in your macro to respond to the actual text when tepid deeds lands (though this does not work if you want to check if it's worn off).

Another solution is to crowdsource your (de-)buffchecking. If the XTarget is not your target, then ask EQBC if it's anyone's target and respond with a result if it is -- if the XTarget is connected to EQBC, then this becomes trivial. If you get no result, then you are forced to target to check.
 
Ya great ideas. I'll have to brainstorm on how to setup an event for this. I'd be casting tepid deeds, then the event would detect if it lands (dont care if it wears off), then I'd have to have the event set a variable that my macro will check before casting tepid deeds, but then I'd have to unset the variable for new monsters and thats where I need to think of a simple way.

Never used netbots, more of a cut and paste kind of coder =P Workin with my high school computer science experience (java) so I can mostly understand what I'm reading but not writing things from scratch. I do know events though
 
Ya great ideas. I'll have to brainstorm on how to setup an event. I'd be casting tepid deeds, then the event would detect if it lands (dont care if it wears off), then I'd have to have the event set a variable that my macro will check before casting tepid deeds, but then I'd have to unset the variable for new monsters and thats where I need to think of a simple way.

Never used netbots, more of a cut and paste kind of coder =P Workin with my high school computer science experience (java) so I can mostly understand what I'm reading but not writing things from scratch.

Instead of having a singular variable, you can maintain a map of target id -> boolean, where the boolean obviously represents that a slow landed. Then when they die, you'd clear the target id from the map. Everytime a target gets added to XTargets, (not sure there is an easy way to do this, someone might know?). You'd add the (ID -> false) to that map, then loop through the map when determining when to cast slow.

Personally, I'd just maintain the target after the slow cast to make sure it landed, otherwise you'd have to have some logic to figure out which ID it was that resisted/didn't resist (which of course can be done, if you so wish).
 
Well the purpose of this is that I have a custom charm macro, that only charms/recharms/buffs group. So I wanted a way to cycle through the adds (xtarget 2 and 3) to get aggro on the enchanter or lower damage on the cleric, cause its the 2nd or 3rd add that plow the cleric and push him far away/kill him when he is called to complete heal the charm pet..

I figured best way would be to just slow them, since mez takes too long to wear off. Resist isnt happening much. I'll mess with it a bit thanks
 
You could also set up an event in your macro to respond to the actual text when tepid deeds lands (though this does not work if you want to check if it's worn off).

When debuff's, dot's, buffs fade you do get a message it has faded
So this could be the reason you loop thru xtargets to make sure they all have it

Re:events
The problem with events is EQ only sends the name to chat (no .ID)
Often times there are 5 'a large rats' or something you are fighting, so you do not know the actually .ID of the specific 'a large rat' that had tepid deeds fade =(
 
Question - Xtarget buff check

Users who are viewing this thread

Back
Top