• 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 --->

Problem - Odd behavior when using /aa in macro (1 Viewer)

Joined
Mar 13, 2023
RedCents
944¢
So, I wrote a little macro myself rather than using existing ones, you know... because!

The script is extremely basic and as you can see very small. And it works pretty nicely, too, except for one thing and I cannot wrap my head around this.

A simple combat macro:
| Simple combat macro

Sub Main
       :MainLoop
            /if (${Me.Combat} && !${Me.Stunned} && ${Target.ID}) {
                  /if (${Me.AbilityReady[Disarm]}) /doability Disarm
                  /if (${Me.CombatAbilityReady[Six-Step Pattern]} &&  ${Target.PctHPs} > 25) /doability "Six-Step Pattern"
                  | /if (${Me.AltAbilityReady[Five Point Palm]} &&  ${Target.PctHPs} < 95) /aa act Five Point Palm               
                  /if (${Me.CombatAbilityReady[Cloud of Fists]} &&  ${Target.PctHPs} < 90) /doability "Cloud of Fists"
                  /if (${Me.CombatAbilityReady[Vigorous Shuriken]}) /doability "Vigorous Shuriken"
 
            }
      /goto :MainLoop
/returns

As you can see, I have commented out the line that has Five Point Palm because it screws up. It does work kind of, because it does activate the AA, but it also murder-spams the log/chat window, like this:
You begin casting Five Point Palm VI.
You strike a small insect for 6277 points of damage. (Riposte Strikethrough)
You hit a small insect for 22532 points of physical damage by Five Point Palm VI.
You hit yourself for 1561 points of unresistable damage by Five Point Palm Focusing.
You can use the ability Five Point Palm again in 5 minute(s) 0 seconds.
You can use the ability Five Point Palm again in 5 minute(s) 0 seconds.
You can use the ability Five Point Palm again in 5 minute(s) 0 seconds.
You can use the ability Five Point Palm again in 5 minute(s) 0 seconds.
And those last lines repeat hundreds of times...

I have tried both /alt act 1012 (the ID for the AA) and the /aa as per above. Both do the same thing. Any idea why?
 
There is a known issue where AbilityRead/ItemReady do this kind of thing. It has to do with the client and server not being completely in sync.
MQ got some data from the client and now thinks that the ability is ready, and keeps thinking it's ready, even though it's not.

Either you can stop using the Ready data type, and try to use timers instead (quite complicated), or you can do this in Lua Event Manager (LEM) instead. Lua doesn't seem to have this sync problem, and you can rely on the Ready data type.

I highly recommend LEM for this kind of thing. You just need to set up a conditional event.
 
So, I wrote a little macro myself rather than using existing ones, you know... because!

The script is extremely basic and as you can see very small. And it works pretty nicely, too, except for one thing and I cannot wrap my head around this.

A simple combat macro:
| Simple combat macro

Sub Main
       :MainLoop
            /if (${Me.Combat} && !${Me.Stunned} && ${Target.ID}) {
                  /if (${Me.AbilityReady[Disarm]}) /doability Disarm
                  /if (${Me.CombatAbilityReady[Six-Step Pattern]} &&  ${Target.PctHPs} > 25) /doability "Six-Step Pattern"
                  | /if (${Me.AltAbilityReady[Five Point Palm]} &&  ${Target.PctHPs} < 95) /aa act Five Point Palm               
                  /if (${Me.CombatAbilityReady[Cloud of Fists]} &&  ${Target.PctHPs} < 90) /doability "Cloud of Fists"
                  /if (${Me.CombatAbilityReady[Vigorous Shuriken]}) /doability "Vigorous Shuriken"
 
            }
      /goto :MainLoop
/returns

As you can see, I have commented out the line that has Five Point Palm because it screws up. It does work kind of, because it does activate the AA, but it also murder-spams the log/chat window, like this:

And those last lines repeat hundreds of times...

I have tried both /alt act 1012 (the ID for the AA) and the /aa as per above. Both do the same thing. Any idea why?
Two things. 1st thing, goto is the debil :-)
Second thing, you should add a delay in the loop. Even if it's a /delay 1. Can be anywhere so long as it's always triggered.

Also, I've copied and pasted this into notepad++ to edit it for you and it looks like
1678703926429.png
Unsure if it should look like this. Curious what you've used to edit this.

a simple combat macro:
Sub Main
    /while (1) {
        /if (${Me.Combat} && !${Me.Stunned} && ${Target.ID}) {
            /if (${Me.AbilityReady[Disarm]}) /doability Disarm
            /if (${Me.CombatAbilityReady[Six-Step Pattern]} &&  ${Target.PctHPs} > 25) /doability "Six-Step Pattern"
            /if (${Me.AltAbilityReady[Five Point Palm]} &&  ${Target.PctHPs} < 95) /aa act Five Point Palm               
            /if (${Me.CombatAbilityReady[Cloud of Fists]} &&  ${Target.PctHPs} < 90) /doability "Cloud of Fists"
            /if (${Me.CombatAbilityReady[Vigorous Shuriken]}) /doability "Vigorous Shuriken"
        }

        /delay 1
    }
/returns

Here I replace your goto and the tag for the goto with a /while (1) { } where it's saying while 1 is any number other than zero, it should continue to stay in the loop. Then just before the end of the while loop I add a delay 1.
Without any delay macros sometimes have an unexpected behavior. Unless this has been corrected and I'm unaware.
 
/delay 1 is still gonna get some spam but not as violently, until the server responds that the aa was activated.

if you really wanted to do it right, youd need a var that kept track of used skills and then check the timer to reset that var and stuff like that, and whole bing bong make a macro that is extra long thing
 
also mq has a command for activating aa skills, that supposedly has better performance than the regular /alt act



/aa

Syntax​

/aa [list (all | timers)] [act abilityname]

Description​

Used to retrieve information on AA Abilities, or to activate an AA ability.

Examples​

/aa list all
Lists all AA abilities available to you (doesn't mean you have them) in format [ID : name]​
/aa list timers
Lists just the AA you have that have timers​
/aa info abilityname
Gives information about a particular AA ability​
/aa act abilityname
Works like "/alt act ##", but takes the name instead of ## (note: You will notice a fraction of a second delay using this method vs. the /alt act ## method).​
 
Problem - Odd behavior when using /aa in macro

Users who are viewing this thread

Back
Top