Цитата Сообщение от Екзорцист Посмотреть сообщение
как портрет убрал если не секрет?
при помощи аддона MoveAnything. Вручную прописал в lua файл, который в папке WTF (т.к. по дефолту в игре нельзя убрать)

- - - Updated - - -

Цитата Сообщение от Onlykight Посмотреть сообщение
А не проще поставить SimpleUnitFrames?
мне только для player бара нужно. Разве там можно только для player?

- - - Updated - - -

Цитата Сообщение от grom877 Посмотреть сообщение
насчёт хп и маны в % - попробуй аддон simplepercent
спасибо) это уже что-то, только эти % привязаны к портрету, который я вынес за пределы экрана. Не знаю как убрать привязку player хп и маны к портрету.

- - - Updated - - -

Что нужно поменять или удалить, чтобы % ХП и маны игрока(player) были привязаны только к координатам, которые я сам укажу? Т.к. я удалил (вынес за пределы экрана) портрет player, не вижу эти % на экране, т.к. они где-то за пределами экрана привязаны к модельки портрета

PHP код:
--Made By Frugle

local OnTargetChange 
CreateFrame("FRAME""OnTargetChange")
OnTargetChange:RegisterEvent("PLAYER_TARGET_CHANGED")
local function targetHandler(selfevent, ...)
    
UpdateHealth("target""t")
    
UpdateMana("target""t")
end
OnTargetChange
:SetScript("OnEvent"targetHandler)

local hpHandlerFrame CreateFrame("FRAME""hpHandlerFrame")
hpHandlerFrame:RegisterEvent("UNIT_HEALTH")
local function hpHandler(selfevent, ...)
    
local unitid = ...
    if 
unitid == "target" then
        UpdateHealth
(unitid"t")
    
end
    
if unitid == "player" then
        UpdateHealth
(unitid"s")
    
end
end
hpHandlerFrame
:SetScript("OnEvent"hpHandler)

local powerHandlerFrame CreateFrame("FRAME""energyHandlerFrame")
powerHandlerFrame:RegisterEvent("UNIT_MANA")
powerHandlerFrame:RegisterEvent("UNIT_RAGE")
powerHandlerFrame:RegisterEvent("UNIT_FOCUS")
powerHandlerFrame:RegisterEvent("UNIT_ENERGY")
powerHandlerFrame:RegisterEvent("UNIT_RUNIC_POWER")
local function powerHandler(selfevent, ...)
    
local unitid = ...
    if 
unitid == "target" then
        UpdateMana
(unitid"t")
    
end
    
if unitid == "player" then
        UpdateMana
(unitid"s")
    
end
end
powerHandlerFrame
:SetScript("OnEvent"powerHandler)

function 
UpdateHealth(unitidwho)
    if 
who == "t" then
        
if SimplePercent["tarhp"] == false then
            ChangeFrame
(hpFramefalse)
            return
        
end
        
        
if not hpFrame:IsShown() then return end
        local hp 
UnitHealth(unitid)
        
local maxhp UnitHealthMax(unitid)
        
        
local finalhp
        
if hp == or UnitIsDeadOrGhost(unitidthen
            perhp 
0
            finalhp 
0
        
elseif hp == maxhp then
            finalhp 
100
        
else
            
local floatper hp maxhp
            local perhp 
floatper 100
            finalhp 
math.ceil(perhp)
        
end
        
        
if hpFrame.OldFinalHp == finalhp then return end
        hpFrame
.OldFinalHp finalhp
        
        local finalhpstring 
tostring(finalhp) .. "%"

        
hpFrame:SetText(finalhpstring)
        
        
local stringwidth hpFrame:GetStringWidth(finalhpstring)
        
hpFrame.PointXos = (stringwidth) * -1
        hpFrame
:SetPoint("LEFT"TargetFrame"LEFT"hpFrame.PointXoshpFrame.PointYos)
    elseif 
who == "s" then
        
if SimplePercent["plyhp"] == false then
            ChangeFrame
(selfhpFramefalse)
            return
        
end
        
        
if not selfhpFrame:IsShown() then return end
        local hp 
UnitHealth(unitid)
        
local maxhp UnitHealthMax(unitid)
        
        
local finalhp
        
if hp == or UnitIsDeadOrGhost(unitidthen
            perhp 
0
            finalhp 
0
        
elseif hp == maxhp then
            finalhp 
100
        
else
            
local floatper hp maxhp
            local perhp 
floatper 100
            finalhp 
math.ceil(perhp)
        
end
        
        
if selfhpFrame.OldFinalHp == finalhp then return end
        selfhpFrame
.OldFinalHp finalhp
        
        local finalhpstring 
tostring(finalhp) .. "%"

        
selfhpFrame:SetText(finalhpstring)
        
        
local stringwidth selfhpFrame:GetStringWidth(finalhpstring)
        
selfhpFrame.PointXos 0
        selfhpFrame
:SetPoint("LEFT"PlayerFrame"RIGHT"selfhpFrame.PointXosselfhpFrame.PointYos)
    
end
end

function UpdateMana(unitidwho)
    if 
who == "t" then
        
if SimplePercent["tarmana"] == false then
            ChangeFrame
(manaFramefalse)
            return
        
end
        
        
if not manaFrame:IsShown() then return end
        local mana 
UnitPower(unitid)
        
local maxmana UnitPowerMax(unitid)
        
        
local finalmana
        
if mana == or UnitIsDeadOrGhost(unitidthen
            permana 
0
            finalmana 
0
        
elseif mana == maxmana then
            finalmana 
100
        
elseif maxmana == 100 then
            finalmana 
mana
        
else
            
local floatper mana maxmana
            local permana 
floatper 100
            finalmana 
math.ceil(permana)
        
end
        
        
if manaFrame.OldFinalHp == finalmana then return end
        manaFrame
.OldFinalHp finalmana
        
        local finalmanastring 
tostring(finalmana) .. "%"

        
manaFrame:SetText(finalmanastring)
        
        
local stringwidth manaFrame:GetStringWidth(finalmanastring)
        
manaFrame.PointXos = (stringwidth) * -1
        manaFrame
:SetPoint("LEFT"TargetFrame"LEFT"manaFrame.PointXosmanaFrame.PointYos)
    elseif 
who == "s" then
        
if SimplePercent["plymana"] == false then
            ChangeFrame
(selfmanaFramefalse)
            return
        
end
        
        
if not selfmanaFrame:IsShown() then return end
        local mana 
UnitPower(unitid)
        
local maxmana UnitPowerMax(unitid)
        
        
local finalmana
        
if mana == or UnitIsDeadOrGhost(unitidthen
            permana 
0
            finalmana 
0
        
elseif mana == maxmana then
            finalmana 
100
        
elseif maxmana == 100 then
            finalmana 
mana
        
else
            
local floatper mana maxmana
            local permana 
floatper 100
            finalmana 
math.ceil(permana)
        
end
        
        
if selfmanaFrame.OldFinalHp == finalmana then return end
        selfmanaFrame
.OldFinalHp finalmana
        
        local finalmanastring 
tostring(finalmana) .. "%"
        
        
selfmanaFrame:SetText(finalmanastring)
        
        
local stringwidth selfmanaFrame:GetStringWidth(finalmanastring)
        
selfmanaFrame.PointXos 0
        selfmanaFrame
:SetPoint("LEFT"PlayerFrame"RIGHT"selfmanaFrame.PointXosselfmanaFrame.PointYos)
    
end
end

local stringwidth

local hpFrame 
TargetFrame:CreateFontString("hpFrame""OVERLAY")
hpFrame:SetFontObject(PlayerFrameHealthBarText:GetFontObject())
hpFrame:SetText("100%")
hpFrame:SetJustifyH("LEFT")
hpFrame:SetJustifyV("TOP")
hpFrame.PointXos 0
hpFrame
.PointYos 5
stringwidth 
hpFrame:GetStringWidth(hpFrame:GetText())
hpFrame.PointXos = (stringwidth) * -1
hpFrame
:SetPoint("LEFT"TargetFrame"LEFT"hpFrame.PointXoshpFrame.PointYos)

local selfhpFrame PlayerFrame:CreateFontString("selfhpFrame""OVERLAY")
selfhpFrame:SetFontObject(PlayerFrameHealthBarText:GetFontObject())
selfhpFrame:SetText("100%")
selfhpFrame:SetJustifyH("RIGHT")
selfhpFrame:SetJustifyV("TOP")
selfhpFrame.PointXos 0
selfhpFrame
.PointYos 5
stringwidth 
selfhpFrame:GetStringWidth(selfhpFrame:GetText())
selfhpFrame.PointXos 0
selfhpFrame
:SetPoint("LEFT"PlayerFrame"RIGHT"selfhpFrame.PointXosselfhpFrame.PointYos)

local manaFrame TargetFrame:CreateFontString("manaFrame""OVERLAY")
manaFrame:SetFontObject(PlayerFrameHealthBarText:GetFontObject())
manaFrame:SetText("100%")
manaFrame:SetJustifyH("LEFT")
manaFrame:SetJustifyV("TOP")
manaFrame.PointXos 0
manaFrame
.PointYos = -8
stringwidth 
manaFrame:GetStringWidth(manaFrame:GetText())
manaFrame.PointXos = (stringwidth) * -1
manaFrame
:SetPoint("LEFT"TargetFrame"LEFT"manaFrame.PointXosmanaFrame.PointYos)

local selfmanaFrame PlayerFrame:CreateFontString("selfmanaFrame""OVERLAY")
selfmanaFrame:SetFontObject(PlayerFrameHealthBarText:GetFontObject())
selfmanaFrame:SetText("100%")
selfmanaFrame:SetJustifyH("RIGHT")
selfmanaFrame:SetJustifyV("TOP")
selfmanaFrame.PointXos 0
selfmanaFrame
.PointYos = -8
stringwidth 
selfmanaFrame:GetStringWidth(selfmanaFrame:GetText())
selfmanaFrame.PointXos =  0
selfmanaFrame
:SetPoint("LEFT"PlayerFrame"RIGHT"selfmanaFrame.PointXosselfmanaFrame.PointYos)

stringwidth nil

function ChangeFrame(framewhat)
    if 
what == false then
        
if frame:IsVisible() then
            frame
:Hide()
        
end
    
else
        if 
not frame:IsVisible() then
            frame
:Show()
        
end
    end
end

SLASH_CHANGESHIT1 
"/sp"
SLASH_CHANGESHIT2 "/simplepercent"
local function handler(msgeditbox)
    if 
msg == "player health" then
        
if SimplePercent["plyhp"] == false then
            SimplePercent
["plyhp"] = true
            ChangeFrame
(selfhpFrametrue)
            print(
"Player health percent is now visible.")
        else
            
SimplePercent["plyhp"] = false
            ChangeFrame
(selfhpFramefalse)
            print(
"Player health percent is now hidden.")
        
end
    
elseif msg == "player mana" then
        
if SimplePercent["plymana"] == false then
            SimplePercent
["plymana"] = true
            ChangeFrame
(selfmanaFrametrue)
            print(
"Player mana percent is now visible.")
        else
            
SimplePercent["plymana"] = false
            ChangeFrame
(selfmanaFramefalse)
            print(
"Player mana percent is now hidden.")
        
end
    
elseif msg == "target health" then
        
if SimplePercent["tarhp"] == false then
            SimplePercent
["tarhp"] = true
            ChangeFrame
(hpFrametrue)
            print(
"Target health percent is now visible.")
        else
            
SimplePercent["tarhp"] = false
            ChangeFrame
(hpFramefalse)
            print(
"Target health percent is now hidden.")
        
end
    
elseif msg == "target mana" then
        
if SimplePercent["tarmana"] == false then
            SimplePercent
["tarmana"] = true
            ChangeFrame
(manaFrametrue)
            print(
"Target mana percent is now visible.")
        else
            
SimplePercent["tarmana"] = false
            ChangeFrame
(manaFramefalse)
            print(
"Target mana percent is now hidden.")
        
end
    
else
        print(
"You can toggle percent visiblity with this command")
        print(
"Syntax: /sp <player or target> <health or mana> | Example: /sp target health")
    
end
end
SlashCmdList
["CHANGESHIT"] = handler

local AddonLoadedHandler 
CreateFrame("FRAME""AddonLoadedHandler")
AddonLoadedHandler:RegisterEvent("ADDON_LOADED")
local function AddonLoaded(selfevent, ...)
    
local addon = ...
    if 
addon == "SimplePercent" then
        
if SimplePercent == nil then
            SimplePercent 
= {}
            
SimplePercent["plyhp"] = true
            SimplePercent
["plymana"] = true
            SimplePercent
["tarhp"] = true
            SimplePercent
["tarmana"] = true
        
else
            
ChangeFrame(selfhpFrameSimplePercent["plyhp"])
            
ChangeFrame(selfmanaFrameSimplePercent["plymana"])
        
            
ChangeFrame(hpFrameSimplePercent["tarhp"])
            
ChangeFrame(manaFrameSimplePercent["tarmana"])
        
end
    end
end
AddonLoadedHandler
:SetScript("OnEvent"AddonLoaded