Сказал бы что за сборка написал бы поумнее. А так вот универсально -
Код:
-- Скрыть иконку настроения питомца (полностью убрать с экрана)
local f = CreateFrame("Frame")
f:RegisterEvent("PLAYER_LOGIN")
f:RegisterEvent("UNIT_PET")
f:SetScript("OnEvent", function()
local p = _G.PetFrameHappiness
if p and p.Hide then p:Hide() end
end)
Код:
-- Затемнить иконку настроения питомца (только текстуры внутри фрейма)
local dim = { r = 0.37, g = 0.37, b = 0.37, a = 1 } -- балуйся
local function darkenRegion(obj)
if not obj then return end
local t = obj.GetObjectType and obj:GetObjectType()
if t == "Texture" then
obj:SetVertexColor(dim.r, dim.g, dim.b, dim.a)
elseif (t == "Frame" or t == "Button") and obj.GetRegions then
for _, r in ipairs{ obj:GetRegions() } do
darkenRegion(r)
end
end
end
local f = CreateFrame("Frame")
f:RegisterEvent("PLAYER_LOGIN")
f:RegisterEvent("UNIT_PET")
f:SetScript("OnEvent", function(_, _, unit)
if unit and unit ~= "player" then return end
darkenRegion(_G.PetFrameHappiness)
end)