매크로를 직접 만들어 쓰고있는 사람입니다.
일단 스크린샷을 봐주시기 바랍니다.
이름부분의 색깔을 기존(왼쪽)에서 오른쪽으로 변경해서 쓰고 있는데
체력바 색깔처럼 파스텔톤? 이라고 해야 되나?
그렇게 변경 하고 싶은데 좀 어렵네요
아시는분 들 댓글좀 부탁드립니다.
--[체력바 색상 넣기]
local UnitIsPlayer, UnitIsConnected, UnitClass, RAID_CLASS_COLORS =
UnitIsPlayer, UnitIsConnected, UnitClass, RAID_CLASS_COLORS
local _, class, c
local function colour(statusbar, unit)
if UnitIsPlayer(unit) and UnitIsConnected(unit) and unit == statusbar.unit and UnitClass(unit) then
_, class = UnitClass(unit)
c = CUSTOM_CLASS_COLORS and CUSTOM_CLASS_COLORS[class] or RAID_CLASS_COLORS[class]
statusbar:SetStatusBarColor(c.r, c.g, c.b)
end
end
hooksecurefunc("UnitFrameHealthBar_Update", colour)
hooksecurefunc("HealthBar_OnValueChanged", function(self)
colour(self, self.unit)
end)
local sb = _G.GameTooltipStatusBar
local addon = CreateFrame("Frame", "StatusColour")
addon:RegisterEvent("UPDATE_MOUSEOVER_UNIT")
addon:SetScript("OnEvent", function()
colour(sb, "mouseover")
end)
-- [이름표쪽 직업 색상넣기 ]
local function colour(statusbar, unit)
local _, class, c
if UnitIsPlayer(unit) and UnitIsConnected(unit) and unit == statusbar.unit and UnitClass(unit) then
_, class = UnitClass(unit)
c = CUSTOM_CLASS_COLORS and CUSTOM_CLASS_COLORS[class] or RAID_CLASS_COLORS[class]
statusbar:SetStatusBarColor(c.r, c.g, c.b)
end
end
hooksecurefunc("UnitFrameHealthBar_Update", colour)
hooksecurefunc("HealthBar_OnValueChanged", function(self)
colour(self, self.unit)
end)
local frame = CreateFrame("FRAME")
frame:RegisterEvent("GROUP_ROSTER_UPDATE")
frame:RegisterEvent("PLAYER_TARGET_CHANGED")
frame:RegisterEvent("PLAYER_FOCUS_CHANGED")
frame:RegisterEvent("UNIT_FACTION")
local function eventHandler(self, event, ...)
if UnitIsPlayer("target") then
c = RAID_CLASS_COLORS[select(2, UnitClass("target"))]
TargetFrameNameBackground:SetVertexColor(c.r, c.g, c.b)
end
if UnitIsPlayer("focus") then
c = RAID_CLASS_COLORS[select(2, UnitClass("focus"))]
FocusFrameNameBackground:SetVertexColor(c.r, c.g, c.b)
end
if PlayerFrame:IsShown() and not PlayerFrame.bg then
c = RAID_CLASS_COLORS[select(2, UnitClass("player"))]
bg=PlayerFrame:CreateTexture()
bg:SetPoint("TOPLEFT",PlayerFrameBackground)
bg:SetPoint("BOTTOMRIGHT",PlayerFrameBackground,0,22)
bg:SetTexture(TargetFrameNameBackground:GetTexture())
bg:SetVertexColor(c.r,c.g,c.b)
PlayerFrame.bg=true
end
end
frame:SetScript("OnEvent", eventHandler)