Download
(105Kb)
Download
Updated: 12-06-10 04:15 PM
Pictures
File Info
Updated:12-06-10 04:15 PM
Created:unknown
Downloads:24,260
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-03-08, 09:33 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
Question Requst: Use Blink

Hello again. Asking for an enhancement.

Currently I have a button defined like this...

Code:
_AntiVenom,use,Purification Potion,!Poison/!Curse
I would love it if I could have a "useblink" command (vs. a "use").

Any way of getting this enhancement?

As always, thank you for your efforts, it is appreciated.
Report comment to moderator  
Reply With Quote
Unread 05-03-08, 12:23 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
Another button config request example

Here's another example of what I would like to do vis-a-vis my original post on this subject of button configurations...

Code:
_AbolishDisease,debuffblink,Abolish Disease,,!Abolish Disease/Disease
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.

Abolish Disease spell info...

http://www.wowhead.com/?spell=552
Last edited by Cosmic Cleric : 05-03-08 at 12:24 PM.
Report comment to moderator  
Reply With Quote
Unread 05-03-08, 11:55 AM  
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: Re: Re: Re: Re: Re: Shoud this button config work?

Originally posted by paladindrome
Hmm - I thought I replied already - oh well.

Apologies, didn't understand what you were conveying the first time around.


XUB searches until it finds a true condition and then stops. In this example it would fail the first because it is unstable affliction but would still return true because it is a magic effect.

I understand what you are saying now.


We would need to add some syntactical way to have the code stop when a false condition is met. something like:

Code:
_DispelMagic,debuffblink,Dispel Magic,,#!Unstable Affliction/Magic

EDIT: I guess you'd need to distinguish between an actual buff/debuff name and the name of a school of magic. If the "!" is used with an actual buff/debuff name, use the test as if it should continue to the next test condition to the right?

Or, how about just returning, no matter if its true or false, after checking the first condition defined with the not "!" symbol?

Otherwise "#" as you described would work.

Not sure what the most intuitive way of defining this would be though. /shrug


I worry that this is one more step into an arace solution.

Drome

Heh, had to look up that one: http://dictionary.reference.com/browse/arace

I would say though that there should be some way of defining 'not' conditions for debuffs like Unstable Afflication, somehow. Not sure what would be the best (a.k.a. not arace) solution though.
Last edited by Cosmic Cleric : 05-03-08 at 12:23 PM.
Report comment to moderator  
Reply With Quote
Unread 05-02-08, 10:06 AM  
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?

Originally posted by Cosmic Cleric
I didn't realize the significance of what you were describing before, but if I am understanding what you are saying correctly, if I list my Unstable Affliction first...

_DispelMagic,debuffblink,Dispel Magic,,!Unstable Affliction/Magic

... then this would get me what I want. Do not blink the button if the debuff is Unstable Affliction, otherwise do blink if its an other Magic based debuff. Is this right?

Hmm - I thought I replied already - oh well.

XUB searches until it finds a true condition and then stops. In this example it would fail the first because it is unstable affliction but would still return true because it is a magic effect. We would need to add some syntactical way to have the code stop when a false condition is met. something like:

Code:
_DispelMagic,debuffblink,Dispel Magic,,#!Unstable Affliction/Magic
I worry that this is one more step into an arace solution.

Drome
Report comment to moderator  
Reply With Quote
Unread 04-26-08, 04:11 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: Re: Re: Re: Shoud this button config work?

Originally posted by paladindrome
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.

Drome
I didn't realize the significance of what you were describing before, but if I am understanding what you are saying correctly, if I list my Unstable Affliction first...

_DispelMagic,debuffblink,Dispel Magic,,!Unstable Affliction/Magic

... then this would get me what I want. Do not blink the button if the debuff is Unstable Affliction, otherwise do blink if its an other Magic based debuff. Is this right?
Report comment to moderator  
Reply With Quote
Unread 04-26-08, 04:07 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: Re: Re: Re: Re: Re: Shoud this button config work?

Originally posted by paladindrome
Here nor there - the way it works is built into other parts of the add on so it must remain.
Fair enough. Just didn't want you to rip that code out based on my first post, which was in hindsight, premature to make, since it breaks things.
Report comment to moderator  
Reply With Quote
Unread 04-26-08, 08:48 AM  
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?

Originally posted by Cosmic Cleric
Just to follow up my last post, I'm guessing its not a paste error, and its there to handle non-special (default) button configuration definitions.
Here nor there - the way it works is built into other parts of the add on so it must remain.
Report comment to moderator  
Reply With Quote
Unread 04-25-08, 05:12 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: Re: Re: Re: Shoud this button config work?

Originally posted by paladindrome
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
Just to follow up my last post, I'm guessing its not a paste error, and its there to handle non-special (default) button configuration definitions.
Report comment to moderator  
Reply With Quote
Unread 04-25-08, 05:11 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: Re: Re: Shoud this button config work?

Originally posted by Cosmic Cleric
I made the change locally, and so far aso good, I can dispell stuff.
Code:
        Debuffs = Debuffs .. name .. ",";
        if ( debuffType ~= nil ) then
            Debuffs = Debuffs .. debuffType .. ",";
        end
Just found out that change does NOT work right! Don't make this change, as some buff buttons will stop dimming/greying out if its done. The current code works with both situations.

This stopped dimming once I made the above change...

attack2,DrainLife,target

The button always stayed enabled, even when the spell was being used.
Last edited by Cosmic Cleric : 04-25-08 at 11:34 PM.
Report comment to moderator  
Reply With Quote
Unread 04-25-08, 02:52 PM  
paladindrome
A Kobold Labourer
AddOn Author - Click to view AddOns

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

Originally posted by Cosmic Cleric
Thanks for looking into this. I actually wan't sure if it was working or not, I was worried I had the syntax incorrect when defining the button.
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
Last edited by paladindrome : 04-25-08 at 02:57 PM.
Report comment to moderator  
Reply With Quote
Unread 04-25-08, 01:46 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: Re: Shoud this button config work?

Originally posted by paladindrome
There may be a typo in debuff logic, the Buffs = Buffs .. name .. "," looks suspiciously like a paste error. If the debuff has a name AND a type we only store the type in Debuff, If it only has a name then we store the name.

I will try this to see if it causes problems
Code:
        Debuffs = Debuffs .. name .. ",";
        if ( debuffType ~= nil ) then
            Debuffs = Debuffs .. debuffType .. ",";
        end
It may affect performance a bit - it will store a type and a name that needs to be compared.

Drome
I made the change locally, and so far aso good, I can dispell stuff.
Report comment to moderator  
Reply With Quote
Unread 04-25-08, 11:15 AM  
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: Re: Shoud this button config work?

Originally posted by paladindrome
It won't work - of course you knew that already.
Code:
    name, rank, icon, count, debuffType, duration, timeLeft = UnitDebuff(aUnit, i, removable);
     while ( name ~= nil ) do
        Buffs = Buffs .. name .. ",";
        if ( debuffType ~= nil ) then
            Debuffs = Debuffs .. debuffType .. ",";
		else
            Debuffs = Debuffs .. name .. ",";
        end
        i=i+1
        name, rank, icon, count, debuffType, duration, timeLeft = UnitDebuff(aUnit, i, removable);
    end
There may be a typo in debuff logic, the Buffs = Buffs .. name .. "," looks suspiciously like a paste error. If the debuff has a name AND a type we only store the type in Debuff, If it only has a name then we store the name.

I will try this to see if it causes problems
Code:
        Debuffs = Debuffs .. name .. ",";
        if ( debuffType ~= nil ) then
            Debuffs = Debuffs .. debuffType .. ",";
        end
It may affect performance a bit - it will store a type and a name that needs to be compared.

Drome
Thanks for looking into this. I actually wan't sure if it was working or not, I was worried I had the syntax incorrect when defining the button.

So the next question is could you add this functionalty to XUB? Especially for the example I gave (dispelling Unstable Affliction), it would be a great benefit to have that functionality.

As far as the potential typo goes, I'll try it out and report back to you if it causes problems or not.
Report comment to moderator  
Reply With Quote
Unread 04-25-08, 09:12 AM  
paladindrome
A Kobold Labourer
AddOn Author - Click to view AddOns

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

Originally posted by Cosmic Cleric
I want the button to blink when the target has a Magic debuff but NOT blink if that magic debuff is Unstable Affliction
It won't work - of course you knew that already.
Code:
    name, rank, icon, count, debuffType, duration, timeLeft = UnitDebuff(aUnit, i, removable);
     while ( name ~= nil ) do
        Buffs = Buffs .. name .. ",";
        if ( debuffType ~= nil ) then
            Debuffs = Debuffs .. debuffType .. ",";
		else
            Debuffs = Debuffs .. name .. ",";
        end
        i=i+1
        name, rank, icon, count, debuffType, duration, timeLeft = UnitDebuff(aUnit, i, removable);
    end
There may be a typo in debuff logic, the Buffs = Buffs .. name .. "," looks suspiciously like a paste error. If the debuff has a name AND a type we only store the type in Debuff, If it only has a name then we store the name.

I will try this to see if it causes problems
Code:
        Debuffs = Debuffs .. name .. ",";
        if ( debuffType ~= nil ) then
            Debuffs = Debuffs .. debuffType .. ",";
        end
It may affect performance a bit - it will store a type and a name that needs to be compared.

Drome
Report comment to moderator  
Reply With Quote
Unread 04-25-08, 08:55 AM  
paladindrome
A Kobold Labourer
AddOn Author - Click to view AddOns

Forum posts: 0
File comments: 140
Uploads: 1
Re: RC1 in raid

Originally posted by Bronzeburn
Also, dont seem to be able to get buttons on the Blizzard raid frames either.
Did you select Blizzard for raid frames on the bottom of the Unit Frames dialog box and create an entry in the profile for raid IE normal,raid,healgrp?

The code creates buttons for raid or for party based on what type of group you are in. The downside is that in a raid we do not create party buttons at all.



drome.
Report comment to moderator  
Reply With Quote
Unread 04-24-08, 05:04 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
Shoud this button config work?

I have this button config...

_DispelMagic,debuffblink,Dispel Magic,,Magic/!Unstable Affliction

I want the button to blink when the target has a Magic debuff but NOT blink if that magic debuff is Unstable Affliction (because I don't want to take the damage of dispelling it).

Should this work? Is the syntax correct?

I'm not seeing it work, but it would be great if it did.

Please advise. Thanks.
Report comment to moderator  
Reply With Quote
Post A Reply



Category Jump: