Серый™
CS:S Server
- Сообщения
- 2,925
- Реакции
- 1,376
- Автор ресурса
- #1
Offline Ban list
Описание:
Позволяет банить игроков вышедших из игры, админам с флагом бана.
Меню автоматически прописывается в Управление игроками.
Требование:
SourceBans
SourceMod от 1.7
Квары:
sm_offban_timeformat "%d.%m|%H:%M" - Формат времени.
sm_offban_max_stored "21" - максимальное количество игроков в меню.
sm_offban_map_clear "0" - Очистка истории после смены карты.
sm_offban_del_con_players "1" - Удалять ли из истории вновь подключившихся игроков
sm_offban_menu_nast "1" - как показывать мены выбора игроков 1. name,time 2. name,steam 3. name,steam,time
sm_offban_menu_newline "0" - перенос строк в меню
sm_offban_steam_typ "1" - тип стим айди 1. старый 2. новый 3. комьюнити ид
Есть свой конфиг offlineban.cfg
Команды:
sm_offban_clear - очистка истории. (флаг - z)
Особенности:
- Админы и боты в список не выводятся.
- После бана забаненый из списка пропадает.
- Игроки в списке не дублируются.
- Игрок вышедший из игры и снова вошедший из списка пропадает.
- Добавляется приписка в причине бана [Offline Ban]
Установка:
Содержимое архива offlineban.zip копируем в папку addons\sourcemod
Для сортировки дописываем в adminmenu_sorting.txt в нужное вам место в категории "PlayerCommands"
Добавить в конфиг sourcebans.cfg"item" "OfflineBans"
PHP:
"BanTime"
{
"0" "Навсегда"
"5" "На 5 мин."
"30" "На 30 мин."
"60" "На 1 час"
"1440" "На 1 день"
"10080" "На неделю"
"43200" "На месяц"
"129600" "На 3 месяця"
}
Для ксго
- #1 - DEFAULT
- #2 - RED
- #3 - LIGHTPURPLE
- #4 - GREEN
- #5 - LIME
- #6 - LIGHTGREEN
- #7 - LIGHTRED
- #8 - GRAY
- #9 - LIGHTOLIVE
- #10 - OLIVE
- #OB - PURPLE
- #OC - LIGHTBLUE
- #OE - BLUE
- #HC - цвет
- #HT - в начале текста
- #HE - в конце текста
Для ксс#HС34c924#HTмама папа#HE
- #7 - html цвет (пример; #734c924)
- #1 - желтый
- #3 - светло зелёный
- #4 - зелёный
Поддерживаемые языки:
- Русский "RU"
- English "EN"
Версия 1.0.1
- Изменил OfflineBans_Cat на OfflineBans.
- Сделал нормальную реализацию пункта "назад" (как просил R1KO).
- Сделал сообщение в чате (Нет игроков в истории) если нет в базе игроков.
- Сделал мультиязычность.
- Сделал перенос кто и кого забанил.
- Полностью переписал плагин.
- Баны заносятся напрямую в базу.
- Добавил причину бана.
- Сделал так что некоторые настройки брались с сб. (был не большой не достаток у apkon, если ип прописан как нули то баны не заносятся)
- Переписал плагин.
- Причина бана берется с сб.
- Другая причина работает как обычная причина не как в сб (не хотел этим заморачиваться)
- Сделал сообщение при бане.
- Не большие изменения в меню, назад-выход.
- Добавлено сообщение если бан не удалось занести в базу сб.
- Исправил не большую ошибку, с закрытием хенделя меню.
- Теперь список не чистится каждую карту и сделал ограничение 21(на 3 страницы) игроков. (сменить на своё значение MAX_STORED_PLAYERS)
- Сделал команду при которой чистится список - sm_of_clearban (флаг рут - z)
- Добавил приписку в причине бана [Offline Ban]
- Теперь если нет админа в базе сб баны заносятся от имени сервера.
- Добавил лог бана.
- При бане сделал дополнительный запрост в бд по кодировке(может полностью избавлюсь от какозабр)
- Подкрасил сообщения при бане(красный-не прошёл бан, зелёный-прошёл бан)
- В сообщение при бане добавил ник забанего
- Теперь если не прошёл бан, игрок из списка не удаляется.
- Убрал лишний код и оптимизировал.
- Изменил команду очистки истории на "sm_offban_clear"
- Добавил не много комментариев в скрипт.
- Немного оптимизировал.
- Добавил новые квары "sm_offban_timeformat, sm_offban_max_stored"
- Сделал сортировку, теперь последний вышедший первый в списке.
- Добавил время выхода.
- Немного оптимизировал.
- Добавил новый квар "sm_offban_map_clear
- Думаю теперь точно справился с какозябрами.
- Исправил пустые ники.
- Добавил ник в заголовке меню при выборе времени.
- Исправил, когда первый вышедший не попадал в список.
- Не много оптимизировал.
- Добавлена настройка удаление вошедших игроков sm_offban_del_con_players
- Добавлена настройка отображения меню выбора игроков sm_offban_menu_nast
- Появился свой конфиг offlineban.cfg
- Оптимизировал работу кваров.
- Добавил проверку загружен ли SourceBans.
- Сделал перенос строки (sm_offban_menu_newline)
- Сделал время бана в конфиге сорсбанса(пример лежит в архиве)
- Сделал создание меню чуть по другому и оптимизировал его.
- Профиксина ошибка (Native "SQL_FetchRow" reported: Invalid query Handle 0 (error: 4))
- Думаю профиксил пустые ники.
- Переписал под новый синтаксис, теперь плагин тока для см от 1.7
- Переделал систему хранения вышедших игроков, хранится в sqlite
- Добавил поддержку цветов для игр
- Сделал сортировку в меню, вышедших игроков.
- Исправлена серьёзная ошибка в бд.
- Исправлена ещё одна серьёзная ошибка в бд.
- Переписано меню.
- Кое что ещё перевел на новый синтаксис в бд.
- Исправил проблему с кодировкой.
- Исправил проблему с пустыми никами, могли быть но редки.
- Добавлен новый квар (sm_offban_steam_typ)
- Исправил некоторые ошибки.
- Ещё некоторые функции перевел на новый синтаксис.
- Убрал нужду прописывать подключение к бд для базы вышедших игроков.
Оригинал
P.S. от оригинала почти ни чего не осталось так что авторство беру на себя.

Решение ошибок:
Не найден SourceBans
Время в причинах бана в сб Это лишь костыль.
Ищим строки..
и делаем так
Если у вас такая ошибка, что не найден SourceBans и он у вас стоит, то перекомпилируйте SourceBans с инклуде который есть в архиве.[SM] Unable to load plugin "offlineban.smx": Could not find required plugin "SourceBans"
Время в причинах бана в сб Это лишь костыль.
Ищим строки..
PHP:
public SMCResult:ReadConfig_NewSection(Handle:smc, const String:sName[], bool:opt_quotes)
{
if(sName[0])
{
if(strcmp("Config", sName, false) == 0)
ConfigState = ConfigStateConfig;
else if(strcmp("BanReasons", sName, false) == 0)
ConfigState = ConfigStateReasons;
else if(strcmp("HackingReasons", sName, false) == 0)
ConfigState = ConfigStateHacking;
}
return SMCParse_Continue;
}
PHP:
public SMCResult:ReadConfig_NewSection(Handle:smc, const String:sName[], bool:opt_quotes)
{
if(sName[0])
{
if(strcmp("Config", sName, false) == 0)
ConfigState = ConfigStateConfig;
else if(strcmp("BanReasons", sName, false) == 0)
ConfigState = ConfigStateReasons;
else if(strcmp("HackingReasons", sName, false) == 0)
ConfigState = ConfigStateHacking;
else
ConfigState = 0;
}
return SMCParse_Continue;
}
Выражаю большую благодарность за помощь с плагином R1KO
Добавил R1KO в соавторы.
Добавил R1KO в соавторы.
Тут последняя версия плагина и дальнейшее обсуждение его Offline Ban list
Вложения
Последнее редактирование модератором: