Download
(287Kb)
Download
Updated: 06-30-11 01:17 PM
Pictures
File Info
Updated:06-30-11 01:17 PM
Created:03-20-10 10:29 PM
Downloads:32,749
Favorites:168
MD5:

oUF Hank  Popular! (More than 5000 hits)

Version: v3.0.10c
by: hankthetank [More]



Supported frames

  • Player
  • Target
  • ToT
  • TToT
  • Focus
  • ToF
  • Pet
  • Boss

The layout does not include party or raid frames!


Features
  • Compact, text based design
  • HP percentage fill serves as life bar
  • Custom graphics for status and raid icons
  • System for custom modifications
    • Possibility to override every single detail of this layout without touching the original code (LUA knowledge required)
    • No rewriting of your customizations after a patch
    • Share your copy & paste ready code snippets with others
  • Aura filtering:
    • Sticky auras: Always visible & colored. Can be disabled
      • Your buffs
      • Your debuffs
      • Pet debuffs
      • Curable debuffs
      • Enemy's own buffs
    • Maximum buff & debuff cap
    • White- and blacklists
    • Target and focus auras can be configured separately
  • Cast- & mirrorbars
  • DK runes, combo points, holy power, soul shards, eclipse bar
  • Experience / reputation
  • Support for:
    • oUF_SpellRange
    • oUF_TotemBar


Configuration

There is a broad range of options inside the config.lua file. Knowledge in LUA is not not necessarily mandatory but beneficial. Some of the things you can configure:
  • Frame scale and positions
  • Colors and fonts
  • Fill and border textures
  • Aura filtering and appearance
  • Range fading
  • Threat indication
  • Several castbar options


FAQ's and articles

Visit my author portal

3.0.10c
  • TOC bump
  • Bug fix: Eclipse bar should work properly again.

3.0.10b
  • TOC bump
  • Removed pet happiness

3.0.10
  • Features
    • Boss frames
    • Added configuration option for name abbreviation
  • Bug fixes
    • Recompiled some textures to hopefully fix white edges
    • Reputation display now updates correctly

3.0.9
  • Eclipse bar
  • Updated dispel mechanics for cataclysm
  • Additional status icons with new configuration option (order & visibility)
  • Bug fix: Dispellable debuffs now update on talent changes

3.0.8
  • Updated to oUF 1.5 & WoW 4.0.1
  • Holy power added
  • Soul shards added
  • Bug fixes:
    • Removed unnecessary cast bar animations after instant spells
    • Vehicle context menu
    • Vehicle tags

3.0.7
  • Display for experience & reputation
  • Updated to new oUF_SpellRange version
  • Bugfix for unknown power types

3.0.6
  • Updated to oUF 1.4
  • Got rid of some obsolete code
  • Removed ugly hacky hooks
  • Minor bugfixes

3.0.5
  • Castbars integrated
  • Mirrorbars
  • Custom modifications system introduced
  • Focus target added
  • Aura filtering additions:
    • StickyAura option: petDebuffs
    • myDebuffs now covers player's vehicles
  • Removed ButtonFacade support for now
  • Minor visual improvements
    • Aura duration spiral reversed
    • Aura mouseover icon skinned
    • Color overlay for StickyAuras now configurable

3.0.4
  • New aura filter features:
    • All aura settings can now be configured separately for target and focus
    • Buffs and debuffs now can have different filter methods
  • Fix for buff and debuff spacing
  • NEW CONFIG.LUA OPTIONS! PLEASE BACKUP YOUR OLD CONFIG! You can use your old config as long as you replace the "Aura filters" part starting at line 100 with the new version.

3.0.3b
  • Fixed an issue with combo points
  • Minor visual improvement of border textures

3.0.3
  • Combo points
  • Custom aura borders & aura spacing
  • Option to not hide Blizzard party frames in config
  • ButtonFacade support

3.0.2
  • Death Knight runes
  • Support for oUF_TotemBar
  • Option for focus frame scale

3.0.1
  • Advanced aura filtering
  • oUF_SpellRange support
  • Bugfixes
Optional Files (1)
File Name
Version
Size
Author
Date
Type
3
254kB
03-22-10 04:53 PM
Patch


Post A Reply Comment Options
Unread 11-19-10, 07:47 AM  
domagotchi
A Defias Bandit

Forum posts: 3
File comments: 11
Uploads: 0
Moonkin Eclipse Bar

hello people,

does anybody know how to implement the new moonkin bar into this amazing addon??

thanks in advance
dj
Last edited by domagotchi : 11-19-10 at 07:48 AM.
Report comment to moderator  
Reply With Quote
Unread 11-07-10, 05:25 AM  
leempi
A Kobold Labourer

Forum posts: 0
File comments: 8
Uploads: 0
Originally posted by Gorunnus
so for now im stoping any development and upgrading of this addon, im sorry boys, i was eager to see party frames too..
I managed to get some text onto the frames, power and current health, but I couldn't replicate the main styles.

I've pretty much given up as well, each addon seems to do it differently, either with tags or some other direct function.

Is there proper documentation somewhere? I haven't been able to find any.
Report comment to moderator  
Reply With Quote
Unread 11-06-10, 03:26 PM  
Gorunnus
A Murloc Raider

Forum posts: 4
File comments: 72
Uploads: 0
Originally posted by hankthetank
.....
Im out of ideas here.. my oUF is 1.5.4, im using last oUF_Hank, downoladed from this site, my curently active addons are:

oUF
oUF_Hank
oUF_SpellRange
oUF_TotemBar

I must sadly say that i give up, for now.. I have RL issues (issues with BF, and i recently lost very dear person so i cant focus on this) and i cant commit to game and Hank development as it is. Beside that i have big pressure at my work, so for now im stoping any development and upgrading of this addon, im sorry boys, i was eager to see party frames too..
Last edited by Gorunnus : 11-06-10 at 03:30 PM.
Report comment to moderator  
Reply With Quote
Unread 11-03-10, 09:46 AM  
hankthetank
A Theradrim Guardian
 
hankthetank's Avatar
AddOn Author - Click to view AddOns

Forum posts: 64
File comments: 132
Uploads: 6
Originally posted by Gorunnus
First of all i must say ty for u effort to help us, or me in creating party frames, i really appreciate ur good intentions and/or good will for sparing little bit of free time for us/me.

BUT! (yes, again but..) Again u code didnt help me.. Again, no party frame
Beleve me or not i even tryed complete copy of ur "Friendpaste" code, but again.. Nothing.. Dunno why, i checked whole code few times, to see did i make any errors during copy/paste, and yet again, nothing
Well that is strange. I'm running out of ideas here. Are there any addons enabled that might interfere with party frames? Have you done any changes to files other than hank_v3.lua? I don't have "Use raid style party frames" checked in the interface options but I doubt that has anything to do with it. I have to say this flabbergasts me. Is your oUF version up to date?
Last edited by hankthetank : 11-03-10 at 09:50 AM.
Report comment to moderator  
Reply With Quote
Unread 11-03-10, 07:40 AM  
Gorunnus
A Murloc Raider

Forum posts: 4
File comments: 72
Uploads: 0
Originally posted by hankthetank
...Take my code here which produces the following:


...
First of all i must say ty for u effort to help us, or me in creating party frames, i really appreciate ur good intentions and/or good will for sparing little bit of free time for us/me.

BUT! (yes, again but..) Again u code didnt help me.. Again, no party frame
Beleve me or not i even tryed complete copy of ur "Friendpaste" code, but again.. Nothing.. Dunno why, i checked whole code few times, to see did i make any errors during copy/paste, and yet again, nothing
Last edited by Gorunnus : 11-03-10 at 07:41 AM.
Report comment to moderator  
Reply With Quote
Unread 11-03-10, 04:56 AM  
leempi
A Kobold Labourer

Forum posts: 0
File comments: 8
Uploads: 0
You need to put it separately under

Code:
oUF_Hank.sharedStyle = function(self, unit, isSingle)
I put it directly beneath

Code:
self.colors = cfg.colors
...and remove any or unit == "player" you may have added: Which gives you a unit frame with the name in it.

I don't think we can hook into existing functions right? (For example local HealthPoints =). We would need to duplicate each of those for the party frames.

At work atm so will let you know how I go

EDIT: Really appreciate you dropping in and providing a guiding hand with this HankTheTank
Last edited by leempi : 11-03-10 at 04:58 AM.
Report comment to moderator  
Reply With Quote
Unread 11-03-10, 03:00 AM  
hankthetank
A Theradrim Guardian
 
hankthetank's Avatar
AddOn Author - Click to view AddOns

Forum posts: 64
File comments: 132
Uploads: 6
Well.... this works for me. Let's sort out the easy ones first. You noticed that your part of the code is enclosed in this condition:

if unit == "player" or unit == "target" or unit == "focus" then
end

?

If everything else fails why not try to work bottom up. Take my code here which produces the following:



Then insert your additions and see where the problem begins.
Last edited by hankthetank : 11-03-10 at 03:22 AM.
Report comment to moderator  
Reply With Quote
Unread 11-02-10, 07:58 PM  
Gorunnus
A Murloc Raider

Forum posts: 4
File comments: 72
Uploads: 0
Ty love <3.

BUT...Hank, im not ungrateful or anything similar, but u code arent working.. it just moves my ToT frame on position of Party1 frame and thats it.. I checked, the frame isnt even spawned, but maybe im doing something wrong.

I added here first part of code:
Code:
		if unit == "player" or unit == "focus" then
			health[4]:SetPoint("RIGHT")
			health[3]:SetPoint("RIGHT", health[4], "LEFT")
			health[2]:SetPoint("RIGHT", health[3], "LEFT")
			health[1]:SetPoint("RIGHT", health[2], "LEFT")
		elseif unit == "target" or unit == "targettarget" then
			health[4]:SetPoint("LEFT")
			health[3]:SetPoint("LEFT", health[4], "RIGHT")
			health[2]:SetPoint("LEFT", health[3], "RIGHT")
			health[1]:SetPoint("LEFT", health[2], "RIGHT")		
		elseif unit == "party" then
			self:SetBackdrop({bgFile = "Interface\\ChatFrame\\ChatFrameBackground"})
			self:SetBackdropColor(0, 1, 1, 0.5)

			name = self:CreateFontString(nil, "OVERLAY")
			name:SetFontObject("UFFontBig")
			name:SetAllPoints(self)
			self:Tag(name, "[name]")
			self.Name = name
		end
and the second in frame creation part:

Code:
oUF:Spawn("targettarget", "oUF_ToT"):SetPoint("BOTTOMLEFT", UIParent, "TOPLEFT",0, -cfg.FocusFrameMarginY)
oUF:Spawn("focus", "oUF_focus"):SetPoint("CENTER", UIParent, "CENTER", 0, -cfg.FocusFrameMarginY)
oUF:Spawn("focustarget", "oUF_ToF"):SetPoint("BOTTOMRIGHT", oUF_focus, "TOPRIGHT",-13,0)
oUF:SpawnHeader("oUF_partytime", nil, "raid,party,solo", "showParty", true, "showSolo", true, "showPlayer", true, "oUF-initialConfigFunction", [[
	self:SetWidth(150)
	self:SetHeight(25)
]]):SetPoint("LEFT", UIParent, "LEFT")
Again, im not ungrateful or anything similar but i already tryed similar solution without any success, thats why im having hard time making them work.
Report comment to moderator  
Reply With Quote
Unread 11-02-10, 05:20 PM  
hankthetank
A Theradrim Guardian
 
hankthetank's Avatar
AddOn Author - Click to view AddOns

Forum posts: 64
File comments: 132
Uploads: 6
The mere purpose of that function is to reanchor the raid icon after a name update be it due to changing the focus or the unit updating its flags.

The name in this case...

Hank
37k/49.2k


is shorter than the power display as opposed to this:

<Away> Hank
37k/49.2k


there is also part of code, mainly first part of hankv3.lua where oUF stings are called, if u look carefully u will see that there are strings like "oUF_Player", "oUF_Target" and rest of them.. i think that u need to add oUF party tag there too, i presume that is "oUF_Party", but im not sure..
This parameter sets the global frame name. You could just as well call it "myAwesomePartyHeader" and then debug your frame with /print myAwesomePartyHeader.

-----------

@Gorunnus:

After I started to feel bad for you I cobbled together these quick and dirty party frames to give you something to start with.

This belongs into sharedStyle:

Code:
if unit == "party" then
	self:SetBackdrop({bgFile = "Interface\\ChatFrame\\ChatFrameBackground"})
	self:SetBackdropColor(0, 1, 1, 0.5)

	name = self:CreateFontString(nil, "OVERLAY")
	name:SetFontObject("UFFontBig")
	name:SetAllPoints(self)
	self:Tag(name, "[name]")
	self.Name = name
end
That is the spawn function:

Code:
oUF:SpawnHeader("oUF_partytime", nil, "raid,party,solo", "showParty", true, "showSolo", true, "showPlayer", true, "oUF-initialConfigFunction", [[
	self:SetWidth(150)
	self:SetHeight(25)
]]):SetPoint("LEFT", UIParent, "LEFT")
Last edited by hankthetank : 11-02-10 at 06:30 PM.
Report comment to moderator  
Reply With Quote
Unread 11-02-10, 04:51 PM  
Pyrates
A Cliff Giant
 
Pyrates's Avatar
AddOn Author - Click to view AddOns

Forum posts: 77
File comments: 280
Uploads: 4
Here's something for our changed focus frame: Add

Code:
elseif unit == "focus" then
		self.RaidIcon = self:CreateTexture(nil, "OVERLAY")
		self.RaidIcon:SetSize(40, 40)
		self.RaidIcon:SetTexture("Interface\\AddOns\\oUF_Hank_v3\\textures\\raidicons.blp")
		self.RaidIcon:SetPoint("RIGHT", self.name, "LEFT", -15, 0)
		self.RaidIcon:SetPoint("TOP", self, "TOP", 0, -5)
at line 620 of hank_v3.lua and remove that condition from line 605. Not totally sure if that's all of it, because hank registers a function to deal with name changes, but I'm not clear on the possibility of your focus changing its name ^^
__________________
" ... and the Vogon will do things to you that you wish you'd never been born, or, if you're a clearer minded thinker, that the Vogon had never been born."
Report comment to moderator  
Reply With Quote
Unread 11-02-10, 01:21 PM  
Gorunnus
A Murloc Raider

Forum posts: 4
File comments: 72
Uploads: 0
Originally posted by leempi
Any ideas? Looks like it's hitting a health update and the party is not defined somewhere?
Well.. If i understand You right, u just added
Code:
unit == "party"
where is that needed..
there is also part of code, mainly first part of hankv3.lua where oUF stings are called, if u look carefully u will see that there are strings like "oUF_Player", "oUF_Target" and rest of them.. i think that u need to add oUF party tag there too, i presume that is "oUF_Party", but im not sure..

Anyway.. i see that u got 300+ lua errors, i menage to make with 2-5 errors, but they are critical errors so they break my UI..

Come on ppl, lets make busy and make some party frames.
Report comment to moderator  
Reply With Quote
Unread 11-02-10, 12:33 PM  
leempi
A Kobold Labourer

Forum posts: 0
File comments: 8
Uploads: 0
Alrighty, we have some party frames with the following (+ unit == party in places):

Code:
local party = oUF:SpawnHeader("party", nil, "raid,party,solo", "showParty", true, "showPlayer", true, "showSolo", true):SetPoint("RIGHT", UIParent, "CENTER", -cfg.FrameMargin[1], -cfg.FrameMargin[2])
Which results in:

Code:
Message: Interface\AddOns\oUF_Hank_v3\hank_v3.lua:146: attempt to index field '?' (a nil value)
Time: Tue Nov  2 22:28:46 2010
Count: 312
Stack: [C]: ?
Interface\AddOns\oUF_Hank_v3\hank_v3.lua:146: in function `func'
Interface\AddOns\oUF\ouf.lua:297: in function <Interface\AddOns\oUF\ouf.lua:292>
[C]: in function `Show'
Interface\FrameXML\SecureGroupHeaders.lua:211: in function <Interface\FrameXML\SecureGroupHeaders.lua:115>
Interface\FrameXML\SecureGroupHeaders.lua:453: in function `SecureGroupHeader_Update'
Interface\FrameXML\SecureGroupHeaders.lua:57: in function <Interface\FrameXML\SecureGroupHeaders.lua:52>
[C]: in function `SetAttribute'
Interface\FrameXML\SecureStateDriver.lua:101: in function <Interface\FrameXML\SecureStateDriver.lua:95>
Interface\FrameXML\SecureStateDriver.lua:127: in function <Interface\FrameXML\SecureStateDriver.lua:119>

Locals: self = partyUnitButton1 {
 0 = <userdata>
 Combat = <unnamed> {
 }
 Execute = <function> defined @Interface\FrameXML\SecureHandlers.lua:713
 PLAYER_ENTERING_WORLD = <function> defined @Interface\AddOns\oUF\ouf.lua:292
 Leader = <unnamed> {
 }
 unit = "player"
 UnwrapScript = <function> defined @Interface\FrameXML\SecureHandlers.lua:724
 Resting = <unnamed> {
 }
 SetFrameRef = <function> defined @Interface\FrameXML\SecureHandlers.lua:729
 PARTY_LEADER_CHANGED = <function> defined @Interface\AddOns\oUF\elements\leader.lua:13
 healthFill = <table> {
 }
 UNIT_MAXHEALTH = <function> defined @Interface\AddOns\oUF_Hank_v3\hank_v3.lua:479
 __elements = <table> {
 }
 RAID_TARGET_UPDATE = <function> defined @Interface\AddOns\oUF\elements\ricons.lua:19
 PARTY_MEMBERS_CHANGED = <function> defined @Interface\AddOns\oUF\elements\leader.lua:13
 WrapScript = <function> defined @Interface\FrameXML\SecureHandlers.lua:718
 power = <unnamed> {
 }
 health = <table> {
 }
 UNIT_ENTERED_VEHICLE = <function> defined @Interface\AddOns\oUF\elements\vehicle.lua:4
 SpellRange = <table> {
 }
 RaidIcon = <unnamed> {
 }
 UNIT_HEALTH = <function> defined @Interface\AddOns\oUF_Hank_v3\hank_v3.lua:471
 menu = <function> defined @Interface\AddOns\oUF_Hank_v3\hank_v3.lua:53
 name = <unnamed> {
 }
 __tags = <table> {
 }
 colors = <table> {
 }
 UNIT_EXITED_VEHICLE = <function> defined @Interface\AddOns\oUF\elements\vehicle.lua:4
 style = "Hankv3"
}
h = 28190
hMax = 28190
status = nil
hPerc = "100%"
len = 4
(for index) = 1
(for limit) = 4
(for step) = 1
i = 1
digit = nil
(*temporary) = <function> defined =[C]:-1
(*temporary) = <unnamed> {
 0 = <userdata>
}
(*temporary) = nil
(*temporary) = nil
(*temporary) = nil
(*temporary) = nil
(*temporary) = nil
(*temporary) = "attempt to index field '?' (a nil value)"
oUF_Hank = <table> {
 OnEnterAura = <function> defined @Interface\AddOns\oUF_Hank_v3\hank_v3.lua:300
 PostUpdateName = <function> defined @Interface\AddOns\oUF_Hank_v3\hank_v3.lua:211
 PreSetPosition = <function> defined @Interface\AddOns\oUF_Hank_v3\hank_v3.lua:347
 PostChannelStart = <function> defined @Interface\AddOns\oUF_Hank_v3\hank_v3.lua:394
 sharedStyle = <function> defined @Interface\AddOns\oUF_Hank_v3\hank_v3.lua:459
 PostUpdateIcon = <function> defined @Interface\AddOns\oUF_Hank_v3\hank_v3.lua:223
 UpdateHealth = <function> defined @Interface\AddOns\oUF_Hank_v3\hank_v3.lua:117
 PostSpawnFrames = <function> defined @Interface\AddOns\oUF_Hank_v3\hank_v3.lua:453
 PostCastStart = <function> defined @Interface\AddOns\oUF_Hank_v3\hank_v3.lua:362
 digitTexCoords = <table> {
 }
 PostCastStop = <function> defined @Interface\AddOns\oUF_Hank_v3\hank_v3.lua:433
 HideParty = <function> defined @Interface\AddOns\oUF_Hank_v3\hank_v3.lua:69
 AdjustMirrorBars = <function> defined @Interface\AddOns\oUF_Hank_v3\hank_v3.lua:84
 PostCastSucceeded = <function> defined @Interface\AddOns\oUF_Hank_v3\hank_v3.lua:424
 menu = <function> defined @Interface\AddOns\oUF_Hank_v3\hank_v3.lua:53
 customFilter = <function> defined @Interface\AddOns\oUF_Hank_v3\hank_v3.lua:257
 UpdateStatus = <function> defined @Interface\AddOns\oUF_H
Any ideas? Looks like it's hitting a health update and the party is not defined somewhere?
Last edited by leempi : 11-02-10 at 12:50 PM.
Report comment to moderator  
Reply With Quote
Unread 11-02-10, 11:48 AM  
Gorunnus
A Murloc Raider

Forum posts: 4
File comments: 72
Uploads: 0
Originally posted by leempi
....
Ah.. well u see, i already know all that, and i already tryed that too, in the matter of fact, that was my second choice, but again without success..

anyway.. let us know if u menage to do something.
Report comment to moderator  
Reply With Quote
Unread 11-02-10, 11:13 AM  
leempi
A Kobold Labourer

Forum posts: 0
File comments: 8
Uploads: 0
Man this has some bad documentation if you want to get started.

As far as I can figure out two things need to happen, we need to define some settings for a frame, and then spawn a frame and reference those settings.

I believe you have to spawn some party frames using the following in the frame creation area, bottom of the Hank.ua:

Code:
local party = oUF:SpawnHeader("party", nil, nil, visible, "showParty", true, "yOffset", -32)
From what i've been reading most UI's use this:

Code:
local party = oUF:SpawnHeader("party", "oUF_Party", nil, visible, "showParty", true, "yOffset", -32)
However, that results in an error Couldn't find inherited node "oUF_Party".

I can't figure out which one is the oUF "template" (party or oUF_Party) and which is the variable we are defining to reference in the Hank.lua. What exactly is the "party" doing and what is the "oUF_Party" doing?

EDIT: Looking at oUF.ua :

Code:
function oUF:SpawnHeader(overrideName, template, visibility, ...)
Would mean that "party" is what we use to refer to the party frames in Hank.lua, to add styles. the template would be oUF_Party ... which it can't find. What does oUF use then for a party template?

That said, if the first bit of code is right, I think we need to add the following to frame constructor, so "party" has something to display:

1. Everywhere a "unit" is defined and you want to use what is defined (e.g. -- HP%, -- Power, threat, -- Name) add

Code:
or unit == "party"
2. For specialty cases, like the -- HP% add things like:

Code:
if unit == "player" then
	health[4]:SetPoint("RIGHT")
	health[3]:SetPoint("RIGHT", health[4], "LEFT")
	health[2]:SetPoint("RIGHT", health[3], "LEFT")
	health[1]:SetPoint("RIGHT", health[2], "LEFT")
elseif unit == "party" then
	health[4]:SetPoint("RIGHT")
	health[3]:SetPoint("RIGHT", health[4], "LEFT")
	health[2]:SetPoint("RIGHT", health[3], "LEFT")
	health[1]:SetPoint("RIGHT", health[2], "LEFT")
And it should work. Is that right?

Trying and will let you all know
Last edited by leempi : 11-02-10 at 11:42 AM.
Report comment to moderator  
Reply With Quote
Unread 11-02-10, 07:18 AM  
leempi
A Kobold Labourer

Forum posts: 0
File comments: 8
Uploads: 0
I'll have a look tonight and see how I do with it.
Report comment to moderator  
Reply With Quote
Post A Reply



Category Jump:

Support AddOn Development!

You have just downloaded by the author . If you like this AddOn why not consider supporting the author? This author has set up a donation account. Donations ensure that authors can continue to develop useful tools for everyone.