ку, трайни:
PHP код:
local lastChildren, WorldFrame, C_NamePlate = 0, WorldFrame, C_NamePlate
local function IsNamePlateFrame(obj)
local Object = obj
local Name = Object:GetName()
local OverlayRegion = select(2, Object:GetRegions())
if (Name) then
return
end
return OverlayRegion and OverlayRegion:GetObjectType() == "Texture" and
OverlayRegion:GetTexture() == [=[Interface\Tooltips\Nameplate-Border]=]
end
local function ScanWorldFrameChildren(n, ...)
if C_NamePlate then
for _,nameplate in pairs(C_NamePlate.GetNamePlates()) do
local nameRegion = nameplate.nameTextRegion or select(7, nameplate:GetRegions())
if nameRegion then
--print(nameRegion:GetText(),"1")
nameRegion:Hide()
end
end
else
for i = 1, n do
local Object = select(i, ...)
if Object:IsShown() and IsNamePlateFrame(Object) then
local nameRegion = Object.nameTextRegion or select(7, Object:GetRegions())
if nameRegion then
--print(nameRegion:GetText(),"2")
nameRegion:Hide()
end
end
end
end
end
local function FindNameplates()
local curChildren = WorldFrame:GetNumChildren()
if curChildren ~= lastChildren then
lastChildren = curChildren
ScanWorldFrameChildren(curChildren, WorldFrame:GetChildren())
end
end
CreateFrame('frame'):SetScript('OnUpdate', function()
FindNameplates()
end)