Перейти к содержанию
Одно твое сообщение на этом сайте в день делает сайт лучше! Спасибо!

Отображаем репорты игроков с сервера CS:S на форуме Invision Community (IPS 4.6.1)


Рекомендуемые сообщения

  • Администратор

Предисловие:

  • Я потратил весь день на адаптацию этого плагина, и в процессе создания темы, я мог что ни будь забыть или упустить. Поэтому не стесняйтесь предоставлять обратную связь (Вам ведь все равно придется зарегистрироваться, что бы скачать необходимые файлы).
  • Метод установки плагина для IPS 4.6 немного отличается от стандартного. Это кустарное решение, и только этим решением я смог реализовать работу плагина.
  • Я проверял плагин только на версии IPS 4.6.1. Я не уверен, будет ли он работать на других версиях.

Описание:

Система максимально проста. Игрок на сервере CS:S отправляет жалобу на игрока через команду !report. Если администратор на сервере, он сразу получит уведомление. Помимо этого, плагин транслирует жалобу в базу данных, а база данных отображается в виджете плагина для IPS 4.6.1.

Игрок набирает команду !report и выбирает необходимого игрока:

Спойлер

20211122184202_1.jpg

Игрок выбирает причину:

Спойлер

20211122184204_1.jpg

Получаем ответ от плагина:

Спойлер

20211122184215_1.jpg

На форуме invision community, в виджете отображаются последние жалобы:

Спойлер

image.png

 

Проверить как все работает можно на нашем сервере.

Установка:

  • Создайте базу данных с любым удобным именем и пользователем, в которую будут отправляться репорты.
  • В addons/sourcemod/configs/databases.cfg введите новый массив:
"mReport"
	{
		"driver"			"default"
		"host"				"localhost"
		"database"			"Имя базы данных"
		"user"				"Имя пользователя"
		"pass"				"Пароль"
		//"timeout"			"0"
		"port"			"3306"
	}
  • В папку /addons/sourcemod/plugins поместите готовый плагин Report.smx
  • Либо отредактируйте и скомпилируйте исходник плагина Report.sp
  • Сделайте рестарт сервера и плагин сгенерирует вам следующий cfg:
// This file was auto-generated by SourceMod (v1.10.0.6501)
// ConVars for plugin "Report.smx"


// Следует ли уведомлять администратора о жалобе, если он находится на сервере?
// -
// Default: "1"
mAnnounceAdmin "1"

// Сколько времени в секундах должно пройти с последней жалобы !report?
// -
// Default: "30"
mCommandTimeInterval "30"

// Название сервера (Полезно тем, у кого несколько серверов.
// -
// Default: "|IP-Gamers.Net| Classic"
mServerName "|IP-Gamers.Net| Classic"
  • Настройте конфиг на свой вкус и измените карту.

На этом серверная часть установлена, теперь переходим к Invision Community.

Плагин из коробки, от оригинального автора, у меня отказался работать. После того, как я его адаптировал, плагин заработал, но на польском языке. Поэтому делаем следующее:

  • Устанавливаем в IPS 4.6.1 этот плагин(DF) Zgloszenia graczy 1.0.1.xml
  • Далее в админке форума переходим на Кастомизация>Языки и жмем на глобус возле необходимого языка.
  • Нажимаем на вкладку "Не переведеноimage.png
  • Сортируем строки по названию плагина image.png
  • Переводим все строки плагина (DF) Zgloszenia graczy. У меня получился следующий перевод:
Спойлер

image.png

  • Далее в настройках плагина пропишите параметры вашей базы данных для репортов
Спойлер

image.png

  • На удобной странице установите виджет в горизонтальной (Широкой форме)
Спойлер

image.png

  • После всех этих процедур по адресу вашфорум/plugins/dfzgloszeniagraczy/widgets через ftp положите следующий файл dfzgloszeniagraczy.php и согласитесь перезаписать оригинальный файл.
  • После в админке форума перейдите в раздел Кастомизация > Темы > Редактирование темы
  • В поиске шаблонов введите слово dfzgloszeniagraczy.
  • У вас найдется один единственный шаблон, замените в этом шаблоне ваш код на следующий:
<h3 class='ipsWidget_title ipsType_reset'>
	{lang="dfZgloszeniaGraczy_title"}
