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

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

Страница 3 из 3 ПерваяПервая 123
Показано с 25 по 32 из 32
  1. #25
    Старожил
    Регистрация
    17.06.2018
    Сообщений
    264
    Поблагодарил(а)
    6
    Получено благодарностей: 151 (сообщений: 107).
    Репутация: 151
    возможно
    PHP код:
    if args:IsSpellID(28240) and args.sourceName == "Гроббулус" then 

  2. #26
    Старожил
    Регистрация
    13.09.2012
    Сообщений
    111
    Поблагодарил(а)
    18
    Получено благодарностей: 6 (сообщений: 5).
    Репутация: 6
    Цитата Сообщение от Ururu Посмотреть сообщение
    возможно
    PHP код:
    if args:IsSpellID(28240) and args.sourceName == "Гроббулус" then 
    не пашет(



    АПДЕЙТ

    я сделал)) немного доработал твой код)
    PHP код:
    if args:IsSpellID(28240) and args.sourceName == L.Grob then 
    и в локализацию добавил
    PHP код:
    L:SetMiscLocalization({
        
    Grob                    "Гроббулус"
    }) 
    Последний раз редактировалось Камурик; 30.12.2019 в 01:21.

  3. #27
    Старожил
    Регистрация
    13.09.2012
    Сообщений
    111
    Поблагодарил(а)
    18
    Получено благодарностей: 6 (сообщений: 5).
    Репутация: 6
    появилась другая идея)

    Нот чумной, он призывает на переходке 2 кастеров, я ХОЧу, чтобы на них ставились метки как на саурфе(адды) или личе(вальки)

    как это сделать, у меня даже не получается скопировтаь и поправить((

  4. #28
    Эксперт
    Регистрация
    26.12.2019
    Сообщений
    581
    Поблагодарил(а)
    26
    Получено благодарностей: 59 (сообщений: 44).
    Репутация: 59
    Цитата Сообщение от Ururu Посмотреть сообщение
    возможно
    Ururu, ЛС

  5. #29
    Старожил
    Регистрация
    13.09.2012
    Сообщений
    111
    Поблагодарил(а)
    18
    Получено благодарностей: 6 (сообщений: 5).
    Репутация: 6
    Цитата Сообщение от Камурик Посмотреть сообщение
    появилась другая идея)

    Нот чумной, он призывает на переходке 2 кастеров, я ХОЧу, чтобы на них ставились метки как на саурфе(адды) или личе(вальки)

    как это сделать, у меня даже не получается скопировтаь и поправить((
    АП!!!

  6. #30
    Старожил
    Регистрация
    13.09.2012
    Сообщений
    111
    Поблагодарил(а)
    18
    Получено благодарностей: 6 (сообщений: 5).
    Репутация: 6
    :2muzik:АП!

  7. #31
    Старожил
    Регистрация
    13.09.2012
    Сообщений
    111
    Поблагодарил(а)
    18
    Получено благодарностей: 6 (сообщений: 5).
    Репутация: 6
    Как сделать обратный отсчёт как на офе, когда спадает дебаф
    Чтобы спамил в чат 3-2-1 к примеру?
    Сделал через запланированные методы, но мне кажется есть более удобный способ
    Пример как я сделал:

    PHP код:
    mod:AddBoolOption("YellCountdown"true"announce")

    if 
    args:IsSpellID(12345then    
            
    if args:IsPlayer() and self.Options.YellCountdown then
                self
    :ScheduleMethod(1"ToTremor3")
                
    self:ScheduleMethod(2"ToTremor2")
                
    self:ScheduleMethod(3"ToTremor1")
            
    end
    end

    function mod:ToTremor3()
        
    SendChatMessage(L.YellTri"SAY")
    end

    function mod:ToTremor2()
        
    SendChatMessage(L.YellTwo"SAY")
    end

    function mod:ToTremor1()
        
    SendChatMessage(L.YellOne"SAY")
    end 
    Ну и в локализацию добавить
    PHP код:
    L:SetOptionLocalization({
        
    YellCountdown            "Обратный отсчёт времени спадения дебафа"
    })

    L:SetMiscLocalization({
        
    YellTri            "3",
        
    YellTwo            "2",
        
    YellOne            "1"
    }) 

    Я смотрел дбм с офы, там в ядро добавили новые моды для аннонсов, а именно:
    PHP код:
    local yellolatileSeedFades                    mod:NewFadesYell(310277
    В Ядре это целый кластер:
    PHP код:
    do
        
    local voidForm GetSpellInfo(194249)
        
    local yellPrototype = {}
        
    local mt = { __index yellPrototype }
        
    local function newYell(selfyellTypespellIdyellTextoptionDefaultoptionNamechatType)
            if 
    not spellId and not yellText then
                error
    ("NewYell: you must provide either spellId or yellText"2)
                return
            
    end
            
    if type(spellId) == "string" and spellId:match("OptionVersion"then
                
    print("newYell for: "..yellText.." is using OptionVersion hack. This is depricated")
                return
            
    end
            local optionVersion
            
    if type(optionName) == "number" then
                optionVersion 
    optionName
                optionName 
    nil
            end
            local displayText
            
    if not yellText then
                
    if type(spellId) == "string" and spellId:match("ej%d+"then
                    displayText 
    DBM_CORE_AUTO_YELL_ANNOUNCE_TEXT[yellType]:format(DBM:EJ_GetSectionInfo(string.sub(spellId3)) or DBM_CORE_UNKNOWN)
                else
                    
    displayText DBM_CORE_AUTO_YELL_ANNOUNCE_TEXT[yellType]:format(DBM:GetSpellInfo(spellId) or DBM_CORE_UNKNOWN)
                
    end
            end
            
    --Passed spellid as yellText.
            --
    Auto localize spelltext using yellText instead
            
    if yellText and type(yellText) == "number" then
                displayText 
    DBM_CORE_AUTO_YELL_ANNOUNCE_TEXT[yellType]:format(DBM:GetSpellInfo(yellText) or DBM_CORE_UNKNOWN)
            
    end
            local obj 
    setmetatable(
                {
                    
    text displayText or yellText,
                    
    mod self,
                    
    chatType chatType,
                    
    yellType yellType
                
    },
                
    mt
            
    )
            if 
    optionName then
                obj
    .option optionName
                self
    :AddBoolOption(obj.optionoptionDefault"yell")
            elseif 
    not (optionName == falsethen
                obj
    .option "Yell"..(spellId or yellText)..(yellType ~= "yell" and yellType or "")..(optionVersion or "")
                
    self:AddBoolOption(obj.optionoptionDefault"yell")
                
    self.localization.options[obj.option] = DBM_CORE_AUTO_YELL_OPTION_TEXT[yellType]:format(spellId)
            
    end
            
    return obj
        end

        
    function yellPrototype:Yell(...)
            if 
    not IsInInstance() then--as of 8.2.5forbidden in outdoor world
                DBM
    :Debug("WARNING: A mod is still trying to call chat SAY/YELL messages outdoors, FIXME")
                return
            
    end
            
    if DBM.Options.DontSendYells or self.yellType and self.yellType == "position" and DBM:UnitBuff("player"voidForm) and DBM.Options.FilterVoidFormSay then return end
            
    if not self.option or self.mod.Options[self.optionthen
                
    if self.yellType == "combo" then
                    SendChatMessage
    (pformat(self.text, ...), self.chatType or "YELL")
                else
                    
    SendChatMessage(pformat(self.text, ...), self.chatType or "SAY")
                
    end
            end
        end
        yellPrototype
    .Show yellPrototype.Yell

        
    --Force override to use say messageeven when object defines "YELL"
        
    function yellPrototype:Say(...)
            if 
    not IsInInstance() then --as of 8.2.5forbidden in outdoor world
                DBM
    :Debug("WARNING: A mod is still trying to call chat SAY/YELL messages outdoors, FIXME")
                return
            
    end
            
    if DBM.Options.DontSendYells or self.yellType and self.yellType == "position" and DBM:UnitBuff("player"voidForm) and DBM.Options.FilterVoidFormSay then return end
            
    if not self.option or self.mod.Options[self.optionthen
                SendChatMessage
    (pformat(self.text, ...), "SAY")
            
    end
        end

        
    function yellPrototype:Schedule(t, ...)
            return 
    schedule(tself.Yellself.modself, ...)
        
    end

        
    function yellPrototype:Countdown(timenumAnnounces, ...)
            if 
    time 60 then         --[spellID not a time]--
                
    local _____expireTime DBM:UnitDebuff("player"time)
                if 
    expireTime then
                    local remaining 
    expireTime-GetTime()
                    
    scheduleCountdown(remainingnumAnnouncesself.Yellself.modself, ...)
                
    end
            
    else
                
    scheduleCountdown(timenumAnnouncesself.Yellself.modself, ...)
            
    end
        end

        
    function yellPrototype:Cancel(...)
            return 
    unschedule(self.Yellself.modself, ...)
        
    end

        
    function bossModPrototype:NewYell(...)
            return 
    newYell(self"yell", ...)
        
    end

        
    function bossModPrototype:NewShortYell(...)
            return 
    newYell(self"shortyell", ...)
        
    end

        
    function bossModPrototype:NewCountYell(...)
            return 
    newYell(self"count", ...)
        
    end

        
    function bossModPrototype:NewFadesYell(...)
            return 
    newYell(self"fade", ...)
        
    end

        
    function bossModPrototype:NewShortFadesYell(...)
            return 
    newYell(self"shortfade", ...)
        
    end

        
    function bossModPrototype:NewIconFadesYell(...)
            return 
    newYell(self"iconfade", ...)
        
    end

        
    function bossModPrototype:NewPosYell(...)
            return 
    newYell(self"position", ...)
        
    end

        
    function bossModPrototype:NewComboYell(...)
            return 
    newYell(self"combo", ...)
        
    end
    end 
    Мб это как-то поможет, для тех, кто разбирается и можешь аддаптировать данный код под ДБМ 3.3.5а
    Последний раз редактировалось Камурик; 24.02.2020 в 10:07.

  8. #32
    Старожил
    Регистрация
    13.09.2012
    Сообщений
    111
    Поблагодарил(а)
    18
    Получено благодарностей: 6 (сообщений: 5).
    Репутация: 6
    UP!

Страница 3 из 3 ПерваяПервая 123

Ваши права

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