Статистика игроков - отображение ЛС и пол игрока

Обсуждение работы движка сервера. Ваши предложения по улучшению игры. Вопросы по интерфейсу и механике игры

Модератор: Gorlum

Ответить
websasha
Спонсор
Сообщения: 472
Зарегистрирован: 09 ноя 2011, 06:10
Откуда: Украина г.Ровно
Контактная информация:

Статистика игроков - отображение ЛС и пол игрока

Сообщение websasha » 05 мар 2012, 15:42

Надоело мне удалять через админку спам сообщения (тем более по одному сообщению отмечать в админке в разделе письма игроков), которые можно отправить благодаря разделу Статистика: /stat.php?start={user_rank}
И я решил убрать с этой страницы возможность отправить ЛС игроку. Кому нужно - тот скопирует ник, и отправит письмо.
Ведь реально статистика - это статистика а не средство для общения, и таким образом я избавился от спамеров.

Был конечно же конфуз, спамер в чате так и написал какого Хе, нет отправки ЛС всем игрокам в разделе Статистика, и ему пришлось вручную копировать ники игроков и отправлять спам. У меня на удаление его 300-350 писем ушло минут 5, но он здорово выучил комбинации:
1. 2-й клик мишкой выделить ник игрока
2. Ctrl + C
3. Shift + TAB
4. Ctrl + V
5. Entet

Я рад что у него ушло дофига времени для спама, и от свалил и больше не возращался.

Ну это всё вступление. Так вот, поскольку поле для отображения иконки отправки ЛС (ячейка в таблице) у меня была пустая (что бы массово не слали спам), я решил в неё вставить пол игрока.

Правим 1 файл, в корне движка: stat.php
Строчка 162
Найти код:

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

    $parse['player_name'] = '<img src="' . SN_ROOT_VIRTUAL . $dpath . 'images/sex_' . ($UsrRow['sex'] == 'M' ? 'male' : 'female') . '.png">' . $parse['player_name'];
    if ($IsUserChecked)
      $parse['player_mes']      = "<a href=\"messages.php?mode=write&id=" . $UsrRow['id'] . "\"><img src=\"" . $dpath . "img/m.gif\" border=\"0\" alt=\"". $lang['Ecrire'] ."\" /></a>";
заменить на код:

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

$parse['player_name'] = '' . $parse['player_name'];
    if ($IsUserChecked)
      $parse['player_mes']      = '<img src="' . SN_ROOT_VIRTUAL . $dpath . 'images/sex_' . ($UsrRow['sex'] == 'M' ? 'male' : 'female') . '.png">' ;
У вас нет необходимых прав для просмотра вложений в этом сообщении.

websasha
Спонсор
Сообщения: 472
Зарегистрирован: 09 ноя 2011, 06:10
Откуда: Украина г.Ровно
Контактная информация:

Re: Статистика игроков - отображение ЛС и пол игрока

Сообщение websasha » 15 мар 2012, 15:41

Еще для борьбы против спама, в файле .htaccess
прописать:
Deny from 178.122.
что бы заблокировать доступ спамеру для подсети. А то задрал меня, по 1 айпи вписывать:
Deny from 178.122.240.50
Deny from 178.122.17.19
Deny from 178.122.187.62
Deny from 178.122.30.141
Deny from 178.122.
Deny from 93.84.97.62
Также, при удалении игрока, а не блокировке, будут удалены все отправленные им ЛС (раньше я в админке отмечал по одному чек боксу его письма).
Может эта информация будет полезна другим администраторам сервера, и поможет в борьбе против спама.

websasha
Спонсор
Сообщения: 472
Зарегистрирован: 09 ноя 2011, 06:10
Откуда: Украина г.Ровно
Контактная информация:

Re: Статистика игроков - отображение ЛС и пол игрока

Сообщение websasha » 28 май 2012, 08:14

Начиная с 34 версии 18 нужно внести изменения в файле stat_statistics.tpl.html

найти код:

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

 <img src="{D_SN_ROOT_VIRTUAL}{dpath}images/sex_<!-- IF stat.SEX == "F" -->fe<!-- ENDIF -->male.png">
 {stat.NAME}
заменить на код:

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

 {stat.NAME}
найти

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

<a href="messages.php?mode=write&id={stat.ID}"><img src="{dpath}img/m.gif" border="0" alt="{L_stat_message_write}" /></a>
заменить на:

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

<img src="{D_SN_ROOT_VIRTUAL}{dpath}images/sex_<!-- IF stat.SEX == "F" -->fe<!-- ENDIF -->male.png">
Теперь вместо иконки для отправки ЛС игроку будет видно его пол.

Ответить

Вернуться в «Движок сервера: жалобы и предложения»