Public Macros Help with a simple macro
Reply
Help with a simple macro
I'm trying to set up a downflag/holyflag in my shaman's MQmelee to check if Spirit of the Puma is present on groupmates and cast it if not. I don't know too much about what I'm doing, so please bear with me!

I started by looking at some of the examples in the MQmelee post, such as:

; Cast my clicky DS ring during combat if needed (it's insta-cast, so I can do so while in combat without affecting anything)
holyshit4=/if (${Spell[Shield of the Eighth].Stacks} && !${Me.Buff[Shield of the Eighth].ID}) /casting "Velium Coldain Insignia Ring"|item

From there, I was able to adapt it to make my cleric auto cast Yaulp, and that is working fine:

holyshit0=/if (${Spell[Yaulp V].Stacks} && !${Me.Moving} && !${Me.Casting} && !${Me.Buff[Yaulp V].ID}) /casting "Yaulp V"

However, I'm having trouble with getting my sham to accurately check for the buff on another character using:

downshit0=/if (!${Target.Buff[Spirit of the Puma].ID}) /casting "Spirit of the Puma"

When I /echo ${Target.Buff[Spirit of the Puma].ID} I get null back. I get the same response for other buffs that I know he has on, as well as BuffCount and BuffDuration

Can anyone advise me what I'm doing wrong?
Fri Jan 20, 2012 9:39 pm
Doing something like that should be in a macro not a holyshit/downshit, otherwise what would cause it to scan group members? The answer is it wont.

Assuming something else was having you shaman change targets to all the group members, then you could attempt to use a holyshit like that, but if you are going to have a macro running that makes them change their target, then just have that macro do the work.

I would use MQ2NetBots to do something like this.
This little snippet will give you an example of how you can check for a buff using netbots.

Macro
More +
        /declare BuffWho string local Sorvani
        | 6906 is Spirit of the Puma
        /declare SpellID int local 6906
        /if (${NetBots[${BuffWho}].Buff.Find[${SpellID}]} || ${NetBots[${BuffWho}].ShortBuff.Find[${SpellID}]}) {
                /return ALREADY_BUFFED
        } else {
                /echo ${BuffWho} needs ${Spell[${SpellID}]}
        }

_________________
Sorvani
Fri Jan 20, 2012 10:38 pm
Senior Project Member
Hmmm... Ok! I will tinker around with that and see what I come up with.

Thanks Sorvani!
Sat Jan 21, 2012 5:25 am
OK, new direction.

I've got a macro running on my cleric that will respond to a message with the appropriate buff. I want to set up my toons to use a downshit/holyshit to send a tell to the cleric if they need a buff. What I have is:

Macro
More +
downshit0=/if (${Spell[Protection of Vie].Stacks} && !${Me.Buff[Protection of Vie].ID}) /tell Cleric vie


The problem is that since the cleric takes a few seconds to cast the spell, the character sending the tell continues to send tells very quickly and lags out.

Any recommendations for an extra argument that would stop the character from sending the tell after the first sending?
Sat Jan 21, 2012 8:46 am
If you are using MQ2EQBC then you should use the MQ2NetBots plugin to get status from your other toons directly.

To your question though, no there is no good way to delay a holyshit/downshit. They are designed to run immediately and repeatedly.

A workaround would be to have your downshit start a macro, and check that the macro is not running as part of your downshit if statement, it is clunky but does work.

Macro
More +
downshit0=/if (!${Macro.Name.Equal[GetVie]} && ${Spell[Protection of Vie].Stacks} && !${Me.Buff[Protection of Vie].ID}) /mac GetVie


Macro
More +
| GetVie.mac

Sub Main
    /tell Cleric vie
    /delay 10s ${Me.Buff[Protection of Vie].ID}
/return


Again the better choice would be to make use of the MQ2NetBots plugin.
_________________
Sorvani
Sat Jan 21, 2012 9:20 am
Senior Project Member
It's not working for me - still lags the client out.

I'm gonna set this aside for now - I'll work on acquiring something like autobot or something in the next month. That should do the trick.

For now the healbot is working fine and is a serious improvement to using my hotkeyed EQBC commands.

Thanks for your help Sorvani, I appreciate it.

Demoncrusher
Sun Jan 22, 2012 11:02 am
Public Macros Help with a simple macro
Reply