Download
(105Kb)
Download
Updated: 12-06-10 04:15 PM
Pictures
File Info
Updated:12-06-10 04:15 PM
Created:unknown
Downloads:24,299
Favorites:123
MD5:

eXtreme Unit Buttons  Popular! (More than 5000 hits)

Version: v2.0
by: tayedaen [More]

This highly configurable mod allows players to associate buttons to unit frames. It is meant as a replacement to GroupButtons which stopped functioning with the 2.0 patch in December 2006. The mod extends the capabilities of GroupButtons by providing these additional features:

  1. an unlimited number of buttons per unit frame
  2. Buttons which turn on/off depending on the amount of damage a unit has
  3. Buttons which are dimmed if a unit as that buff or a related buff applied.
  4. Buttons which appear when a debuff is applied to a unit.
  5. Buttons which allow you to have any type of "/" slash or macro command on a button
  6. A variety of a modes for different activities in the game. For example, a set of buttons
  7. for soloing, buttons for instances, buttons for raids, buttons for specific bosses (such as Baron Geddon in MC (to all priests to debuff), buttons for PvP, etc.
  8. Assign buttons to unit frames that when clicked cast spells on different units. This feature allows, for example, buffs and heals for the player unit to appear within the target buttons to minimize the amount of mouse movement between buttons.
  9. Works for any kind of non-casting classes; specifically warriors and rogues.

Version 2.0 (Dec 06, 2010) (by tayedaen)

I know that the documentation is a complete mess at the moment, I am already working on it.
But I wanted to have a released version for cataclysm start.

Before upgrading, please read the included 'readme.txt'.

You will loose your config, so read carefully !

Hightlights of the changes since the last official release:

Code:
New: Support for default profiles for spec1 and spec 2
New: Wizards for Group and Profile generation
 Please use them !
New: LDB button (and menu)
New: Default Buttons now always use the Prefix 'SB_'
 This is an abbreviation for StandardButton.
 I recommend to use 'CB_' as prefix for custom buttons.
New: '$' self condition for cast buttons (buff, debuff etc.)
 Example: CB_Renew,buff,Renew,$Renew
 This custom buutton will only chnge to the state BUFFED if the destination unit is buffed with your OWN Renew.
New: '!' inverts conditions for cast buttons (buff, debuff etc.)
New: new debuff condition "Death"
 A button with this condition is only shown if the destination unit is dead.
New: new debuff condition "Purge"
 A button with this condition is only shown if the destination unit has at least one buff to purge.
New: two keywords for exclude-units:
  'hostile'   and    'friendly'
  Example: MyGroupName,SB_Renew,*,hostile
  This button will be hidden on hostile units (= it will only be shown on friendly units)
New: Spell ranks have been removed (multiranking too)
New: Macro buttons support now '[target=unit#]'
 Here unit# will be rpalced at runtime with the unit the button is attached to.
 Example: /target [target=unit#]
Improved: Verification of buttons while configuring the addon

And last but not least: 
!!! Improved: Internals are mostly rewritten from scratch for better performance  !!!

Please refer to 'z_historic_Changelog.txt' for older changes.
Known problems:
XPerl's partypets get no buttons

Known blizzard bugs:
------------------------
'isUsableSpell' is broken, there is nothing I can do to change that.
That means: Some spells are reported 'not usable' if you target a hostile target or NPC (like 'PowerWord: Shield' for example).

Enjoy - Tayedaen

Hightlights of the changes since the last official release:
===========================================================
New: Support for default profiles for spec1 and spec 2
New: Wizards for Group and Profile generation
Please use them !
New: LDB button (and menu)
New: Default Buttons now always use the Prefix 'SB_'
This is an abbreviation for StandardButton.
I recommend to use 'CB_' as prefix for custom buttons.
New: '$' self condition for cast buttons (buff, debuff etc.)
Example: CB_Renew,buff,Renew,$Renew
This custom buutton will only chnge to the state BUFFED if the destination unit is buffed with your OWN Renew.
New: '!' inverts conditions for cast buttons (buff, debuff etc.)
New: new debuff condition "Death"
A button with this condition is only shown if the destination unit is dead.
New: new debuff condition "Purge"
A button with this condition is only shown if the destination unit has at least one buff to purge.
New: two keywords for exclude-units:
'hostile' and 'friendly'
Example: MyGroupName,SB_Renew,*,hostile
This button will be hidden on hostile units (= it will only be shown on friendly units)
New: Spell ranks have been removed (multiranking too)
New: Macro buttons support now '[target=unit#]'
Here unit# will be rpalced at runtime with the unit the button is attached to.
Example: /target [target=unit#]
Improved: Verification of buttons while configuring the addon

And last but not least:
!!! Improved: Internals are mostly rewritten from scratch for better performance !!!

Please refer to 'z_historic_Changelog.txt' for older changes.

Known problems:
XPerl's partypets get no buttons
Optional Files (2)
File Name
Version
Size
Author
Date
Type
2.1beta4
104kB
09-15-12 11:51 AM
Addon
upload1 RC2
105kB
12-01-10 11:42 AM
Addon


Post A Reply Comment Options
Unread 05-17-08, 02:30 PM  
Bronzeburn
A Kobold Labourer
 
Bronzeburn's Avatar

Forum posts: 0
File comments: 24
Uploads: 0
RC1 with fps fix

Any chance of seeing another beta release with the fixes implemented?
Started playing my shammie again and the frame rate drops to half after about 30 mins of playing (also solo) so the wep buff/totem thingy is very noticeable.
/reloadui or disabling xub fixes the problem, so there is no doubt of who is the culprit

Bronze
Last edited by Bronzeburn : 05-18-08 at 01:18 AM.
Report comment to moderator  
Reply With Quote
Unread 05-11-08, 08:56 AM  
piteq
A Kobold Labourer

Forum posts: 0
File comments: 4
Uploads: 0
Re: Re: Raid pet frames...

Originally posted by paladindrome
You did not do anything wrong. The code for raid pets is commented out (rest assured I spent the normal debug cycles trying to make it work as well). PartyPets work good - but there is a fiar amount of work to get raidpets to work.
Ahhh... OK, I feel sane again ;-) Thanks for the info! If I'd only know how to write addons ;-)

Thanks again; I will just wait then until maybe some day it will be possible to fill the remaining gaps in code and add this functionality

cheers
p.
Report comment to moderator  
Reply With Quote
Unread 05-10-08, 09:06 AM  
paladindrome
A Kobold Labourer
AddOn Author - Click to view AddOns

Forum posts: 0
File comments: 140
Uploads: 1
Re: Raid pet frames...

Originally posted by piteq
I'm not sure if I do anything wrong, but can't make XUB work with pets raid frames.
You did not do anything wrong. The code for raid pets is commented out (rest assured I spent the normal debug cycles trying to make it work as well). PartyPets work good - but there is a fiar amount of work to get raidpets to work.

The code that comments out raidpets is only the start. For it to work the support for each unit frame addon would need to be upgraded to support their raid pets. I do not see any pet support for the frames themselves. I would guess the E put in framework for pets - but never got around to supporting the frames themselves. Speculation at best.

Drome
Report comment to moderator  
Reply With Quote
Unread 05-09-08, 04:47 PM  
Cosmic Cleric
A Deviate Faerie Dragon
 
Cosmic Cleric's Avatar
AddOn Author - Click to view AddOns

Forum posts: 15
File comments: 283
Uploads: 7
Re: Raid pet frames...

Originally posted by piteq
Hey;

I'm not sure if I do anything wrong, but can't make XUB work with pets raid frames. I use XUB for a few months now, and usually paired it with CTRA or XPerl raid/party frames, and it works brilliantly. Problems started recently: I'm rarely required as healer (usually feral druid), so I never put too much attention to hunter/lock pets, but since a week or two I try to PvP in Arena as resto druid, and I'm trying to make healing buttons for my mates' pets.

I gave up with CTRA, switched to Blizzard frames, tried to attach the same buttons as for normal players to group "raidpet" and... nothing. Buttons for pet frames aren't displayed at all. I tried to do the same with XPerl - again no luck. No matter what I try to do, I seem to fail with pet frames. I have no problems with attaching buttons to party, player (self), focus, raid - just not pets. Using RC1 version. Help! :-)
Er, isn't it "partypet" and not raidpet, even for a raid?

Also, try posting your script so we can take a look at it. Finally, make sure in the configuration screen, "Unit Frames" section, for the party/raid dropdown selection at the bottom of the screen, you don't have Blizzard selected but instead the UI add-on frames that you are using.
Last edited by Cosmic Cleric : 05-09-08 at 04:57 PM.
Report comment to moderator  
Reply With Quote
Unread 05-09-08, 10:21 AM  
piteq
A Kobold Labourer

Forum posts: 0
File comments: 4
Uploads: 0
Raid pet frames...

Hey;

I'm not sure if I do anything wrong, but can't make XUB work with pets raid frames. I use XUB for a few months now, and usually paired it with CTRA or XPerl raid/party frames, and it works brilliantly. Problems started recently: I'm rarely required as healer (usually feral druid), so I never put too much attention to hunter/lock pets, but since a week or two I try to PvP in Arena as resto druid, and I'm trying to make healing buttons for my mates' pets.

I gave up with CTRA, switched to Blizzard frames, tried to attach the same buttons as for normal players to group "raidpet" and... nothing. Buttons for pet frames aren't displayed at all. I tried to do the same with XPerl - again no luck. No matter what I try to do, I seem to fail with pet frames. I have no problems with attaching buttons to party, player (self), focus, raid - just not pets. Using RC1 version. Help! :-)
Report comment to moderator  
Reply With Quote
Unread 05-08-08, 02:35 PM  
Cosmic Cleric
A Deviate Faerie Dragon
 
Cosmic Cleric's Avatar
AddOn Author - Click to view AddOns

Forum posts: 15
File comments: 283
Uploads: 7
Re: found

Originally posted by tayedaen
Hi!

I think I found the bug !!! Yeeeeaaaaah !

I still have to test it thoroughly, but look at this code :
Code:
XUB_WeaponTooltip = CreateFrame("GameTooltip", "XUB_ParseToolTip", nil, "GameTooltipTemplate");
Now this line is perfectly valid, it creates a silent tooltip frame that XUB uses to get the weapon buffs (like poisons etc.).

My mistake was to execute this line twice EVERY OnUpdate cycle, creating two new frames each time.
Over time, this created a huge amount of unneeded frames, which were slowing down the system.

The code above is only executed if there's a weapon enchant present, this made debugging difficult
Naturally, in raids more people are using weapon buffs, so the problem was more visible in raids.
Another reason why I could not find the bug: Profling and memory watching does not reveal 'forgotten' frames...

I will keep you informed if this really fixes the problems.

cu
tay
GREAT find! /applaud

To your other post about if you should release intermediate beta builds not but call then new RC #'s, from my point of view, it would be up to you. If you need to have us test something, go ahead and post it, and I'll be glad to best it. Maybe call it something like RC1.1, RC1.2, etc. ?
Report comment to moderator  
Reply With Quote
Unread 05-07-08, 10:04 PM  
paladindrome
A Kobold Labourer
AddOn Author - Click to view AddOns

Forum posts: 0
File comments: 140
Uploads: 1
Re: found

Originally posted by tayedaen
Hi!

I think I found the bug !!! Yeeeeaaaaah !
tay
Woot - that looks lke a real head banger!

Drome
Report comment to moderator  
Reply With Quote
Unread 05-07-08, 02:43 PM  
Bronzeburn
A Kobold Labourer
 
Bronzeburn's Avatar

Forum posts: 0
File comments: 24
Uploads: 0
Re: found

Woot! xing my fingers
Report comment to moderator  
Reply With Quote
Unread 05-07-08, 01:29 PM  
tayedaen
A Deviate Faerie Dragon
AddOn Author - Click to view AddOns

Forum posts: 13
File comments: 191
Uploads: 6
found

Hi!

I think I found the bug !!! Yeeeeaaaaah !

I still have to test it thoroughly, but look at this code :
Code:
XUB_WeaponTooltip = CreateFrame("GameTooltip", "XUB_ParseToolTip", nil, "GameTooltipTemplate");
Now this line is perfectly valid, it creates a silent tooltip frame that XUB uses to get the weapon buffs (like poisons etc.).

My mistake was to execute this line twice EVERY OnUpdate cycle, creating two new frames each time.
Over time, this created a huge amount of unneeded frames, which were slowing down the system.

The code above is only executed if there's a weapon enchant present, this made debugging difficult
Naturally, in raids more people are using weapon buffs, so the problem was more visible in raids.
Another reason why I could not find the bug: Profling and memory watching does not reveal 'forgotten' frames...

I will keep you informed if this really fixes the problems.

cu
tay
Report comment to moderator  
Reply With Quote
Unread 05-07-08, 12:29 PM  
Bronzeburn
A Kobold Labourer
 
Bronzeburn's Avatar

Forum posts: 0
File comments: 24
Uploads: 0
Re: RL and RC2

Just call it beta 10 if you dont feel comfortable calling it RC2. We all love your work!


Originally posted by tayedaen
What's your opinion on this ?
Last edited by Bronzeburn : 05-07-08 at 12:31 PM.
Report comment to moderator  
Reply With Quote
Unread 05-07-08, 10:15 AM  
paladindrome
A Kobold Labourer
AddOn Author - Click to view AddOns

Forum posts: 0
File comments: 140
Uploads: 1
Re: RL and RC2

Originally posted by tayedaen
What's your opinion on this ?
I would archive off RC1 and call this the next Beta.

Drome
Report comment to moderator  
Reply With Quote
Unread 05-07-08, 07:27 AM  
tayedaen
A Deviate Faerie Dragon
AddOn Author - Click to view AddOns

Forum posts: 13
File comments: 191
Uploads: 6
RL and RC2

Hi,

RL was pretty demanding in the last two or three weeks.
Neverthless, the main problems from RC1 seem to be fixed here.
BUT
I still have a minor perfomance degradation over time that I was unable to get rid of so far.
It's not as bad as RC1 was, but it's existing.

I could post an interim beta that is better then RC1 at last.
But I would hesitate to call it RC2, because it's not 'release' quality.

What's your opinion on this ?

cu
tay

P.S.
I usually make a reloadUI to get rid of the low frame rates at the moment.
Report comment to moderator  
Reply With Quote
Unread 05-05-08, 03:48 PM  
paladindrome
A Kobold Labourer
AddOn Author - Click to view AddOns

Forum posts: 0
File comments: 140
Uploads: 1
Re: Another button config request example

Originally posted by Cosmic Cleric
I want the button to blink if the target has a disease but not if it has the Abolish Disease buff on it, which removes diseases every few seconds and lasts for many seconds.
Another good idea - but it will be fairly complex to configure in the abstract - or would require detailed knowledge of the specific spell(s). This is real similar to the Power Word Shield and Blessing of Protection issues. Enable Buff unless specific debuff present vs Enable Debuff unless specific buff present.

Drome
Report comment to moderator  
Reply With Quote
Unread 05-05-08, 03:44 PM  
paladindrome
A Kobold Labourer
AddOn Author - Click to view AddOns

Forum posts: 0
File comments: 140
Uploads: 1
Re: Re: Re: Re: Re: Shoud this button config work?

It's also nice to be able to have buffs check debuffs -- i.e. Casting Power Word: Shield unless the resulting debuff is on the target.
Yes - we have a long standing issue with regard to Buff's with corosponding debuff (Pally protection is another). A work around was put in for the specific spells as there was an issue if you targeted a non-party member with the UI but had the button targeting a party member. As I can tell CC is looking for the opposite (Display a button to clear a debuff except where a Buff is already present). I think that logic is even worse then a double negative - sigh.
Report comment to moderator  
Reply With Quote
Unread 05-04-08, 08:15 AM  
Isidian
A Kobold Labourer
AddOn Author - Click to view AddOns

Forum posts: 0
File comments: 15
Uploads: 1
Re: Re: Re: Re: Shoud this button config work?

Originally posted by paladindrome
the change didn't seem to cause problems here - of course when the performance has problems next time you know the first place to check ;-).

What you are looking for is not supported in the current addon. You are looking for the blink to occur if something is set (magic) but turned off if it is a specific spell. The addon stops when it finds the first condition that is true.

Code:
    for di=1,#myItems do
        mySearch = "," .. myItems[di];
        if ( string.find(aDebuffs,mySearch) ~= nil ) then
            aButton.State = STATE_ENABLED;
            return;
        elseif ( string.find(aBuffs,mySearch) ~= nil ) then
            aButton.State = STATE_ENABLED;
            return;
        end
    end
Note that this case is looking through the Buffs string - this is why the previously mentioned paste error works. I dont know if there are other places where it would expect the name to be in the Buffs string - so modder beware. For now you can revert the other suggestion.

Drome

I had some fun modifying this at one point because I was trying to get purge to work correctly on MoBs (using Dispel Magic if they had a buff or HoT). Part of the issue with modding this aspect is that sometimes it is convenient to dispel Buffs. For instance, I use a "debuff" button to "debuff" druid HoTs with Swiftmend. It's also nice to be able to have buffs check debuffs -- i.e. Casting Power Word: Shield unless the resulting debuff is on the target.

At the time, I was also trying to get around a problem where my fear break spells were picking up on "Fear Ward" as something to dispel, so I implemented "debuffstrict" and "buffstrict", which strictly check for debuffs and buffs only. Now it looks like I can avoid that with the ! operator.

EDIT: Moved modified source code to project HQ instead of posting in forums.
Last edited by Isidian : 05-04-08 at 12:24 PM.
Report comment to moderator  
Reply With Quote
Post A Reply



Category Jump: