|
2017-07-30 17:13
조회: 5,117
추천: 2
유닛프레임 위쪽 직업색상매크로를 직접 만들어 쓰고있는 사람입니다. 일단 스크린샷을 봐주시기 바랍니다. ![]() 이름부분의 색깔을 기존(왼쪽)에서 오른쪽으로 변경해서 쓰고 있는데 체력바 색깔처럼 파스텔톤? 이라고 해야 되나? 그렇게 변경 하고 싶은데 좀 어렵네요 아시는분 들 댓글좀 부탁드립니다. --[체력바 색상 넣기] 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) |

추적