It helps to see what you are using for the failing macro in order to explain how to adjust it.
Lets say this is your macro (which is written plainly for better understanding - this will not work in game):
cast Hunter's Mark
cast Arcane Shot
This macro will always cast Hunter's Mark. The reason is because HM triggers the cooldown, and you can only trigger the cooldown once in the macro. The next time you hit the macro button it will cast HM again because it's the first line of the macro. The reason you get an error message is because it tries to cast Arcane Shot but the cooldown is in effect.
You can make it so that you only need one button to cast both spells, but you will have to hit the button twice, and you will have to write in conditional statements that tell the game how to respond when you hit the button.
So the above macro would need to say something like this:
if the target doesn't have Hunter's Mark, cast Hunter's Mark, or else cast Arcane Shot
I have found that when checking buffs in a macro it is just easier to use the SuperMacro addon most of the time as you can use the name of the buff as it appears on-screen. When using the regular macro interface you need the name of the icon which is not always the name of the buff.
In SuperMacro this should be:
- Code: Select all
/script if not buffed("Hunter's Mark", "target") then cast("Hunter's Mark") else cast("Arcane Shot") end
Again, you will have to hit this macro button twice to get both Hunter's Mark and Arcane Shot.