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

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

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

Древовидный режим

Предыдущее сообщение Предыдущее сообщение   Следующее сообщение Следующее сообщение
  1. #7
    Ветеран форума Аватар для LinxFree
    Регистрация
    16.06.2013
    Сообщений
    990
    Поблагодарил(а)
    146
    Получено благодарностей: 133 (сообщений: 98).
    Репутация: 175

    Sproody function sendMessage

    Цитата Сообщение от Sproody Посмотреть сообщение
    PHP код:
    local frame CreateFrame("frame")


    local function sendMessage(message)
        
    local channel
        local inRaid 
    UnitInRaid("player")
        if 
    inRaid and IsPartyLeader() then
            channel 
    "RAID_WARNING"
        
    elseif inRaid or UnitExists("party1"then
            channel 
    "PARTY"
        
    end

        SendChatMessage
    (message,nil,channel)
    end

    local arena 
    = {"arena1","arena2","arena3"}
    local arenapet = {"arenapet1","arenapet2","arenapet3"}

    local function onEvent(self,event)
        if 
    event == "PLAYER_ENTERING_WORLD" then
            local _
    ,instanceType IsInInstance()
            if 
    instanceType == "arena" then
                self
    :RegisterEvent("PLAYER_TARGET_CHANGED")
            else
                
    self:UnregisterEvent("PLAYER_TARGET_CHANGED")
            
    end
        
    elseif event == "PLAYER_TARGET_CHANGED" then
            
    if UnitAffectingCombat("player") and UnitExists("target"then
                
    for 1,do
                    if 
    UnitIsUnit("target",arena[i]) then
                        sendMessage
    ("switch to "..(UnitName(arena[i])))
                        return
                    
    end

                    
    if UnitIsUnit("target",arenapet[i]) then
                        sendMessage
    ("switch to "..(UnitName(arenapet[i])))
                        return
                    
    end
                end
            end
        end
    end

    frame
    :RegisterEvent("PLAYER_ENTERING_WORLD")
    frame:SetScript("OnEvent",onEvent
    [свернуть]

    Not work

    - - - Updated - - -

    Даи, таймер бы не мешало добавить?
    В таком виде он просто будет по смене таргета спамить? У некоторых смена таргета просто на 1-2 секунды для отдачи контроля.
    Еще конечно я губу раскатал, но не мешало бы табличку с локализацией в виде сокращений класса в виде
    PHP код:
    Classname
    if targetClass Shaman = ["ШАМ"]
    if 
    targetClass Warlock = ["Лок"]
    if 
    targetClass Paladin = ["Пал"]
    sendMessage("switch to "..(UnitName(arena[i]) + UnitClass(Classname))) 
    , потому что на ник не все ведутся!

    - - - Updated - - -

    PHP код:
    local function sendMessage(message)
        
    local channel
        local inRaid 
    UnitInRaid("player")
        if 
    inRaid and IsPartyLeader() then
            channel 
    "RAID_WARNING"
        
    elseif inRaid or UnitExists("party1"then
            channel 
    "PARTY"
        
    end 
    Кажется я понял, в солоке все находятся и в группе и в рейде одновременно. Наверно в этом загвоздка.
    Можно ли что-то типо:
    PHP код:
        elseif not IsPartyLeader() then
    channel 
    "PARTY" 
    а вообще не IsRaidLeader() а IsPartyLeader()?
    Последний раз редактировалось LinxFree; 18.12.2019 в 16:17.
    "Одержать сто побед в ста битвах — это не вершина воинского искусства. Повергнуть врага без сражения — вот вершина."

Ваши права

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