Download
(105Kb)
Download
Updated: 12-06-10 04:15 PM
Pictures
File Info
Updated:12-06-10 04:15 PM
Created:unknown
Downloads:24,184
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 01-27-07, 06:19 PM  
Shaymon
A Kobold Labourer

Forum posts: 0
File comments: 19
Uploads: 0
Thanks for the great addon!

The main things that messed me up when setting the mod up was the following. Hopefully it will help others
1)It has been discussed in this thread already. The opacity for out of range party members, targets etc. is 0% It took me a while to figure this out. I just thought it wasn;t working. So...just remember that

2)Don't forget case sensativity....I screwed up by using a capital letter when I should have used lowercase.

Bugs I have noticed.
Spells with appostrophes do not function on any frame but "player" For instance. Nature'sSwiftness and Tiger's Fury. They act like an out of range and are unclickable.

When I reload my UI, I lose all the info in the config, however, the profiles are still there. I then have to open config, verify and save and then start over.
EDIT*****>>I also lose all my info when loggin out then back in Anyone Else have this problem?
EDIT****>New Bug-I had 2 groups. One named Healing and one named Self. For some reason the Self group started attaching to the second party member...
EDIT****>It is supposed to be like this

When changing settings in options, I have to save and exit then reload the profile for changes to appear. This may be as intended so far?


Questions
It was asked in the post below. How do you start another line. i saw in the PDF that there is a group "CR" but it never explains how to set it up. it's possible I missed it but I have read through the entire PDF a couple times.


Wants
You mentioned disabling the out of range opacity. I think it would be great if you could leave it as it is a nice feature and just make it so the bars would just dissapear when the group member leaves or your target is untargeted.

I think this mod is going to be the best thing going once it's finished Thanks for all your hard work! If I find more bugs or have questions, I'll post them.

-Shaymon
Last edited by Shaymon : 01-29-07 at 07:37 PM.
Report comment to moderator  
Reply With Quote
Unread 01-27-07, 06:29 PM  
Shaymon
A Kobold Labourer

Forum posts: 0
File comments: 19
Uploads: 0
Glad you got it fixed Mob. I was just going to tell you that I had that same problem at first. I then realized I had to click the upper left corner
Report comment to moderator  
Reply With Quote
Unread 01-27-07, 07:02 PM  
Shaymon
A Kobold Labourer

Forum posts: 0
File comments: 19
Uploads: 0
Originally posted by Torwauki
-how do you put your buttons in multiple rows ? I have them all in the same row.


There is a CR command that you use in the profile section. It is shown in the mage example. It took me a while to notice. See below


This is a simple set-up

Group Specifications
HealingRow1,Nature'sSwiftness,*
HealingRow1,HealingTouchRank12,*
HealingRow1,HealingTouchRank10,*
HealingRow1,HealingTouchRank8,*
HealingRow1,RegrowthRank9,*
HealingRow1,RegrowthRank7,*
HealingRow1,Swiftmend,*

HealingRow2,Innervate,*



Profiles
main,player,HealingRow1
main,player,CR
main,player,HealingRow2

main,party,HealingRow1
main,party,CR
main,party,HealingRow2

main,target,HealingRow1
main,target,CR
main,target,HealingRow2
Report comment to moderator  
Reply With Quote
Unread 01-27-07, 10:29 PM  
Elenesski
A Murloc Raider
AddOn Author - Click to view AddOns

Forum posts: 6
File comments: 194
Uploads: 2
Ummm... am I doing something wrong? My info is not being saved when I quit. I click the Exit and Save and all of that.
Your information is saved in your character definition once you log off.

As the documentation states, the mod is pre-alpha and does not implement the right events to reshow the buttons when you do things like logon, switch zones, enter/leave instances, or intentionally reload the screen. For that you need to type

Code:
/xub p
to get the last mode you used to reshow, or:

Code:
/xub p <mode-name>
to identify a specific mode you previous set-up.

I do not save the TEXT of the input for the buttons. It gets converted into an internal format so that when the UI Configuration is available all your settings will work properly with the mod.

Each time you want to make a change you have to specify all three boxes of text (if you have custom buttons) or just two if you just have groups and profiles. Sorry, I'm not going to change this because the basic /xub config is going to go away eventually.
Last edited by Elenesski : 01-27-07 at 10:37 PM.
Report comment to moderator  
Reply With Quote
Unread 01-27-07, 11:00 PM  
Elenesski
A Murloc Raider
AddOn Author - Click to view AddOns

Forum posts: 6
File comments: 194
Uploads: 2
Originally posted by Shaymon
[b]Thanks for the great addon!

The main things that messed me up when setting the mod up was the following. Hopefully it will help others
1)It has been discussed in this thread already. The opacity for out of range party members, targets etc. is 0% It took me a while to figure this out. I just thought it wasn;t working. So...just remember that

2)Don't forget case sensativity....I screwed up by using a capital letter when I should have used lowercase.
Yes, it's not stated, but button, group and mode names are all case-sensitive.


Bugs I have noticed.
Spells with appostrophes do not function on any frame but "player" For instance. Nature'sSwiftness and Tiger's Fury. They act like an out of range and are unclickable.
I'll fix that problem shortly.


When I reload my UI, I lose all the info in the config, however, the profiles are still there. I then have to open config, verify and save and then start over.
EDIT*****>>I also lose all my info when loggin out then back in Anyone Else have this problem?
See earlier comment. The settings are saved, but I don't save the text from the Config dialog box. If you want to change your settings (add new buttons, etc.) you have to reapply the text from another source. Sorry; not going to change this because the config dialog box is going away eventually.



EDIT****>New Bug-I had 2 groups. One named Healing and one named Self. For some reason the Self group started attaching to the second party member...
That's new, I'll see if there is an easy fix.


When changing settings in options, I have to save and exit then reload the profile for changes to appear. This may be as intended so far?
That's why I invented the "/xub p" command .. fewest characters to type to get the last profile you used to reload.



Questions
It was asked in the post below. How do you start another line. i saw in the PDF that there is a group "CR" but it never explains how to set it up. it's possible I missed it but I have read through the entire PDF a couple times.


Wants
You mentioned disabling the out of range opacity. I think it would be great if you could leave it as it is a nice feature and just make it so the bars would just dissapear when the group member leaves or your target is untargeted.
A friend of mine suggested I provide colours for out of range instead of opacity settings. I'll look into that, as well as trying to get the pie-chart timing thing to work. Since I'm not using the ActionButton template, I have to build that support myself.



I think this mod is going to be the best thing going once it's finished Thanks for all your hard work! If I find more bugs or have questions, I'll post them.
Thanks.
Report comment to moderator  
Reply With Quote
Unread 01-27-07, 11:10 PM  
Elenesski
A Murloc Raider
AddOn Author - Click to view AddOns

Forum posts: 6
File comments: 194
Uploads: 2
Originally posted by Torwauki
Two questions :
- how do you put your buttons in multiple rows ? I have them all in the same row.
- is it possible for a spell to have multiple sister spells ?

Two requests if I may :
- an option for some buttons to appear only on a specific target type : humanoid, undead, demon, elemental etc. That would be great for spells like Shackle Undead or Banish. Another option would be for the spell to only appear if the target is valid. I'm not sure if there is an API option for that though.
- a question about your future development : do you intend to seperate party1, party2... party4 buttons ? Or will party buttons always be shared by all party members (like GroupButtons did) ? In this case, will you be including an option per class ? So for example Blessing of Wisdom isn't showing in warriors' bars etc.
Question #1: Use a special group called "CR".
Question #2: Can you give me examples of multiple sister spells. Thanks.

Request #1: This is already working. Right now on the mage, I cannot cast a Polymorph on anything but humanoids, critters and beasts.

For each spell type I ask the API if the spell can be cast on the given player. If it says yes, I show the button. If it is saying yes, but it is invalid, that's a problem with the UI. I want to avoid "special cases" otherwise the mod size will balloon to an unbelievable size and make it harder to maintain.

Request #2: I will be adding support so that you can specify which character classes will see the buttons. For example, not showing the Arcane Intellect button when a Rogue is the selected target. This ability will be added when configuration via the UI is available.
Report comment to moderator  
Reply With Quote
Unread 01-27-07, 11:27 PM  
Mobeater
A Kobold Labourer

Forum posts: 1
File comments: 16
Uploads: 0
Made the config and Options window Movable

I hacked my XML files a bit to make both Options and Config frames movable and more size fitting to my scale

for size (makes smaller, mine was too large) This change made it more inline with the rest of my UI scale, you do NOT need to do this if you just want to move your windows around a bit
add the red stuff
<Frame name="XUBConfig" hidden="true" movable="true" enableMouse="true" parent="UIParent">

put the red in the same place on the options XML

to make them Movable add the red stuff as it is

<Frame name="XUBConfig" hidden="true" movable="true" enableMouse="true" parent="UIParent">

also below that right above the <Size> tag add this

<TitleRegion>
<Size>
<AbsDimension x="95" y="20"/>
</Size>
<Anchors>
<Anchor point="TOP"/>
</Anchors>
</TitleRegion>


Add this to the same place in both xml files (XUBOptions.xml and XUBConfig.xml)

You can do all of this while in the game and save the files go back into the game and reload your UI to see the changes. You can move the window by click and dragging Title box only!

This code was found in the tutorial section of wowikki.com.

-Mobeater
p.s.
If this is not OK with you Elenesski, please let me know and I will remove this code from here. I just like to be able to move my frames and have them the same scale the rest of my UI uses. Great work btw, I have been missing GB for some time now.

**Edited to add a simpler cleaner code, and make the frame draggable only in the title box at top**
Last edited by Mobeater : 01-28-07 at 01:55 AM.
Report comment to moderator  
Reply With Quote
Unread 01-28-07, 03:10 AM  
Elenesski
A Murloc Raider
AddOn Author - Click to view AddOns

Forum posts: 6
File comments: 194
Uploads: 2
Re: Made the config and Options window Movable

Originally posted by Mobeater
If this is not OK with you Elenesski, please let me know and I will remove this code from here. I just like to be able to move my frames and have them the same scale the rest of my UI uses. Great work btw, I have been missing GB for some time now.
It's perfectly okay. That's the key reason for posting the mod on WoWInterface.com in the first place. To get help to complete it and make it better.

I'll apply these changes with my next update.

Cheers,
- E
Last edited by Elenesski : 01-28-07 at 03:10 AM.
Report comment to moderator  
Reply With Quote
Unread 01-28-07, 03:30 AM  
Mobeater
A Kobold Labourer

Forum posts: 1
File comments: 16
Uploads: 0
Re: Re: Made the config and Options window Movable

Originally posted by Elenesski
It's perfectly okay. That's the key reason for posting the mod on WoWInterface.com in the first place. To get help to complete it and make it better.

I'll apply these changes with my next update.

Cheers,
- E
Glad I could help in some small way, is my first contribution to the addon community!

-Mobeater
Mob(eater)
Report comment to moderator  
Reply With Quote
Unread 01-28-07, 04:04 AM  
Shaymon
A Kobold Labourer

Forum posts: 0
File comments: 19
Uploads: 0
Thanks for the follow up

I ran Slavepens and Underbog tonight. One as only healer. The mod worked great. it's so good to have the buttons attached to the party frames once again

I also quested for a couple hours.

I did not encounter any bugs the entire time.

I am looking forward to the pies and also nature's swiftness working I'll be in heaven then

Thanks again,
Shaymon
Report comment to moderator  
Reply With Quote
Unread 01-28-07, 04:53 AM  
Torwauki
A Defias Bandit

Forum posts: 3
File comments: 25
Uploads: 0
Originally posted by Elenesski
Question #2: Can you give me examples of multiple sister spells. Thanks.
It was originally for blessings. But since you're going to put in a condition per class (like the Arcane Intellect button for rogues not showing, from your example), this request is obsolete. Thanks for your support !

At the moment I'm having a great time with the add-on, thanks for that. There are some GUI and graphic improvements to be made if you want it to reach a larger base of users, but even in the current state, it's perfectly accessible.

I have some smallish features requests in mind, but it would really be nickpicking to ask for it at this stage of development. You've made a great job.

<edit> : for reference, this addon is working just fine with Clique and CT_Bars and CT_BottomBar installed if anyone was wondering.
Last edited by Torwauki : 01-28-07 at 04:56 AM.
Report comment to moderator  
Reply With Quote
Unread 01-28-07, 01:15 PM  
borohir
A Kobold Labourer
AddOn Author - Click to view AddOns

Forum posts: 1
File comments: 54
Uploads: 1
Some additions

Hi,
I love your mod, I gave gad no issues with it at all, I even like the config, it is pretty simple after reading the PDF! I have added a few things, maybe you would like to add:
Simple tooltip (I forget what the icons are sometimes!)
In XML added this around line 99:
<scripts>
<OnEnter>
XUG_MouseOver();
</OnEnter>
</scripts>
And simple function:
function XUG_MouseOver()
if (this.FullSpellName ~= nil) then
GameTooltip:SetOwner(this,"ANCHOR_BOTTOMRIGHT");
GameTooltip:SetText(this.FullSpellName);
GameTooltip:Show();
end;
end

Adding colored buttons (instead of fading) is easy and looks nice:
Some color:
XUG_COLORS =
{ gray = { r = 0.4, g = 0.4, b = 0.4 },
red = { r = 0.8, g = 0.1, b = 0.1 },
blue = { r = 0.0, g = 0.0, b = 1.0 },
green = { r = 0.0, g = 1.0, b = 0.0 },
}
In XUG_UpdateUnitButtons where normally would pick something like XUB_OUTOFRANGE_ALPHA, have a local Color = nil in loop, so something like this:
if ( inRange == nil ) then
myButtonisable();
Color = "red";
myAlpha = math.min(myAlpha,XUB_OUTOFRANGE_ALPHA)
.....

Then where alpha was once set at end of loop I do this:

if (Color == nil) then
myButton:SetAlpha(myAlpha);
local tex = myButton:GetNormalTexture();
if tex ~= nil then
tex:SetVertexColor(1,1,1);
end;
else
local tex = myButton:GetNormalTexture();
if tex ~= nil then
tex:SetVertexColor(XUG_COLORS[Color].r, XUG_COLORS[Color].g,
XUG_COLORS[Color].b);
end;
end;

Maybe something you can use!

b
Report comment to moderator  
Reply With Quote
Unread 01-28-07, 08:51 PM  
Mobeater
A Kobold Labourer

Forum posts: 1
File comments: 16
Uploads: 0
Just wondering

As I go through the various xml and lua files, I see refs to files not being used (data is marked out) as well as refs to XUG not sure what this is, as well as refs to PartyBars ex.
Code:
<Frame name="PBFrame">
        <Scripts>
            <OnLoad>
	    		PartyBars_Globals();
                PartyBars_OnLoad(self);
            </OnLoad>
			<OnEvent>
				PartyBars_OnEvent(self, event, ...);
			</OnEvent>
        </Scripts>
    </Frame>
Is this intended, and could it possibly be the cause of Sessions not saving between them as well as having to /xub p after making changes in either Options or Config?

The reason I was digging is because I did a /rl and lost my settings in the conf window which was annoying . If I am way off here, sorry.

It is just a bit confusing seeing 3 different addon names/refs in the same addon and not knowing what is what in the one I am actually trying to help improve.

-Mobeater
Mob(eater)
Report comment to moderator  
Reply With Quote
Unread 01-28-07, 09:04 PM  
Maxx4u
A Defias Bandit

Forum posts: 3
File comments: 7
Uploads: 0
i become this error... but i dont know why...

Code:
Fehler: attempt to perform arithmetic on field '?' (a nil value)
AddOn: eXtremeUnitButtons
Datei:eXtremeUnitButtons.lua
Zeile:756
Fehler Nummer:14
im german and use the german client. by me it is so, when i add powerword:fortitude i must type in the rank in the group field... if i dont type in this, i dont become an button.

is this in the englisch client also?

and can anyone implement support for x-perl? i use it and try to implement them... but i dont become any buttons... i know that the frames right.

now i use aguf... but i want x-perl

and every time i log out of game and come online again, my complete config is away... it is empty.... what can i do? i dont wanna make this every time new... pls help


this is the best addon since 2.0 thank you very much..

and sorry for my bad english.

PS: i try to do the edits to make the frames dragable, but when i do this, i become many errors and xub dont go.

cya Maxx4u
Last edited by Maxx4u : 01-28-07 at 09:07 PM.
Report comment to moderator  
Reply With Quote
Unread 01-28-07, 09:13 PM  
Elenesski
A Murloc Raider
AddOn Author - Click to view AddOns

Forum posts: 6
File comments: 194
Uploads: 2
Re: Just wondering

Originally posted by Mobeater
As I go through the various xml and lua files, I see refs to files not being used (data is marked out) as well as refs to XUG not sure what this is, as well as refs to PartyBars ex.

-Mobeater
Mob(eater)
When I first started writing the mod, I used PartyBars as the initial base. Almost all of the PartyBars code is now gone, because it uses ActionButtons (hence the 120 button limit) but XUB doesn't use that template. I've now removed the references you identified, and added acknowledgments that this mod was initially based on PartyBars.
Report comment to moderator  
Reply With Quote
Post A Reply



Category Jump: