Jump to content

Игнорирование игрока с другого реалма


Ink_Forever

Recommended Posts

197206.jpg

 

Здесь выложен небольшой аддон, позволяющий игнорировать игрока с другого реалма на кросс-сервере.

скачать аддон Ignore платно с регистрацией

Небольшой луа скрывает все сообщения игрока во всех каналах чата, а также его эмоции.

Игнорируемый игрок при этом не узнает о том, что вы его игнорируете. Его действия в чате просто перестанут у вас отображаться

Устанавливается как обычный аддон в Interface\AddOns.

 

Добавление игрока в игнор:

1. Открыть Ignore.lua с помощью блокнота

2. Найти строку вида author == "name01" or

3. Заменить содержимое в кавычках на никнейм.

4. Сохранить файл (Ctrl+S)

5. /reload

 

Если ник содержит альткод:

1. Создать макрос:

/run local name = UnitName("target");ChatFrame_OpenChat("/w "..name.."", chatFrame);

2. Взять игрока в таргет

3. Использовать макрос

4. Скопировать ник

 

Аддон работает со стандартным окном чата без ошибок. С другими аддонами не проверял.

Однако данный аддон не скрывает облачка с текстом сообщения над головой.

Решение нашел Indiana Jones:

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

ники вписываем в список ignoreList в самом верху кода. добавляем этот код в любой используемый аддон

проверено на англоклиенте в условиях кросса

[font=Verdana]-- ники игроков чьи имена будут игнорироваться в чат облачках[/font]
[font=Verdana]-- изменяем/добавляем вручную в кавычки и не забывая про запятую в конце строки[/font]
[font=Verdana]local ignoreList = {[/font]
[font=Verdana]"One",[/font]
[font=Verdana]"Two",[/font]
[font=Verdana]"Three",[/font]
[font=Verdana]"Four",[/font]
[font=Verdana]"Five",[/font]
[font=Verdana]-- "Noignore",[/font]
[font=Verdana]"Six",[/font]
[font=Verdana]}[/font]

[font=Verdana]local select,WorldFrame = select,WorldFrame[/font]
[font=Verdana]local lastPlayer, lastBubbleText, lastBubbleFrame[/font]
[font=Verdana]local bubbleHiderFrame = bubbleHiderFrame or CreateFrame("frame")[/font]
[font=Verdana]bubbleHiderFrame:SetScript("OnUpdate", function()[/font]
[font=Verdana]    for i=1, WorldFrame:GetNumChildren() do[/font]
[font=Verdana]        local v = select(i, WorldFrame:GetChildren())[/font]
[font=Verdana]        local b = v:GetBackdrop()[/font]
[font=Verdana]        if b and b.bgFile == "Interface\\Tooltips\\ChatBubble-Background" then[/font]
[font=Verdana]            for i=1, v:GetNumRegions() do[/font]
[font=Verdana]                local frame = v[/font]
[font=Verdana]                local v = select(i, v:GetRegions())[/font]
[font=Verdana]                if v:GetObjectType() == "FontString" then[/font]
[font=Verdana]                    if frame:IsShown() then[/font]
[font=Verdana]                        lastBubbleText = v:GetText()[/font]
[font=Verdana]                        lastBubbleFrame = frame[/font]
[font=Verdana]                        bubbleHiderFrame:GetScript("OnEvent")(bubbleHiderFrame, "CHAT_MSG_SAY", lastBubbleText)[/font]
[font=Verdana]                    else[/font]
[font=Verdana]                        frame:SetAlpha(1)[/font]
[font=Verdana]                        lastPlayer, lastBubbleText, lastBubbleFrame = nil, nil, nil[/font]
[font=Verdana]                    end[/font]
[font=Verdana]                end[/font]
[font=Verdana]            end[/font]
[font=Verdana]        end[/font]
[font=Verdana]    end[/font]
[font=Verdana]end)[/font]
[font=Verdana]bubbleHiderFrame:SetScript("OnEvent", function(self, event, text, player)[/font]
[font=Verdana]    if text == lastBubbleText then[/font]
[font=Verdana]        for _, v in pairs(ignoreList) do[/font]
[font=Verdana]            if player and strlower(v) == strlower(player) or v == lastPlayer then[/font]
[font=Verdana]                lastBubbleFrame:SetAlpha(0)[/font]
[font=Verdana]                break[/font]
[font=Verdana]            end[/font]
[font=Verdana]        end[/font]
[font=Verdana]    elseif not lastBubbleText then[/font]
[font=Verdana]        lastPlayer = player[/font]
[font=Verdana]    end[/font]
[font=Verdana]end)[/font]
[font=Verdana]bubbleHiderFrame:RegisterEvent("CHAT_MSG_SAY")[/font]
[font=Verdana]bubbleHiderFrame:RegisterEvent("CHAT_MSG_YELL")[/font]
[font=Verdana]bubbleHiderFrame:RegisterEvent("CHAT_MSG_PARTY")[/font]
[font=Verdana]bubbleHiderFrame:RegisterEvent("CHAT_MSG_PARTY_LEADER")[/font]
[font=Verdana]bubbleHiderFrame:RegisterEvent("CHAT_MSG_INSTANCE_CHAT")[/font]
[font=Verdana]bubbleHiderFrame:RegisterEvent("CHAT_MSG_INSTANCE_CHAT_LEADER")[/font]

