• 0

    posted a message on Raid/Partymember Offline - Event
    I've never used it myself, so I don't know when exactly it fires, but it may be worth experimenting with UNIT_CONNECTION.
    Posted in: Need Help?
  • 0

    posted a message on BadBoy: An extremely minimal spam blocker & reporter
    v6.653
    <>

    On a side note, I'm also using the latest version of BadBoy_CCleaner with the "Clear Target Marker Icon" option checked, yet raid icons are still somehow getting through in Trade chat messages. It's almost certainly because you're only checking for upper and lower cases of the message, which skips cases where the icon is {mOoN} or {rT5}.
    Posted in: General AddOns
  • 0

    posted a message on UIDropDownMenu Problem
    As I mentioned in my original post, this is the first user interface I've attempted to implement, so it's a learning experience for me, which is why I'm first experimenting with the various methods available, i.e. to understand them, then decide which to use.

    I may well go with your suggestion in the end, but initially I liked the idea of being able to fully customise the appearance of my addon's option menu, which I also figured would be harder to do and I'd therefore learn more along the way.

    To each their own, I guess. :)
    Posted in: Lua Code Discussion
  • 0

    posted a message on UIDropDownMenu Problem
    Problem solved, HUGE thanks to jnwhiteh and foxlit for their help!

    For any one else experiencing similar issues, the solution required me to add [FONT="Courier New"]UIDropDownMenu_Initialize()[/FONT] calls before each [FONT="Courier New"]UIDropDownMenu_SetSelectedValue()[/FONT] and [FONT="Courier New"]UIDropDownMenu_SetSelectedID()[/FONT] call.
    Posted in: Lua Code Discussion
  • 0

    posted a message on UIDropDownMenu Problem
    This is the first time I've attempted to implement any kind of user interface, so excuse the rest of the code (any tips are very much appreciated, though!), but the main problem I'm having is with my dropdown menus. I've read through Xinhuan's guide and other various code snippets then attempted to reproduce them within the context of my addon, but I'm still having trouble.

    The issue itself is related to retrieving my SavedVariables and setting the value of each dropdown to display them when the addon's first loaded. When I login or reload my UI and type /fat config to bring up the interface, this is what I'm presented with:



    As you can see, each dropdown list displays "Custom", which I assume is the default value if there's something's not right/the value you've tried to set is nil. The strange thing is, in the following screenshot, after clicking the dropdown arrow, you can see it's actually selecting the correct value from the list. Attempts to manually call UIDropDownMenu_SetText() to override the "Custom" text didn't help:



    Now, without manually clicking anything in the list, if I close the configuration dialog, and type /fat config to open it again, it displays the correct values:



    The dropdown menus are created between lines 238-243 in Fatality_Options.lua, which is within a function called after ADDON_LOADED has fired.

    Code (Ignore any messy comments and so on, it's still a work in progress!)
    Fatality.lua [probably not relevant to the actual problem, but I'll include it anyway]
    Fatality_Options.lua

    I've literally been trying to figure this out for around 4 hours now and have come here as a last resort, so if I've made a simple mistake and not realised it, I'll be mildly agitated to say the least! :p
    Posted in: Lua Code Discussion
  • 0

    posted a message on Killing blows
    Quote from Dridzt
    if param2 == "PARTY_KILL" and (param5 == UnitName("player") or (param5 == UnitName("pet")) then
            self:Print("I made the killing blow on "..param9.." with "..param13)
    
    You could try this small modification on Priam_'s code so that pet classes are happy too.

    PARTY_KILL doesn't fire for pets. :p
    Posted in: Lua Code Discussion
  • 0

    posted a message on 4.0.1 exclusive buff/debuff categories
    You should probably also include Jinx: Curse of the Elements (1/2 Jinx) and/or Jinx: Curse of the Elements (2/2 Jinx).

    They both provide the same effect, but with 1 talent point, the range is 20 yards, and with 2 talent points, the range is 40 yards. The spell ID, however, is different in each case.
    Posted in: General Chat
  • 0

    posted a message on UNIT_DIED and "other phase" fights
    I've been experimenting with UNIT_HEALTH, something that hadn't occurred to me prior to your response Xinhuan, so thanks a lot :) and I decided to implement it in v1.1.3 like this. I'm not sure if it's the best way, but it seems to be working. There are some cases where it fails to work that I just can't seem to figure out, but it's working for 95% of deaths, from what I've seen so far.

    Your original solution would work in most cases, except for when overkill is equal to 0 (the player took as much damage as their remaining hitpoints), which leads me to wonder why overkill is 0 on all _DAMAGE events, regardless of whether the player died or not; if it was nil in all other cases, it'd be a lot easier on my end. :D
    Posted in: Lua Code Discussion
  • 0

    posted a message on i dont no what to do plz help
    "helping your uncle, Jack, off his horse" - if we're nitpicking. :)
    Posted in: Need Help?
  • 0

    posted a message on UNIT_DIED and "other phase" fights
    Before I go into detail, I should clarify that this is only an issue (for my addon, Fatality) on fights which have another realm, in which the person running the addon (let's call them the logger) has entered. For example, if a player were to enter the "other phase" of fights like Kalecgos/Sartharion/Valithria/Halion etc. and another player were to die inside, their corpse would be teleported out (after all buffs have been removed) and UNIT_DIED would fire, out of range of the the logger's combat log, leaving no indication of a death. Once the logger exits the phase normal, or dies, all UNIT_DIED events for the players who died inside fire at the same time.

    Currently, I'm logging all damage events and storing the most recent in a candidates table, then, when UNIT_DIED fires, I compare the timestamp to the most recent damage event's timestamp, and if the difference is less than 2 seconds, I report that damage event as the cause of death [e.g. Fatality: Moop > 24321 Melee > Halion], if it's greater than or equal to 2 seconds, I report the death as Unknown [e.g. Fatality: Moop > Unknown]. The issue with this on fights as those previously mentioned is that, let's say, 5 people die inside, but the logger doesn't, there'll be no indication that those players have died until the logger exits, at which point 5 UNIT_DIED events fire simultaneously, resulting in 5 deaths being reported as Unknown.

    I've been brainstorming some solutions to this and have been going over combat log parses in order to try and find something to help me solve this problem and, using this screenshot, which shows MotW/GotW fades (only these two, to avoid unnecessary spam), overkill > 0, and UNIT_DIED events for one of my guild's main tanks, I was able to determine the following:

    - Checking deaths using overkill > 0 isn't reliable, because overkill can be greater than 0 and the player may receive a heal at the exact same second and, due to server/client communication, the player doesn't die.
    - Auras removal is a somewhat reliable way of checking if a player has died, since they're only removed when a player is definitely dead.
    - UNIT_DIED seems to be delayed by around 0.5 seconds after a player is technically dead, whereas auras tend to be removed at the same time as the player actually dies.
    - Not shown in the screenshot, but overkill can equal exactly 0, and the player will still die, which is another reason overkill > 0 isn't reliable.

    Some possible solutions to my problem I'm experimenting with are:
    - Recording all aura removals and if, let's say, 10 auras are removed within 1 second, call UnitIsDead() to check if the player has died.
    - Record all overkills and call UnitIsDead() to check if a player has died (note: the call should be delayed by some seconds, since UnitIsDead() doesn't return true instantly)
    - Create an OnUpdate which scans the whole raid every X amount of seconds, calling UnitIsDead() on every player and, if true, report the most recently recorded damage event.

    The whole situation isn't really much of a problem, in that it's only a few select bosses which have "other phases", and I guess I'll have to just put up with it until Blizzard "fix" the way UNIT_DIED fires. Either way, I'm really at a loss, so I'd like to hear any suggestions you guys might have.

    Thanks.
    Posted in: Lua Code Discussion
  • 0

    posted a message on Deus Vox Encounters
    Would it be possible to add an option to outline text on the bars? I sometimes find it hard to see the text when, for example, the background colour is yellow, or another light colour, and a black outline on the white text really helps. I've so far been editing the code myself, but it's quite tedious to do with every DXE update.
    Posted in: Raid AddOns
  • 0

    posted a message on How to change chat type?
    ChatFrameEditBox:SetAttribute("stickyType", channel)

    where channel is "RAID", "PARTY", "OFFICER", etc.
    Posted in: Lua Code Discussion
  • 0

    posted a message on DrainSouler
    Awesome addon! Would it be possible to add a few options to change the scale/font/colours, and so on?

    Either way, keep up the good work. :)
    Posted in: General AddOns
  • 0

    posted a message on oRA3 - UNOFFICIAL
    Quote from Ammo
    Probably uses a different CLUE event :) I just check for "SPELL_CAST_SUCCESS"

    7/28 20:04:46.609  SPELL_RESURRECT,0x0380000002652353,"<druid's name>",0x514,0x0380000000E88B9C,"<target's name>",0x512,48477,"Rebirth",0x8
    Posted in: Raid AddOns
  • 0

    posted a message on BadBoy: An extremely minimal spam blocker & reporter
    <>
    Posted in: General AddOns
  • To post a comment, please or register a new account.