http://forum.wowcircle.com/showthread.php?t=410428 почитай , в принципи если убрать от туда салидный кусок кода (замену текстурок и кастбары с размерами), то останется как раз код с поиском регионов и все что тебе останется делать это overlayRegion:GetTexture():SetVertexColor(0,0,0) и текстурки станут черными. Даже картинки распаковывать и искать не придется.
- - - Updated - - -
Не хотел пугать некого) Это будет наиболее короткий пусть к достижению твоей цели =)
PHP код:
local numChildren = -1
local frames = {}
local function SkinObjects(frame)
local _, ovr, _, _, _, _, _, _, _, _, st = frame:GetRegions()
frames[frame] = true
ovr:SetVertexColor(0,0,0)
st:SetVertexColor(0,0,0)
end
local select = select
local function HookFrames(...)
for index = 1, select("#", ...) do
local frame = select(index, ...)
local region = frame:GetRegions()
if(not frames[frame] and not frame:GetName() and region and region:GetObjectType() == "Texture" and region:GetTexture() == [=[Interface\TargetingFrame\UI-TargetingFrame-Flash]=]) then
SkinObjects(frame)
end
end
end
local t = .1
CreateFrame("Frame"):SetScript("OnUpdate", function(self, elapsed)
if(WorldFrame:GetNumChildren() ~= numChildren) then
numChildren = WorldFrame:GetNumChildren()
HookFrames(WorldFrame:GetChildren())
end
end)