Данный код можно добавить в Ignore.lua и дублировать ник игнорируемого игрока в 2 списка.

собственно, вот дополненная версия - ссылка скачать BlackList

- -

Еще один небольшой луа, который скрывает эмоции, содержащие определенное слово или словосочетание.

скачать аддон IgnoreE платно с регистрацией

Устанавливается как обычный аддон в Interface\AddOns.

 

Добавление эмоции в игнор:

1. Открыть IgnoreE.lua с помощью блокнота

2. Найти строку вида string.find(msg, "слово01") or

3. Заменить содержимое в кавычках на слово или выражение (чувствительно к регистру)

4. Сохранить файл (Ctrl+S)

5. /reload

Edited by Ink_Forever
  • Like 1
Link to comment
Share on other sites

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

 

Вообще разумные люди давно чат скрывают, но просто ради лаконичности интерфейса :)

 

 

ПС, уважение тсу за то что пишет на луа приколюхи для интрфса.

Edited by Cyber
Link to comment
Share on other sites

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

 

Вообще разумные люди давно чат скрывают, но просто ради лаконичности интерфейса :)

 

Соглы, как минимум, чтобы не видеть вот эти сообщения

KPg4b-Is-KI7w.webp

  • Like 1
Link to comment
Share on other sites

Арена даларана 10хм нид 1 хилер 590+

 

Добавили в патч в 5.56, как раз нужный дбм завезли

  • Like 2
Link to comment
Share on other sites

ПС' date=' уважение тсу за то что пишет на луа приколюхи для интрфса.[/quote']

Я копаюсь на форумах и моего здесь немного, это чаще всего часть чьего-нить кода без ненужных мне функций.

В этих двух недоделках например всё еще остались ненужные аргументы и условия для его работы, но мне пофиг, а работяги пока за это не задушили.

Сорсы не указал, потому что не планировал куда-то кидать и не помню, с каких частей интернета собирал, а собираю всё довольно давно.

Один из сорсов - https://www.wowinterface.com/forums/showthread.php?t=30902

 

з.ы. есть ещё фильтр спама на бг в чате о захвате жепы и системных сообщений по слову (как эмоций), отключение спама в начале каждого бг о том, что вася родился, вася вступил в бой, вася теперь танк, вася умирает, вася покидает поле боя и другие интересные моменты из жизни васи, которых минимум 9. Если вдруг здесь есть омежки кроме меня)

 

[spoiler=захват жепы HD]bd8b4774052f.png

 

Edited by Ink_Forever
Link to comment
Share on other sites

Кхе, кхе, кхе.

Так как Инк опубликовал защиту от спама на БГ, можно не стесняться и для повышения актуальности треда добавить пару ссылок на инструментарий для создания вышеуказанного спама для новичков.

Самый популярный спам аддон для БГ "Say sapped" https://www.curseforge.com/wow/addons/saysapped/files/all?filter-game-version=2020709689%3A322

Simple Interrupt Anounse

https://www.curseforge.com/wow/addons/sia/files/all?filter-game-version=2020709689%3A363

Anounce interrupts

https://www.curseforge.com/wow/addons/announce-interrupts/files/all?filter-game-version=2020709689%3A322

WakeSpams

https://www.curseforge.com/wow/addons/wakespams/files/all?filter-game-version=2020709689%3A248

Raeli's Spell Announser

https://www.curseforge.com/wow/addons/rsa/files/all?filter-game-version=2020709689%3A366

SayKarma

https://www.curseforge.com/wow/addons/saykarma/files/all?filter-game-version=2020709689%3A366

Can't heal you

https://www.curseforge.com/wow/addons/cant-heal-you/files/all?filter-game-version=2020709689%3A366

Игроки более знающие используют для спама

WeakAuras 2

https://www.curseforge.com/wow/addons/weakauras-2/files/all?filter-game-version=2020709689%3A474

TellMeWhen

https://www.curseforge.com/wow/addons/tellmewhen/files/all?filter-game-version=2020709689%3A474

Power Auras Classic

https://www.curseforge.com/wow/addons/power-auras-classic-v4/files/all?filter-game-version=2020709689%3A474

Самые опытные либо не спамят либо пишут скрипты самостоятельно.

Edited by Яъъ
Link to comment
Share on other sites

Какие-то новые аддоны, ни разу о таких не слышал. Разве кроме дбма чет нужно??

 

- - - Добавлено - - -

 

Еще и качать с какого-то курс вордже

Link to comment
Share on other sites

Все пещерные люди сектанты ElvUI(футуристический Х-перл)

https://github.com/Maczuga/WeakAuras2-MoP + https://github.com/ElvUI-MoP/ElvUI-5.4.8

Я пользуюсь бэк-портом с легиона так что там всё здраво (есть удобная кнопочка скрытия окна чата)

 

Вообще думал мини-мапу выпилить но впадлу

Edited by осададедсада
Link to comment
Share on other sites

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

 

скачать аддон Ignore платно с регистрацией

 

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

 

1. Поместить как обычный аддон

2. Открыть Ignore.lua с помощью блокнота (удобней в Notepad++)

3. Найти строку такого вида

author == "name01" or

и заменить содержимое в кавычках на никнейм.

4. Сохранить файл (Ctrl+S)

5. /reload

 

Если ник с альткодом:

1. Взять в таргет

2. /run local name = UnitName("target");ChatFrame_OpenChat("/w "..name.."", chatFrame);

3. Скопировать ник

 

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

В интерфейсе можно отключить сразу все облачка, если сильно хочется.

 

з.ы. игнорируемый игрок не узнает о том, что вы его игнорируете. Сообщения просто не будут у вас отображаться.

-------------

-------------

upd.

луа для блока эмоций, содержащих определенное слово или словосочетание

 

скачать аддон IgnoreE платно с регистрацией

 

(уже содержит несколько популярных фильтров, можете их удалить)

 

1. Поместить как обычный аддон

2. Открыть IgnoreE.lua с помощью блокнота (удобней в Notepad++)

3. Найти строку такого вида

string.find(msg, 'слово01') or

и заменить содержимое в кавычках на слово или выражение.

4. Сохранить файл (Ctrl+S)

5. /reload

 

О возможных багах и ошибках писать суда.

 

Вот эти сообщения в центре экрана знаешь как отключить?

4te.jpg

Link to comment
Share on other sites

Вот эти сообщения в центре экрана знаешь как отключить?

например

 

RaidBossEmoteFrame:UnregisterAllEvents() или RaidBossEmoteFrame:SetAlpha(0)

 

