Download
(3Kb)
Download
Updated: 08-16-18 01:28 PM
Pictures
File Info
Compatibility:
Battle for Azeroth (8.0.1)
Updated:08-16-18 01:28 PM
Created:11-17-10 04:06 PM
Downloads:28,818
Favorites:126
MD5:

rBuffFrame  Popular! (More than 5000 hits)

Version: 800.20180816
by: zork [More]


Intro

rBuffFrame is a framework for Blizzard player aura buttons. It does nothing on its own, needs a layout like rBuffFrame_Zork.
API documentation
rBuffFrame API documentation
Quick-Links
rActionBar, rActionBar_Zork, rBuffFrame, rBuffFrame_Zork, rButtonTemplate, rButtonTemplate_Zork
Requires
rLib
Git
https://github.com/zorker/rothui/tre...8.0/rBuffFrame

Optional Files (2)
File Name
Version
Size
Author
Date
Type
800.20180816
972B
08-16-18 01:30 PM
Addon
700.20161004
975B
10-04-16 06:16 AM
Addon


Post A Reply Comment Options
Unread 11-21-10, 07:08 AM  
Lastbreath
A Defias Bandit

Forum posts: 3
File comments: 77
Uploads: 0
Hey m8 why the consolidate option dont work, i check it and it doesnt work i look throught the lua and u have option there but for some reason it doesnt work for me?
Report comment to moderator  
Reply With Quote
Unread 11-21-10, 07:16 AM  
zork
A Pyroguard Emberseer
 
zork's Avatar
AddOn Author - Click to view AddOns

Forum posts: 1740
File comments: 3728
Uploads: 77
@lastbreath
Consolidated buffs are not supported by this mod and there is no intention to add that in.

@tempenchant
I have to test that. So atm it is what it is.
__________________
| Simple is beautiful.
| WoWI AddOns | GitHub | Zork (WoW)

"I wonder what the non-pathetic people are doing tonight?" - Rajesh Koothrappali (The Big Bang Theory)
Report comment to moderator  
Reply With Quote
Unread 11-21-10, 01:56 PM  
zoktar
A Cliff Giant
AddOn Compiler - Click to view compilations

Forum posts: 72
File comments: 262
Uploads: 1
seperate buffs and debuffs please!!! =))
Report comment to moderator  
Reply With Quote
Unread 11-21-10, 02:17 PM  
cobie
A Kobold Labourer

Forum posts: 0
File comments: 2
Uploads: 0
Originally posted by zoktar
seperate buffs and debuffs please!!! =))
thats quite easy:

go into functions.lua


search for "-- Position debuffs"
and delete the combands including the first "end".
e.g. delete the following:


-- Position debuffs
if ((index > 1) and (mod(index, BUFFS_PER_ROW) == 1)) then
buff:SetPoint("TOP", _G[buttonName..(index-cfg.buffframe.buffsPerRow)], "BOTTOM", 0, -cfg.buffframe.rowSpacing)
elseif (index == 1) then
buff:SetPoint("TOPRIGHT", BuffFrame, "TOPRIGHT", 0, -rows*(cfg.buffframe.rowSpacing+buff:GetHeight()))
else
buff:SetPoint("RIGHT", _G[buttonName..(index-1)], "LEFT", -cfg.buffframe.colSpacing, 0)
end
Last edited by cobie : 11-21-10 at 02:19 PM.
Report comment to moderator  
Reply With Quote
Unread 11-21-10, 04:00 PM  
zoktar
A Cliff Giant
AddOn Compiler - Click to view compilations

Forum posts: 72
File comments: 262
Uploads: 1
does debuff get its own green move thingy then?. also is it possible to
sort buffs as endless first, highest,lower. ?

Originally posted by cobie
thats quite easy:

go into functions.lua


search for "-- Position debuffs"
and delete the combands including the first "end".
e.g. delete the following:


-- Position debuffs
if ((index > 1) and (mod(index, BUFFS_PER_ROW) == 1)) then
buff:SetPoint("TOP", _G[buttonName..(index-cfg.buffframe.buffsPerRow)], "BOTTOM", 0, -cfg.buffframe.rowSpacing)
elseif (index == 1) then
buff:SetPoint("TOPRIGHT", BuffFrame, "TOPRIGHT", 0, -rows*(cfg.buffframe.rowSpacing+buff:GetHeight()))
else
buff:SetPoint("RIGHT", _G[buttonName..(index-1)], "LEFT", -cfg.buffframe.colSpacing, 0)
end
Last edited by zoktar : 11-21-10 at 04:03 PM.
Report comment to moderator  
Reply With Quote
Unread 12-02-10, 10:38 PM  
workher
A Kobold Labourer

Forum posts: 0
File comments: 1
Uploads: 0
Thank you for such a great addon, I've been searching for a lower memory usage buff bar and this is perfect for me! I do have one question though; the buff frame is set to the top right of the green square when it is unlocked. Is there a way to set it to the bottom right instead so that there isn't a space between the bottom of my screen and the buffs?

I appreciate any help or suggestions!
Report comment to moderator  
Reply With Quote
Unread 12-03-10, 01:40 AM  
zork
A Pyroguard Emberseer
 
zork's Avatar
AddOn Author - Click to view AddOns

Forum posts: 1740
File comments: 3728
Uploads: 77
Only if you how to handle SetPoints. You would need to adjust all the setpoints of the addon.
__________________
| Simple is beautiful.
| WoWI AddOns | GitHub | Zork (WoW)

"I wonder what the non-pathetic people are doing tonight?" - Rajesh Koothrappali (The Big Bang Theory)
Report comment to moderator  
Reply With Quote
Unread 12-05-10, 04:53 PM  
Julchen
A Deviate Faerie Dragon

Forum posts: 17
File comments: 54
Uploads: 0
@tempenchant

i rewrite it a bit so it handle the tempenchant like a normal buff but im not sure if it is the best way to do
Code:
  --update buff anchors
  local updateBuffAnchors = function()
    --print(BUFF_ACTUAL_DISPLAY)
    local numBuffs = 0
    local buff, previousBuff, aboveBuff
	local hasMainHandEnchant, _, _, hasOffHandEnchant, _, _, hasThrownEnchant = GetWeaponEnchantInfo()
	
	for i = 1, BUFF_ACTUAL_DISPLAY do
      buff = _G["BuffButton"..i]
      buff.consolidated = nil
      buff:SetParent(BuffFrame)
	  buff.parent = BuffFrame
	  buff:ClearAllPoints()
      numBuffs = numBuffs + 1
      index = numBuffs
	  
	  if (hasMainHandEnchant and hasOffHandEnchant and hasThrownEnchant) then
        index = index + 3
      elseif ((hasMainHandEnchant and (hasOffHandEnchant or hasThrownEnchant)) or (hasOffhandEnchant and hasThrownEnchant)) then
        index = index + 2
      elseif (hasMainHandEnchant or hasOffHandEnchant or hasThrownEnchant) then            
        index = index + 1
      end

      if ((index > 1) and (mod(index, cfg.buffframe.buffsPerRow) == 1)) then
        if (index == cfg.buffframe.buffsPerRow + 1) then
          buff:SetPoint('TOP', TempEnchant1, 'BOTTOM', 0, -cfg.buffframe.rowSpacing)
        else
          buff:SetPoint('TOP', BUFF_ABOVE, 'BOTTOM', 0, -cfg.buffframe.rowSpacing)
        end
          aboveBuff = buff
        elseif (numBuffs == 1) then
          buff:SetPoint("TOPRIGHT", BuffFrame, "TOPRIGHT", 0, 0)
        else
          buff:SetPoint("RIGHT", previousBuff, "LEFT", -cfg.buffframe.colSpacing, 0)
        end      
      previousBuff = buff
    end   
  end
...
  --local moveBuffFrame = function()
    --BuffFrame:ClearAllPoints()
    --BuffFrame:SetPoint('TOPRIGHT', Minimap, 'TOPLEFT', -15, 0)
  --end
...
  --update position
  local function position()
    local hasMainHandEnchant, _, _, hasOffHandEnchant, _, _, hasThrownEnchant = GetWeaponEnchantInfo()
    if (hasMainHandEnchant and hasOffHandEnchant and hasThrownEnchant) then
      BuffFrame:SetPoint('TOPRIGHT', TempEnchant3, 'TOPLEFT', -cfg.buffframe.colSpacing, 0)
      return
	elseif ((hasMainHandEnchant and (hasOffHandEnchant or hasThrownEnchant)) or (hasOffhandEnchant and hasThrownEnchant)) then
	  BuffFrame:SetPoint('TOPRIGHT', TempEnchant2, 'TOPLEFT', -cfg.buffframe.colSpacing, 0)
	  return
    elseif (hasMainHandEnchant or hasOffHandEnchant or hasThrownEnchant) then
      BuffFrame:SetPoint('TOPRIGHT', TempEnchant1, 'TOPLEFT', -cfg.buffframe.colSpacing, 0)
      return
    elseif (not hasMainHandEnchant and not hasOffHandEnchant and not hasThrownEnchant) then
      BuffFrame:SetPoint('TOPRIGHT', TempEnchant1)
      return
    end
  end
...
  local a = CreateFrame("Frame")

  a:SetScript("OnEvent", function(self, event, ...)
    local unit = ...
    if(event=="PLAYER_ENTERING_WORLD") then
      init()
      checkauras()
    end
    if (event=="UNIT_AURA") then
      if (unit == PlayerFrame.unit) then
        checkauras()
      end
	end
	if (event=="PLAYER_ENTERING_WORLD" or event=="UNIT_INVENTORY_CHANGED") then
	    position()
	end
  end)

  a:RegisterEvent("PLAYER_ENTERING_WORLD")
  a:RegisterEvent("UNIT_AURA")
  a:RegisterEvent("UNIT_INVENTORY_CHANGED")
hope that i didnt forget anything to change - use different variables/config
Report comment to moderator  
Reply With Quote
Unread 12-06-10, 01:37 AM  
zork
A Pyroguard Emberseer
 
zork's Avatar
AddOn Author - Click to view AddOns

Forum posts: 1740
File comments: 3728
Uploads: 77
Check the Blizzard code. The value of the tempenchants is saved in buffs.numEnchants. No need to hassle.
__________________
| Simple is beautiful.
| WoWI AddOns | GitHub | Zork (WoW)

"I wonder what the non-pathetic people are doing tonight?" - Rajesh Koothrappali (The Big Bang Theory)
Report comment to moderator  
Reply With Quote
Unread 12-06-10, 05:07 AM  
Julchen
A Deviate Faerie Dragon

Forum posts: 17
File comments: 54
Uploads: 0
Im not very well in lua :/
So i add the position of the BuffFrame in the updateBuffAnchors function.
Code:
  local updateBuffAnchors = function()
    --print(BUFF_ACTUAL_DISPLAY)
    local numBuffs = 0
    local buff, previousBuff, aboveBuff
	
	for i = 1, BUFF_ACTUAL_DISPLAY do
      buff = _G["BuffButton"..i]
      buff.consolidated = nil
      buff:SetParent(BuffFrame)
	  buff.parent = BuffFrame
	  buff:ClearAllPoints()
      numBuffs = numBuffs + 1
      index = numBuffs + BuffFrame.numEnchants

      if ((index > 1) and (mod(index, Buff.button.buffPerRow) == 1)) then
        if (index == Buff.button.buffPerRow + 1) then
          buff:SetPoint('TOP', TempEnchant1, 'BOTTOM', 0, -Buff.padding.y)
        else
          buff:SetPoint('TOP', BUFF_ABOVE, 'BOTTOM', 0, -Buff.padding.y)
        end
          aboveBuff = buff
        elseif (numBuffs == 1) then
          buff:SetPoint("TOPRIGHT", BuffFrame, "TOPRIGHT", 0, 0)
		  BuffFrame:SetPoint('TOPRIGHT', _G["TempEnchant"..BuffFrame.numEnchants], 'TOPLEFT', -Buff.padding.x, 0)
        else
          buff:SetPoint("RIGHT", previousBuff, "LEFT", -Buff.padding.x, 0)
        end      
      previousBuff = buff
    end   
  end
...but if i want to add it this way...
Code:
  local function position()
   BuffFrame:SetPoint('TOPRIGHT', _G["TempEnchant"..BuffFrame.numEnchants], 'TOPLEFT', -Buff.padding.x, 0)
  end
...
  local a = CreateFrame("Frame")

  a:SetScript("OnEvent", function(self, event, ...)
    local unit = ...
    if(event=="PLAYER_ENTERING_WORLD") then
      init()
      checkauras()
    end
    if (event=="UNIT_AURA") then
      if (unit == PlayerFrame.unit) then
        checkauras()
      end
	end
	if (event=="PLAYER_ENTERING_WORLD" or event=="UNIT_INVENTORY_CHANGED") then
	    position()
	end
  end)

  a:RegisterEvent("PLAYER_ENTERING_WORLD")
  a:RegisterEvent("UNIT_AURA")
  a:RegisterEvent("UNIT_INVENTORY_CHANGED")
it doesnt work right (doesnt update the position) - I think there is something missing in the position function but dont know what.
If i add
Code:
if (event=="PLAYER_ENTERING_WORLD" or event=="UNIT_INVENTORY_CHANGED" or event=="UNIT_AURA") then
he only update the position if a buff is updating.
Last edited by Julchen : 12-06-10 at 05:16 AM.
Report comment to moderator  
Reply With Quote
Unread 12-10-10, 09:34 PM  
Bytales
A Murloc Raider

Forum posts: 4
File comments: 60
Uploads: 1
How many buffs can the BuffFrameHolder contain ? How are the buff displayed when they are in excess, say 30 buffs ? In lines of 10 ? Or lines or 20 ? THis is what i am asking.

I have noticed in config lua the value is set to 10 so changing that changes max buffs per row. SO when a row get full another row is created beneath it ?

gap = 10, --gap in pixel between buff and debuff

Does that mean 10 pixels beneath the rows with buffs the debuff row is created ?
All the optiones that are set for the buff display are also set for the debuff ? (10 per row for instance )

Also what is the TempEnchant Holder ? What does it display ?

What is the size of a single buff in pixels ? can that be modified ?
Last edited by Bytales : 12-10-10 at 10:05 PM.
Report comment to moderator  
Reply With Quote
Unread 12-11-10, 01:18 PM  
zork
A Pyroguard Emberseer
 
zork's Avatar
AddOn Author - Click to view AddOns

Forum posts: 1740
File comments: 3728
Uploads: 77
You can change the size of your aura icons by changing the scale.
If you enchant your weapons with sth that does not last forever that would be a tempEnchant.
The gap will seperate buff and debuffs by a value.

Don't care to much about values at first. Adjust them in case you want changes.

This mod does nothing but moving/styling the default player auras. So the default player aura settings are still in place. Afaik 32 buff slots and 16 debuff slots...and yes you can change the buffs per row with this mod.
__________________
| Simple is beautiful.
| WoWI AddOns | GitHub | Zork (WoW)

"I wonder what the non-pathetic people are doing tonight?" - Rajesh Koothrappali (The Big Bang Theory)
Last edited by zork : 12-11-10 at 01:20 PM.
Report comment to moderator  
Reply With Quote
Unread 12-12-10, 04:15 PM  
Bytales
A Murloc Raider

Forum posts: 4
File comments: 60
Uploads: 1
I have built in display capability of displaying 36 Buffs, 8 debuffs, and 8 tempenchants. Do you think i will ever break these values, or are these the most i will ever see.

I have seen a screenshot of a tanking warrior i believe it was, and it had 21 buffs in 1 debuff. So i dont think i will ever have on me more than 36 buffs and 8 debuffs at one time.

Also i have made the graphics UI able to display 8 temp enchants ? Isn\t that way to much ?

I have never raided before, wo thats why im asking how many buffs im suppose to see on me at the very most.

So if there are ppl here who have raided before, it would be interesting to hear from you guys the maximum number of buffs and debuffs you ever had on you, all though i think with 36 buffs, 8 debuffs, 8 temp enchants i will be pretty much covered.
Report comment to moderator  
Reply With Quote
Unread 12-14-10, 01:51 AM  
Porsha
A Black Drake

Forum posts: 88
File comments: 104
Uploads: 0
quick question - I have classcolored = true in the config but my duration is still the yellow color. I thought that option changed the text to class colored?

If not, how can I do that? thanks!
Report comment to moderator  
Reply With Quote
Unread 12-14-10, 05:31 AM  
zork
A Pyroguard Emberseer
 
zork's Avatar
AddOn Author - Click to view AddOns

Forum posts: 1740
File comments: 3728
Uploads: 77
You need a RGB to HEX function (you can get that from rDiabloPlates).

line 25
http://code.google.com/p/rothui/sour...core.lua?r=667

This is needed to calculate the hexadecimal color value of your classcolor once which comes in rgb. Once you have that value you can add color to a string.

Open rBuffFrameStyler/func/functions.lua and go to this
Code:
  --check duration
  local function durationSetText(duration, arg1, arg2)
    duration:SetText(format(string.gsub(arg1, " ", ""), arg2))
  end
to
Code:
  --check duration
  local function durationSetText(duration, arg1, arg2)
    duration:SetText(format("|cff"..MY_CLASS_COLOR..string.gsub(arg1, " ", "").."|r", arg2))
  end
my_class_color would be the local variable that you saved the hexadecimal color value in.

Advanced only. But doable.
__________________
| Simple is beautiful.
| WoWI AddOns | GitHub | Zork (WoW)

"I wonder what the non-pathetic people are doing tonight?" - Rajesh Koothrappali (The Big Bang Theory)
Last edited by zork : 12-14-10 at 05:31 AM.
Report comment to moderator  
Reply With Quote
Post A Reply



Category Jump: