| Автор | Сообщение | 
        
	
	
			| 
					
						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: Вы уверены что это всегда работает? :) по моему тут надо ">=" или просто ">" ... т.к. elapsed в OnUpdate может быть любое, не только 1, и точно 5000 может не получится, поэтому "==" не окКод: if self.t == 5000 then
 
 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 ты способен написать свой аддон с блэкджэком и шлюхами, зачем изобретать велосипед и исправлять то, что и так работает?  ![:]](images/smilies/happy_mini.gif)
 
 | 
		
			| 28 мар 2012, 16:56 | 
					
					 | 
	
	
		|  | 
    
	
	
			| 
					
						DDUH
					
					 [41.4]
					
                 
 
					
				   | 
					
						
							0
						
						
					
				   Спам инвайтов в каналы? NO MORE. Да здравствуют стримыwit4er писал(а): 
Fernir ты способен написать свой аддон с блэкджэком и шлюхами, зачем изобретать велосипед и исправлять то, что и так работает?  ![:]](images/smilies/happy_mini.gif) 
Исправить ошибки в существующем аддоне и улучшить его - намного проще чем писать всё с 0 и наделать своих ошибок 
 
 | 
		
			| 28 мар 2012, 16:59 | 
					
					 |