Red de conocimiento informático - Consumibles informáticos - ¿Cómo configurar el complemento OUF de avatar de World of Warcraft?

¿Cómo configurar el complemento OUF de avatar de World of Warcraft?

Introducción oUF es un complemento de avatar altamente personalizado.... El diseño se logra definiendo su propio archivo de diseño. Sin configuración de comando, adecuado para jugadores intermedios y avanzados, por supuesto, aquellos que no lo harán. modificarlo también puede pasar directamente Descargar diseños de otras personas para disfrutarlo ^ ^

La versión 0611PM23:41 de la fuente apunta al directorio raíz de World of Warcraft "Fonts\\ZYhei.ttf". ¡No es necesario instalar la fuente repetidamente! Si la fuente predeterminada no se ha cambiado, instale la carpeta Fuentes y Zyhei.ttf en el directorio raíz de Warcraft 0611. Cambió el material, corrigió la proporción de visualización de HP, agregó PVP rest = marca, agregó objetivo de enfoque, otros. etc. aún no se han agregado,,,

======Tutorial simple=======

CENTRO punto central (centro de la pantalla) como ( "CENTER", -220, -260) es ¡El punto central de la pantalla es una configuración del desplazamiento de la forma base!

TOPLEFT El lado superior izquierdo de la pantalla

TOPRIGHT El lado superior derecho de la pantalla

BOTTOMLEFT El lado inferior izquierdo de la pantalla

BOTTOMRIGHT ¡La parte inferior derecha de la pantalla! Primero identifique la ubicación del formulario que desea modificar. ¡Luego descubre dónde quieres modificarlo!

Desplazamiento 0 (horizontal), 0 (vertical)

Por ejemplo: player:SetPoint("CENTER", -220, -260)

Player The form es el punto central de la pantalla en -220 horizontalmente y -260 verticalmente.

pettarget:SetPoint("TOPRIGHT", player, "BOTTOMRIGHT", 0, -20

El significado de esta oración es que la ventana de la mascota sigue la posición de la ventana del reproductor. 0-20 en la parte inferior derecha del formulario del reproductor es un desplazamiento basado en el formulario del reproductor. Si modifico el enfoque, la versión original no seguirá, pero la modifiqué a

focus:SetPoint(" TOPLEFT", player, "TOPLEFT", 0, 50) se convierte en el foco y sigue la esquina superior izquierda de la ventana del reproductor

-- Genera los fotogramas que queremos

local player = oUF: Spawn"player"

player:SetPoint("CENTER", -220, -260) Configuración de la ventana del reproductor

player:SetHeight(30) height

player:SetWidth(220) ancho

objetivo local = oUF:Spawn"target"

objetivo:SetPoint("CENTER", 220, -260) formulario de destino

objetivo:SetHeight(30)

objetivo:SetWidth(220)

mascota local = oUF:Spawn"pet"

mascota:SetPoint( "TOPLEFT", jugador, "BOTTOMLEFT", 0, -20) forma de mascota

pet:SetHeight(22)

pet:SetWidth(145)

local pettarget = oUF:Spawn"pettarget"

pettarget:SetPoint("TOPRIGHT", player, "BOTTOMRIGHT", 0, -20) objetivo de mascota

pettarget:SetHeight(22)

pettarget:SetWidth(145)

local tot = oUF:Spawn"targettarget"

tot:SetPoint("CENTER", 0, -260) Objetivo objetivo

tot:SetHeight(10)

tot:SetWidth(160)

enfoque local = oUF:Spawn"enfoque" foco

focus:SetPoint("TOPLEFT", player, "TOPLEFT", 0, 50)

focus:SetHeight(10)

focus:SetWidth(140)

------------------------------

Configuración de compañeros de equipo

-- -- ------------------------

grupo local = oUF:Spawn("grupo")

grupo :SetPoint("TOPLEFT", UIParent, "TOPLEFT", 15, -200) información de posición y desplazamiento

party:SetManyAttributes("showParty", true, "yOffset", -50) Si el espaciado y dirección de extensión mostrar el equipo

party:SetAttribute("showRaid", false) mostrará el equipo y el equipo juntos...

Es decir, cuando verdadero es un equipo, el módulo de equipo se agrega incrementalmente detrás del equipo... ¡false solo muestra el equipo pero no el equipo!

local party1target = oUF:Spawn("party1target") El equipo 1 está por debajo del objetivo, 2 3 4

party1target:SetPoint("LEFT", oUF_PartyUnitButton1, "RIGHT", 10, 1)

party1target:SetHeight(10)

party1target:SetWidth(80 )

local party2target = oUF:Spawn("party2target")

party2target:SetPoint("IZQUIERDA", oUF_PartyUnitButton1, "DERECHA", 10, -76)

party2target:SetHeight(10)

party2target:SetWidth(80)

party3target local = oUF:Spawn("party3target")

party3target:SetPoint( "IZQUIERDA", oUF_PartyUnitButton1, "DERECHA", 10, -151)

party3target:SetHeight(10)

party3target:SetWidth(80 )

local party4target = oUF:Spawn("party4target")

party4target:SetPoint("IZQUIERDA", oUF_PartyUnitButton1, "DERECHA", 10, -226)

party4target:SetHeight(10)

p>

party4target:SetWidth(80)

Simplemente no cambie parte del código proporcionado. . .

¡Gracias juntos, camaradas!

Agregue avatares 3D para usted y el objetivo de OUF, abra layout.lua y agregue este código al final:

--avatar 2D

local retrato = self:CreateTexture(nil, "OVERLAY")

portrait.type = "2D"

retrato:SetTexCoord(0.14644660941, 0.85355339059, 0.14644660941, 0.85355339059)

portrait:SetWidth(35) -- El ancho del avatar

portrait:SetHeight(35) -- La altura del avatar

if (unit == "target" ) luego --- Aquí está el marco donde se debe agregar el avatar a la derecha

portrait:SetPoint("RIGHT", 36, 0) --la posición del avatar

elseif (unit == "player" or self:GetParent():GetName() == "oUF_Party") entonces -- Este es el marco donde se debe agregar el avatar a la izquierda

retrato:SetPoint("LEFT", -36, 0) -- La posición del avatar

end

self.Portrait = retrato

--3D avatar

retrato local = CreateFrame("PlayerModel", nil, self)

retrato:SetFrameStrata"MEDIUM"

portrait.type = "3D"

retrato:SetLight(1, 0, 0, -0.707, -0.707, 0.7, 1.0, 1.0, 1.0, 0.8, 1.0, 1.0, 0.8)

retrato:SetWidth(35) -- Alto

retrato:SetHeight(35) - - ancho

if (unidad == "objetivo") entonces --- Aquí está el marco donde se debe agregar el avatar a la derecha

retrato:SetPoint("RIGHT", 36, 0 ) --Position

elseif (unidad == "jugador" o self:GetParent():GetName() == "oUF_Party") entonces -- Aquí está el marco donde se debe agregar el avatar a la izquierda

retrato:SetPoint("LEFT", -36, 0) -- posición

end

self.Portrait = retrato

-- Configuración de fondo del avatar

retrato localbg = retrato:CreateTexture(nil, "BORDER")

portraitbg:SetAllPoints(retrato)

portraitbg:SetTexture(tex)

portraitbg:SetTexture(0, 0, 0, 1)

------------------------ Yo Es la legendaria línea divisoria------------- ---

O cópielo todo y agregue un juicio, que requiere modificación 2D o 3D. Solo una palabra es suficiente, el código es el siguiente:

--Agregar.

Ingrese el criterio del avatar---

local viewtype = "2D" -- 2D: el avatar se muestra en modo 2D, 3D: el avatar se muestra en modo 3D.

-- Modo 3D

si viewtype == "3D" entonces

retrato local = CreateFrame("PlayerModel", nil, self)

retrato:SetFrameStrata "MEDIUM"

portrait.type = "3D"

retrato:SetLight(1, 0, 0, -0.707, -0.707, 0.7, 1.0, 1.0, 1.0, 0.8, 1.0, 1.0 , 0,8)

retrato:SetWidth(40)

retrato:SetHeight(40)

si (unidad == "objetivo") entonces

retrato: SetPoint("RIGHT", 40, 0)

elseif (unidad == "jugador" o unidad == "mascota" o unidad == "enfoque" o self:GetParent() :GetName() = = "oUF_Party") luego -- Más avatares de mascotas que el código anterior

portrait:SetPoint("LEFT", -40, 0)

end

self.Portrait = retrato

--Fondo de avatar

retrato localbg = retrato:CreateTexture(nil, "BORDER")

retratobg: SetAllPoints(retrato)

portraitbg:SetTexture(tex)

portraitbg:SetTexture(0, 0, 0, 1)

-- Modo 2D

elseif viewtype == "2D" entonces

retrato local = self:CreateTexture(nil, "OVERLAY")

portrait.type = "2D"

retrato:SetTexCoord(0.14644660941, 0.85355339059, 0.14644660941, 0.85355339059)

retrato:SetWidth(40)

retrato:SetHeight(40)

if ( unidad == "objetivo") entonces

retrato:SetPoint("RIGHT", 40, 0)

elseif (unidad == "jugador" o unidad == "mascota" o unit == "focus" o self:GetParent():GetName() == "oUF_Party") entonces -- más avatares de mascotas que el código anterior

portrait:SetPoint("LEFT", -40, 0 )

end

self.Portrait = retrato

-- Fondo de avatar

retrato localbg = self:CreateTexture(nil, " BOR

DER")

portraitbg:SetAllPoints(retrato)

portraitbg:SetTexture(tex)

portraitbg:SetTexture(0, 0, 0, 1) p>

end

Si desea mover la posición del avatar (mientras mantiene presionado SHIFT+ALT y arrastra), agregue este párrafo:

DefindedFrames = {

["oUF_Player"] = {isLock = nil},

["oUF_Target"] = {isLock = nil},

["oUF_TargetTarget"] = { isLock = nil },

["oUF_TargetTargetTarget"] = {isLock = nil},

["oUF_Focus"] = {isLock = nil},

["oUF_Focustarget "] = {isLock = nil},

["oUF_Party"] = {isLock = nil},

}

función SetFrameMovable(frameName )

local f = getglobal(frameName);

si f entonces

si no f:IsMovable() entonces

f: SetMovable(true );

end

f:RegisterForDrag("LeftButton");

f:SetScript("OnDragStart",function()

si no es DefinedFrames[frameName].isLock entonces

si arg1 == "LeftButton" y IsAltKeyDown() y IsShiftKeyDown() entonces

esto:StartMoving();

fin

fin

fin);

f:SetScript("OnDragStop",función()

this:StopMovingOrSizing ();

end);

end

end;

para k,v en pares (DefindedFrames) haga

SetFrameMovable(k);

end

Si desea configurar el tamaño del avatar, agregue este párrafo:

local plSize = 1 - jugador, mascota, objetivo, objetivo de enfoque, objetivo del objetivo, proporción de objetivo del objetivo de enfoque

local ptSize = 1 - Compañero de equipo, mascota de compañero de equipo, proporción de objetivo de compañero de equipo

oUF_Player:SetScale (plSize);

oUF_Pet:SetScale(plSize);

oUF_Target:SetScale(plSize);

oUF_TargetTarget:SetScale(plSize);

oUF_Focus:SetScale(plSize);

oUF_Focustarget:SetScale(plSize);

oUF_Party:SetScale(plSize);<

/p>

para i=1, 4 haz

getglobal("oUF_Party"..i.."Target"):SetScale(ptSize);

getglobal(" oUF_PartyPet"..i):SetScale(ptSize);

end

----------------------- ---------------------

-- Muestra el grupo del jugador

actualización localPartyNum = function(self, event, unidad)

si self.unit ~= unidad entonces devuelve fin

local RaidPartyNum = self.RaidPartyNum

local numText, nombre, rango, subgrupo; p>

si ( GetNumRaidMembers() == 0 ) entonces

numText = " ";

else

local numRaidMembers = GetNumRaidMembers() ;

para i=1, MAX_RAID_MEMBERS hace

si (i <= numRaidMembers) entonces

nombre, rango, subgrupo = GetRaidRosterInfo(i);

-- Establece el indicador de número de grupo del jugador

if (name == UnitName(unit)) entonces

numText = " "..subgroup.."team" ;

fin

fin

fin

fin

RaidPartyNum:SetText(numText)

RaidPartyNum:SetTextColor(1, 1, 1)

fin

si self.RaidPartyNum entonces

actualizarPartyNum(self, evento, unidad)

end

-- La posición de visualización del equipo del jugador

RaidPartyNum local

RaidPartyNum = pp:CreateFontString(nil, "OVERLAY")

RaidPartyNum:SetPoint("TOP", retrato, "TOP", 0, 15) -- Lo configuré para que se muestre directamente encima del avatar

RaidPartyNum:SetFont(font, fontHeight)

RaidPartyNum:SetShadowColor(0, 0, 0)

RaidPartyNum:SetShadowOffset(0.8, -0.8)

self.RaidPartyNum = RaidPartyNum