Download
(94 Kb)
Download
Updated: 06-30-12 01:53 AM
Pictures
File Info
Updated:06-30-12 01:53 AM
Created:07-09-11 10:44 AM
Downloads:6,926
Favorites:17
MD5:
Kreiri's Buff Bars  Popular! (More than 5000 hits)
Version: 2.06
by: Kreiri [More]
Customizable bars for tracking buffs and debuffs. Inspired by Satrina Buff Frames.

Features:
- create bar groups to monitor buffs or debuffs on selected unit
- filter buffs by name, duration and caster (you vs. everyone else)
- customize buff/debuff/font colors, font size, background alpha, size and positions of bar groups.

Type /kbb ui to toggle settings interface.


Filter format:
  • filter by caster:
    • my - only casted by you
    • !my - only casted by others
  • filter by name: n<operator><value>, where <value> is name or part of the name of the buff and <operator> is
    • = - for "equals"
    • ~= - for "includes"
      Filtering by name is case-insensitive.
  • filter by duration: t<operator><value>, where <value> is duration in seconds and <operator> is
    • > - for "greater than"
    • < - for "less than"
    • >= - for "equal or greater than"
    • <= - for "equal or less than"
    Use t==nil and t!=nil to filter buffs with infinite duration

You can make combinations of filters using & (logical and) operator.

Examples:
n~=motif - matches all buffs with "motif" in name
my&n~=motif - matches all buffs with "motif" in name, which were casted by you.

Watching type:
buff to watch buffs,
debuff to watch debuffs.

Filtering type:
whitelist means that only buffs which match at least one of the filters will be displayed;
blacklist means that all buffs will be displayed, except those which match at least one filter.

--------------------------
On performance:
KBB has two throttle values, one for how often bars are redrawn and timers updated, and other for how often KBB asks server for exact remaining time of tracked buffs. If you have performance issues, try playing with KBB.throttle (how often bars are updated) and KBB.callsThrottle (how often KBB asks server for buff info) values in KBB_Defaults.lua file. If you had performance issues, and changing these values helped, please tell me what values you used.


--------------------------
On old slash commands:
they are still there! The list of slash commands is here.
--------------------------

Bug reports and suggestions are welcome. Please be sure to include in your bug report as much details as possible, including error message text, group settings (unit, filtering type, filters, watching type) and what you were doing when the bug occurred.

Post your bug reports here and suggestions here.
2.06
band-aid fix for lua error in radiogroup change handler

2.05
New UI layout.
Bugfixes:
* fixed right-click on buff icon giving lua error
* fixed tooltip being shown off-screen for bars at the edges of the screen
* fixed Buff.Change handler giving lua errors sometimes
Added:
* minimap button
* option to use native tooltip
* settings for bar background color
*separate settings for debuff font color
Changed:
* color data format in saved variables (color4F => color4B)

2.04 profile name textfield will now surrender focus when settings window is closed
fixed /kbb import issues
added /kbb export command
updated .toc file for 1.8 environment

2.03
Updated embedded LibSimpleWidgets to v.1.9.2.
Added range check for font size slider.
Added bars drop to Event.Unit.Available("player") as a countermeasure for buff events weirdness.

2.02
Overrode LibSimpleWidgets' bugged SetSelectedIndex for radio group.

2.01
fixed conflict with MinUI

2.00
GUI!
added profile export
added Command.Buff.Describe for buffs with incomplete description

1.08 (internal)
added duplicate buff IDs check to Buff.Add handler to compensate for extra Buff.Add events after teleporting
added "/kbb r" command (drop all bars and rescan buffs)
added "/kbb editfilter" command
added "/kbb profiles", "/kbb import" commands

1.07
added extra buff rescan to compensate for role changes not always firing buff remove events
tooltip: added workarounds for mouseout event only firing on mouse movement
moved tooltip to the same context as bars as a workaround for "tooltip behind bars" bug
added nil filter value check

1.06
fixed bar width not changing for buffs with infinite durations
added makeshift tooltip
rewrote bar comparison code
added on/off slash command
attempt to make group ids more unique
added index numbers to filter list

Note:
When KBB updates remaining time on bars, it subtracts update interval from remaining buff time, and sometimes asks server for buff info and adjusts bars accordingly.
Try playing with KBB.callsThrottle (how often it asks server for buff info) value in KBB_Defaults.lua file.

1.05
added "setgrowth" command
fixed bug with wrong sort order of buffs with infinite duration
reduced amount of Inspect.Buff.Detail calls
1.04
added sorting of bars by remaining time
removed truncating of too long anchor texts
fixed misaligned bars after setting unit
1.03:
attempt to work around extra Buff.Add events after teleporting
attempt to increase performance
added canceling buffs on right-click

1.02:
workaround for floating point problems in filters
fixed issue with anchors loading wrong texts
added "where" command

1.01 :
added extra nil check in timer update
Archived Files (6)
File Name
Version
Size
Author
Date
2.05
93kB
Kreiri
06-28-12 11:19 AM
2.04
60kB
Kreiri
04-21-12 05:16 AM
2.03
58kB
Kreiri
03-08-12 04:09 PM
2.02
63kB
Kreiri
03-05-12 03:28 PM
2.01
62kB
Kreiri
03-05-12 02:29 PM
2.00
59kB
Kreiri
03-05-12 12:35 PM


Post A Reply Comment Options
Unread 06-28-12, 11:21 AM  
Kreiri
Claw of Regulos
 
Kreiri's Avatar
AddOn Author - Click to view AddOns

Forum posts: 19
File comments: 82
Uploads: 2
Uploaded v 2.05.
Kreiri is offline Report comment to moderator  
Reply With Quote
Unread 06-27-12, 12:16 AM  
Kreiri
Claw of Regulos
 
Kreiri's Avatar
AddOn Author - Click to view AddOns

Forum posts: 19
File comments: 82
Uploads: 2
KBB will be updated after 1.9 goes live on EU servers - I have to make sure it works on live servers before uploading.

Note: there have been some changes in saved variables format. The version check/data format conversion seems to be working fine, but backup your saved variables file[1] before updating, just in case.

[1] - Interface\Saved\SavedVariables\KreiriBuffBars.lua
Last edited by Kreiri : 06-28-12 at 11:00 AM.
Kreiri is offline Report comment to moderator  
Reply With Quote
Unread 06-11-12, 10:21 AM  
Tarien

Forum posts: 0
File comments: 15
Uploads: 0
Quote:
Originally Posted by Kreiri
No, it would not be me, either.
No chance of adding this?
Tarien is offline Report comment to moderator  
Reply With Quote
Unread 06-11-12, 09:59 AM  
Kreiri
Claw of Regulos
 
Kreiri's Avatar
AddOn Author - Click to view AddOns

Forum posts: 19
File comments: 82
Uploads: 2
Quote:
No addon that I am aware of allows me to watch buffs/debuffs that have X seconds remaining as specified by the user, you'd be the first, I think.
No, it would not be me, either.
Kreiri is offline Report comment to moderator  
Reply With Quote
Unread 06-11-12, 09:51 AM  
Tarien

Forum posts: 0
File comments: 15
Uploads: 0
Quote:
Originally Posted by Kreiri
Default value for KBB.throttle is 0.2; default value for KBB.callsThrottle is 8. Sending buff info request to server every 0.2 seconds would hit performance very hard, even if addon wasn't stopped by addon watchdog.

Another possible solution would be to keep record of all buffs on watched units, and check their assumed remaining times every tick - but this again would have an impact on performance (though less than sending server requests every 0.2 seconds), and the more buffs you have, the worse would performance be.
Regarding the first paragraph, KBB.callsThrottle is time in seconds that the addon checks with server to compensate for client side lag? And KBB.throttle is how often the addon updates the timers on screen, I believe I edited that value to 0.1 to make the timer bars shrink in a smoother fashion.

Regarding the second possible solution, would you be able to take the debuff duration when it is applied, but not display it until the assumed time remaining = 'r' (user input variable for time remaining)?

No addon that I am aware of allows me to watch buffs/debuffs that have X seconds remaining as specified by the user, you'd be the first, I think.

EDIT: At least for my purposes it does not need to be super accurate, and I imagine there are a lot of instances when maintaining a debuff or buff is more important than split second accuracy.
Last edited by Tarien : 06-11-12 at 09:53 AM.
Tarien is offline Report comment to moderator  
Reply With Quote
Unread 06-11-12, 09:43 AM  
Kreiri
Claw of Regulos
 
Kreiri's Avatar
AddOn Author - Click to view AddOns

Forum posts: 19
File comments: 82
Uploads: 2
Actually, addon does not have this information.

When event about new buff added arrives, addon records duration of the buff and remaining time for that moment of time, and then, using internal timer, makes assumption about remaining time (decreasing it on every timer tick - every KBB.throttle seconds). Every KBB.callsThrottle seconds addon asks server about exact remaining time of buffs, to compensate for client-side lags.

Default value for KBB.throttle is 0.2; default value for KBB.callsThrottle is 8. Sending buff info request to server every 0.2 seconds would hit performance very hard, even if addon wasn't stopped by addon watchdog.

Another possible solution would be to keep record of all buffs on watched units, and check their assumed remaining times every tick - but this again would have an impact on performance (though less than sending server requests every 0.2 seconds), and the more buffs you have - not how many you track - the worse would performance be.
Last edited by Kreiri : 06-11-12 at 09:47 AM.
Kreiri is offline Report comment to moderator  
Reply With Quote
Unread 06-11-12, 09:32 AM  
Tarien

Forum posts: 0
File comments: 15
Uploads: 0
Yeah I literally just came to that conclusion myself, tested it and confirmed it.

Is there any way perhaps that another variable could be introduced that checks 'r', time remaining? The addon already has this information, it's just a case of filtering for it?
Tarien is offline Report comment to moderator  
Reply With Quote
Unread 06-11-12, 09:22 AM  
Kreiri
Claw of Regulos
 
Kreiri's Avatar
AddOn Author - Click to view AddOns

Forum posts: 19
File comments: 82
Uploads: 2
"t" is filter for duration, not the remaining time.
Kreiri is offline Report comment to moderator  
Reply With Quote
Unread 06-11-12, 09:15 AM  
Tarien

Forum posts: 0
File comments: 15
Uploads: 0
Hey, I am having issues using multiple operators. I essentially want a bar to appear if Life Leech has less than 6 seconds remaining, as a reminder to cast it.

I create a new group for this, watching debuffs on player.target, filter by whitelist, the filter I use says:

my&n=life leech&t<6

This works based on only the name, but once I add the &t<6, it breaks. Tried time first then name, no joy. Tried using two filters, one for each (my&n=LL, my&t<6), still not working how I want.

Any ideas?
Tarien is offline Report comment to moderator  
Reply With Quote
Unread 06-05-12, 09:48 AM  
Kreiri
Claw of Regulos
 
Kreiri's Avatar
AddOn Author - Click to view AddOns

Forum posts: 19
File comments: 82
Uploads: 2
Hm. I'll add "use default tooltip" checkbox to my list of improvements.
Kreiri is offline Report comment to moderator  
Reply With Quote
Unread 06-05-12, 05:56 AM  
Rustytotem
AddOn Author - Click to view AddOns

Forum posts: 0
File comments: 9
Uploads: 1
Hi again.

Duly noted. I guess I'm just used to icons only.

In regards to my question about the tooltip being off-screen (since the tooltip is drawn from the cursor): I looked at the addon LUA that you've written, and actually noticed you had commented out several methods for showing the tooltips (OnMouseIn function), so I just (un)commented the one to make it show the buff/debuff tooltip in the regular player tooltip location.
Rustytotem is offline Report comment to moderator  
Reply With Quote
Unread 06-04-12, 11:08 PM  
Kreiri
Claw of Regulos
 
Kreiri's Avatar
AddOn Author - Click to view AddOns

Forum posts: 19
File comments: 82
Uploads: 2
...

The whole point of KBB is having bars with buff names and durations.
Kreiri is offline Report comment to moderator  
Reply With Quote
Unread 06-04-12, 11:01 PM  
Rustytotem
AddOn Author - Click to view AddOns

Forum posts: 0
File comments: 9
Uploads: 1
Ok thanks!

From what I can gather from the options screen, I probably can't remove the buff name/duration from the bars?
Rustytotem is offline Report comment to moderator  
Reply With Quote
Unread 06-04-12, 10:59 PM  
Kreiri
Claw of Regulos
 
Kreiri's Avatar
AddOn Author - Click to view AddOns

Forum posts: 19
File comments: 82
Uploads: 2
1. You can disable default UI elements in 'edit layout" mode of default UI.

2. Good suggestion, but I really don't have time to implement it now.
Kreiri is offline Report comment to moderator  
Reply With Quote
Unread 06-04-12, 10:53 PM  
Rustytotem
AddOn Author - Click to view AddOns

Forum posts: 0
File comments: 9
Uploads: 1
Hi.

I have a (potentially silly) questions.

is there any way to ensure that tooltips for buffs/debuffs stay within the bounds of the screen? I've tried to move my new buff bar to the top left of the screen, and the tooltips go off the edge, so I can't actually read them.

Thanks.

Edit: realised first question wasn't needed.
Last edited by Rustytotem : 06-04-12 at 11:00 PM.
Rustytotem is offline Report comment to moderator  
Reply With Quote
Post A Reply



Category Jump: