• You've discovered RedGuides, an EverQuest multi-boxing and scripting community 🧙‍♀️⚙️. We want you to play several EQ characters at once, come join us and say hello! 👋

  • A TLP without truebox has thawed (Very Vanilla ready)
    Frostreaver

Problem - ${Target} val getting permanently stored - not dynamic

Weebles

Member
Joined
May 2, 2014
RedCents
112¢
So I've noticed another issue running modbot... The ${Target} variable appears to be being stored permanently within the macro, not dynamic based on my current target, but rather the target that I had when the macro initiates.

For example, one of my beastlord's debuffs is slow if ${Target.Level} >= 64. However, it was not casting correctly... it was consistently slowing everything or nothing at all.

When I had my paladin targeted when I initiated the macro (level 65), he would slow everything. When I had nothing targeted, he would slow nothing.

So it appears that the Target variable is basically getting initialized and permanently cached when the macro starts.

Is this a known issue? Is this actually what is happening?
 
I assume you are using the "PreCondition" of a debuff entry? You can't reliably put ${Target} items in an /if condition for the entries. The macro does not /target anything specific while looping through those entries. It is either casting on the MT target, or non-MT target, based on your tartype, but it is not actually switching targets until the actual cast occurs. So, you are essentially checking whatever the character happens to have targeted at the moment. There may be some workarounds you can use, depending on whether you are interested in the MT target (you can use ACMATarget for this) or something else. You can also try using scripts.
 
It’s happening with a tartype=1 and only single mobs in the camp.

it’s just very curious that the behavior seems tied to whether or not I had a target when the macro initiates.
 
Maybe you didn't understand my response? Or perhaps I totally misunderstand your issue? Post the ini entry that you are having issues with.
 
I thought what you were suggesting is that ${Target} is not reliable because the macro was typically switching targets. I responded to indicate that that should not be happening... During typical combat, the beastlord does not switch targets except to refresh fero.

I'm watching him, and he is not switching targets prior to slow. And based on who/what I have selected during macro startup, he is doing it always/never, despite the precondition stating it should only happen on targets above level 64.

I've attached the ini
 

Attachments

PreConditions and script entries should not have the "$" anywhere. Try using {Target.Level}.

If you are using TarType=1 on AD entries, you can substitute ACMATarget-related checks. ACMATarget is a Spawn ID. So, you can say things like {Spawn[{ACMATarget}].Level} instead of {Target.Level} - again, no dollar-signs. This should work for your AD (Debuff) entries.

I am working on some changes for the next release that will let you do similar things in other PreCondition entries and scripts.
 
Problem - ${Target} val getting permanently stored - not dynamic

Users who are viewing this thread

Back
Top
Cart