</h3>
<div class='ipsWidget_inner dfzgloszeniagraczyDiv'>
	<ul class='ipsDataList ipsDataList_reducedSpacing'>
		{{if !empty($data['error'])}}
		<li class='ipsDataItem dfzgloszeniagraczyPad'>
			<div class='ipsList_inline'>
				{$data['error']}
			</div>
		</li>
	</ul>
	{{else}}
		<ul class='ipsDataList ipsDataList_reducedSpacing'>
			{{foreach $data as $row}}
			<li class='ipsDataItem dfzgloszeniagraczyPad'>
				<span class='ipsPos_right ipsType_small ipsType_light'>{datetime="$row['time']"}</span>
				<div class='ipsList_inline'>
					<img src="{$row['type']}" alt="{$row['typeAlt']}" data-ipstooltip="" _title="{$row['typeName']}">
					<strong><a href="https://steamcommunity.com/profiles/{$row['client_steamid']}" target="_blank" data-ipstooltip="" _title="Если у игрока лицензия, откроется Steam страница {$row['client_name']}">
					{$row['client_name']}</a></strong> отправил жалобу на игрока
					<strong><a href="https://steamcommunity.com/profiles/{$row['target_steamid']}" target="_blank" data-ipstooltip="" _title="Если у игрока лицензия, откроется Steam страница {$row['target_name']}">
					{$row['target_name']}</a></strong>
					 по причине
					<strong>{$row['report_reason']}</strong> на сервере <strong>{$row['server_name']}</strong>
				</div>
			</li>
			{{endforeach}}
		</ul>
		{{endif}}
</div>

На этом установка завершена, и в теории у вас все должно работать. Если нет, пишите, вместе разберемся.

Ссылка на комментарий
Поделиться на другие сайты
Классное и оптимизированное сражение 6 на 6 в Left 4 Dead 2

Приятной игры!
  • Администратор

Кстати, я совсем забыл упомянуть. Ссылка на оригинальный продукт:

https://forum.go-code.pl/index.php?/temat/2139-mreport-darmowy-system-reportów-na-twoje-serwery-gier-integracja-ze-skryptami-cmsaplikacjami/

С моей стороны было неправильно не оставить ссылку.

Ссылка на комментарий
Поделиться на другие сайты
  • Администратор
В 22.11.2021 в 19:18, Райан сказал:

Игрок на сервере CS:S отправляет жалобу на игрока через команду !report.

Если из исходника плагина вырезать все, что связано со звуком:

sound/mReport/mNotification_admin.mp3

То плагин будет работать и на сервере L4D2.

Ссылка на комментарий
Поделиться на другие сайты

Для публикации сообщений создайте учётную запись или авторизуйтесь

Вы должны быть пользователем, чтобы оставить комментарий

Создать учетную запись

Зарегистрируйте новую учётную запись в нашем сообществе. Это очень просто!

Регистрация нового пользователя

Войти

Уже есть аккаунт? Войти в систему.

Войти
  • Похожий контент

    • Автор Райан
      В данном форуме ведется набор администраторов, модераторов и людей кому интересен наш проект с административной точки зрения, для поддерживания порядка на всем сообществе IP-Gamers.
      Пример заявки для админа сервера:
      Имя; Возраст (кол-во полных лет); Город (проживание); Как можно связаться помимо форума и игры; IP адрес и его тип (статический / динамический); Ник в игре; Стаж игры Left 4 Dead 2; Знание SourceMod, Серверостроения. Опыт Администрирования (IP, адрес форума, срок); Пользовались ли читами; На каком сервере хотели бы быть администратором (один на ваш выбор); Удобное время посещения сервера (утро / день / вечер / ночь); Полезная информация о себе (Также указывайте такие качества как владение языками программирования, графическими программами и всё в таком духе). Ваш Steam ID (Можно узнать, прописав в консоли игры "Status", находясь на сервере). Пример заявки для модератора форума:
      Имя; Возраст (кол-во полных лет); Город (проживание); Как можно связаться помимо форума и игры; Заполнен ли твой профиль на форуме на 100 процентов; Есть ли 5 сообщений на форуме; Опыт модерирования (адрес форума, срок); Удобное время посещения форума (утро / день / вечер / ночь); Полезная информация о себе (Также указывайте такие качества как владение языками программирования, графическими программами и всё в таком духе). Пример заявки для модераторов группы Steam:
      Имя; Возраст (кол-во полных лет); Город (проживание); Как можно связаться помимо форума и игры; Ссылка на профиль Steam; Как долго состоишь в группе Steam; Опыт модерирования (адрес группы Steam, срок); Удобное время посещения форума (утро / день / вечер / ночь); Полезная информация о себе (Также указывайте такие качества как владение языками программирования, графическими программами и всё в таком духе). Халатное, несерьезное отношение к этой должности недопустимо. У нас очень жесткие правила, подумайте сразу, нужно вам это или нет, чтобы лишний раз не беспокоить администрацию, и не тратить свое и наше время.
      Написание заявки означает, что Вы знаете правила нашего сообщества.
      Заявки может оставить любой желающий пользователь.
      Рассмотрим все предложения!
      Решения о принятии заявки или ее отказе, могут быть обоснованы с причинами и без них, которые не обсуждаются!
      Тема закроется автоматически, спустя 3 суток.
    • Автор CHIKI_BRIKI
      Раян, прошу сделать больше нормальных причин для мута, и больше вариантов времени для них
      Просто иногда от игрока идут оскорбления заслуживающие лишь мута, и не хочется его просто банить, да, есть прописанные правила, но ранее было добрее с этим, чем выдавать мут за оски и забывать его редактировать с двух дней на меньший срок
      Просто нужна более гибкая система выдачи наказаний
      Да, я не прошу сделать сразу кучу всего
      Но можешь добавить в муты "использование музыки в чат", какое нибудь 1 день или два дня приурочить
      И главное, сделать возможным нормально выдавать мут и гаг на 16 часов (лучше на 16 часов), вместо бана
      Это может показать игрокам что хоть их общение и наказывается - всё равно игрока не выгоняют и просят успокоится
    • Автор Райан
      Данный плагин SourceMod до банального прост. Вы в конфиге биндите необходимое вам ключевое слово на команду и после этого команду можно вызывать с помощью привязанного слова. Полезно для плагинов с длинными командами. Пример !resetscore>!rs>!r.
      В версии которую я выложил, в конфиге, вместо флагов администратора можно использовать SteamID.
      Переменные:
      sm_commandshortcuts_notification - Отображать сообщение при срабатывании команды. 1 = включено, 0 = отключено. sm_commandshortcuts_publicinfo - разрешить всем клиентам просматривать о ярлыках, набрав !commandshortcuts. 1 = все клиенты, 0 = только администраторы Команды:
      sm_reloadshortcuts - Перезагружает файл конфигурации. sm_commandshortcuts - Дает информацию о сочетаниях клавиш. Пример конфига:
      "commandshortcuts" { "1" { "shortcut" "!restartgame" "flag" "d" "command" "mp_restartgame 5" "type" "1" "registershortcut" "0" } "2" { "shortcut" "sm_fly" "flag" "STEAM_0:1:175038461" "command" "sm_noclip {player}" "type" "1" "registershortcut" "1" } "3" { "shortcut" "!shortcuts" "flag" "" "command" "sm_commandshortcuts" "type" "2" "registershortcut" "0" } } Установка:
      Поместите содержимое архива в FTP вашего сервера и сделайте рестарт. sm_commandshortcuts_v1.2.zip
      Я плагин не тестировал. Это обычный перепост оригинального плагина.
    • Автор Райан
      У Google AdSense есть очень классная функция, автоматические рекламные объявления. Как это работает? Вы вставляете всего один код, одну строчку в тело <head> и роботы Google, сами, вместо админа принимают решения, где лучше отображать рекламу.
      Примеры:

      И если с удалением ненужных рекламных блоков проблем не возникает, то вот с тем, что бы сделать так, что бы автоматические объявления от Google не отображались различным премиум группам на форуме, это уже достаточно сложно. Хотя нет, сложности нет, надо просто идти нестандартными путями.
      Итак, мы все привыкли к тому, что, что бы в Invision Community (IPS 4.6) вставить какой ни будь код в тело <head>, мы все в админке отправляемся в раздел Главная>Система>Продвижение>Аналитика, и мы все туда вставляли коды Яндекс метрик, Google и AdSense.
      Но в этот раз, мы пойдем в раздел Главная>Система>Продвижение>Реклама и нажмем там на кнопку создать, что бы создать новой рекламное объявление. Заголовок ставите любой Тип выбираете HTML код В тело HTML кода вставляете ваш код, который вас просили вставить в AdSense во время проверки сайта: <script async src="https://pagead2.googlesyndication.com/pagead/js/adsbygoogle.js?client=ca-pub-" crossorigin="anonymous"></script> В показе объявлений выбираете пункт Создать собственное местоположение. В Ключи пользовательских местоположений вводите ключ head. И выбираете каким группам не показывать эту рекламу. Сохраняете рекламное объявление и идете в управление шаблонами IPS 4.6 (Внешний вид>Темы>Редактирование темы) Уже в редактировании темы, в шаблоне globalTemplate  вы вставляете следующий ключ: {advertisement="head"} Нажимаете кнопку "Сохранить". Все сделано.
    • Автор Райан
      Обновил плагин отвечающий за переход на следующую кампанию в Left 4 Dead 2. Включил в него кампанию "Последний Рубеж".
      l4d2vsmapfinalenext.smx l4d2vsmapfinalenext.sp
  • Последние посетители   0 пользователей онлайн

    Ни одного зарегистрированного пользователя не просматривает данную страницу



×
×
  • Создать...