Все сообщения* в чате записываются в базу данных и выводятся на веб-сайте.
* - team сообщения, которые начинаются на @ не логируются; сообщения, которые начинаются на / зависит от квара amx_webchat_ignore_sim
Сообщения на сайте отображаются через 5 минут, после отправки на сервере.
Требования:
Веб-хостинг с поддержкой PHP и .htaccess
База данных Mysql
Используемые модули:
Mysql
Настройки:
// Хост базы данных
amx_webchat_host "localhost"
// Пользователь базы данных
amx_webchat_user "root"
// Пароль базы данных
amx_webchat_pass ""
// База данных
amx_webchat_db ""
// IP сервера(обязательно заполнять для серверов на хостинге DGH)
// Если автоматически IP определяет некорректно, то тоже надо его вписать
// Если поле пустое, то IP будет определен автоматически
amx_webchat_ipfix ""
// Игнорировать сообщения с символами: / в начале? 0 - записать в таблицу; 1 - игнорировать
amx_webchat_ignore_sim "1"
// Переподключаться к базе данных при потере соединения?
// 1 - переподключиться, 0 - не переподключаться(плагин будет остановлен)
amx_webchat_reconnectmysql "1"
// Через сколько секунд переподключаться к базе данных
// Значение должно быть от 5 до 60
amx_webchat_reconnecttime "20"
// При значение 1 все русские символы будут нормально отображаться в чате(на старых версиях сервера)
// Не рекомендуется включать этот параметр, если на сервере стоят сторонние плагины, связанные с чатом
// В базу русский текст записывается в любом случае нормально
// Параметр не действует, если раскомментирован #define COLORED_TRANSLIT
amx_webchat_rusfix "0"
// Игроки видят весь чат(кроме командный чата соперника)
// Не рекомендуется включать этот параметр, если на сервере стоят сторонние плагины, связанные с чатом
// При включенном параметре обязательно удалить allchat.amxx
// Параметр не действует, если раскомментирован #define COLORED_TRANSLIT
amx_webchat_allchat "0"
// Админ видит весь в чат(включая командный чат соперника)
// Не рекомендуется включать этот параметр, если на сервере стоят сторонние плагины, связанные с чатом
// При включенном параметре обязательно удалить adminlisten.amxx
// Параметр не действует, если раскомментирован #define COLORED_TRANSLIT
amx_webchat_listen "0"
Список изменений:
1.0 Релиз плагина
1.1 Убран баг: не логировались сообщения в которых был символ ' или "
Добавлены запросы CREATE TABLE при запуске плагина
1.2 Добавлена кодировка UTF-8 при подключении к базе данных, теперь русское название сервера и русские сообщения будут отображаться корректно
Добавлен квар amx_webchat_reconnectmysql
Исправлены мелкие ошибки
+Немного обновлена веб-часть
1.2.1
Исправлены ошибки, из-за которых могли быть сильные лаги из-за бесконечного реконнекта к БД
1.2.2
Исправлены ошибки: Run time error 10 (plugin "webchat.amxx") (native "SQL_FreeHandle")
1.2.3
Вместо 2-ух функций, теперь одна функция, которая отсылает лог в mysql
Исправлены мелкие ошибки
1.2.4
Добавлено нормальное отображение русского текста в чате(зависит от квара amx_webchat_rusfix)
Если включен параметр amx_webchat_ignore_sim, то сообщения со слешом вначале скрываются в чате(раньше сообщения просто не записывались в базу)
Добавлен квар amx_webchat_reconnecttime, теперь можно указать время, через которое сервер будет переподключаться к базе данных, при потере соединения
1.2.5
Исправлен баг с кодировкой сообщений
1.3
Добавлено логирование русских сообщений из colored translit 3.0 (необходимо уставить измененный мною colored translit)
Исправлены многочисленные дублирования сообщений в консоле
1.3.1
cs_get_user_team -> get_user_team, модуль Cstrike теперь не используется
Изменен алгоритм вывода русского чата в игре, теперь русский чат в игре выводится в любом случае
Добавлены функции allchat и adminlisten, настраиваются кварами
Требования для работы плагина с colored translit 3.0:
Измененный мною Colored Translit v3.0(прикреплен ниже), для тех, у кого он изменен, ниже(в спойлере) будет инструкция, какие изменения надо внести
-Раскомментировать #define COLORED_TRANSLIT и скомпилировать плагин, для тех, кто не хочет компилировать, версия с translit выложена в архиве webchat_translit(прикреплен ниже)
Инструкция по изменению Colored Translit
Файлы для изменения: scripting/colored_translit/defines.inl, scripting/colored_translit/init.inl, scripting/colored_translit/say.inl, scripting/colored_translit/say_team.inl
1) В файле scripting/colored_translit/defines.inl ПОСЛЕ
new fwd_Format
НИЖЕ добавить
new fwd_Translit
2) В файле scripting/colored_translit/init.inl ПОСЛЕ
fwd_Format = CreateMultiForward("ct_message_format", ET_IGNORE, FP_CELL)
НИЖЕ добавить
fwd_Translit = CreateMultiForward("ct_message_translit", ET_IGNORE, FP_CELL, FP_STRING, FP_CELL)
3) В файле scripting/colored_translit/say.inl ПЕРЕД
get_user_name(id, s_Name, charsmax(s_Name))
if(get_pcvar_num(g_SwearFilter))
ВЫШЕ добавить
ExecuteForward(fwd_Translit, fwdResult, id, s_Msg, 0)
4) В scripting/colored_translit/say_team.inl ПЕРЕД
get_user_name(id, s_Name, charsmax(s_Name))
if(get_pcvar_num(g_SwearFilter))
ВЫШЕ добавить
ExecuteForward(fwd_Translit, fwdResult, id, s_Msg, 1)
5) Скомпилировать
Изменения в web части:Изменения в web части:
-Все поля добавлены в таблицу, чтобы все было ровно
-Добавлена возможность удаления сервера из базы
-Добавлены ссылки на профиль стим(у стим игроков)
-Оптимизированы mysql запросы
-Добавлен debug режим
Установка:
Из папки cstrike загрузить все файлы на сервер, настроить webchat.cfg
Из папки web загрузить все на веб-хостинг и настроить config.php, закачивать файлы на веб хостинг желательно после включения сервера, когда уже будут созданы таблицы в базе данных
Удаление сервера из базы
1) В config.php вписать ключ для удаления
2) Перейти по ссылке http://сайт.ру/del.php?key=
Пример: http://stats.frallion.ru/chat/del.php?key=test
3) Выберите сервер и удалите, так же будут удалены все сообщения, которые были на этом сервере, восстановить сообщения невозможно
Если в конфиге не указан ключ, то удалить сервер нельзя, поэтому лучше не вводить ключ, если Вы не собираетесь удалять сервер
Авторы: BaHeK
Версия: 1.3.1