Learning Macro Syntax and Limitations

@dukeofearl1711: “@TrainingDummies how can I learn the syntax and what limitations there are on macros?”

While all you need to know is Copy & Paste to Use a macro, sometimes you want to know what it is you’re doing and how it works.  To learn how to write your own may take some time.

Everyone learns a little differently, and at different levels. This could be easier or harder for you to learn based on if you have ever had any kind of scripting or programming background.  However, learning the syntax is pretty easy though, especially if you’re good at solving a “puzzle” with the answers given to you.  I’ll explain that in a bit.

To get started, I’d say give this a light reading:  http://www.wowwiki.com/Making_a_macro
The beginning of this will go over some fundamentals.
If you’re already familiar with this, skip down to the “Macro options” section.
Next, you’ll want to review the “Syntax overview” section.

Now, about that “puzzle” mentioned earlier.  If this is too much to absorb (there are many generic examples, and a few actual working examples) there’s another way you can learn how to do this.
http://www.macroexplain.com/ has the ability to decipher any working macro for you.  If you’ve found a macro that does something you like, but you’re unsure of how or why it works, Copy and paste that macro into MacroExplain’s macro box and then click “Explain This Macro”.  What you’ll get is the logical step by step breakdown of what the macro is trying to do, and what it will do or continue trying to do until it meets a condition that passes.

MacroExplain is also a very easy way to begin writing your own macros. Once you’re familiar enough with the basics you can use MacroExplain to check your syntax and also see if your macro will work or if it will break.  If it will break, it also explains to you why it will break (because of a global cooldown, typo, rule or some other limiting factor).  In this way, MacroExplain can be your cipher to understanding while writing your own macros.

With Mists of Pandaria and the MoP prepatch right around the corner there may be some changes that alter how some commands work, but there are definitely some spell’s functions that will be changing for all classes.  I am not sure how MacroExplain keeps itself up to date, so if it does not update with MoP, it may no longer correctly explain macros beyond that time.  If it does stay up to date, then it can still be a usefull tool to decipher a macro or an assistant for writing your own macros.

~Hoofit

8 thoughts on “Learning Macro Syntax and Limitations

  1. One of the best macro’s I have made is a macro to open the macro menu. It’s great, press of 1 button and I’m in my macro menu (/macro). I plan to do a blog about druid macros specifically in the future, but here is a quick look at one.

    This stampeding roar macro will cast stampeding roar no matter if you are in cat or bear. Having two or more spells in a single macro saves bar space by only taking up 1 bar spot.

    #showtooltip
    /CAST [form: 1/2] Stampeding Roar(Bear Form); Stampeding Roar(Cat Form)

    Just to explain what is going on.
    The #showtooltip on the 1st line will show the tool tip for the spell in the macro. This works for all macros.
    All druid forms have a number. In this case Bear = 1 and Cat = 2.

    I have some similar macros for cower / challenging roar and skull bash, bear / cat.

    Keep up the good work guys.

    ~Elamari

  2. I just listened to ep4 and realise that you guys already covered what I said above. So I feel like a dork now haha. Oh well.

    Still listening through your back log. Hopefully I’ll be up to date soon.

    ~Elamari

  3. Just because we’ve covered it, doesn’t mean it can’t be mentioned again, I mean, we’re re-covering it too for that matter! 😉

  4. Hey guy, First off love you podcast. I am a BC baby along with my wife and have just now started to play with macros. I have a question? I have seen sites that have premade macros, and have looked at them and thought wow that would be a real help. So after listening to your show I cut and paste the macro into macroexplain and I see alot of the “?” errors after the spells and it says this spell trips the global cooldown ?? Am I wrong in thinking is this will stall the macro, or is there a way around this?
    IE:/castsequence [mod]Frost Strike;reset=10 Howling Blast,Plague Strike,Obliterate
    /castsequence reset=60 Horn of Winter,Pillar of Frost,Blood Tap,Outbreak,Horn of Winter,Horn of Winter
    /cast Empower Rune Weapon
    /use 13
    /use 14
    /startattack
    Any help you can offfer would be of great help.
    Thanks

    1. First off, you should note that a Macro is potentially only as good as the expansion it was written in. Over the course of time blizzard may change how spells work entirely or even add in accidental typos to spell names and such that need to be corrected.

      Secondly, you should always use your trinkets before casting an ability. This gives an ability the most bang for it’s buck, if the ability can benefit from the bonuses of the trinkets. Also, Casting usually triggers a global cooldown (in most cases) where trinkets do not, which is why they should be used first.
      Here is what you should change that last macro to:

        #showtooltip Empower Rune Weapon
        /use 13
        /use 14
        /startattack
        /cast Empower Rune Weapon

      As for Castsequence macros, I’m not a huge fan of them as they limit your ability to adjust what you need to use on the fly should a situation change half-way through your cast sequence. Your first Cast sequence makes sense though if you were to use it, but I’m not sure why you have 3 Horns of Winter on the second one.

      1. Hey thanks for the info. I have to say I did not write this macro it was a prebuild one I found. One of the things that made me wonder about it was the 3 Horn Of Winter? I already have my trinkets linked to the two main spells I use so they are always being used and I have a addon that shows when my rune weapon cools off and I just click it. I agree with you about locking yourself into a speel rotation with the macro when you need to change things on the fly. So I guess my question now is, other then useing my trinkets what can I gain from a macro?

        1. To answer more specifically, what do YOU want to DO with a macro. Experimentation is the key if you don’t know. You can deduce what it is you like or not from said macros and trim off what you don’t want, while keeping the things that work to your play style.

          A macro will allow you to multitask easier. Setting Focus targets, CCing those targets, save you steps in healing yourself or others, coupling proper cooldowns with their respective offensive or defensive spells, you can also have it make sure you don’t use certain things at the wrong time. You can save loads of action bar space and consolidate your keybinds allowing you to do more actions with less wandering over your keyboard.

          For example: Just today I wrote some new macros for trying out a new talent for bear tanking combining Nature’s Swiftness with healing touch, and another for NS+Rebirth (NS allows you to cast a heal spell or rebirth while still in forms). I engineered the macro to only allow me to cast NS if I am in combat, that way I don’t waste a NS cooldown. Heres’s my multi purpose macro:

          #showtooltip Savage Defense
          /castsequence [mod:shift,combat] reset=60 Nature's Swiftness, Healing Touch
          /cast [nostance:1]Bear Form
          /cast Savage Defense

          Explanation:
          I like keeping “Like” spells together. So I used Savage Defense (bear dodge) as my baseline with 2 other functions, in this case, Survivability cooldowns.

          1st: If i’m holding down shift and ALSO in Combat and tap twice, i’ll cast Nature’s Swiftness then Healing. I had to use a cast sequence here because otherwise the communication time between local and server wasn’t fast enough and i’d find myself actually popping out of bear form to cast an instant healing touch. This is 1 way you can use /CastSequence to ensure proper order of casting. IN ADDITION, it makes sure I don’t accidentally try to Healing Touch myself until Nature’s Swiftness is ready again because that would take me out of form.

          2nd: If i’m not in bearform, a normal keystroke will put me in bear form.

          3rd:A normal keystroke casts Savage Defense if I’m already in Bear Form.

Leave a Reply to Elamari Cancel reply

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.