/close
Вид для печати
/close
Трекинг? Аддонами нельзя, сишная часть все рисует
local RAID_CLASS_COLORS = RAID_CLASS_COLORS
local UnitIsPlayer = UnitIsPlayer
local UnitClass = UnitClass
hooksecurefunc("WorldMapUnit_Update",function(self)
local unitID = self.unit
if UnitIsPlayer(unitID) then
local _,class = UnitClass(unitID)
local color = RAID_CLASS_COLORS[class]
self.icon:SetVertexColor(color.r,color.g,color.b,1)
return
end
icon:SetVertexColor(1,1,1)
end)
- - - Updated - - -
но надо еще текстуру найти белую что бы цвета не смешивались
Аддон - Mapster пробовал? он должен тебя вполне устроить, по цветам показывает на карте всех.
https://www.mediafire.com/file/x54q3...orter.rar/file
это пробовал?
это только Вова сможет сделать, вон у него руки дошли рейдфреймы сделать, возможно и дойдут сюда
и дефолт карта не всегда дружит с комбатом
Worldwidex, дык ты напишешь ник свой, герой-баец или не? Мне даже стало интересно, кто это тут такой знаток пвп игр на бг/рбг
Эти текстуры лежат в Interface\Minimap\PartyRaidBlips.blp. Вот код с панд.
P.S. можете объяснить, в чем разница на миникарте в текстурах которые цельные и которые вырезанные?) Никогда не понимал этого.Код:local select = select
local GetNumRaidMembers, UnitIsPlayer, UnitClass, UnitInParty = GetNumRaidMembers, UnitIsPlayer, UnitClass, UnitInParty
local BLIP_TEX_COORDS = {
["WARRIOR"] = { 0, 0.125, 0, 0.25 },
["PALADIN"] = { 0.125, 0.25, 0, 0.25 },
["HUNTER"] = { 0.25, 0.375, 0, 0.25 },
["ROGUE"] = { 0.375, 0.5, 0, 0.25 },
["PRIEST"] = { 0.5, 0.625, 0, 0.25 },
["DEATHKNIGHT"] = { 0.625, 0.75, 0, 0.25 },
["SHAMAN"] = { 0.75, 0.875, 0, 0.25 },
["MAGE"] = { 0.875, 1, 0, 0.25 },
["WARLOCK"] = { 0, 0.125, 0.25, 0.5 },
["DRUID"] = { 0.25, 0.375, 0.25, 0.5 }
}
local BLIP_RAID_Y_OFFSET = 0.5;
for i=1,4 do
local partyIcon = _G["WorldMapParty"..i.."Icon"]
partyIcon:SetTexture('Interface\\Minimap\\PartyRaidBlips.blp')
end
for i=1,40 do
local raidIcon = _G["WorldMapRaid"..i.."Icon"]
raidIcon:SetTexture('Interface\\Minimap\\PartyRaidBlips.blp')
end
hooksecurefunc("WorldMapUnit_Update",function(self)
local unit = self.unit
if UnitIsPlayer(unit) then
local class = select(2, UnitClass(unit))
if ( GetNumRaidMembers() > 0 ) then
if ( UnitInParty(unit) ) then
self.icon:SetTexCoord(
BLIP_TEX_COORDS[class][1],
BLIP_TEX_COORDS[class][2],
BLIP_TEX_COORDS[class][3],
BLIP_TEX_COORDS[class][4]
);
else
self.icon:SetTexCoord(
BLIP_TEX_COORDS[class][1],
BLIP_TEX_COORDS[class][2],
BLIP_TEX_COORDS[class][3] + BLIP_RAID_Y_OFFSET,
BLIP_TEX_COORDS[class][4] + BLIP_RAID_Y_OFFSET
);
end
else
self.icon:SetTexCoord(
BLIP_TEX_COORDS[class][1],
BLIP_TEX_COORDS[class][2],
BLIP_TEX_COORDS[class][3],
BLIP_TEX_COORDS[class][4]
);
end
end
end)