Автор |
Сообщение |
m0vet0n
[-0.7]
|
0
Спам инвайтов в каналы? NO MORE. Да здравствуют стримы
|
28 мар 2012, 04:07 |
|
|
Lawbreaker
[0.5]
<Oùt of Control>
Сервер: Outland
Рейтинг поля боя: 192
2х2: 1520
3х3: 2522
5х5: 864
|
0
Спам инвайтов в каналы? NO MORE. Да здравствуют стримы
молодцы
|
28 мар 2012, 10:56 |
|
|
witcher
[14.3]
|
0
Спам инвайтов в каналы? NO MORE. Да здравствуют стримы
good job
|
28 мар 2012, 11:23 |
|
|
Alaron
[30.5]
Пилигрим
|
0
Спам инвайтов в каналы? NO MORE. Да здравствуют стримы
Хочется выразить ребятам глубокую признательность.
|
28 мар 2012, 11:29 |
|
|
mrtime
|
0
Спам инвайтов в каналы? NO MORE. Да здравствуют стримы
По поводу того почему я использовал LibAce3, дело в том что я не сторонник писать один и тот-же код по 100 раз, да и поддерживать аддон проще в этом случае т.к. я буду уверен что базовые функции всегда будут работать как и работали, достаточно обновить LibAce если что-то изменится... т.е. обычное устранение дублирования кода и небольшой запас на будущее если что-то нужно будет дописать, к примеру работу с профилями, или настройки
Ну и из состава LibAce3 используется только самое нужное мне, а не вся библиотека полностью... аддон в память занимает 110кб(когда он всего один, и нет LibAce3 установленной отдельно ), как по мне это довольно мало... многие игроки используют больше 1 аддона, которые тоже содержат LibAce3, а как вы знаете(?) библиотеки подгружаются только один раз, поэтому проблемы вообще нет в этом всем.
|
28 мар 2012, 11:33 |
|
|
Eviscerate
[1.4]
<Пони Слэйстейшн>
Сервер: Свежеватель Душ
2х2: 2201
3х3: 2323
|
Спам инвайтов в каналы? NO MORE. Да здравствуют стримы
Это хорошие новости, но для упоротых ддосеров наверное надо будет ставить еще и увеличенный игнор лист
|
28 мар 2012, 14:39 |
|
|
Noxxy
[3.1]
|
0
Спам инвайтов в каналы? NO MORE. Да здравствуют стримы
зачем?макс. кол-во персонажей на сервере 10 вроде бы) и при желании поспамить в очередной раз ему придётся удалить старого персонажа и он автоматом удалится из игнор листа
|
28 мар 2012, 15:19 |
|
|
Fernir
[13.7]
<Мёртвая Хватка>
Сервер: Азурегос
2х2: 1766
3х3: 1794
|
0
Спам инвайтов в каналы? NO MORE. Да здравствуют стримы
Код: local mrt = CreateFrame("frame", "mrt", UIParent) mrt.DB = {} mrt:RegisterEvent("ZONE_CHANGED_NEW_AREA") mrt:RegisterEvent("CHANNEL_INVITE_REQUEST") mrt:RegisterEvent("CHAT_MSG_CHANNEL_NOTICE") mrt:RegisterEvent("CHAT_MSG_CHANNEL_NOTICE_USER")
mrt:SetScript("OnEvent", function(self, event, ...) if event == "CHANNEL_INVITE_REQUEST" then local chname, iname = ... DeclineInvite(chname) if mrt.DB[iname] == nil then mrt.DB[iname] = iname AddIgnore(iname) end elseif event == "CHAT_MSG_CHANNEL_NOTICE" or event == "CHAT_MSG_CHANNEL_NOTICE_USER" then local arg1, _, _, _, _, _, _, _, arg9 = ... if (arg1 == 'INVITE' or arg9 ~= '') then return true, ... else return false, ... end elseif event == "ZONE_CHANGED_NEW_AREA" then for k, v in pairs(mrt.DB) do DelIgnore(k) end end end) переработал и уменьшил. включено всегда (для простоты), если надо - верну возможность отключать. ACE нету, апдейты понадобятся нескоро
|
28 мар 2012, 15:24 |
|
|
Eviscerate
[1.4]
<Пони Слэйстейшн>
Сервер: Свежеватель Душ
2х2: 2201
3х3: 2323
|
Спам инвайтов в каналы? NO MORE. Да здравствуют стримы
Noxxy писал(а):
зачем?макс. кол-во персонажей на сервере 10 вроде бы) и при желании поспамить в очередной раз ему придётся удалить старого персонажа и он автоматом удалится из игнор листа
Затем, что можно и не удалять и спамить с кучи триал акков. Ну если так не будут делать, то не надо да
|
28 мар 2012, 15:29 |
|
|
mrtime
|
0
Спам инвайтов в каналы? NO MORE. Да здравствуют стримы
Fernir, Вы удалили код который нужен, т.е. автоудаление из игнорлиста по истечении времени, так-же мой аддно всегда знает кого добавил в игнор и почистит этот список даже после выхода из игры, т.к. хранит список в настройках клиента, а не в памяти.. для того чтобы заблокировать CHAT_MSG_CHANNEL_NOTICE и CHAT_MSG_CHANNEL_NOTICE_USER надо использовать ChatFrame_AddMessageEventFilter, так-же Вы забыли отключить стандартный обработчик инвайтов, а именно UIParent:UnregisterEvent("CHANNEL_INVITE_REQUEST"); ... ну и т.п. , мое мнение, от упрощения толку особо не будет.
|
28 мар 2012, 15:35 |
|
|
Фейхуа
|
0
Спам инвайтов в каналы? NO MORE. Да здравствуют стримы
а чё аддон-то делает? он окна не блокирует чтоли? он их просто закрывает? т.е. я всё равно вижу как приходит инвайт, аддон его атоматом закрывает и посылает чела в игнор?
|
28 мар 2012, 15:44 |
|
|
Fernir
[13.7]
<Мёртвая Хватка>
Сервер: Азурегос
2х2: 1766
3х3: 1794
|
0
Спам инвайтов в каналы? NO MORE. Да здравствуют стримы
Не заметил ChatFrame_AddMessageEventFilter
немного переделал: чистит список игнора от имен за сессию каждые 5 сек, почему-то хочется избавиться от Saved variables
Код: local mrt = CreateFrame("frame", "mrt", UIParent) mrt.DB = {} mrt:RegisterEvent("ZONE_CHANGED_NEW_AREA") mrt:RegisterEvent("CHANNEL_INVITE_REQUEST") UIParent:UnregisterEvent("CHANNEL_INVITE_REQUEST")
local function filterFunc(self, event, ...) local arg1, _, _, _, _, _, _, _, arg9 = ... if (arg1 == 'INVITE' or arg9 ~= '') then return true, ... else return false, ... end end
ChatFrame_AddMessageEventFilter('CHAT_MSG_CHANNEL_NOTICE', filterFunc) ChatFrame_AddMessageEventFilter('CHAT_MSG_CHANNEL_NOTICE_USER', filterFunc)
mrt:SetScript("OnUpdate", function(self, elapsed) if not self.t then self.t = 0 end self.t = self.t + elapsed if self.t == 5000 then for k, v in pairs(mrt.DB) do DelIgnore(k) end self.t = 0 end end)
mrt:SetScript("OnEvent", function(self, event, ...) if event == "CHANNEL_INVITE_REQUEST" then local chname, iname = ... DeclineInvite(chname) if mrt.DB[iname] == nil then mrt.DB[iname] = iname AddIgnore(iname) end elseif event == "ZONE_CHANGED_NEW_AREA" then for k, v in pairs(mrt.DB) do DelIgnore(k) end end end)
не совсем понял - почему нельзя использовать просто DeclineInvite?
|
28 мар 2012, 15:48 |
|
|
mrtime
|
0
Спам инвайтов в каналы? NO MORE. Да здравствуют стримы
5 сек мало, надо больше, иначе при определенных обстоятельствах будет дропать с сервера при достаточной интенсивности атаки(и по моему elapsed в OnUpdate может быть любое, не только 1, и точно 5000 может не получится, поэтому "==" не ок ), DeclineInvite просто отклоняет приглашение, что создает нагрузку на клиент, в случае внесения в игнор блокировка происходит на стороне сервера, и клиенту инвайты просто не приходят.
|
28 мар 2012, 15:53 |
|
|
Fernir
[13.7]
<Мёртвая Хватка>
Сервер: Азурегос
2х2: 1766
3х3: 1794
|
0
Спам инвайтов в каналы? NO MORE. Да здравствуют стримы
Хмм, не знал, что отклонение приглашения создает такую нагрузку, это ж как надо спамить Цитата: Обратите внимание на.. UIParent:UnregisterEvent("CHANNEL_INVITE_REQUEST");
точно, добавил в предыдущий пост
|
28 мар 2012, 15:55 |
|
|
mrtime
|
0
Спам инвайтов в каналы? NO MORE. Да здравствуют стримы
если ничего не путаю то 200-300req/s достаточно для дропа с сервера, при определенных условиях у меня FPS проседал на 15-20
PS: Вы уверены что это всегда работает? :)
Код: if self.t == 5000 then по моему тут надо ">=" или просто ">" ... т.к. elapsed в OnUpdate может быть любое, не только 1, и точно 5000 может не получится, поэтому "==" не ок
PS2: да, так и есть, Ваша проверка работать правильно не будет, там дробное число
|
28 мар 2012, 15:58 |
|
|
Fernir
[13.7]
<Мёртвая Хватка>
Сервер: Азурегос
2х2: 1766
3х3: 1794
|
0
Спам инвайтов в каналы? NO MORE. Да здравствуют стримы
mrtime писал(а): PS2: да, так и есть, Ваша проверка работать правильно не будет, там дробное число
писал 2 минуты на коленке, конечно же надо =>
|
28 мар 2012, 16:49 |
|
|
Barion
[0.3]
|
0
Спам инвайтов в каналы? NO MORE. Да здравствуют стримы
Стареешь, Фер
|
28 мар 2012, 16:50 |
|
|
Fernir
[13.7]
<Мёртвая Хватка>
Сервер: Азурегос
2х2: 1766
3х3: 1794
|
1
Спам инвайтов в каналы? NO MORE. Да здравствуют стримы
Barion писал(а):
Стареешь, Фер
тупею и ленив стал безмерно
|
28 мар 2012, 16:55 |
|
|
witcher
[14.3]
|
0
Спам инвайтов в каналы? NO MORE. Да здравствуют стримы
Fernir ты способен написать свой аддон с блэкджэком и шлюхами, зачем изобретать велосипед и исправлять то, что и так работает?
|
28 мар 2012, 16:56 |
|
|
DDUH
[41.4]
|
0
Спам инвайтов в каналы? NO MORE. Да здравствуют стримы
wit4er писал(а):
Fernir ты способен написать свой аддон с блэкджэком и шлюхами, зачем изобретать велосипед и исправлять то, что и так работает?
Исправить ошибки в существующем аддоне и улучшить его - намного проще чем писать всё с 0 и наделать своих ошибок
|
28 мар 2012, 16:59 |
|