Hokay, I’m going to try to put both of these questions to bed. I’ll start with the second question first.
Mod keys, such as ALT, CTRL, and SHIFT will only work if you don’t already have the same combo mapped in WoW itself. For example, nearly all CTRL+number keys are mapped to pet attacks. Even if you are playing a class that doesn’t have a pet, those keys are bound to pet commands by default. As a result, if you put your macro on number 3, and it has a CTRL mod, CTRL+3 will always issue that pet command and never your macro’s mod.
The fix is simple: Unbind it in the WoW keybinding options. Keep a mental note as well, because you’ll forget about it. You’ll move the macro to 1 or 0, or make a test and put it on 8 or whatever, and then have this issue all over again. Not that I have ever done that, no… Stop looking at me.
As for question the first, some basic explanations and definitions first and then I’ll explain why any of it matters.
First of all everything you do in game will be governed by the Global Cooldown. For most classes it’s 1.5 seconds, and can be shortened by haste in some classes. It’s also something the WoW devs will tweak and adjust for some classes, and even between class specs, in order to balance class performance. That being said, there are a fair number of skills your class will have that will also have a cast time (in macro terms this means “channeling” even if the spell itself isn’t being channeled. That’s why you’ll see macros with “nochanneling” as conditionals. It means that this ability won’t break if another spell is being cast with a cast time). Cast times will further alter how many abilities can be cast in that GCD timeframe. Throw in instant abilities, abilities that are off the GCD, and channeled spells and you have yourself some nice entropy to macro around.
In addition to the GCD there is something called the “spell queue”. This is a hidden memory space that the game client has that allows you to hit an ability a few hundred miliseconds before your GCD is ready and still cast that ability. For example, if you hit Ability A, which fires your GCD refresh, and then you hit Ability A again 400ms or less before the GCD finishes, Ability A will fire again. If you hit Ability A earlier than that, it won’t. If you hit Ability A, and then Ability B both within that 400ms window, only Ability A fires and B is rejected unless B is an off-GCD ability. Confused yet? Good. The reason this exists is to even the playing field between you, with an ultra gaming rig and cable internet on a local server node with no lag and even less ping, and your raid mate who’s playing on a potato on a server an ocean away from wherever he grew it. Both of you will have, within acceptable network tolerance, the same delay in your ability queues to play the game with the same results.
Still with me? It’s a wall of text, I know, but again I want to kill this question dead. Now to actually answer your question.
When a macro is used each press of the key increments the macro one step. If the macro is set to Sequential then each key press will move it down the line of abilities one at a time. If the macro is Priority, then it will always try the first ability in the list, and then the next, and the next, each keypress, but will always start at the top. As you might imagine, Priority is better suited to spamming than Sequential, at least on paper.
When a macro maker says to spam their macro at any ms, be it 100, 80, 30, or whatever, what they are really saying is that the collection of abilities they have macroed, the order in which they have set them up, the mix of abilities that have both cast times or are instant or are GCD-locked, all align best when ran at that rate. For them. That when you spam the likelihood of the ability they want to appear will be greatest if ran at that rate. This isn’t always true, for reasons like lag, ping, and general entropy, but it’s what they are hoping.
Some classes will work better like this. Others will never work due to their abilities being very random or proc heavy, something a macro can never react to and can only predict. Some classes will work best under the Priority system and spammed super fast so that whenever the ability is ready it always fires with the highest priority first. Some will work best with Sequential ran at a slower spam rate, because their performance relies on a sequence of abilities, such as many resource generators.
Lastly, some macro makers, like Cym, will make macro specifically NOT to be spammed, instead being incremented one tap at a time in accordance with the GCD.
This is why we say that your mileage may vary with spam rate. Start with what the author suggests, and if it’s not working well for you adjust it one way or the other. There is no best rate, especially between classes, because macros are not intelligent. They just run.