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

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

Показано с 1 по 12 из 23

Комбинированный просмотр

Предыдущее сообщение Предыдущее сообщение   Следующее сообщение Следующее сообщение
  1. #1
    Ветеран форума Аватар для Chrone
    Регистрация
    14.03.2013
    Адрес
    Дарнас
    Сообщений
    1,005
    Поблагодарил(а)
    181
    Получено благодарностей: 89 (сообщений: 71).
    Репутация: 537
    кстати нагрузку большую будет давать ?
    https://www.heroicstrike.org/
    Цитата Сообщение от Netherheal Посмотреть сообщение
    Кап защиты: 560 для цлк+рс, а не 540. 540 только для ргеров. в ЦЛК лвл боссов 85.
    .
    Цитата Сообщение от Dmitry272 Посмотреть сообщение
    Предложение вааще убрать ворота , нет ворот - нечему ломаться
    Цитата Сообщение от Wpq Посмотреть сообщение
    ПОСЛЕ КАЖДОГО ВАЙПА КАЖДЫЙ ЧЕЛОВЕК УМИРАЕТ И БЕЖИТ В ИНСТ А НЕ ВСТАЁТ ПЕРЕРОЖДЕНИЕМ ИЛИ ЭСЭСОМ ИЛИ ХАНТЫ ПРИТВОРЯТСЯ.

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

    - - - Updated - - -

    Ща сек))

  3. #3
    Ветеран форума Аватар для Chrone
    Регистрация
    14.03.2013
    Адрес
    Дарнас
    Сообщений
    1,005
    Поблагодарил(а)
    181
    Получено благодарностей: 89 (сообщений: 71).
    Репутация: 537
    Цитата Сообщение от DreamlØlz Посмотреть сообщение
    Да , там при обновлении кадров берет значение статусбара и записывает его в строчку.

    - - - Updated - - -

    Ща сек))
    а то с моей машинкой мне порой на бг тяжко
    https://www.heroicstrike.org/
    Цитата Сообщение от Netherheal Посмотреть сообщение
    Кап защиты: 560 для цлк+рс, а не 540. 540 только для ргеров. в ЦЛК лвл боссов 85.
    .
    Цитата Сообщение от Dmitry272 Посмотреть сообщение
    Предложение вааще убрать ворота , нет ворот - нечему ломаться
    Цитата Сообщение от Wpq Посмотреть сообщение
    ПОСЛЕ КАЖДОГО ВАЙПА КАЖДЫЙ ЧЕЛОВЕК УМИРАЕТ И БЕЖИТ В ИНСТ А НЕ ВСТАЁТ ПЕРЕРОЖДЕНИЕМ ИЛИ ЭСЭСОМ ИЛИ ХАНТЫ ПРИТВОРЯТСЯ.

  4. #4
    Старожил Аватар для Wbtest2
    Регистрация
    21.02.2015
    Адрес
    Minsk
    Сообщений
    183
    Поблагодарил(а)
    46
    Получено благодарностей: 115 (сообщений: 60).
    Репутация: 115
    Цитата Сообщение от DreamlØlz Посмотреть сообщение
    Да , там при обновлении кадров берет значение статусбара и записывает его в строчку.

    - - - Updated - - -

    Ща сек))
    Ну это сотря с кокой стороны посмотреть, даже проверил, при малом количестве плейтов к примеру если это будет арена то через онапдейт грузит меньше, но при большом, ситуация координально меняется)

  5. #5
    Инопланетянин
    Регистрация
    20.03.2012
    Сообщений
    4,201
    Поблагодарил(а)
    362
    Получено благодарностей: 1,439 (сообщений: 839).
    Репутация: 2399
    Цитата Сообщение от Wbtest2 Посмотреть сообщение
    Ну это сотря с кокой стороны посмотреть, даже проверил, при малом количестве плейтов к примеру если это будет арена то через онапдейт грузит меньше, но при большом, ситуация координально меняется)
    OnUpdate при каждом обновлении кадра берет GetMinMaxValues , GetValue , string.format и записывает это в строчку , мой же вариант делает то же самое , только при появлении плейты на экране 1 раз и только при изменении значения статус бара. По поводу OnUpdate , нужно всеми возможными способами избегать его , особенно где много обьектов.

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

    OnUpdate идет только проверка num ~= lastChildren , т.е 1 if , 1 фрейму обрабатывает только 1 раз, после того как плейта обработана обновление текста будет только при появлении плейты на экране и обновлении значения статус бара (при получении обьектом урона).

    PHP код:
    local __plates__hooks = {}, {["OnShow"] = {}, ["OnValueChanged"] = {}}

    local Update
    do
        
    local selectselectformat
        Update 
    = function(obj)
            
            if 
    obj.__text and obj.__owner:IsShown() then obj.__text:Update() end
            
            
    if obj.__text then return end
                
                local __text 
    obj:CreateFontString()
                
    __text:SetFont("Fonts\\ARIALN.TTF"10"OUTLINEMONOCHROME")
                
    __text:SetPoint("CENTER"obj)
                
    __text.__owner obj
                
                
    function __text:Update()
                    
    local __owner self.__owner
                    local min
    max __owner:GetValue(), select(2__owner:GetMinMaxValues())
                    
    self:SetFormattedText("%s - %d%s",(min>999999 and f("%.1fm"min/1e6)) or (min>999 and f("%.1fk"min/1e3)) or f("%d"min), min/max*100"%")
                
    end
            obj
    .__text __text
        end
    end

    local SetHooks
    do
        
    local pairs pairs
        local frame
        SetHooks 
    = function(obj)
            
    frame obj:GetChildren() or false
            frame
    .__owner obj
            
    for hooktable in pairs(__hooks) do
                if 
    frame and frame:HasScript(hook) and not __hooks[hook][framethen
                    frame
    :HookScript(hookUpdate)
                    
    Update(frame)
                    
    __hooks[hook][frame] = true
                end
            end
        end
    end

    local IsNamePlate
    do
        
    local Overlay = [=[Interface\Tooltips\Nameplate-Border]=]
        
    IsNamePlate = function(obj)
            
    local Name obj:GetName()
            
    local _OverlayRegion obj:GetRegions()
            if(
    Name)then return end
            
    return OverlayRegion and OverlayRegion:GetObjectType() == "Texture" and OverlayRegion:GetTexture() == Overlay
        end
    end

    local FindPlates
    do
        
    local selectrawgetrawsetlastChildren selectrawgetrawset0
        FindPlates 
    = function(self)
            
    local num self:GetNumChildren()
            if 
    num ~= lastChildren then
                
    for 1num do
                    
    local obj select(iself:GetChildren())
                    if 
    IsNamePlate(obj) and not rawget(__platesobjthen
                        SetHooks
    (obj)
                        
    rawset(__platesobjtrue)
                    
    end
                end
                lastChildren 
    num
            end
        end
    end

    WorldFrame
    :HookScript("OnUpdate"FindPlates

  7. 1 пользователь сказал cпасибо DreamlØlz за это полезное сообщение:

    Chrone (28.11.2015)

  8. #7
    Ветеран форума Аватар для Chrone
    Регистрация
    14.03.2013
    Адрес
    Дарнас
    Сообщений
    1,005
    Поблагодарил(а)
    181
    Получено благодарностей: 89 (сообщений: 71).
    Репутация: 537
    Цитата Сообщение от DreamlØlz Посмотреть сообщение
    Немного много текста вышло , такой метод наиболее производительный будет.

    OnUpdate идет только проверка num ~= lastChildren , т.е 1 if , 1 фрейму обрабатывает только 1 раз, после того как плейта обработана обновление текста будет только при появлении плейты на экране и обновлении значения статус бара (при получении обьектом урона).

    PHP код:
    local __plates__hooks = {}, {["OnShow"] = {}, ["OnValueChanged"] = {}}

    local Update
    do
        
    local selectselectformat
        Update 
    = function(obj)
            
            if 
    obj.__text and obj.__owner:IsShown() then obj.__text:Update() end
            
            
    if obj.__text then return end
                
                local __text 
    obj:CreateFontString()
                
    __text:SetFont("Fonts\\ARIALN.TTF"10"OUTLINEMONOCHROME")
                
    __text:SetPoint("CENTER"obj)
                
    __text.__owner obj
                
                
    function __text:Update()
                    
    local __owner self.__owner
                    local min
    max __owner:GetValue(), select(2__owner:GetMinMaxValues())
                    
    self:SetFormattedText("%s - %d%s",(min>999999 and f("%.1fm"min/1e6)) or (min>999 and f("%.1fk"min/1e3)) or f("%d"min), min/max*100"%")
                
    end
            obj
    .__text __text
        end
    end

    local SetHooks
    do
        
    local pairs pairs
        local frame
        SetHooks 
    = function(obj)
            
    frame obj:GetChildren() or false
            frame
    .__owner obj
            
    for hooktable in pairs(__hooks) do
                if 
    frame and frame:HasScript(hook) and not __hooks[hook][framethen
                    frame
    :HookScript(hookUpdate)
                    
    Update(frame)
                    
    __hooks[hook][frame] = true
                end
            end
        end
    end

    local IsNamePlate
    do
        
    local Overlay = [=[Interface\Tooltips\Nameplate-Border]=]
        
    IsNamePlate = function(obj)
            
    local Name obj:GetName()
            
    local _OverlayRegion obj:GetRegions()
            if(
    Name)then return end
            
    return OverlayRegion and OverlayRegion:GetObjectType() == "Texture" and OverlayRegion:GetTexture() == Overlay
        end
    end

    local FindPlates
    do
        
    local selectrawgetrawsetlastChildren selectrawgetrawset0
        FindPlates 
    = function(self)
            
    local num self:GetNumChildren()
            if 
    num ~= lastChildren then
                
    for 1num do
                    
    local obj select(iself:GetChildren())
                    if 
    IsNamePlate(obj) and not rawget(__platesobjthen
                        SetHooks
    (obj)
                        
    rawset(__platesobjtrue)
                    
    end
                end
                lastChildren 
    num
            end
        end
    end

    WorldFrame
    :HookScript("OnUpdate"FindPlates
    скоро спасибки на вас закончатся

    кстати можно в филгере сделать проки в 2 строки ?
    https://www.heroicstrike.org/
    Цитата Сообщение от Netherheal Посмотреть сообщение
    Кап защиты: 560 для цлк+рс, а не 540. 540 только для ргеров. в ЦЛК лвл боссов 85.
    .
    Цитата Сообщение от Dmitry272 Посмотреть сообщение
    Предложение вааще убрать ворота , нет ворот - нечему ломаться
    Цитата Сообщение от Wpq Посмотреть сообщение
    ПОСЛЕ КАЖДОГО ВАЙПА КАЖДЫЙ ЧЕЛОВЕК УМИРАЕТ И БЕЖИТ В ИНСТ А НЕ ВСТАЁТ ПЕРЕРОЖДЕНИЕМ ИЛИ ЭСЭСОМ ИЛИ ХАНТЫ ПРИТВОРЯТСЯ.

Похожие темы

  1. ник нейми
    от омг в разделе WoW Circle 4.3.4 x100(УСТАРЕЛ)
    Ответов: 9
    Последнее сообщение: 12.03.2015, 16:03
  2. Иконки тотемов на неймплейнтах
    от Breakdown в разделе Аддоны
    Ответов: 12
    Последнее сообщение: 12.10.2014, 14:31
  3. Ищу неймплейты
    от Creation в разделе Корзина
    Ответов: 6
    Последнее сообщение: 04.02.2014, 21:04
  4. Баг или хитрость на смену ник-нейма :)
    от FeaTuRinG в разделе Баги веб ресурсов
    Ответов: 1
    Последнее сообщение: 29.01.2013, 21:44

Ваши права

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