Page 59 of 111 FirstFirst ... 949575859606169109 ... LastLast
Results 581 to 590 of 1109

Thread: WeakAuras Tutoring Thread

  1. #581

    Default

    Hey!
    I need an aura that will trigger on certain score in Proving Grounds, i'm trying to optimize for getting top scores for my shaman and this would help.
    Sadly, after looking over internet there was no info about this.
    For example - i want to use Healing Tide when i get 423, 1423, 2423 points. Seems simple but i can't find proper trigger.
    I would greatly appretiate help, thanks in advance and have a nice day.

  2. #582

    Default

    Quote Originally Posted by Netzach View Post
    Hey!
    I need an aura that will trigger on certain score in Proving Grounds, i'm trying to optimize for getting top scores for my shaman and this would help.
    Sadly, after looking over internet there was no info about this.
    For example - i want to use Healing Tide when i get 423, 1423, 2423 points. Seems simple but i can't find proper trigger.
    I would greatly appretiate help, thanks in advance and have a nice day.
    I have two answers to offer you actually. The first, to your specific question about making a WeakAura trigger off the score in Proving Grounds, you want to do the following:

    New Display
    Trigger
    Type: Custom
    Event Type: Event
    Event(s): PROVING_GROUNDS_SCORE_UPDATE

    The event PROVING_GROUNDS_SCORE_UPDATE passes only one argument, the current score. So in your custom functions in your Trigger, you want to accept two arguments (the first is always the name of the event, the second in this case is the passed argument of the score). From there, you can calculate whether the score meets your requirement and thus whether to trigger or not.

    For the Custom Trigger function, enter this snippet:

    Code:
    function(event, score) -- Trigger
        local THRESHOLDS = {50, 150, 250}
        local OFFSET = 10
        local IsWithinThreshold = function(score, thresholds, offset)
            for i,v in pairs(thresholds) do if score and (score >= v and score <= v+offset) then return true end end
        end
        return IsWithinThreshold(score, THRESHOLDS, OFFSET)
    end


    Change the thresholds of the scores you want to trigger at as appropriate; any numeric values and a list as long as you want is fine. The offset value is basically used to determine how long the Display will appear for before it untriggers. That is, once your score hits a number in the threshold list, it will display, and once your score gets above that same threshold number PLUS the offset value, it will untrigger.

    The Untrigger code is identical except we reverse the result of the return value by adding "not" in front of the function call.

    Code:
    function(event, score) -- Untrigger
        local THRESHOLDS = {50, 150, 250}
        local OFFSET = 10
        local IsWithinThreshold = function(score, thresholds, offset)
            for i,v in pairs(thresholds) do if score and (score >= v and score <= v+offset) then return true end end
        end
        return not IsWithinThreshold(score, THRESHOLDS, OFFSET)
    end





    As for the second option, as luck would have it, I actually made my own set of WeakAuras helpers for when I was doing Endless Proving Grounds stuff. For my purposes, I originally wanted an automatic way to inform me about the type of mobs that were spawning in the next wave. I figured out a way to set that up and also added a bit more customizable info, including a way to specify what cooldowns I wanted to use for any given wave (which based on your specific question, seems to be what you're looking for essentially).

    In practice, the helpers are really a set of three WeakAuras stacked on top of each other that just give this basic info at the appropriate time:



    Top is cooldown I've specified for the current wave, middle is the current wave mob info of course, and bottom is the next upcoming wave.

    If you want to give it a shot yourself, you can find the import string on the wiki here:

    Proving Grounds Helper WeakAura

    All the configuration for your own use happens in the "Proving Grounds Helper - Data" Display, in the Trigger: Custom Trigger field. You will want to edit the DATA table found in that function, as seen below:

    Code:
    local DATA = {
            { -- Healer endless set
                classSpecs = {
                    {
                        class = 'Monk',
                        specialization = 'Mistweaver',
                    },
                },
                difficulty = 4, -- Endless
                waves = {
                    { -- 1
                        cooldowns = {},
                        mobs = {
                            {name = 'Flamecaller', quantity = 1, size = 'large'},
                            {name = 'Ripper', quantity = 2, size = 'small'},
                        },
                    },
                    { -- 2
                        cooldowns = {'Life Cocoon', 'Stun'},
                        mobs = {
                            {name = 'Aqualyte', quantity = 1, size = 'large'},
                            {name = 'Hive-Singer', quantity = 1, size = 'large'},
                            {name = 'Ripper', quantity = 1, size = 'small'},
                        },
                    },
                    { -- 3
                        cooldowns = {'Invoke Xuen, the White Tiger'},
                        mobs = {
                            {name = 'Tunneler', quantity = 2, size = 'large'},
                            {name = 'Ripper', quantity = 1, size = 'small'},
                        },
                    },
                    { -- 4
                        cooldowns = {'Revival'},
                        mobs = {
                            {name = 'Aqualyte', quantity = 1, size = 'large'},
                            {name = 'Aqualyte', quantity = 1, size = 'small'},
                            {name = 'Flamecaller', quantity = 1, size = 'small'},
                        },
                    },
                    { -- 5
                        cooldowns = {'Life Cocoon'},
                        mobs = {
                            {name = 'Conqueror', quantity = 1, size = 'large'},
                            {name = 'Hive-Singer', quantity = 1, size = 'large'},
                            {name = 'Tunneler', quantity = 1, size = 'small'},
                        },
                    },
                    { -- 6
                        cooldowns = {'Invoke Xuen, the White Tiger'},
                        mobs = {
                            {name = 'Aqualyte', quantity = 1, size = 'small'},
                            {name = 'Flamecaller', quantity = 1, size = 'small'},
                            {name = 'Tunneler', quantity = 1, size = 'small'},
                            {name = 'Ripper', quantity = 1, size = 'small'},
                        },
                    },
                    { -- 7
                        cooldowns = {'Life Cocoon'},
                        mobs = {
                            {name = 'Conqueror', quantity = 2, size = 'small'},
                            {name = 'Hive-Singer', quantity = 1, size = 'small'},
                        },
                    },
                    { -- 8
                        cooldowns = {'Revival'},
                        mobs = {
                            {name = 'Flamecaller', quantity = 4, size = 'small'},
                            {name = 'Ripper', quantity = 1, size = 'small'},
                        },
                    },
                    { -- 9
                        cooldowns = {'Invoke Xuen, the White Tiger'},
                        mobs = {
                            {name = 'Hive-Singer', quantity = 1, size = 'large'},
                            {name = 'Aqualyte', quantity = 1, size = 'small'},
                            {name = 'Tunneler', quantity = 1, size = 'small'},
                        },
                    },
                    { -- 10
                        cooldowns = {'Life Cocoon'},
                        mobs = {
                            {name = 'Conqueror', quantity = 1, size = 'large'},
                            {name = 'Aqualyte', quantity = 1, size = 'small'},
                            {name = 'Flamecaller', quantity = 1, size = 'small'},
                        },
                    },
                }
            }
        }


    The info is fairly self-explanatory, but at the top you'll want to change the class/specialization to match your own. Then in the waves section the data is sectioned off by each of the 10 unique waves (endless mode cycles the same set of 10 waves over and over). Now for your specific purposes, it sounds like you want a cooldown reminder on wave 5, 15, 25, etc. So you'd want to edit the cooldowns values for every wave (empty them out for any waves you don't want a cooldown, as I have for the first wave there), or change the value(s) listed to your own reminder text, for example on wave 5:

    Code:
                    { -- 5
                        cooldowns = {'Healing Tide'},
                        mobs = {
                            {name = 'Conqueror', quantity = 1, size = 'large'},
                            {name = 'Hive-Singer', quantity = 1, size = 'large'},
                            {name = 'Tunneler', quantity = 1, size = 'small'},
                        },
                    },


    Here is a full example with your own specifications of the DATA table which you can just use to overwrite the existing one if you wish:

    Code:
        local DATA = {
            { -- Healer endless set
                classSpecs = {
                    {
                        class = 'Shaman',
                        specialization = 'Restoration',
                    },
                },
                difficulty = 4, -- Endless
                waves = {
                    { -- 1
                        cooldowns = {},
                        mobs = {
                            {name = 'Flamecaller', quantity = 1, size = 'large'},
                            {name = 'Ripper', quantity = 2, size = 'small'},
                        },
                    },
                    { -- 2
                        cooldowns = {},
                        mobs = {
                            {name = 'Aqualyte', quantity = 1, size = 'large'},
                            {name = 'Hive-Singer', quantity = 1, size = 'large'},
                            {name = 'Ripper', quantity = 1, size = 'small'},
                        },
                    },
                    { -- 3
                        cooldowns = {},
                        mobs = {
                            {name = 'Tunneler', quantity = 2, size = 'large'},
                            {name = 'Ripper', quantity = 1, size = 'small'},
                        },
                    },
                    { -- 4
                        cooldowns = {},
                        mobs = {
                            {name = 'Aqualyte', quantity = 1, size = 'large'},
                            {name = 'Aqualyte', quantity = 1, size = 'small'},
                            {name = 'Flamecaller', quantity = 1, size = 'small'},
                        },
                    },
                    { -- 5
                        cooldowns = {'Healing Tide'},
                        mobs = {
                            {name = 'Conqueror', quantity = 1, size = 'large'},
                            {name = 'Hive-Singer', quantity = 1, size = 'large'},
                            {name = 'Tunneler', quantity = 1, size = 'small'},
                        },
                    },
                    { -- 6
                        cooldowns = {},
                        mobs = {
                            {name = 'Aqualyte', quantity = 1, size = 'small'},
                            {name = 'Flamecaller', quantity = 1, size = 'small'},
                            {name = 'Tunneler', quantity = 1, size = 'small'},
                            {name = 'Ripper', quantity = 1, size = 'small'},
                        },
                    },
                    { -- 7
                        cooldowns = {},
                        mobs = {
                            {name = 'Conqueror', quantity = 2, size = 'small'},
                            {name = 'Hive-Singer', quantity = 1, size = 'small'},
                        },
                    },
                    { -- 8
                        cooldowns = {},
                        mobs = {
                            {name = 'Flamecaller', quantity = 4, size = 'small'},
                            {name = 'Ripper', quantity = 1, size = 'small'},
                        },
                    },
                    { -- 9
                        cooldowns = {},
                        mobs = {
                            {name = 'Hive-Singer', quantity = 1, size = 'large'},
                            {name = 'Aqualyte', quantity = 1, size = 'small'},
                            {name = 'Tunneler', quantity = 1, size = 'small'},
                        },
                    },
                    { -- 10
                        cooldowns = {},
                        mobs = {
                            {name = 'Conqueror', quantity = 1, size = 'large'},
                            {name = 'Aqualyte', quantity = 1, size = 'small'},
                            {name = 'Flamecaller', quantity = 1, size = 'small'},
                        },
                    },
                }
            }
        }


    However, I would strongly suggest adding more cooldown reminders to other waves, since there's no reason not to use things more frequently. If Healing Tide is a 3-minute cooldown, you could then also have a Healing Tide cooldown reminder for waves 2 and 8 (in addition the wave 5 as you wanted) since each wave is 60 seconds apart.

  3. #583

    Default

    Quote Originally Posted by Kulldam View Post
    Option 1: No Targeting Required

    Instead, what you'll need to do is use a Trigger that does not require you to interact with the desired source unit (the Yeti in this case), which usually means through the combat log. Normally you'd want to check the actual logs to verify there is an entry for the aura you want to track, but I've already gone ahead and checked a random log and verified it for you in this case. Now that you know the Wrecking Ball aura you want to track is indicated in the combat log (99% of aura gains will show up there btw), then you can start making your Display:

    Trigger
    Type: Event
    Event: Combat Log
    Message Prefix: Spell (All Aura gains are Spells)
    Message Suffix: Aura Applied (You only care about when the aura is gained as your Trigger event)
    Destination Name: Starved Yeti (You could also add this to Source Name as well, but it is redundant)
    Spell Name: Wrecking Ball
    Hide: Time
    Duration: 12 seconds (since you want a warning message 3 seconds prior to charge, and the total buff has a 15 second duration)

    Action
    On Hide, Chat Message, Say: Yeti charging in 3! (On Hide since this will trigger 3 seconds before the next charge as setup above)

    That's it, this should function for anyone regardless of target selection or what not. The main drawback to this solution is there is no visual indication for the person running the aura, so the chat message is really the key.
    I tried using Option 1. The odd thing is the chat message does not seem to show, but I do hear a buzzer sound that I also set together with it. I have both set to On Hide. I tried setting it to On Show the following week, the chat message shows this time but the timing is wrong, probably because it goes off as soon as the Yeti gets the debuff and stunned, not when it's prepping to charge again. Any idea how to get it to work with On Hide? That set up seems more ideal though I'm the only one getting the warning from the buzzer sound since the chat message is not showing up.

  4. #584

    Default

    Quote Originally Posted by arzelia View Post
    I tried using Option 1. The odd thing is the chat message does not seem to show, but I do hear a buzzer sound that I also set together with it. I have both set to On Hide. I tried setting it to On Show the following week, the chat message shows this time but the timing is wrong, probably because it goes off as soon as the Yeti gets the debuff and stunned, not when it's prepping to charge again. Any idea how to get it to work with On Hide? That set up seems more ideal though I'm the only one getting the warning from the buzzer sound since the chat message is not showing up.
    I couldn't tell you why you're getting that result without seeing it in action. Can you export your WeakAura display to a string and post it here (put it in between [spoiler][/spoiler] tags).

    That said, if you have it setup properly then I wouldn't be surprised if it's just a bug in WeakAuras, as this wouldn't be the first time there's been a quirk in how WeakAuras chooses to process events (think order of operations from grade school math).

  5. #585

    Default

    This custom trigger and untrigger was exactly what i was looking for.

    Thank you very much for that (and for extra auras aswell). I managed to get to wave 34 in one hour after i made that auras and this gave me title i wanted.
    You saved me a lot of time, much appretiated.

    On a sidenote i really enjoy watching your boss guides, i like the fact that they are different then most others, more detailed and usually have smarter approach then for example Fatboss ones. Clearly shows that you put a lot of thinking behind them and this really helps.

    Have a nice day and good luck for you and your guild in Warlords of Draenor.

  6. #586

    Default

    Quote Originally Posted by Kulldam View Post
    I couldn't tell you why you're getting that result without seeing it in action. Can you export your WeakAura display to a string and post it here (put it in between [spoiler][/spoiler] tags).

    That said, if you have it setup properly then I wouldn't be surprised if it's just a bug in WeakAuras, as this wouldn't be the first time there's been a quirk in how WeakAuras chooses to process events (think order of operations from grade school math).
    Here is the Thok Yeti string I have (set to On Hide for this one)

    Spoiler



    I also tried to do something similar with Blackfuse's Overload to prompt for personals when he is about the cast Overload #3, using Aura Applied Dose. I think it's pretty similar to the Yeti one where it doesn't show the chat message set to On Hide. I also tried using Cast Start with Death from Above since it happens around the same time as Overload #3, but this one didn't even trigger or show when set to On Show).
    Overload (Aura Applied Dose)

    Spoiler


    Death from Above (Cast Start)

    Spoiler



    On a side note, your WA for Proving Grounds look really helpful! I wanted to give it a whirl, but encountered this error.
    "Error deserializing... Invalid AceSerializer table format (no table end marker)"
    could it be that the string was too long like what you mentioned in the Veangeance one above it?

  7. #587

    Default

    Hello, I combed through all 59 pages of this thread and am pretty sure this wasn't discussed but I apologize if it was. I'm trying to figure out how to get a texture to appear based on what my target's spec is. For example 1 axe texture for arms war, 2 axe texture for fury etc.
    I have a code I tried to develop myself but I'm not fluent in any sort of programming

    Code:

    function(unit)
    unit=target
    if GetSpecialization(false,true) = 71 then
    return true
    end
    end

  8. #588
    Allowed Visitor
    Join Date
    Jun 2011
    Location
    Saint Petersburg, FL
    Posts
    6

    Default

    On a side note, your WA for Proving Grounds look really helpful! I wanted to give it a whirl, but encountered this error.
    "Error deserializing... Invalid AceSerializer table format (no table end marker)"
    could it be that the string was too long like what you mentioned in the Veangeance one above it?
    I was hoping to be able to use the Proving Grounds Helper as well, but I also received the same error.

    I have my Data table ready to go to swap over the Healer one to DPS with my CDs, etc., and was wondering if Kulldam (or anyone else) could help me create the aura from scratch up to the Data table part.

    I was able to get through to the Proving Grounds Score Update event, etc., but not sure where to go from here.


    Thanks so much.
    Suedama - 90 Shadow Priestess
    <Natural Progression> - Thrall

  9. #589

    Default

    Hi, i wanted to create a smart Interupt announcer. Here is the code
    Code:
    function(_,_,message,_,_,sourcename,_,_,_,targetname,_,_,_,_,_,spellid,spellname,_)
        
        
        spellLink = GetSpellLink(spellid)
        local kanal
        local inInstance, instanceType = IsInInstance()
        
        if inInstance == true then
            if instanceType == "none"  then
                kanal   = "YELL"
            elseif instanceType == "pvp"  then
                kanal   = "BATTLEGROUND"
            elseif instanceType == "arena" then
                kanal   = "PARTY"
            elseif instanceType == "party" then
                kanal   = "PARTY"
            elseif instanceType == "raid" then
                kanal   = "RAID"
            elseif instanceType == nil  then  
                kanal   = "INSTANCE_CHAT"
            end
        end
        
        if inInstance == false then
            if UnitInRaid("player") then
                kanal = "RAID"
            elseif UnitInParty("player") then
                kanal = "PARTY"
            else
                kanal = "YELL"
            end
        end
        
        if(message == "SPELL_INTERRUPT")  then
            SendChatMessage(sourcename.." interrupted ".. targetname.."'s ["..spellLink.."] ",kanal)
            return true
        end
    end
    I works so far, problem is:

    I want it to be a smart accnouncer.
    So if you are in instance (lfr, dungeon, shenario, random battleground) it shoudl post to instace chat.
    If you are in a regular raid, it should post to raidchat, if you are in a group only, it should post to group, ad if you are alone, it should yell.

    This is the part i cat get to work.

    Help is pretty apreciated.

  10. #590

    Default

    Hi Kulldam,

    been following this thread for quite some time and was hoping you could help me with this problem.
    So I tried to make this custom trigger .It should desaturate my displayicon (named icon1) whenever fortifying brew is ready to be cast and not desaturate when its on cooldown.
    But unfortunately its not working . What am I doing wrong in my code?

    Event Type: Status
    Check On: Every Frame

    Custom Trigger:
    Code:
    function()
        local _,duration = GetSpellCooldown("Fortifying Brew")
        
        if duration ~= 0 then
            return WeakAuras.regions["Icon1"].region.icon:SetDesaturated(0)
        end
        return WeakAuras.regions["Icon1"].region.icon:SetDesaturated(1)
    end

Tags for this Thread

Posting Permissions

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