Hello,
What I want to do is in the chat bubbles have the units name color match their reaction to me.
Ive tried for the past 2 hours with everything I try it pops up a error.
Here is the code I'm currently using:
Code:
local function UpdateFrame(frame, guid, name)
if not frame.text then SkinFrame(frame) end
frame.inUse = true
if settings.showSender then
local class
if guid ~= nil and guid ~= "" then
_, class, _, _, _, _ = GetPlayerInfoByGUID(guid)
end
if name then
local color = RAID_CLASS_COLORS[class] or { r = 1, g = 1, b = 1 }
frame.sender:SetText(("|cFF%2x%2x%2x%s|r"):format(color.r * 255, color.g * 255, color.b * 255, name))
if frame.text:GetWidth() < frame.sender:GetWidth() then
frame.text:SetWidth(frame.sender:GetWidth())
end
end
end
end
But every thing the is a NPC or my Followers show up white text. I would like the to use my custom colors like this that is my Tooltip addon.
Tooltip Custom Colors:
Code:
CUSTOM_FACTION_BAR_COLORS = {
[1] = {r = 1, g = 0, b = 0},
[2] = {r = 1, g = 0, b = 0},
[3] = {r = 1, g = 1, b = 0},
[4] = {r = 1, g = 1, b = 0},
[5] = {r = 0, g = 1, b = 0},
[6] = {r = 0, g = 1, b = 0},
[7] = {r = 0, g = 1, b = 0},
[8] = {r = 0, g = 1, b = 0},
}
function GameTooltip_UnitColor(unit)
local r, g, b
if (UnitIsDead(unit) or UnitIsGhost(unit) or UnitIsTapDenied(unit)) then
r = 0.5
g = 0.5
b = 0.5
elseif (UnitIsPlayer(unit)) then
if (UnitIsFriend(unit, 'player')) then
local _, class = UnitClass(unit)
if ( class ) then
r = RAID_CLASS_COLORS[class].r
g = RAID_CLASS_COLORS[class].g
b = RAID_CLASS_COLORS[class].b
else
r = 0.60
g = 0.60
b = 0.60
end
elseif (not UnitIsFriend(unit, 'player')) then
r = 1
g = 0
b = 0
end
elseif (UnitPlayerControlled(unit)) then
if (UnitCanAttack(unit, 'player')) then
if (not UnitCanAttack('player', unit)) then
r = 157/255
g = 197/255
b = 255/255
else
r = 1
g = 0
b = 0
end
elseif (UnitCanAttack('player', unit)) then
r = 1
g = 1
b = 0
elseif (UnitIsPVP(unit)) then
r = 0
g = 1
b = 0
else
r = 157/255
g = 197/255
b = 255/255
end
else
local reaction = UnitReaction(unit, 'player')
if (reaction) then
r = CUSTOM_FACTION_BAR_COLORS[reaction].r
g = CUSTOM_FACTION_BAR_COLORS[reaction].g
b = CUSTOM_FACTION_BAR_COLORS[reaction].b
else
r = 157/255
g = 197/255
b = 255/255
end
end
return r, g, b
end
Ive tried addin the tolltip colors to the chat buble lua and the did this line:
Code:
local color = RAID_CLASS_COLORS[class] or { r = GameTooltip_UnitColor(unit).r, g = GameTooltip_UnitColor(unit).g, b = GameTooltip_UnitColor(unit).b }
but it give me an error thet there is no unit.
I'm not the greatest at coding but I most of the time can fumble my way threw.
Any help would be great.
Thanks
Coke