World of Warcraft macros allow you to automate certain repetitive or complicated tasks in WoW by binding a series of text commands (those you would normally type in the command window) to a button which will execute the commands when it is pressed.
Covering all the options you have when creating WoW macros would take a small book so instead of boring you with all those details I thought I would use this article to go over the macros that are most helpful for warriors.
First, a few general characteristics of macros themselves.
Using regular World of Warcraft commands in macros works just the same as if you were typing them in the command line. For example, to set up a macro to say “Have at you!” the line in the macro would simply be: /s Have at you!
When writing commands that utilize the WoW user interface like casting a spell or moving items in your bags, commands must be written in the LUA programming language. Don’t worry if you’re not a programmer and don’t know LUA because you don’t need to in order to use this guide, I only mention this because it will help you understand the macros better if you know the difference between a regular WoW command and a LUA command.
All macros are case sensitive and are broken into two parts. The LUA commands should be written in lower case while the WoW function commands usually use a capital letter to begin each word.
For example, if else then and not end are each a LUA command and should always be written in lowercase. CastSpellByName “Spell” is a World of Warcraft function command which you can see because the beginning of each word is capitalized.
/script must always be put at the beginning of a string of commands, unless you are just using WoW in game slash commands. For example, the above Wow function command CastSpellByName “Spell” would actually be written like this: /script CastSpellByName “Spell” as a macro because it isn’t a standard in-game slash command and therefore needs to have /script at the beginning of the sentence.
But, /logout and /laugh are examples of in-game slash commands and do not need /script at the beginning of the sentence.
Putting paragraphs between scripts will separate the two scripts from each another and they will be recognized as two separate scripts by the game engine. So, if you are using the if command in a script the entire script up through the end command must be in the same sentence. This means you can’t use paragraphs to make the command more readable because the game engine will interpret the new paragraph as the beginning of new command.
; is commonly used as a delimiter between commands and acts like a paragraph in that the sentence after the semi-colon will be interpreted as a new command.
If you are using the if command the if must eventually be followed by the then command and ended by the endif then command in order to be valid. For example, a typical if/then/else command would look like this: if Something is true then Do Something end
Some WoW commands will have empty parentheses () at the end of the command and, even though there’s nothing between the parentheses they must still be included for the command to be valid.
Basic World of Warcraft Macros for Warriors
Two of the most common questions I see from warriors regarding macros is “How do I change my stance” and “How do I change my weapons” so those are the two macros I’m going to go over here. I’ll cover basic and advanced stance commands first then go over changing your weapons using a macro after that.
There are several commands you can use to change your stance as a warrior. I’ll explain the simple commands first then later on I’ll introduce ways to use more advanced commands to gain much more powerful effects.
Changing your stance can either be done by casting a “Spell” (CastSpellByName “Spell”) or by using the function command for changing stances (CastShapeshiftForm()). The CastSpellByName “Spell” command will cast whatever spell is typed between the two quotes (where Spell is currently written). A stance is a Spell as is a charge or an attack. Basically, anything you see in your spell book can be “cast” by using the CastSpellByName”” function.
Here are a few examples:
/script CastSpellByName”Battle Stance” will put you in Battle Stance
/script CastSpellByName”Defensive Stance” will put you in Defensive Stance
/script CastSpellByName”Berserker Stance” will put you in Berserker Stance
You can also use a function command for changing stances. This command does the same thing as the CastSpellByName command but is a little shorter. Because each World of Warcraft macro is limited to 255 characters it’s important to use the shortest command possible to accomplish your goal.
/script CastShapeshiftForm(1) will put you in Battle Stance
/script CastShapeshiftForm(2) will put you in Defensive Stance
/script CastShapeshiftForm(3) will put you in Berserker Stance