Page 1 of 2
1
2
LastLast
  1. #1

    i want a macro that says a sentence once without spam

    as title says. i want to make macros for each of my abilities and some random sentence to do with said ability but i dont want the sentences to spam if i hit the macro more then once

    since im using binds its hard to only hit it once

    does anyone know how to make a macro not spam if hit multiple times? much appreciated

    example:[ /cast moonfire ]
    [ /say ima firin ma lazor ]

  2. #2
    For the sake of peoples sanity, and you not ending up on everyones ignorelist... don´t do it to spells you spam.

    Only addon that i know of where you could do custom announces was AfterCast, and it is broken now, along with it´s
    following "Aftercast fans update(s)".

    Use RSA to announce cooldowns/resses/things that matter.
    Don´t announce common spells.

  3. #3
    Deleted
    I avoid people like the plague who do this, but as stated it will spam it as many times as you press it without said addon.

  4. #4
    Deleted
    *Stealing Thread*

    I'd like this aswell, but just with my Taunt, "/say Tauned %target" but always end up with spam of 3-4 lines. Is there no pause or something you could put in ?

  5. #5
    Deleted
    I believe there are AddOns for this situtation, i.e. Ardent Defender for Paladin cooldowns. Haven't heard of one for basic offensive spells though.

  6. #6
    Deleted
    You can use RSA, as linked earlier in this thread, for taunt.

  7. #7
    Deleted
    Quote Originally Posted by nitroburst View Post
    as title says. i want to make macros for each of my abilities and some random sentence to do with said ability but i dont want the sentences to spam if i hit the macro more then once

    since im using binds its hard to only hit it once

    does anyone know how to make a macro not spam if hit multiple times? much appreciated

    example:[ /cast moonfire ]
    [ /say ima firin ma lazor ]
    If your example is a genuine one then without intent to insult or annoy I ask that you consider not emoting it the first time let alone the rest.

    Perhaps if you must do that create your own private channel and say it in there. It appears on your chat and not anyone else's.

  8. #8
    This can't be done with a macro command, however you can use a small LUA script in your macro for this. The only concern would be the character limit of 255 in a macro.

    Past the following in your macro:
    /run local rng = math.random(10); if rng < 5 then SendChatMessage("msg" ,"SAY"); end
    - Change the number to the chance you want the message to show each time you hit the macro (1 means 10%, 2 means 20% etc)
    - Change the msg to a message of your choice.

    - This macro doesn't check if the spell is fired, if you're somehow not casting the spell it will still execute the script. There is a way to check that too but that would require more complicated LUA coding and therefore an addon.

    A working example:
    /cast Shadow Word: Death
    /run local rng = math.random(10); if rng < 2 then SendChatMessage("Die! Die!" ,"SAY"); end
    This macro would attempt to cast Shadow Word: Death and say "Die! Die!" in /say on a 20% chance.

  9. #9
    Quote Originally Posted by Zoukan View Post
    This can't be done with a macro command, however you can use a small LUA script in your macro for this. The only concern would be the character limit of 255 in a macro.

    Past the following in your macro:


    - Change the number to the chance you want the message to show each time you hit the macro (1 means 10%, 2 means 20% etc)
    - Change the msg to a message of your choice.

    - This macro doesn't check if the spell is fired, if you're somehow not casting the spell it will still execute the script. There is a way to check that too but that would require more complicated LUA coding and therefore an addon.

    A working example:

    This macro would attempt to cast Shadow Word: Death and say "Die! Die!" in /say on a 20% chance.
    Very cool, thank you for this.

  10. #10
    Quote Originally Posted by herrfisk View Post
    Is there no pause or something you could put in ?
    See my previous post for a global overview on how it works. In your case; it is not possible to pause without creating a frame in LUA (again: need addon for this). However you can make it less dependent on a randomiser. Use the following:

    /run local nrm = nrm+1; if nrm >= 3 then SendChatMessage("msg" ,"SAY"); nrm = 1; end
    Change the number on how many times you need to hit the macro in order to activate the /say, like this:

    [hit macro] nothing
    [hit macro] nothing
    [hit macro] SAY IT
    [hit macro] nothing
    [hit macro] nothing
    [hit macro] SAY IT

    etc.

  11. #11
    Deleted
    Code:
    #showtooltip
    /cast Moonfire
    /run local cd,t=30,GetTime() if t-cd >= (MOONFIRELAST or 0) then MOONFIRELAST = t SendChatMessage("ima firin ma lazor") end
    Taints global namespace, but that can't be helped. Change 30 to the amount of "cooldown" you want on the /say.
    Last edited by mmocba105e19de; 2011-11-05 at 08:35 PM.

  12. #12
    Saying something with everything you use will be spammy no matter what, depending on your class.

    Plus if your raiding people will want you to stop that or else kick you.

    Imo dont even try to do it ... but hey its your $15 play how you want. If people dont want to hear it thats why Blizz made ignore.

    If addons are just a crutch for healing, forks are just a crutch for eating spaghetti and real carpenters pound in nails with their foreheads.

  13. #13
    Could you not just send this to your local chat (to spare those who might not enjoy it), or do you really want to have the chat bubble?
    I am the lucid dream
    Uulwi ifis halahs gag erh'ongg w'ssh


  14. #14
    Quote Originally Posted by nitroburst View Post
    as title says. i want to make macros for each of my abilities and some random sentence to do with said ability but i dont want the sentences to spam if i hit the macro more then once

    since im using binds its hard to only hit it once

    does anyone know how to make a macro not spam if hit multiple times? much appreciated

    example:[ /cast moonfire ]
    [ /say ima firin ma lazor ]
    This macro will only say on successful casts:
    #show
    /run u,mf="target","Moonfire";if IsSpellInRange(mf,u)==1 and GetSpellCooldown(mf)==0 then SendChatMessage("ima firin ma lazor") end
    /use Moonfire

    Quote Originally Posted by herrfisk View Post
    *Stealing Thread*

    I'd like this aswell, but just with my Taunt, "/say Tauned %target" but always end up with spam of 3-4 lines. Is there no pause or something you could put in ?
    Replace the bold text with your taunt spell:
    #show
    /run u,t="target","Taunt";if IsSpellInRange(t,u)==1 and GetSpellCooldown(t)==0 then SendChatMessage(GetSpellLink(t).." used on "..UnitName(u)..".") end
    /use Taunt
    Another neat addon that you can use to announce your tank cooldowns, taunts, interrupts, spells used and etc is WakeSpam (your can find it on WoWace).
    Last edited by Newbie95816; 2011-11-06 at 01:42 AM. Reason: Added #show tag

  15. #15
    thanks guys good to see a helpful community

    had a feelin there would be a few haters towards this thread

  16. #16
    Quote Originally Posted by Zoukan View Post
    This can't be done with a macro command, however you can use a small LUA script in your macro for this. The only concern would be the character limit of 255 in a macro.

    Past the following in your macro:


    - Change the number to the chance you want the message to show each time you hit the macro (1 means 10%, 2 means 20% etc)
    - Change the msg to a message of your choice.

    - This macro doesn't check if the spell is fired, if you're somehow not casting the spell it will still execute the script. There is a way to check that too but that would require more complicated LUA coding and therefore an addon.

    A working example:

    This macro would attempt to cast Shadow Word: Death and say "Die! Die!" in /say on a 20% chance.
    Love the little RNG script, it's a new one for me, thanks much.

  17. #17
    #show
    /run u,t="target","Taunt";if IsSpellInRange(t,u)==1 and GetSpellCooldown(t)==0 then SendChatMessage(GetSpellLink(t).." used on "..UnitName(u)..".") end
    /use Taunt
    How can I send the message as an emote?

  18. #18
    Quote Originally Posted by Heldamon View Post
    How can I send the message as an emote?
    For one of the built in emotes use DoEmote.
    Code:
    DoEmote("JOKE")


    For a custom emote add "EMOTE" as a second argument to SendChatMessage.

    Code:
    SendChatMessage("Text here", "EMOTE")

  19. #19
    Field Marshal therealslayer's Avatar
    10+ Year Old Account
    Join Date
    Nov 2010
    Location
    Lancaster, CA
    Posts
    91
    https://www.curseforge.com/wow/addons/speakinspell

    Can do this, and has options for only saying once per combat session or once per target, and more, to prevent spamming.

  20. #20
    Thank you very much for the replies

Posting Permissions

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