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

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

Страница 1 из 2 12 ПоследняяПоследняя
Показано с 1 по 12 из 21

Тема: trufigcd 3.3.5

  1. #1
    Старожил Аватар для Полоумный
    Регистрация
    06.01.2012
    Сообщений
    138
    Поблагодарил(а)
    20
    Получено благодарностей: 7 (сообщений: 7).
    Репутация: 2

    trufigcd 3.3.5

    Есть ли аналог trufigcd , или может кто переписал его на 335?
    http://www.c ur s e.com/addons/wow/trufigcd (пробелы убрать)
    Последний раз редактировалось Полоумный; 08.07.2015 в 08:06.
    >(Alliance)Mushroom<
    >(Horde)-Герольд<

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

  3. #3
    Старожил Аватар для Полоумный
    Регистрация
    06.01.2012
    Сообщений
    138
    Поблагодарил(а)
    20
    Получено благодарностей: 7 (сообщений: 7).
    Репутация: 2
    ненашел там такого(
    >(Alliance)Mushroom<
    >(Horde)-Герольд<

  4. #4
    Старожил Аватар для alexdubovyck
    Регистрация
    24.04.2014
    Сообщений
    193
    Поблагодарил(а)
    178
    Получено благодарностей: 71 (сообщений: 41).
    Репутация: 71
    Хорошая идея, в арена спектатре там слишком сложно, долго разбираться в чужом коде, я даже писал разработчику в скайпе. Ему некогда мне помогать. Spell Flash тебе в помощь.
    Решил попробовать написать свой с нуля, вот что вышло. Одних иконок мало, добавил и текст. тут используется ScrollFrame и TextString.


    Пока не умею менять снизу вверх как у меня, на горизонталь как тут arena_spectator_-_Поиск_в_Google_-_Google_Chrome_2016-01-14_18-33-24.jpg.

  5. #5
    Инопланетянин
    Регистрация
    20.03.2012
    Сообщений
    4,201
    Поблагодарил(а)
    362
    Получено благодарностей: 1,439 (сообщений: 839).
    Репутация: 2399
    Цитата Сообщение от alexdubovyck Посмотреть сообщение
    Хорошая идея, в арена спектатре там слишком сложно, долго разбираться в чужом коде, я даже писал разработчику в скайпе. Ему некогда мне помогать. Spell Flash тебе в помощь.
    Решил попробовать написать свой с нуля, вот что вышло. Одних иконок мало, добавил и текст. тут используется ScrollFrame и TextString.

    Пока не умею менять снизу вверх как у меня, на горизонталь как тут arena_spectator_-_Поиск_в_Google_-_Google_Chrome_2016-01-14_18-33-24.jpg.
    Ты трекер аур пытаешься сделать или всплывающий комбат лог?

    - - - Updated - - -

    Сделай по типу аур на UNIT_SPELLCAST_SUCCIDDED

    - - - Updated - - -

    А ну да я немного лажанул со спектатром ... Там сервер передает все в виде ивентов , а аддон только "расшифровывает" эти ивенты.

    По идее не сложно сделать ... сейчас гляну.

    - - - Updated - - -

    Изи катка

    PHP код:
    local anchor CreateFrame("frame"nilUIParent)
    anchor.unit "player"
    anchor.size 60
    anchor
    .hold 4

    anchor
    :SetPoint("CENTER"UIParent00)
    anchor:SetSize(anchor.sizeanchor.size)

    local OnUpdate = function(selfelapsed)
        
    self.hold self.hold elapsed

        
    if self.hold 0 then
            self
    :Hide()
        else
            
    self:SetAlpha(self.hold)
        
    end
    end

    local CreateIcon 
    = function(self)
        
    local icon CreateFrame("frame"nilself)
        
    icon:Hide()
        
    icon:SetSize(self.sizeself.size)
        
        
    local tex icon:CreateTexture()
        
    tex:SetAllPoints()
        
    icon.tex tex
        
        icon
    .hold 0
        icon
    .parent self
        
        icon
    :SetScript("OnUpdate"OnUpdate)
        
        
    table.insert(selficon)
        
        return 
    icon
    end

    local sort 
    = function(ab)
        if 
    and b then
            
    return a.hold b.hold
        end
    end

    local UpdatePosition 
    = function(self)
        
    table.sort(selfsort)
        
        for 
    1#self do
            
    local icon self[i]
            
            if 
    not icon then return end
            icon
    :ClearAllPoints()
            if 
    == 1 then
                icon
    :SetPoint("CENTER"self00)
            else
                
    icon:SetPoint("LEFT"self[i-1], "RIGHT"20)
            
    end
        end
    end

    local UpdateIcons 
    = function(selfunitlimittexture)

        
    local index 1
        local icon
        
        
    for limit do
            
    local tmp self[i] or CreateIcon(self)
            
            if 
    tmp:IsShown() then
                index 
    index 1
            
    else
                
    icon self[index]
            
    end
        end
        
        icon
    .tex:SetTexture(texture)
        
    icon.hold self.hold
        icon
    :SetAlpha(1)
        
    icon:Show()
        
        
    UpdatePosition(self)
    end

    anchor
    :SetScript("OnEvent", function(selfeventunitspellrank)
        if 
    unit ~= self.unit then return end
        
        local name
    ranktexture GetSpellInfo(spellrank)
        
        
    UpdateIcons(selfunit10texture)
        
    end)

    anchor:RegisterEvent("UNIT_SPELLCAST_SUCCEEDED"
    Последний раз редактировалось DreamlØlz; 15.01.2016 в 01:09.

  6. #6
    Старожил Аватар для alexdubovyck
    Регистрация
    24.04.2014
    Сообщений
    193
    Поблагодарил(а)
    178
    Получено благодарностей: 71 (сообщений: 41).
    Репутация: 71
    Немного покажу как у меня работает:
    Могу задавать время затухания(тут 5), размер, время задержки(5), количество строчек(5), но как сделать сверху вниз, или слева направо, не нашел.

    Если убрать текст и повернуть набок, то выйдет 1 в 1 как у тебя. Только строчек кода меньше.
    Использую:
    UNIT_SPELLCAST_SUCCEEDED
    COMBAT_LOG_EVENT_UNFILTERED
    SPELL_CAST_START
    SPELL_CAST_FAILED только self
    SPELL_CAST_SUCCESS - если говорим про лича(trufcdg уже для 6.0.2, то нужно учитывать особенности.) Я заметил парочку.
    1) SPELL_AURA_APPLIED пришлось добавить т.к у роги отравление это аура, каст не создаёт.
    Возможно есть ещё подобные скилы у других классов.
    2) За ДкWorld_of_Warcraft_2016-01-15_07-37-07.jpgWorld_of_Warcraft_2016-01-15_07-36-59.jpg
    Хватка, койл, удар смерти создают сразу 2 каста, и соответственно отображает 2 иконки на 1 скастованный спелл. Надо убирать.
    {--какой-нибудь блэк лист надо допилить
    47632 47633, 49895 --[Лик смерти],
    49576, 49560 --[Хватка смерти],
    45470, 49924 --[Удар смерти]}

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

    Если убрать текст и повернуть набок, то выйдет 1 в 1 как у тебя. Только строчек кода меньше.
    Использую:
    UNIT_SPELLCAST_SUCCEEDED
    COMBAT_LOG_EVENT_UNFILTERED
    SPELL_CAST_START
    SPELL_CAST_FAILED только self
    SPELL_CAST_SUCCESS - если говорим про лича(trufcdg уже для 6.0.2, то нужно учитывать особенности.) Я заметил парочку.
    1) SPELL_AURA_APPLIED пришлось добавить т.к у роги отравление это аура, каст не создаёт.
    Возможно есть ещё подобные скилы у других классов.
    2) За ДкWorld_of_Warcraft_2016-01-15_07-37-07.jpgWorld_of_Warcraft_2016-01-15_07-36-59.jpg
    Хватка, койл, удар смерти создают сразу 2 каста, и соответственно отображает 2 иконки на 1 скастованный спелл. Надо убирать.
    {--какой-нибудь блэк лист надо допилить
    47632 47633, 49895 --[Лик смерти],
    49576, 49560 --[Хватка смерти],
    45470, 49924 --[Удар смерти]}
    Ну так мой отлично работает.

    По поводу строчек кода - во первых с точки зрения нагрузки скрол фрейма работает примерно так же , только шаблон вшит в userdata и не доступен для редактирования луа. Во вторых - у тебя комбат лог ивент , который идет даже в случаях , когда юнита не существует, что дает нагрузку на проц. В третьих С++ часть , которая вшита в userdata не доступна для редактирования через луа - как итог не сможешь изменить направление роста и тд, только стандартный алгоритм.

    К стати мой код норм отображает отравление и тд.


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

    alexdubovyck (15.01.2016)

  9. #8
    Старожил Аватар для alexdubovyck
    Регистрация
    24.04.2014
    Сообщений
    193
    Поблагодарил(а)
    178
    Получено благодарностей: 71 (сообщений: 41).
    Репутация: 71
    Что он от меня хочет?
    World_of_Warcraft_2016-01-16_22-31-34.jpg
    PHP код:
    local anchor CreateFrame("frame"nilUIParent)
    anchor.unit "player"
    anchor.size 22
    anchor
    .hold 10

    anchor
    :SetPoint("CENTER"PlayerFrame"CENTER"524)
    anchor:SetSize(anchor.sizeanchor.size)

    local OnUpdate = function(selfelapsed)
        
    self.hold self.hold elapsed

        
    if self.hold 0 then
            self
    :Hide()
        else
            
    self:SetAlpha(self.hold)
        
    end
    end

    local CreateIcon 
    = function(self)
        
    local icon CreateFrame("frame"nilself)
        
    icon:Hide()
        
    icon:SetSize(self.sizeself.size)
        
        
    local tex icon:CreateTexture()
        
    tex:SetAllPoints()
        
    icon.tex tex
        
        icon
    .hold 0
        icon
    .parent self
        
        icon
    :SetScript("OnUpdate"OnUpdate)
        
        
    table.insert(selficon)
        
        return 
    icon
    end

    local sort 
    = function(ab)
        if 
    and b then
            
    return a.hold b.hold
        end
    end

    local UpdatePosition 
    = function(self)
        
    table.sort(selfsort)
        
        for 
    1#self do
            
    local icon self[i]
            
            if 
    not icon then return end
            icon
    :ClearAllPoints()
            if 
    == 1 then
                icon
    :SetPoint("CENTER"self00)
            else
                
    icon:SetPoint("LEFT"self[i-1], "RIGHT"20)
            
    end
        end
    end

    local UpdateIcons 
    = function(selfunitlimittexture)

        
    local index 1
        local icon
        
        
    for limit do
            
    local tmp self[i] or CreateIcon(self)
            
            if 
    tmp:IsShown() then
                index 
    index 1
            
    else
                
    icon self[index]
            
    end
        end
        
        icon
    .tex:SetTexture(texture)
        
    icon.hold self.hold
        icon
    :SetAlpha(1)
        
    icon:Show()
        
        
    UpdatePosition(self)
    end

    anchor
    :SetScript("OnEvent", function(selfeventunitspellrank, ...)
        if 
    unit ~= self.unit then return end
        
        local name
    ranktexture GetSpellInfo(spellrank)
        
        
    UpdateIcons(selfunit10texture)
        
    end)

    anchor:RegisterEvent("UNIT_SPELLCAST_SUCCEEDED"
    Имя себе скрыл: PlayerFrame.name:Hide()
    Таргету: TargetFrameTextureFrameName:Hide()
    Изображения Изображения

  10. #9
    Инопланетянин
    Регистрация
    20.03.2012
    Сообщений
    4,201
    Поблагодарил(а)
    362
    Получено благодарностей: 1,439 (сообщений: 839).
    Репутация: 2399
    Цитата Сообщение от alexdubovyck Посмотреть сообщение
    Что он от меня хочет?
    World_of_Warcraft_2016-01-16_22-31-34.jpg
    PHP код:
    local anchor CreateFrame("frame"nilUIParent)
    anchor.unit "player"
    anchor.size 22
    anchor
    .hold 10

    anchor
    :SetPoint("CENTER"PlayerFrame"CENTER"524)
    anchor:SetSize(anchor.sizeanchor.size)

    local OnUpdate = function(selfelapsed)
        
    self.hold self.hold elapsed

        
    if self.hold 0 then
            self
    :Hide()
        else
            
    self:SetAlpha(self.hold)
        
    end
    end

    local CreateIcon 
    = function(self)
        
    local icon CreateFrame("frame"nilself)
        
    icon:Hide()
        
    icon:SetSize(self.sizeself.size)
        
        
    local tex icon:CreateTexture()
        
    tex:SetAllPoints()
        
    icon.tex tex
        
        icon
    .hold 0
        icon
    .parent self
        
        icon
    :SetScript("OnUpdate"OnUpdate)
        
        
    table.insert(selficon)
        
        return 
    icon
    end

    local sort 
    = function(ab)
        if 
    and b then
            
    return a.hold b.hold
        end
    end

    local UpdatePosition 
    = function(self)
        
    table.sort(selfsort)
        
        for 
    1#self do
            
    local icon self[i]
            
            if 
    not icon then return end
            icon
    :ClearAllPoints()
            if 
    == 1 then
                icon
    :SetPoint("CENTER"self00)
            else
                
    icon:SetPoint("LEFT"self[i-1], "RIGHT"20)
            
    end
        end
    end

    local UpdateIcons 
    = function(selfunitlimittexture)

        
    local index 1
        local icon
        
        
    for limit do
            
    local tmp self[i] or CreateIcon(self)
            
            if 
    tmp:IsShown() then
                index 
    index 1
            
    else
                
    icon self[index]
            
    end
        end
        
        icon
    .tex:SetTexture(texture)
        
    icon.hold self.hold
        icon
    :SetAlpha(1)
        
    icon:Show()
        
        
    UpdatePosition(self)
    end

    anchor
    :SetScript("OnEvent", function(selfeventunitspellrank, ...)
        if 
    unit ~= self.unit then return end
        
        local name
    ranktexture GetSpellInfo(spellrank)
        
        
    UpdateIcons(selfunit10texture)
        
    end)

    anchor:RegisterEvent("UNIT_SPELLCAST_SUCCEEDED"
    Имя себе скрыл: PlayerFrame.name:Hide()
    Таргету: TargetFrameTextureFrameName:Hide()
    PHP код:
    local UpdateIcons = function(selfunitlimittexture)

        
    local index 1
        local icon
        
        
    for limit do
            
    local tmp self[i] or CreateIcon(self)
            
            if 
    tmp:IsShown() then
                index 
    index 1
            
    else
                
    icon self[index]
            
    end
        end
        
        
    if icon then
            icon
    .tex:SetTexture(texture)
            
    icon.hold self.hold
            icon
    :SetAlpha(1)
            
    icon:Show()
        
    end
        
        UpdatePosition
    (self)
    end 
    У тебя большое время показа иконки . Итерация идет от 1 до 10 , а иконок иза большого времени показа хочет создавать больше 10 , тем самым выходя за предел итератора =)

  11. #10
    Старожил Аватар для alexdubovyck
    Регистрация
    24.04.2014
    Сообщений
    193
    Поблагодарил(а)
    178
    Получено благодарностей: 71 (сообщений: 41).
    Репутация: 71
    Т.к у нас local functions

    то мы можем размножить lua файлик несколько раз для memberparty1, focus, target,(pet, arena1, arena2, ...).

    Скрытый текст


    Всё сделал, только вот показывать не хочет. Я думаю это из-за огромного количества self. Или self в определённом месте.

    Сам UNIT_SPELLCAST_SUCCEEDED дублирует того unita(arg1) который мне нужен.

    Заменил элементарно anchor.unit = "player" на "focus", "target". Ничего не происходит для target, focus. Показывает только для меня. Как доделать под target, focus, etc... ? подскажи.

  12. #11
    Инопланетянин
    Регистрация
    20.03.2012
    Сообщений
    4,201
    Поблагодарил(а)
    362
    Получено благодарностей: 1,439 (сообщений: 839).
    Репутация: 2399
    Цитата Сообщение от alexdubovyck Посмотреть сообщение
    Т.к у нас local functions

    то мы можем размножить lua файлик несколько раз для memberparty1, focus, target,(pet, arena1, arena2, ...).

    Скрытый текст


    Всё сделал, только вот показывать не хочет. Я думаю это из-за огромного количества self. Или self в определённом месте.

    Сам UNIT_SPELLCAST_SUCCEEDED дублирует того unita(arg1) который мне нужен.

    Заменил элементарно anchor.unit = "player" на "focus", "target". Ничего не происходит для target, focus. Показывает только для меня. Как доделать под target, focus, etc... ? подскажи.
    Причем тут self? Это ... вообщем забей. Что бы не дублировало таргет с другими юнитами делай проверку UnitIsUnit , для других юнитов ... делай функцию и спавни для нужных юнитов якоря.

  13. #12
    Новичок
    Регистрация
    26.01.2015
    Сообщений
    8
    Поблагодарил(а)
    0
    Получено благодарностей: 0 (сообщений: 0).
    Репутация: 0
    Парни, вы меня заинтриговали. я тут сам пытался. но в этом деле я реальный нуб - не получается.. отпишите чем дело то кончилось? у вас получилось под 3.3.5 его интегрировать? и ещё - вы его с нуля писали? или переписывали из других аддонов?

Страница 1 из 2 12 ПоследняяПоследняя

Ваши права

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