[Guide] Compressing Macros

#0 - June 9, 2008, 3:58 p.m.
Blizzard Post
Have you ever reached a Macro Limit and was unable to complete your Uber Macro?

Here are some Tips you may find useful to save those precious few macro characters!

IMPORTANT NOTE: All spells and macros here are purely EXAMPLES and are not 'decent' or 'to be used' macros.
So please don't say "Why did you do <this> macro when its completely useless or could be done better?"


Replacements:
Use "/use" instead of "/cast". It works exactly the same, but is one character shorter!
Use "/userandom" instead of "/castrandom"
Use "/s" "/p" "y" "/w or /t" "/g" etc instead of "/say" "/party" "/yell" "/whisper" "/guild" etc
Use "/cast <Spell>" instead of "/cast <Spell>(Rank #)" if you want to cast the maximum rank of that spell
Use "/use ##" instead of "/use <ItemNameHere>" when using an equipped item (EG: trinket). Info here: http://www.wowwiki.com/InventorySlotId
Use "/use item:#####" instead of "/use <VeryLongItemNameHere>" when using a non-equipped item (EG: Mount)
Use "/run" instead of "/script"
Use "/tar" instead of "/target"
Use "/a" instead of "/assist"
Use "[btn:#]" instead of "[button:#]"
Use "[mod:###]" instead of "[modifier:###]"
Use "[worn:####]" instead of "[equipped:####]"
Use "[form:#]" instead of "[stance:#]"
Use "[bar:#]" instead of "[actionbar:#]"


Formatting:
Reduce the use of repeated spell names. For example:
/cast [target=targettarget,help] Flash Heal; [help] Flash Heal; [target=mouseover,help] Flash Heal
Can be made much shorter:
/cast [target=targettarget,help][help][target=mouseover,help] Flash Heal

Reduce the use of repeated slash commands. For example:
/cast [stance:1] Retaliation
/cast [stance:2] Shield Wall
/cast [stance:3] Recklessness

Is much shorter if it was written:
/cast [stance:1] Retaliation; [stance:3] Recklessness; Shield Wall

Do not use: /cast [help,exists] Flash Heal
Because [help], [harm], [dead], [party], and [raid] all include the effect of [exists].

Reversing the order of conditions may produce a shorter macro:
/cast [noequipped:shields] Revenge; Shield Slam
Is shorter if reversed:
/cast [equipped:shields] Shield Slam; Revenge
Another example:
"[nostance:3]" is shorter then "[stance:1/2/4/5]"

Use a "/stopmacro [option]" instead of many repeats of a "[option]" condition. For example:
/cast [mod:ctrl,target=targettarget,help][mod:ctrl,help][mod:ctrl,target=mouseover,help] Flash Heal
/cast [nomod:ctrl,target=targettarget,help][nomod:ctrl,help][nomod:ctrl,target=mouseover,help] Greater Heal

Is shorter if it was:
/cast [mod:ctrl,target=targettarget,help][mod:ctrl,help][mod:ctrl,target=mouseover,help] Flash Heal
/stopmacro [mod:ctrl]
/cast [target=targettarget,help][help][target=mouseover,help] Greater Heal


Reduce the number of spaces you use. For example:
/cast [mod:ctrl,target=targettarget,help][mod:ctrl,help][mod:ctrl,target=mouseover,help]Flash Heal;[target=targettarget,help][help][target=mouseover,help][]Greater Heal
Is shorter then:
/cast [ mod:ctrl, target=targettarget, help ] [ mod:ctrl, help ] [ mod:ctrl, target=mouseover, help ] Flash Heal; [ target=targettarget, help ] [ help ] [ target=mouseover, help ] [ ] Greater Heal
You must have a space between a slash command and the first spell/option, but the rest can be space-less.
Note: Special commands such as resets in castsequences require spaces as below:
/castsequence reset=combat [option]<spell>,<spell>,<spell>;[option]<spell>,<spell>,<spell>
Generally though this makes macros harder to read, so only do this if you really need to!

#showtooltips with [options] can (usually) be far simpler then a repeat of your macro's conditions.
For example:
#showtooltip [mod:ctrl] Flash Heal; Greater Heal
instead of:
#showtooltip [mod:ctrl,target=targettarget,help][mod:ctrl,help][mod:ctrl,target=mouseover,help] Flash Heal; [target=targettarget,help][help][target=mouseover,help] Greater Heal
This is only applicable if you use something between the #showtooltip and the spell(s), for example a trinket. (Thanx Gotai)


If you find any errors (see Important Note at the top first!) or can suggest improvements or have better examples, please let me know.
If you have your own Tips please (please!) reply with them and i shall add them to the list and Credit you
If you found this guide usefull please feel free to report for sticky.
#9 - June 10, 2008, 2:43 p.m.
Blizzard Post
Nice :-)

Added this to the UI Sticky compilation thread:
http://forums.wow-europe.com/thread.html?topicId=304192506&sid=1