Приветствуем вас на форуме проекта WoW Circle. Если вы читаете это, значит не зарегистрировались у нас. Для того, чтобы получить доступ к расширенным возможностям нашего форума нажмите сюда и пройди регистрацию, которая не займет у вас много времени. После регистрации будут доступны новые, более расширенные, возможности.
Ваш интерфейс - Страница 68

Упомянутые в теме пользователи:

Страница 68 из 279 ПерваяПервая ... 1858666768697078118168 ... ПоследняяПоследняя
Показано с 805 по 816 из 3346
  1. #805
    Старожил Аватар для swagcat
    Регистрация
    08.11.2013
    Сообщений
    257
    Поблагодарил(а)
    26
    Получено благодарностей: 48 (сообщений: 40).
    Репутация: 48
    Неймплейты классные. У тебя все в одном аддоне запихнуто или сомжешь отрезать этот кусочек и скинуть сюда? :)

  2. #806
    Инопланетянин
    Регистрация
    20.03.2012
    Сообщений
    4,201
    Поблагодарил(а)
    362
    Получено благодарностей: 1,439 (сообщений: 839).
    Репутация: 2399
    Цитата Сообщение от swagcat Посмотреть сообщение
    Неймплейты классные. У тебя все в одном аддоне запихнуто или сомжешь отрезать этот кусочек и скинуть сюда? :)
    там смешанные функции , вырезанные куски из LibNamePlate и тд , кода я бы сказал многовато для одного модуля (это 2700 строчек не учитывая пространства имен с отдельными функциями необходимыми для его работы). Пока что каст бары все же иногда попрыгивают , но что бы править нид OnUpdate , а это потеря производительности.
    Последний раз редактировалось DreamlØlz; 05.05.2015 в 22:02.

  3. #807
    Новичок
    Регистрация
    31.01.2012
    Сообщений
    12
    Поблагодарил(а)
    0
    Получено благодарностей: 0 (сообщений: 0).
    Репутация: 0

  4. #808
    Флудер года Аватар для Dontcrybaby
    Регистрация
    05.01.2012
    Адрес
    Москва / Волгоград
    Сообщений
    11,849
    Поблагодарил(а)
    58
    Получено благодарностей: 715 (сообщений: 516).
    Репутация: 1751
    to DreamlØlz: а есть скриптик, похожий на тот, что ты мне давал на панельки, только для бафов/дебафов?

    - - - Updated - - -

    Типо таких:


  5. #809
    Инопланетянин
    Регистрация
    20.03.2012
    Сообщений
    4,201
    Поблагодарил(а)
    362
    Получено благодарностей: 1,439 (сообщений: 839).
    Репутация: 2399
    Цитата Сообщение от Dontcrybaby Посмотреть сообщение
    to DreamlØlz: а есть скриптик, похожий на тот, что ты мне давал на панельки, только для бафов/дебафов?

    - - - Updated - - -

    Типо таких:

    бафы прыгать будут при скейле =) пока что занят

  6. #810
    Флудер года Аватар для Dontcrybaby
    Регистрация
    05.01.2012
    Адрес
    Москва / Волгоград
    Сообщений
    11,849
    Поблагодарил(а)
    58
    Получено благодарностей: 715 (сообщений: 516).
    Репутация: 1751
    А есть какие-нибудь аддоны на уменьшение бафов/дебафов7

  7. #811
    Инопланетянин
    Регистрация
    20.03.2012
    Сообщений
    4,201
    Поблагодарил(а)
    362
    Получено благодарностей: 1,439 (сообщений: 839).
    Репутация: 2399
    Цитата Сообщение от Dontcrybaby Посмотреть сообщение
    А есть какие-нибудь аддоны на уменьшение бафов/дебафов7
    Там нужно размер менять =) В то же время если делать это в бою , то будет опа) То же самое со скейлом. Чуть позже кину.

    - - - Updated - - -

    Как то так , конфиг вверху.

    PHP код:
    local aura CreateFrame("frame")
    aura.BuffsPerRow 12 -- количество аур в ряде
    aura
    .Size 40 -- размер аур
    aura
    .Spacing aura.Size -- промежутки между аурами менять последнюю цифру
    aura
    .BuffFilter   "HELPFUL"
    aura.DebuffFilter "HARMFUL"
    aura.Sort "TIME" -- INDEX или NAME или TIME
    aura
    .BPoint = {"TOPRIGHT"Minimap"TOPLEFT", -(aura.Spacing-30), 1.5} -- позиции бафов
    aura
    .DPoint ={"BOTTOMRIGHT"Minimap"BOTTOMLEFT", -(aura.Spacing-30), 1.5} -- позиции дебафов
    aura
    .SetVertical false

    aura
    :SetScript("OnEvent", function(selfevent, ...)self[event](self, ...)end)
    local Animation true
    local Flash 
    true
    aura
    .Headers = {}
    aura.Filter false
    aura
    .FlashTimer 30

    local sortingTable 
    = {}
    local groupingTable = {}

    local function Kill(self)
        if 
    self.UnregisterAllEvents then
            self
    :UnregisterAllEvents()
        
    end

        self
    .Show = function() end
        self
    :Hide()
    end

    function aura:DisableBlizzardAuras()
        
    Kill(BuffFrame)
        
    Kill(TemporaryEnchantFrame)
        
    Kill(ConsolidatedBuffs)
        
    InterfaceOptionsFrameCategoriesButton12:SetScale(0.00001)
        
    InterfaceOptionsFrameCategoriesButton12:SetAlpha(0)
    end

    function aura:StartOrStopFlash(timeleft)
        if (
    timeleft aura.FlashTimerthen
            
    if (not self:IsPlaying()) then
                self
    :Play()
            
    end
        
    elseif self:IsPlaying() then
            self
    :Stop()
        
    end
    end

    local 
    function FormatTime(seconds)
        
    local DayHourMinute 86400360060
        
    if (seconds >= Daythen
            
    return format("%dd"ceil(seconds Day))
        elseif (
    seconds >= Hourthen
            
    return format("%dh"ceil(seconds Hour))
        elseif (
    seconds >= Minutethen
            
    return format("%dm"ceil(seconds Minute))
        elseif (
    seconds >= Minute 12then
            
    return floor(seconds)
        
    end
        
    return format("%.1f"seconds)
    end

    function aura:OnUpdate(elapsed)
        
    local TimeLeft self.TimeLeft elapsed
        self
    .TimeLeft TimeLeft
        
    if (TimeLeft <= 0then
            self
    .TimeLeft nil
            self
    .Duration:SetText("")
            return 
    self:SetScript("OnUpdate"nil)
        else
            
    local Text FormatTime(TimeLeft)
            if (
    TimeLeft 60.5then
                
    if Flash then
                    aura
    .StartOrStopFlash(self.AnimationTimeLeft)
                
    end
                
    if (TimeLeft 5then
                    self
    .Duration:SetTextColor(10.080.08)    
                else
                    
    self.Duration:SetTextColor(10.650)
                
    end
            
    else
                if (
    self.Animation and self.Animation:IsPlaying()) then
                    self
    .Animation:Stop()
                
    end
                self
    .Duration:SetTextColor(0.90.90.9)
            
    end
            self
    .Duration:SetText(Text)
        
    end
    end

    local UpdateTooltip 
    = function(self)
        
    GameTooltip:SetUnitAura(self:GetParent().unitself:GetID(), self:GetParent().filter)
    end

    local OnEnter 
    = function(self)
        if(
    not self:IsVisible()) then return end
        GameTooltip
    :SetOwner(self"ANCHOR_BOTTOMLEFT", -5, -5)
        
    self:UpdateTooltip()
    end

    local OnLeave 
    = function()
        
    GameTooltip:Hide()
    end

    local OnClick 
    = function(self)
        
    CancelUnitBuff(self:GetParent().unitself:GetID(), self:GetParent().filter)
    end

    function aura:Skin()
        
    local Proxy self.IsProxy
        self
    :RegisterForClicks("RightButtonUp")
        
    self:SetSize(aura.Sizeaura.Size)
        
    local Icon self:CreateTexture(nil"BORDER")
        
    Icon:SetPoint("TOPLEFT"self2, -2)
        
    Icon:SetPoint("BOTTOMRIGHT"self, -22)
        
    local Count self:CreateFontString(nil"OVERLAY""ChatFontNormal")
        
    Count:SetShadowColor(000)
        
    Count:SetShadowOffset(1.25, -1.25)
        
    Count:SetPoint("BOTTOMRIGHT"self, -11)
        
    local Duration self:CreateFontString(nil"OVERLAY""ChatFontNormal")
        
    Duration:SetShadowColor(000)
        
    Duration:SetShadowOffset(1.25, -1.25)
        if 
    aura.SetVertical then
            
    if (C["aura"].Position == "TOPLEFT"then
                Duration
    :SetPoint("LEFT"self"RIGHT"20)
            else
                
    Duration:SetPoint("RIGHT"self"LEFT", -20)
            
    end
        
    else
            
    Duration:SetPoint("TOP"self"BOTTOM"0, -2)
        
    end
        
    if Flash then
            local Animation 
    self:CreateAnimationGroup()
            
    Animation:SetLooping("BOUNCE")
            
    local FadeOut Animation:CreateAnimation("Alpha")
            
    FadeOut:SetChange(-0.5)
            
    FadeOut:SetDuration(0.6)
            
    FadeOut:SetSmoothing("IN_OUT")
            
    self.Animation Animation
        end
        self
    .Duration Duration
        self
    .Filter self:GetParent().filter
        self
    .Icon Icon
        self
    .Count Count
        self
    .UpdateTooltip UpdateTooltip
        self
    :SetScript("OnEnter"OnEnter)
        
    self:SetScript("OnLeave"OnLeave)
        
    self:SetScript("OnClick"OnClick)
    end

    local buttons 
    = {}
    local function configureAuras(headerauraTable)
        
    local point header.point or "TOPRIGHT"
        
    local xOffset header.xOffset or 0
        local yOffset 
    header.yOffset or 0
        local wrapXOffset 
    header.wrapXOffset or 0
        local wrapYOffset 
    header.wrapYOffset or 0
        local wrapAfter 
    header.wrapAfter
        
    if ( wrapAfter == then wrapAfter nil end
        local maxWraps 
    header.maxWraps
        
    if ( maxWraps == then maxWraps nil end
        local minWidth 
    header.minWidth or 0
        local minHeight 
    header.minHeight or 0
        local name 
    header:GetName()
        
    wipe(buttons)
        for 
    i=1#auraTable do
            
    local button select(iheader:GetChildren())
            if(
    buttonthen
                button
    :ClearAllPoints()
            else
                
    button CreateFrame("Button"name and name.."AuraButton"..iheader)
                
    aura.Skin(button)
            
    end
            local buffInfo 
    auraTable[i]
            
    button:SetID(buffInfo.index)
            
    button.index buffInfo.index
            button
    .filter =  buffInfo.filter
            
            
    if(buffInfo.duration and buffInfo.expiresthen
                local TimeLeft 
    buffInfo.expires GetTime()
                if(
    not button.TimeLeftthen
                    button
    .TimeLeft TimeLeft
                    button
    :SetScript("OnUpdate"aura.OnUpdate)
                else
                    
    button.TimeLeft TimeLeft
                end
                button
    .Dur buffInfo.duration
                
    if Flash then
                    aura
    .StartOrStopFlash(button.AnimationTimeLeft)
                
    end
                button
    .Duration:SetText(button.Dur)
            else
                if 
    Flash then
                    button
    .Animation:Stop()
                
    end
                button
    .TimeLeft nil
                button
    .Duration:SetText("")
                
    button:SetScript("OnUpdate"nil)
            
    end
            
    if(buffInfo.count 1then
                button
    .Count:SetText(buffInfo.count)
            else
                
    button.Count:SetText("")
            
    end
            
    if(buffInfo.filter == "HARMFUL"then
                local Color 
    DebuffTypeColor[buffInfo.dtype or ""]
                
    button:SetBackdropBorderColor(Color.0.6Color.0.6Color.0.6)
            
    end
            button
    .Icon:SetTexture(buffInfo.icon)
            
    buttons[i] = button
        end
        
        local display 
    #buttons
        
    if(wrapAfter and maxWrapsthen
            display 
    min(displaywrapAfter maxWraps)
        
    end
        
        local left
    righttopbottom math.huge, -math.huge, -math.hugemath.huge
        
    for index=1,display do
            
    local button buttons[index]
            
    local wrapAfter wrapAfter or index
            local tick
    cycle floor((index 1) % wrapAfter), floor((index 1) / wrapAfter)
            
    button:SetPoint(pointheadercycle wrapXOffset tick xOffsetcycle wrapYOffset tick yOffset)
            
    button:Show()
            
    left min(leftbutton:GetLeft() or math.huge)
            
    right max(rightbutton:GetRight() or -math.huge)
            
    top max(topbutton:GetTop() or -math.huge)
            
    bottom min(bottombutton:GetBottom() or math.huge)
        
    end
        local deadIndex 
    #(auraTable) + 1
        
    local button select(deadIndexheader:GetChildren())
        while(
    button) do
            
    button:Hide()
            
    deadIndex deadIndex 1
            button 
    select(deadIndexheader:GetChildren())
        
    end
        
    if(display >= 1then
            header
    :SetWidth(max(right leftminWidth))
            
    header:SetHeight(max(top bottomminHeight))
        else
            
    header:SetWidth(minWidth)
            
    header:SetHeight(minHeight)
        
    end
    end

    local tremove 
    table.remove
    local 
    function stripRAID(filter)
        return 
    filter and tostring(filter):upper():gsub("RAID"""):gsub("|+""|"):match("^|?(.+[^|])|?$")
    end

    local freshTable
    local releaseTable
    do
        
    local tableReserve = {}
        
    freshTable = function ()
            
    local t next(tableReserve) or {}
            
    tableReserve[t] = nil
            
    return t
        end
        releaseTable 
    = function (t)
            
    tableReserve[t] = wipe(t)
        
    end
    end

    local sorters 
    = {}
    local function sortFactory(keyseparateOwnreverse)
        if(
    separateOwn ~= 0then
            
    if(reversethen
                
    return function (ab)
                    if(
    groupingTable[a.filter] == groupingTable[b.filter]) then
                        local ownA
    ownB a.caster == "player"b.caster == "player"
                        
    if(ownA ~= ownBthen
                            
    return ownA == (separateOwn 0)
                        
    end
                        
    return a[key] > b[key]
                    else
                        return 
    groupingTable[a.filter] < groupingTable[b.filter]
                    
    end
                end
            
    else
                return function (
    ab)
                    if(
    groupingTable[a.filter] == groupingTable[b.filter]) then
                        local ownA
    ownB a.caster == "player"b.caster == "player"
                        
    if(ownA ~= ownBthen
                            
    return ownA == (separateOwn 0)
                        
    end
                        
    return a[key] < b[key]
                    else
                        return 
    groupingTable[a.filter] < groupingTable[b.filter]
                    
    end
                end
            end
        
    else
            if(
    reversethen
                
    return function (ab)
                    if(
    groupingTable[a.filter] == groupingTable[b.filter]) then
                        
    return a[key] > b[key]
                    else
                        return 
    groupingTable[a.filter] < groupingTable[b.filter]
                    
    end
                end
            
    else
                return function (
    ab)
                    if(
    groupingTable[a.filter] == groupingTable[b.filter]) then
                        
    return a[key] < b[key]
                    else
                        return 
    groupingTable[a.filter] < groupingTable[b.filter]
                    
    end
                end
            end
        end
    end

    for ikey in ipairs{"index""name""expires"} do
        
    local label key:upper()
        
    sorters[label] = {}
        for 
    bool in pairs{[true] = true, [false] = false} do
            
    sorters[label][bool] = {}
            for 
    sep=-1,do
                
    sorters[label][bool][sep] = sortFactory(keysepbool)
            
    end
        end
    end
    sorters
    .TIME sorters.EXPIRES

    function aura:UpdateHeaders(func, ...)
        for 
    _Header in pairs(aura.Headers) do
            
    local Child Header:GetChildren()
            
    local i 0
            
    while Child do
                
    aura:UpdateHeader(Header)
                
    1
                Child 
    select(iHeader:GetChildren())
                if 
    func then
                    func
    (Child, ...)
                
    end
            end
        end
    end

    function aura:CreateHeaders()
        
    local Headers aura.Headers
        
    for 1do
            
    local Header CreateFrame("Frame"nilUIParent)
            
    Header:SetClampedToScreen(true)
            
    Header.unit "player"
            
    Header.minHeight 10
            Header
    .wrapAfter aura.BuffsPerRow
            Header
    .wrapYOffset = -55
            Header
    .xOffset = -aura.Spacing
            Header
    .minWidth aura.BuffsPerRow 35
            Header
    :SetSize(aura.Sizeaura.Size)
            
    Header:RegisterEvent("UNIT_AURA")
            
    Header:SetScript("OnEvent", function(selfevent, ...)
                if(
    self:IsVisible()) then
                    local unit 
    self.unit
                    
    if(event == "UNIT_AURA" and ... == unitthen
                        aura
    :UpdateHeader(self)
                    
    end
                end
            end
    )
            
    table.insert(HeadersHeader)
        
    end
        local Buffs 
    Headers[1]
        
    local Debuffs Headers[2]
        
    Buffs:SetPoint(unpack(aura.BPoint))
        
    Buffs.filter aura.BuffFilter
        aura
    :UpdateHeader(Buffs)
        
    Buffs:Show()
        
    Debuffs:SetPoint(unpack(aura.DPoint))
        
    Debuffs.filter aura.DebuffFilter
        aura
    :UpdateHeader(Debuffs)
        
    Debuffs:Show()
    end

    function aura:UpdateHeader(self)
        
    local filter self.filter
        local groupBy 
    self.groupBy
        local unit 
    self.unit
        local sortDirection 
    "-"
        
    local separateOwn 0
        
    if ( separateOwn then
            separateOwn 
    1
        
    elseif (separateOwn then
            separateOwn 
    = -1
        end
        local sortMethod 
    = (sorters[tostring(self.sortMethod):upper()] or sorters["INDEX"])[sortDirection == "-"][separateOwn]
        
    local time GetTime()
        
    wipe(sortingTable)
        
    wipe(groupingTable)
        if(
    groupBythen
            local i 
    1
            
    for subFilter in groupBy:gmatch("[^,]+") do
                if(
    filterthen
                    subFilter 
    stripRAID(filter.."|"..subFilter)
                else
                    
    subFilter stripRAID(subFilter)
                
    end
                groupingTable
    [subFilter], groupingTable[i] = isubFilter
                i 
    1
            end
        
    else
            
    filter stripRAID(filter)
            
    groupingTable[filter], groupingTable[1] = 1filter
        end
        
    for filterIndexfullFilter in ipairs(groupingTable) do
            
    local i 1
            repeat
                local aura
    _duration freshTable()
                
    aura.name_aura.iconaura.countaura.dtypedurationexpiresaura.caster_aura.shouldConsolidateUnitAura(unitifullFilter)
                if(
    aura.namethen
                    aura
    .filter fullFilter
                    aura
    .index i
                    aura
    .duration duration
                    
    if duration<=0 then
                        aura
    .expires 1e6
                    
    else
                        
    aura.expires expires
                    end
                    local targetList 
    sortingTable
                    tinsert
    (targetListaura)
                else
                    
    releaseTable(aura)
                
    end
                i 
    1
            until
    (not aura.name)
        
    end
        table
    .sort(sortingTablesortMethod)
        
    configureAuras(selfsortingTable)
        while(
    sortingTable[1]) do
            
    releaseTable(tremove(sortingTable))
        
    end
    end

    local UpdateSorting 
    = function(value)
        
    aura.Headers[1].sortMethod aura.Sort
        aura
    .Headers[2].sortMethod aura.Sort
    end

    function aura:PLAYER_LOGIN()
            
    self:RegisterEvent("PLAYER_ENTERING_WORLD")
        
    self:SetScript("OnEvent", function(self)
            
    self:UpdateHeaders()
        
    end)
        
    self:DisableBlizzardAuras()
        
    self:CreateHeaders()
        
    UpdateSorting()
    end

    aura
    :RegisterEvent("PLAYER_LOGIN"

  8. #812
    Абориген Аватар для poxod
    Регистрация
    16.02.2013
    Адрес
    Россия
    Сообщений
    1,702
    Поблагодарил(а)
    734
    Получено благодарностей: 246 (сообщений: 164).
    Репутация: 246
    киньте ссылку на рабочий Ai-Art , не могу найти, хоть убей(

    уже не надо.
    Последний раз редактировалось poxod; 08.05.2015 в 01:51.

  9. #813
    Флудер года Аватар для Dontcrybaby
    Регистрация
    05.01.2012
    Адрес
    Москва / Волгоград
    Сообщений
    11,849
    Поблагодарил(а)
    58
    Получено благодарностей: 715 (сообщений: 516).
    Репутация: 1751
    Где конфиг?

  10. #814
    Инопланетянин
    Регистрация
    20.03.2012
    Сообщений
    4,201
    Поблагодарил(а)
    362
    Получено благодарностей: 1,439 (сообщений: 839).
    Репутация: 2399
    Цитата Сообщение от Dontcrybaby Посмотреть сообщение
    Где конфиг?
    В верху же
    PHP код:
    aura.BuffsPerRow 12 -- количество аур в ряде
    aura
    .Size 40 -- размер аур
    aura
    .Spacing aura.Size -- промежутки между аурами менять последнюю цифру
    aura
    .BuffFilter   "HELPFUL"
    aura.DebuffFilter "HARMFUL"
    aura.Sort "TIME" -- INDEX или NAME или TIME
    aura
    .BPoint = {"TOPRIGHT"Minimap"TOPLEFT", -(aura.Spacing-30), 1.5} -- позиции бафов
    aura
    .DPoint ={"BOTTOMRIGHT"Minimap"BOTTOMLEFT", -(aura.Spacing-30), 1.5} -- позиции дебафов 

  11. #815
    Старожил Аватар для swagcat
    Регистрация
    08.11.2013
    Сообщений
    257
    Поблагодарил(а)
    26
    Получено благодарностей: 48 (сообщений: 40).
    Репутация: 48
    никак не могу заспавнить пати/рейд фреймы через оуф, в чем моя проблема
    брал даже готовые пати фреймы и всовывал с изменениями в свой трешак
    вроде текста на отключения пати фреймов нет, дефолтные стоят при отсутствии альтернативы

  12. #816
    Инопланетянин
    Регистрация
    20.03.2012
    Сообщений
    4,201
    Поблагодарил(а)
    362
    Получено благодарностей: 1,439 (сообщений: 839).
    Репутация: 2399
    Цитата Сообщение от swagcat Посмотреть сообщение
    никак не могу заспавнить пати/рейд фреймы через оуф, в чем моя проблема
    брал даже готовые пати фреймы и всовывал с изменениями в свой трешак
    вроде текста на отключения пати фреймов нет, дефолтные стоят при отсутствии альтернативы
    кинь сюда

Страница 68 из 279 ПерваяПервая ... 1858666768697078118168 ... ПоследняяПоследняя

Похожие темы

  1. И где же описание апдейта 114 ??
    от Gozya в разделе Вопросы Logon, TBC, Legion, BFa, SL
    Ответов: 2
    Последнее сообщение: 27.06.2012, 09:46
  2. Скрины интерфейса, Прото-паладин
    от amigoxxx в разделе Корзина
    Ответов: 3
    Последнее сообщение: 28.05.2012, 13:53
  3. Интерфейс
    от Romka_163 в разделе Вопросы Logon, TBC, Legion, BFa, SL
    Ответов: 0
    Последнее сообщение: 26.05.2012, 02:34
  4. Сброс рейта тим на х100
    от CriminalMind в разделе Вопросы Logon, TBC, Legion, BFa, SL
    Ответов: 1
    Последнее сообщение: 25.05.2012, 23:12

Ваши права

  • Вы не можете создавать новые темы
  • Вы не можете отвечать в темах
  • Вы не можете прикреплять вложения
  • Вы не можете редактировать свои сообщения
  •