Ответ: Roth UI (Diablo 3 style)
Все изменения нада вносить в oUF_D3Orbs.lua
1. Ищем в коде --target and castbar scale и добавляем 2 строчки
local totscale = 0.42 -- мащтаб для таргет оф таргет
local castbarscale = 0.62 -- мащтаб кастбаров
2. Ищем в коде таблицу frame_positions = { и добавляем 15 элементом в конец, а также изменяем
[3] = { a1 = "TOP", a2 = "TOP", af = "UIParent", x = 0, y = -250 }, --Target frame
[4] = { a1 = "CENTER", a2 = "CENTER", af = "oUF_D3Orbs2_TargetFrame", x = 280, y = -70 }, --tot
[12] = { a1 = "CENTER", a2 = "CENTER", af = "oUF_D3Orbs2_TargetFrame", x = 0, y = -70 }, --castbar target
[13] = { a1 = "CENTER", a2 = "CENTER", af = "UIParent", x = 0, y = -350 }, --castbar player
[15] = { a1 = "CENTER", a2 = "CENTER", af = "", x = -159, y = 0 }, --Target Portrait
Это настройки где будут фреймы, главное отличие - это добовление 15 елемента таблицы - положение портрета таргета.
3. Имщем в коде local function d3o2_createCastbar(self,unit) в конце этой функции последней строчкой написано self.Castbar:SetScale(targetscale) исправим на -> self.Castbar:SetScale(castbarscale)
4. Имщем в коде local function d3o2_createPortraits(self,unit) - эта функция создает портерты
Копируем ее и вставляем новую копию в код. Переименовываем в local function d3o2_createTargetPortraits(self,unit) - будет создавать портрет для Таргета.
Изменяем следующие строки в скопированной версии:
--create portraits func
local function d3o2_createPortraits(self,unit)
self.Portrait_bgf = CreateFrame("Frame",nil,self)
self.Portrait_bgf:SetPoint("BOTTOM",self.Health,"T OP",0,14)
self.Portrait_bgf:SetWidth(self.width+10)
self.Portrait_bgf:SetHeight(self.width+10)
local back = self.Portrait_bgf:CreateTexture(nil, "BACKGROUND")
back:SetPoint("TOPLEFT",self.Portrait_bgf,"TOPLEFT ",-15,15)
back:SetPoint("BOTTOMRIGHT",self.Portrait_bgf,"BOT TOMRIGHT",15,-15)
back:SetTexture("Interface\\AddOns\\rTextures\\sim plesquare_glow")
back:SetVertexColor(0, 0, 0, 0.7)
на
local function d3o2_createTargetPortraits(self,unit)
self.Portrait_bgf = CreateFrame("Frame",nil,self)
self.Portrait_bgf:SetPoint(tabvalues.frame_positions[15].a1,self.Health,tabvalues.frame_positions[15].a2, tabvalues.frame_positions[15].x,tabvalues.frame_positions[15].y)
self.Portrait_bgf:SetWidth(self.width/3)
self.Portrait_bgf:SetHeight(self.width/3)
local back = self.Portrait_bgf:CreateTexture(nil, "BACKGROUND")
back:SetPoint("TOPLEFT",self.Portrait_bgf,"TOPLEFT ",-7,7)
back:SetPoint("BOTTOMRIGHT",self.Portrait_bgf,"BOT TOMRIGHT",7,-7)
back:SetTexture("Interface\\AddOns\\rTextures\\sim plesquare_glow")
back:SetVertexColor(0, 0, 0, 0.7)
Далее делаем еше одну копию и называем ее local function d3o2_createTOTPortraits(self,unit) - будет рисовать портрет для ТОТ. Изменяем код вот так:
local function d3o2_createTOTPortraits(self,unit)
self.Portrait_bgf = CreateFrame("Frame",nil,self)
self.Portrait_bgf:SetPoint( "CENTER",self.Health,"CENTER", 0,70)
self.Portrait_bgf:SetWidth(self.width - 10 )
self.Portrait_bgf:SetHeight(self.width - 10 )
local back = self.Portrait_bgf:CreateTexture(nil, "BACKGROUND")
back:SetPoint("TOPLEFT",self.Portrait_bgf,"TOPLEFT ",-7,7)
back:SetPoint("BOTTOMRIGHT",self.Portrait_bgf,"BOT TOMRIGHT",7,-7)
back:SetTexture("Interface\\AddOns\\rTextures\\sim plesquare_glow")
back:SetVertexColor(0, 0, 0, 0.7)
Далее ищем в коде и добовляем вызов функции создания портета:
--create the target style
local function CreateTargetStyle(self, unit)
.
.
.
d3o2_createCastbar(self,unit) -- это уже есть в коде
d3o2_createLowHP(self,unit) -- это уже есть в коде
d3o2_createDebuffGlow(self,unit) -- это уже есть в коде
d3o2_createIcons(self,unit) -- это уже есть в коде
d3o2_createComboPoints(self,unit) -- это уже есть в коде
d3o2_createTargetPortraits(self,unit) -- это мы добавили
Далее ищем --create the tot style, а также изменяем его маштаб
local function CreateToTStyle(self, unit)
.
.
.
d3o2_createLowHP(self,unit) -- это уже есть в коде
d3o2_createDebuffGlow(self,unit) -- это уже есть в коде
d3o2_createIcons(self,unit) -- это уже есть в коде
d3o2_createTOTPortraits(self,unit) -- это мы добавили
.
.
.
self:SetAttribute('initial-scale', totscale)
end;
Все получаем - перемешенные фреймы , с портетами и настраеваемым маштабом, + отмаштабированные пермешенные кастбары.
З.Ы. Если что то не получиться могу выложить полный текст изменений или всю сборку целиком.