View Single Post
06-21-05, 01:34 PM   #6
Cairenn
Credendo Vides
 
Cairenn's Avatar
Premium Member
WoWInterface Admin
Join Date: Mar 2004
Posts: 7,134
Section 5: "I'm sorry Dave, I can't do that."
(what is and isn't possible)

Q: Is it possible to use multiple abilities in one macro, such as cast Corruption, Curse of Agony, and then Shadowbolt? (credit to Skrag)

A: No. The reason is that it is not possible to wait in a macro, but to cast one spell after another, you would have to cast the first one, wait for it to finish, then cast the other. Even instant spells activate a global recast timer, which is somewhere in the neighborhood of one second, I believe, and you cannot cast another spell until this timer is done. So, without the ability to wait in a macro, it is impossible to cast multiple spells. Also, spells can only be cast when the player presses a key or clicks their mouse, not at any other time (which is why "do something, wait a bit, then cast XXX" is impossible).

It is, however, possible to do multiple things that don't require waiting. You could, for example, cast a spell and turn on attack. Or use two items (as long as they had independent refresh timers).

You just can't do anything that would require waiting between action A and action B.

NOTE: It is possible, however, to install an AddOn which automatically changes an action button to cast different spells in a user-specified list. So the first time you press the action button, you would cast Corruption; press it again, and you’d cast Curse of Agony; a third time would cast Shadowbolt. Danboo’s CastAway AddOn is a good example of an AddOn designed to do this very thing.


Q: How do I set up a macro or script to automatically cast XXX when... (credit to Skrag)

A: You don't. There is no way to automatically cast any spell or ability. You can ONLY use spells and abilities in response to a hardware event (mouse button or keyboard press), and furthermore, it appears that the hardware event must trigger a normal action button or the spell will fail to cast. You can attempt to call CastSpellByName after a certain amount of time, but the spell will not be cast.

NOTE: There are some AddOns that make self-rebuffing much easier to the point of being almost automated. Search for Resto! on curse-gaming.com – you can set it up to automatically rebuff yourself (if needed) when you use the keyboard movement keys.


Q: Is it possible to wait in a macro for a certain amount of time, then continue running the rest of the macro? (credit to Skrag)

A: No, it is not possible. See the question regarding multiple abilities in one macro for a more detailed explanation of the sorts of things not being able to wait prevents you from doing.

ADDENDUM:
It is possible, if you have Cosmos installed, to do something like:

/in 5 /say Hello,
/say Fred!

And in 5 seconds you will say "Hello,". But you will say "Fred!" right now. /in is not a macro pause command, it simply lets you queue up a single command to execute at a future time.

HOWEVER, you cannot use /in to cast a spell, use an ability, or run a macro, due to the hardware event restriction. So, its usefulness is very limited. You can use it to talk, or to use items, but that's about it. Which is one reason I didn't mention it in the first place. Because 99% of the time people want a pause, its so they can cast another spell in the same macro, or switch inventory items and then use an ability, neither of which is possible using /in.


Q: Can you help me write a macro that will automatically loot a corpse / automatically skin and loot a corpse / automatically pickpocket and loot?

A: No. There is no way to loot items except via mouse clicks.

Last edited by Cairenn : 07-03-05 at 08:59 PM.
  Reply With Quote