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

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

Страница 1 из 3 123 ПоследняяПоследняя
Показано с 1 по 12 из 32
  1. #1
    Старожил
    Регистрация
    13.09.2012
    Сообщений
    110
    Поблагодарил(а)
    16
    Получено благодарностей: 6 (сообщений: 5).
    Репутация: 6

    Доработка DBM'a

    Мне понравилась идея игроков с оффы, как они трекают дебафы на себе, анонсят его в чат над головой, я решил добавить это в дбм, у меня получилось, но есть боссы, где кидается несколько одинаковых дебафов и аддон ставит разные метки(череп-крест-круг-квадрат), может кто-то знает как задетектить метку поставленную на мне, чтобы я её потом написал в чат, т.е. на меня кидается Ледяная метка от синдры, и мне нужно, чтобы я написал в чат: {крест}Ледяная глыба на мне{крест}.

    Если что, всё работает, нужно просто добавить детект метки.

    Код из sindragosa.lua
    PHP код:
    if args:IsSpellID(70126then
            
    if args:IsPlayer() and self.Options.YellOnFrostBeacon then
                    SendChatMessage
    (L.YellFrostBeacon"SAY")
                    
    end
                end 
    Код из localization.ru.lua
    PHP код:
    YellFrostBeacon        "Ледяная глыба на мне!" 
    Что нужно и где добавить, чтобы дбм задетектил на мне метку с дебафом и написал это в чат!
    Буду благодарен!
    Последний раз редактировалось Камурик; 22.09.2019 в 16:14.

  2. #2
    Старожил
    Регистрация
    17.06.2018
    Сообщений
    264
    Поблагодарил(а)
    6
    Получено благодарностей: 150 (сообщений: 107).
    Репутация: 150
    на личе в облачках не отображаются метки рейда, просто так и пишется текстом: {крест}.
    а так сделать просто. вот макрос
    PHP код:
    /run local t,GetRaidTargetIndex("player"),"+" = (and "{rt" ..t.. "}".. .. "{rt" ..t.. "}") or mSendChatMessage(t"SAY"
    в принципе можно переписать код облачков, чтобы отображалось, но ты ведь не для себя пишешь, а для других, у кого не будет такой переделки.

  3. 1 пользователь сказал cпасибо Ururu за это полезное сообщение:

    Камурик (22.09.2019)

  4. #3
    Старожил
    Регистрация
    13.09.2012
    Сообщений
    110
    Поблагодарил(а)
    16
    Получено благодарностей: 6 (сообщений: 5).
    Репутация: 6
    Цитата Сообщение от Ururu Посмотреть сообщение
    на личе в облачках не отображаются метки рейда, просто так и пишется текстом: {крест}.
    а так сделать просто. вот макрос
    PHP код:
    /run local t,GetRaidTargetIndex("player"),"+" = (and "{rt" ..t.. "}".. .. "{rt" ..t.. "}") or mSendChatMessage(t"SAY"
    в принципе можно переписать код облачков, чтобы отображалось, но ты ведь не для себя пишешь, а для других, у кого не будет такой переделки.
    а можно это как-то перенести в дбм, я не разбираюсь в синтаксисе, получилось кое-как создать анонс в чат, по аналогии с профом, но и то, не сразу...
    Кстати да, как это сделать, то что ты написал, про облако над головой в виде значков, ну и перенести мою метку в текст тригера. Я не хочу использовать макросы, хочу сделать всё автоматически)

    Мне это просто интересно, но я далёк от программирования таких серьёзных)) с переменными
    Последний раз редактировалось Камурик; 22.09.2019 в 16:16.

  5. #4
    Ветеран форума Аватар для LinxFree
    Регистрация
    16.06.2013
    Сообщений
    990
    Поблагодарил(а)
    146
    Получено благодарностей: 133 (сообщений: 98).
    Репутация: 175
    Какая разница какая метка на тебе стоит, если функция дебафов(ледяной склеп) одна и та же? Ты что так что так вынужден будешь отбегать, и рейд от тебя убегать, независимо череп это круг или квадрат - их разница это ограничение возможности добавлять одни и те же метки на разных людей, иначе на однородные дебафы вешались бы одинаковые метки.

    У некоторых в настройках отключены "сообщения в облачках", и они даже этого не увидят - соответственно даже благодаря твоему сообщению без меток от тебя не отбегут. Но именно на синдре в игре придумана анимация мигания над головой - для тупых, не заметить её сложно, если уж это не видят, то сообщения в облачках тоже скорее всего пропустят мимо глаз.
    Я бы что-нибудь написал "очень матерное и грубое" - типа "ПОШЛИ на@р все ОТ МЕНЯ!!", чтобы до аутистов сразу доходило.
    или проси дать тебе асиста на синдре и в аддон вместе с
    PHP код:
    SendChatMessage(L.YellFrostBeacon"SAY"
    добавь
    PHP код:
    SendChatMessage(L.Razognatb_Autistov"RAID_WARNING"
    а в локализации вместе с
    PHP код:
    YellFrostBeacon        "Ледяная глыба на мне!"
    Razognatb_Autistov "А НУ РАССОСАЛИСЬ ОТ МЕТОК АУТИСТЫ Х@ЕНОВЫ!!! ВСЕМ МИНУС EP!!!" 
    -----------------------------------------------------------------------------------


    Цитата Сообщение от Камурик Посмотреть сообщение
    Кстати да, как это сделать, то что ты написал, про облако над головой в виде значков
    Это видеть только ты будешь, и никто другой, смысла нету.
    Можешь добавить дебафф в PlateBuffs и присвоить ему именную иконку, он там выскакивать будет над головой.

    На циркуле с большим онлайном аутистов эта функция не найдёт понимания. К примеру после добавления таких сообщений в аддон мне часто писали в пм оскорбления и реплики типа: "ты нуб/ удали вов лучше бы хилил/дамажил вместо того чтобы стоять и писать в чат эти сообщения"
    Последний раз редактировалось LinxFree; 22.09.2019 в 19:58.
    "Одержать сто побед в ста битвах — это не вершина воинского искусства. Повергнуть врага без сражения — вот вершина."

  6. #5
    Старожил
    Регистрация
    17.06.2018
    Сообщений
    264
    Поблагодарил(а)
    6
    Получено благодарностей: 150 (сообщений: 107).
    Репутация: 150
    Цитата Сообщение от Камурик Посмотреть сообщение
    Кстати да, как это сделать, то что ты написал, про облако над головой в виде значков
    да никак не сделать через луа, в облаке только текстом, походу.

    Цитата Сообщение от Камурик Посмотреть сообщение
    а можно это как-то перенести в дбм, я не разбираюсь в синтаксисе, получилось кое-как создать анонс в чат, по аналогии с профом, но и то, не сразу...
    вместо этой строки
    PHP код:
    SendChatMessage(L.YellFrostBeacon"SAY"
    эти
    PHP код:
    local t GetRaidTargetIndex("player")
    if 
    t then t _G["RAID_TARGET_" ..t"{".. .."}" .. L.YellFrostBeacon .. "{".. .."}" else L.YellFrostBeacon end
    SendChatMessage
    (t"SAY"
    но скорей всего это не сработает потому что, возможно, эта часть кода срабатывает когда накладывается дебаф, в этот момент метки на тебе еще нету, рл или ассист ставит её чуть позже. это нужно проверить. я в своем такого кода не нашел, у меня наверное какой-то левый dbm, я его не юзал никогда. если не сработает, можно поставить задержку в пол сек.

    на синдре и на других боссах смысла в этом не вижу, там же и так все понятно.
    кроме лича, когда вальки хватают, если ты вар,кот,маг,хант, нужно написать чтобы твою вальку не били.

  7. #6
    Старожил
    Регистрация
    13.09.2012
    Сообщений
    110
    Поблагодарил(а)
    16
    Получено благодарностей: 6 (сообщений: 5).
    Репутация: 6
    Цитата Сообщение от Ururu Посмотреть сообщение
    да никак не сделать через луа, в облаке только текстом, походу.


    вместо этой строки
    PHP код:
    SendChatMessage(L.YellFrostBeacon"SAY"
    эти
    PHP код:
    local t GetRaidTargetIndex("player")
    if 
    t then t _G["RAID_TARGET_" ..t"{".. .."}" .. L.YellFrostBeacon .. "{".. .."}" else L.YellFrostBeacon end
    SendChatMessage
    (t"SAY"
    но скорей всего это не сработает потому что, возможно, эта часть кода срабатывает когда накладывается дебаф, в этот момент метки на тебе еще нету, рл или ассист ставит её чуть позже. это нужно проверить. я в своем такого кода не нашел, у меня наверное какой-то левый dbm, я его не юзал никогда. если не сработает, можно поставить задержку в пол сек.

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

    WoWScrnShot_092319_010137.jpg
    это получается, я кинул звезду заранее на меня и он задетектил её, но метка кинулась вместе со спорой то другая)))


    Эти доработки - моя личная идея, если нужно, то могу скинуть архив, но там он написан под другой сервер

    Другой чел делает дбм под рофл моменты, типа: когда синдра улетает, у тебя включается аудио(Ну нахер...) и тд

    - - - Updated - - -

    Скажу вообще, я пишу его под другой сервер, там есть свои трудности для меня, с которыми я столкнулся, получается: я когда пишу в чат, что на мне дебаф, то не вижу метки на мне, облачко перекрывает метку и я не знаю куда бежать) из-за этого я бы хотел сделать как я хочу) и мне всё равно что там сверху пишут. у нас есть 6 позиций для 6 меток, и я хочу знать куда мне бежать с меткой сразу, а не через 1-2 секунды.. так что СТОП ОФФТОП
    Последний раз редактировалось Камурик; 23.09.2019 в 01:27.

  8. #7
    Старожил Аватар для Mr_bart
    Регистрация
    19.04.2017
    Сообщений
    102
    Поблагодарил(а)
    15
    Получено благодарностей: 20 (сообщений: 18).
    Репутация: 20
    Цитата Сообщение от Камурик Посмотреть сообщение
    Мне понравилась идея игроков с оффы, как они трекают дебафы на себе, анонсят его в чат над головой, я решил добавить это в дбм, у меня получилось, но есть боссы, где кидается несколько одинаковых дебафов и аддон ставит разные метки(череп-крест-круг-квадрат), может кто-то знает как задетектить метку поставленную на мне, чтобы я её потом написал в чат, т.е. на меня кидается Ледяная метка от Синдры, и мне нужно, чтобы я написал в чат: {крест}Ледяная глыба на мне{крест}.
    Но не забывай, что там это актуально, потому что есть возможность заблаговременно и по-своему усмотрению подсвечивать метками области. Без подсветки придётся выставлять какой-то стандарт или каждый раз объяснять людям какую и куда, и люди пока не запомнят будут всё равно путаться. Что было бы неплохо перенести, так это анонс обратного отсчёта дебафов вроде Ледяная метка или времени до тика Мертвящей Чумы. Потому что по большей части люди пропускают собственный анонс меток, а таймер с обратным отсчётом привлекал бы дополнительное внимание.

    - - - Updated - - -

    Цитата Сообщение от Ururu Посмотреть сообщение
    я в своем такого кода не нашел, у меня наверное какой-то левый dbm, я его не юзал никогда.
    Я тоже в своём не нашёл, ещё удивлялся, почему не могу в анонсах ДБМа на Синдру найти спам в общий чат о ледяной метке на мне. Я даже перепроверил и пошёл на curseforge и скачал заново, и там тоже без этой части кода аддон.

  9. #8
    Старожил
    Регистрация
    17.06.2018
    Сообщений
    264
    Поблагодарил(а)
    6
    Получено благодарностей: 150 (сообщений: 107).
    Репутация: 150
    Цитата Сообщение от Камурик Посмотреть сообщение
    Корочее, я протестил твой код, он работает как ты и написал, слишком рано, т.е. без метки, нужно задержку дописать и будет идеально)
    крч вместо этого
    PHP код:
    SendChatMessage(L.YellFrostBeacon"SAY"
    это
    PHP код:
    if not mod.tFrame then mod.tFrame CreateFrame("frame"end
    local d 
    .5
    mod
    .tFrame:SetScript("OnUpdate",function(s,e)
        
    d=d-e
        
    if 0 then 
            local t 
    GetRaidTargetIndex("player")
            if 
    t then t _G["RAID_TARGET_" ..t"{".. .."}" .. L.YellFrostBeacon .. "{".. .."}" else L.YellFrostBeacon end
            SendChatMessage
    (t"SAY")
            
    mod.tFrame:SetScript("OnUpdate",nil)
        
    end
    end


  10. #9
    Старожил
    Регистрация
    13.09.2012
    Сообщений
    110
    Поблагодарил(а)
    16
    Получено благодарностей: 6 (сообщений: 5).
    Репутация: 6
    Цитата Сообщение от Ururu Посмотреть сообщение
    крч вместо этого
    PHP код:
    SendChatMessage(L.YellFrostBeacon"SAY"
    это
    PHP код:
    if not mod.tFrame then mod.tFrame CreateFrame("frame"end
    local d 
    .5
    mod
    .tFrame:SetScript("OnUpdate",function(s,e)
        
    d=d-e
        
    if 0 then 
            local t 
    GetRaidTargetIndex("player")
            if 
    t then t _G["RAID_TARGET_" ..t"{".. .."}" .. L.YellFrostBeacon .. "{".. .."}" else L.YellFrostBeacon end
            SendChatMessage
    (t"SAY")
            
    mod.tFrame:SetScript("OnUpdate",nil)
        
    end
    end

    Короче, чувак, ты лучший! Всё работает как надо
    DzHMRiGpOdU.jpg

    Если получится делать обратный отчёт, то будет щииикарноо. Ну и можно как-то поменять текст метки на картинку, хотя бы для себя, это не принципиально, но если будет, то юудет восхитительно.

    П. С. Раскрою карты: я сейчас играю на *****е и у нас как раз есть 3д метки и мы выносим определённую метку в определенное место. Я вечером скину архив, эти анонсы в чат я сам лично добавлял на нужные спелы, но есть где ещё не работает(блевота на гниле). Ну и да, у нас там немного больше боссов в цлк и бк контент работает, но таймеры под нас написаны)
    Не надо осуждать
    Последний раз редактировалось Камурик; 23.09.2019 в 13:28.

  11. #10
    Старожил
    Регистрация
    17.06.2018
    Сообщений
    264
    Поблагодарил(а)
    6
    Получено благодарностей: 150 (сообщений: 107).
    Репутация: 150
    Цитата Сообщение от Камурик Посмотреть сообщение
    Если получится делать обратный отчёт, то будет щииикарноо. Ну и можно как-то поменять текст метки на картинку, хотя бы для себя, это не принципиально, но если будет, то юудет восхитительно.
    для себя можно просто текстуру метки и текст таймера в центре экрана сделать.

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

    PHP код:
    if not mod.tFrame then 
        local f 
    CreateFrame("frame"
        
    f:SetSize(50,50)
        
    f:SetPoint("CENTER")
        
    f.i=f:CreateTexture()
        
    f.i:SetAllPoints()
        
    f.t=f:CreateFontString()
        
    f.t:SetFont("Fonts\\FRIZQT__.TTF",15,"OUTLINE")
        
    f.t:SetAllPoints()
        
    mod.tFrame f
    end
    local d 
    .5
    mod
    .tFrame:SetScript("OnUpdate",function(s,e)
        
    d=d-e
        
    if 0 then 
            local t 
    GetRaidTargetIndex("player")
            if 
    t then
                s
    .i:SetTexture("Interface\\TargetingFrame\\UI-RaidTargetingIcon_".. t)
                
    _G["RAID_TARGET_" ..t"{".. .."}" .. L.YellFrostBeacon .. "{".. .."}" 
            
    else L.YellFrostBeacon 
            end
            SendChatMessage
    (t"SAY")
            
    .5
            s
    :SetScript("OnUpdate",function(s,e)
                
    d=d-e
                s
    .t:SetText(format("%.1f",d))
                if 
    d<0 then
                    s
    .t:SetText("")
                    
    s.i:SetTexture("")
                    
    s:SetScript("OnUpdate",nil)
                
    end
            end
    )
        
    end
    end

    но я таймер не знаю, просто поставил на 6 сек.
    облако перекрывает дефолтную метку рейда, а эта созданная текстура перекрывает облако, поэтому смысл в этом есть.
    [свернуть]

  12. 1 пользователь сказал cпасибо Ururu за это полезное сообщение:

    Камурик (24.09.2019)

  13. #11
    Старожил
    Регистрация
    13.09.2012
    Сообщений
    110
    Поблагодарил(а)
    16
    Получено благодарностей: 6 (сообщений: 5).
    Репутация: 6
    Если кому-то интересно как это выглядит
    11фваыв.jpg

    У меня единственный вопрос, таймер никак нельзя сделать автоматическим, а не самому вписывать туда какое-то число?
    Последний раз редактировалось Камурик; 24.09.2019 в 12:34.

  14. #12
    Старожил
    Регистрация
    17.06.2018
    Сообщений
    264
    Поблагодарил(а)
    6
    Получено благодарностей: 150 (сообщений: 107).
    Репутация: 150
    Цитата Сообщение от Камурик Посмотреть сообщение
    У меня единственный вопрос, таймер никак нельзя сделать автоматическим, а не самому вписывать туда какое-то число?
    что значит автоматическим я не понимаю.

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

Ваши права

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