алсо может пригодиться

 

ZoneTextFrame:UnregisterAllEvents()

ZoneTextFrame:Hide()

ZoneTextFrame:SetScript("OnShow", function() this:Hide() end)

 

SubZoneTextFrame:UnregisterAllEvents()

SubZoneTextFrame:Hide()

SubZoneTextFrame:SetScript("OnShow", function() this:Hide() end)

 

 

^ скрывает название новой локации/зоны в центре экрана, пригодно для берега древних с постоянным мельканием смены зоны при переходе между вратам

 

и для скрытия спама еррор фрейма "пока нельзя применить способность" в центре экрана красным, если ещё не отключил добавлю:

 

UIErrorsFrame:UnregisterAllEvents()

UIErrorsFrame:SetAlpha(0)

Edited by Ink_Forever
Link to comment
Share on other sites

  • 3 months later...
К сожалению ещё не нашел способа скрыть облачка с текстом над головой. Как минимум можно скрыть из них текст, но я не копался.

В интерфейсе можно отключить сразу все облачка, если сильно хочется.

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

ники вписываем в список ignoreList в самом верху кода. добавляем этот код в любой используемый аддон

проверено на англоклиенте в условиях кросса

-- ники игроков чьи имена будут игнорироваться в чат облачках
-- изменяем/добавляем вручную в кавычки и не забывая про запятую в конце строки
local ignoreList = { 
"One", 
"Two",
"Three",
"Four",
"Five",
-- "Noignore",
"Six",
}

local select,WorldFrame = select,WorldFrame
local lastPlayer, lastBubbleText, lastBubbleFrame
local bubbleHiderFrame = bubbleHiderFrame or CreateFrame("frame")
bubbleHiderFrame:SetScript("OnUpdate", function()
   for i=1, WorldFrame:GetNumChildren() do
       local v = select(i, WorldFrame:GetChildren())
       local b = v:GetBackdrop()
       if b and b.bgFile == "Interface\\Tooltips\\ChatBubble-Background" then
           for i=1, v:GetNumRegions() do
               local frame = v
               local v = select(i, v:GetRegions())
               if v:GetObjectType() == "FontString" then
                   if frame:IsShown() then
                       lastBubbleText = v:GetText()
                       lastBubbleFrame = frame
                       bubbleHiderFrame:GetScript("OnEvent")(bubbleHiderFrame, "CHAT_MSG_SAY", lastBubbleText)
                   else
                       frame:SetAlpha(1)
                       lastPlayer, lastBubbleText, lastBubbleFrame = nil, nil, nil
                   end
               end
           end
       end
   end
end)
bubbleHiderFrame:SetScript("OnEvent", function(self, event, text, player)
   if text == lastBubbleText then
       for _, v in pairs(ignoreList) do
           if player and strlower(v) == strlower(player) or v == lastPlayer then
               lastBubbleFrame:SetAlpha(0)
               break
           end
       end
   elseif not lastBubbleText then
       lastPlayer = player
   end
end)
bubbleHiderFrame:RegisterEvent("CHAT_MSG_SAY")
bubbleHiderFrame:RegisterEvent("CHAT_MSG_YELL")
bubbleHiderFrame:RegisterEvent("CHAT_MSG_PARTY")
bubbleHiderFrame:RegisterEvent("CHAT_MSG_PARTY_LEADER")
bubbleHiderFrame:RegisterEvent("CHAT_MSG_INSTANCE_CHAT")
bubbleHiderFrame:RegisterEvent("CHAT_MSG_INSTANCE_CHAT_LEADER")

Edited by Indiana Jones
  • Like 2
Link to comment
Share on other sites

Обновил основной пост. Благодаря Indiana Jones теперь можно скрывать облачка с сообщениями только у игнорируемых игроков, а не у всех сразу через интерфейс, как это делалось раньше.

Занимайтесь игнорированием, а не войной.

upd. ищу оптимизатора для всратого кода на ауры который я запостил чуть выше!

Edited by Ink_Forever
Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...