1. #1

    WeakAuras issue.

    I've spent the better part of 2 days creating an entirely new UI based around WeakAuras. I'm currently having an odd issue that only occurs on logging into any unspecified character. The majority of my weakauras are classed based (I have 11 toons, each one is customized to reflect that class.)

    Though I have many global based weakauras that are up 100% of the time. What I've done is created a circle that will display my Health in percent form from Stuf Unit Frames. The weakaura I've setup has a very simple load system: Player Level >= 1 (Which, should be always.) - and the Trigger: Status -> Health: Player Health >= 0 (Again, should be always. Including when dead.)

    The weakauras work, everything is 100% working and functional perfectly.

    But when I /logout to pick a new toon or just log in for the day, none of my weak auras load until I target myself. Once I target myself, everything loads.


    My question: How can I force these weakauras to load, after I log into the game, I want them to be up 24/7 and not have to target myself.

    I'll gladly share a few "Before" and "After" pictures of the loading issue if anyone thinks it will help.

  2. #2
    Load conditions say "should this aura be active".
    Trigger conditions say "Should this be displayed".

    Think of load conditions like setting the rules for a program to start. Imagine you were my secretary and I was so important I wouldn't even start my own computer - that was your job. I left a sticky note on my desk with the following rules:
    • if it's between 8AM and 6PM then start my mail client when I boot my computer
    • if it's Tuesday, Thursday or Saturday between 7PM and 10PM then start warcraft
    • Every weekday after 6PM and every weekend any time start my music player
    When I come in to play with my computer you walk over and push the power button and then follow the rules starting the programs. The programs don't actually do anything, they're just waiting there for me to use them. That's what load conditions are: "start these auras and have them ready to be used".

    Trigger conditions are what cause the auras to respond to actions. When I sit down at my computer with loaded applications they'll respond to actions.
    • My email program will "ding" whenever somebody sends a new message.
    • My music player will respond to the keyboard keys that start/pause/skip tracks.
    • Warcraft will move my character forward when I press E.
    Trigger conditions are part of the aura the same way that "stop playing music when pause is pressed" is part of my music program. They handle the business of updating displays etc and are much more powerful (and complicated) than load conditions. Notice how triggers can't be activated when the program isn't running (I can't have a new email "ding" when I don't have an email client running). Many people treat load conditions sort of like triggers: "if I'm not spec'd shadow then X" "Load this if I'm in zone Y". That works well enough for many cases because load conditions tend to only let you choose from events that don't change very often (triggers can fire multiple times a second: see UNIT_AURA events for an example). Still, they're not the best way to control auras because they're coarse-grained control. It's sort of like silencing your music player by quitting it and then starting it up when you want to resume playing: it works, but pause is better. If I came in to play warcraft but I hadn't set the load conditions (the rules on that sticky note) correctly then nothing would happen when I start pressing keys because the appropriate auras (programs) aren't running to respond to trigger conditions (keystrokes etc).

    In your case you've set load conditions so that the programs (auras) are up and running but you haven't set the trigger conditions correctly. The Health Status trigger (which I'm guessing you're using for your auras) fires when health changes. When you click targets the game queries for unit health and that triggers an update - but it won't go around gathering health information for no good reason (ie: if you do damage to mob x with AOE but don't have it targeted the game won't inform you of it's new health unless you explicitly ask for it).

    The solution to your problem is to add some triggers that fire when you enter the game world, when you join/leave parties, when you switch zones, and when you change talent specializations. When those events fire your triggers will capture them and return "true" which tells your aura to display. Once they've fired on game load your aura will display your current health. Your health will remain the same (so the aura will be up to date) or it'll cause an event to fire but the health status trigger is already configured to respond to those.

    I may have made a post on MMO-C a year ago which spelled out the details but I just don't have that sort of information in my head right now. You can check out wowprogramming.com for events, to get a feel for which ones might be appropriate.

  3. #3
    No, everything you said made perfect sense. So what trigger do you suggest I utilize?

    ---------- Post added 2013-02-24 at 11:26 PM ----------

    Or are you saying to get rid of the triggers?

  4. #4
    set the trigger activation drop down to "any trigger"

    Add a trigger that fires on an event.
    The event will be PLAYER_ENTERING_WORLD (or something like that - check wowprogramming.com for the exact name)
    the function will be a simple "function() return true; end" sort of thing.

    You may need a couple more events for changing zones or entering/leaving a group as well.

Posting Permissions

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