1. #1

    Preventing macro spam

    Hi,

    I'm a warrior tank, and in the belief that my healers would like to know when I've used my last stand ability (or more to the point, that it's gonna disappear in 20 seconds...), I've taken to macroing it along with a /y (/rw might not be a bad idea, but what the hey).

    However, I have a bad habit of spamming keypresses when in a panic (BAD tank! Stoppit!), so tend to fill the chat pane up with somewhat impolite messages when I do this. I had hoped for some sort of conditional, say along with a /stopmacro, that would let me cancel the yell (or whole macro) if last stand failed, or was in cooldown, but I can't see an obvious way to do so. First of all, is this even possible, or should I stop wasting my time? Can a lua script via /run make the yell conditional on the state of LS's cooldown?

    Also, I have been thinking that since we mandate BigWigs for our runs it might be an idea to replace the yell with a /bwcb (custom timer bar). This would prevent the spam, but would mean that the timer would reset every time I clicked it, and therefore be slightly out. Worse, if I were to accidentally hit it again 3 minutes later, the /cast would fail, but the entire raid would get a fresh timer bar. Again, is it possible to make the /bwcb command conditional on the success/failure of LS, or on the current state of its cooldown?

    Or should I just stop getting hit so hard?

    Thanks,

    Bob.

  2. #2

    Re: Preventing macro spam

    Slight update - I have kind of achieved part of what I wanted by putting the /yell in a simple /run script:

    /run local s, d, e = GetSpellCooldown("Last Stand") if s == 0 then SendChatMessage("Eek!", "YELL") end;

    This, when put immediately before the /cast Last Stand will only yell if it finds the spell out of cooldown.

    Actually, it can go immediately after the /cast as, from what I can tell, it gets executed immediately, while there is some lag between the /cast and the cooldown reporting active. This means it is still possible to throw repeated yells while magic is taking place over tha intarweb - I've managed up to 3 by spamming. But is a real improvement for a button basher too long in the tooth to learn good habits.

    So question is now slightly different - does anyone know of an alternative technique for doing this? Ideally I'd love some way to identify an instant (and non-gcd) cast as having failed, but my guess is that this sort of thing disappeared when "fall-through" macros were nerfed (if I'm reading my macro history correctly, at any rate).

    Second question is much the same as before - does anyone know how to modify the above /run line to replace the call to SendChatMessage() with a "call" to /bwcb? Have tried to use experience of other programming languages to figure it out, but staring at the BigWigs source code hasn't given me any bright ideas (yet).

    Cheers again,

    Bob.

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •