Thread: Beginner
View Single Post
04-11-18, 02:16 PM   #42
Kkthnx
A Cobalt Mageweaver
 
Kkthnx's Avatar
AddOn Author - Click to view addons
Join Date: Aug 2011
Posts: 247
Originally Posted by GreyFox777 View Post
Hey guys, why my health color are not refreshing automatically if entering AFK?

local function UpdateHealthColor(health, unit, cur, max)
health:RegisterEvent('PLAYER_FLAGS_CHANGED')
local r, g, b, t
-- local afk = UnitIsAFK(unit)

if(health.disconnected and health.colorDisconnected or UnitIsDeadOrGhost(unit)) then
health:SetValue(max)
t = colors.disconnected
elseif(health.colorTapping and not UnitPlayerControlled(unit) and UnitIsTapDenied(unit)) then
t = colors.tapped

elseif UnitIsAFK(unit) then
r, g, b = 1, 0, 0
health:SetScript('OnEvent', UpdateHealthColor)

elseif(health.colorSmooth) then
r, g, b = health.__owner.ColorGradient(cur, max, unpack(colors.smooth))
else
t = colors.health
end

if(t) then
r, g, b = t[1], t[2], t[3]
end

if(b) then
health:SetStatusBarColor(r, g, b)
end
end
First off a really good practice is to keep your code clean and readable. Second, are you using frequentUpdates?

Here is your code in ghostbin
https://ghostbin.com/paste/ukhcu

Maybe you need to run Health.PostUpdate = UpdateHealthColor? I don't member really just assuming atm. Going to look into it when I get home though for you.
__________________
Success isn't what you've done compared to others. Success is what you've done compared to what you were made to do.
  Reply With Quote