In a game with the size, complexity, and depth of World of Warcraft, many features can be overlooked by players, including longtime veterans who have been playing for years. Even the game's familiar features often have additional layers of complexity that many players may not use or be aware of.
Thus, we come to the macro. Essentially macros are lines of script that execute in-game commands. They allow you to combine multiple actions into one user-customized button that you can use just like a spell or ability. For example, you can take a string of commands that you would ordinarily press one after the other, and combine them into one button that executes them all in sequence. These helpful tools have the ability to improve and streamline your entire play experience.
Macros have something to offer every type of player, casual gamers and power users alike, and macros suit a variety of play styles and situations, such as leading a PvE raid, battling in arena PvP, or simply role-playing in Ironforge. Macros can be one of the most useful tools in your arsenal for both PvE and PvP. They save time, consolidate multiple actions, aid communication, and overall make your time in Azeroth more convenient.
Our Macro Guide seeks to bring many of these features to light. The beginning section will serve as an introduction for players new to macros, and later sections will explain some of the higher-level scripting functions macros are capable of.
A macro is simply a list of slash commands. I'm sure you are familiar with some of the more common slash commands:
- /say (/s)
- /whisper (/w, /talk, /t)
- /emote (/e, /em, /me)
- Oh, and for you PvPers out there, I mustn't forget /spit
/y Everybody, dance now!A mostly complete list of slash commands is available at http://www.wowwiki.com/List_of_Slash_Commands though at the time of this writing some of the new commands in 2.0 haven't been added. WoWWiki is a great source of additional information for macros, especially scripts using the /run command (which will be covered later).
Note: I will take this early opportunity to let you know that macros run all at once. This means that when you click the button, the macro runs each command from start to finish before returning control to the game. This has two important effects. First, if you write a macro that takes a long time to execute (like /run for i=1, 100000000 do end), the game will freeze for as long as it takes to run the macro.
Second, and arguably more important, there is no way to wait in a macro without freezing the game. This fact will become much more apparent when we start dealing with the /cast command and its ilk. Some addons can provide a way to issue a command at a later time, but they can only be used for "benign" functions like chatting, emotes, and issuing commands to other addons (though equipping weapons in combat is allowed).