Чат-фильтр для HLstatsX

Обсуждаем все, что относится к выделенным серверам *NIX (Unix, Linux) и Windows
Сообщение
Автор
TopServers
Лейтенант
Лейтенант
Сообщения: 112
Зарегистрирован: 09.02.2010
Поблагодарили: 17 раз

#1 Сообщение 17.11.2010, 16:51

Часто чат засирается словами !bank, top, rank, !ztele, shopmenu и т.д. и этих фраз бывает по пол-страницы а то и больше.
Для более комфортного чтения сделал фильтр чата HLstatsX

Изображение

В админке в разделе фильтра задаются сообщения, которые не надо отображать:

Изображение

Установка:

Распакуйте файл tools_chatfilter.php в папку /pages/admintasks

Откройте файл /pages/admin.php и добавьте после строки

Код: Выделить всё

// Tools
строку

Код: Выделить всё

$admintasks['tools_chatfilter'] = new AdminTask('HLstatsX: Chat filter', 80, 'tool', 'Chat filter');
Откройте файлы /pages/chat.php и /pages/chathistory.php и ПЕРЕД кодом

Код: Выделить всё

       $result = $db->query
	("
		SELECT
			hlstats_Events_Chat.eventTime,
			IF(hlstats_Events_Chat.message_mode=2, CONCAT('(Team) ', hlstats_Events_Chat.message), hlstats_Events_Chat.message) AS message,
			hlstats_Servers.name AS serverName,
			hlstats_Events_Chat.map
добавьте код

Код: Выделить всё

            $chatfilter='1';
            $db->query("SELECT value FROM `hlstats_AddonsOptions` WHERE keyname='chatfilter_words'");
        	 $rowdata = $db->fetch_array();
            if ($rowdata['value']!='') {
              $a=explode("\n",$rowdata['value']);
              foreach ($a as $v) {
                if (trim($v)!='') $chatfilter.=" AND hlstats_Events_Chat.message!='".trim($v)."'";
              }
            }
Далее найдите в этих файлах строку

Код: Выделить всё

					$whereclause $whereclause2
и замените её на

Код: Выделить всё

					$whereclause $whereclause2 AND $chatfilter
Вложения
tools_chatfilter.zip
(1007 байт) 72 скачивания
tools_chatfilter.zip
(1007 байт) 72 скачивания

RU_6uK
Капитан
Капитан
Сообщения: 319
Зарегистрирован: 26.12.2009
Поблагодарили: 15 раз

#2 Сообщение 18.11.2010, 04:59

Плагин Chat Purge позволяет блокировать такие сообщения даже в игровом чате. Команды срабатывают, но при этом не засоряется игровой чат, и в статистику такие сообщения тоже не идут.
ИзображениеИзображение
/.ZoZo./ Zombie Zone - Серверы Left 4 Dead 2, Team Fortress 2, Killing Floor. Всегда рады хорошим игрокам!

Ответить Вложения 1