Any game MassBan

Reiko1231

AlexTheRegent
Сообщения
508
Реакции
1,335
Описание плагина: позволяет забанить или кикнуть сразу несколько игроков.
Команда для вызова меню плагина: sm_massban.
Флаг доступа: ADMFLAG_BAN (флаг бана).
Уникальное имя пункта (только при включенной интеграции в меню): sm_massban.
Версия плагина: 1.1 beta (проверялась мной у меня на локальном сервере на ботах, что по сути не является проверкой...).

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

1. Выбрать нужные цели. Если вы ошиблись и выбрали не того, выберите его еще раз, тогда [X] будет убран, а значит игрок не будет забанен|кикнут.
f637d3a799c9.jpg

2. Нажать "Забанить выбранных игроков".
3. Выбрать нужное время бана. Для кика используйте пункт "Кикнуть".
55bb6e41f1dd.jpg

4. Выбрать причину бана|кика.

Консольные переменные плагина:
sm_massban_banlengthtype - тип продолжительности бана. 0 - время в секундах, 1 - в минутах, 2 - в часах. По умолчанию: 1.
sm_massban_integinmenu - добавлять ли пункт в меню. 0 - нет, 1 - да. По умолчанию: 1.

Добавление своих причин бана и интервалов времени бана:
Осуществляется через файл .../sourcemod/configs/massban.txt, по примеру, написанному там.
Для бана: title - как будет написано в меню, time - время бана по этой причине.
Для причин: reason - отображаемая причина бана|кика.

Приложенные файлы:
massban.zip - все необходимые файлы для работы плагина, сам плагин и его исходник.
massban.sp - только исходный код плагина.

P. S. Сделано по запросу тут.
 

Вложения

  • massban.zip
    13.1 КБ · Просмотры: 124
  • massban.sp
    13.9 КБ · Просмотры: 58
Последнее редактирование:

Konstantin

Участник
Сообщения
1,775
Реакции
759
Reiko1231,
перманент -
C-подобный:
AddMenuItem(g_hTimeMenu, "0", "Навсегда");
?
Можно переделать время в минутах?
Например:
C-подобный:
AddMenuItem(g_hTimeMenu, "-1", "Кикнуть");
AddMenuItem(g_hTimeMenu, "30", "30 минут");
AddMenuItem(g_hTimeMenu, "60", "Час");
и.т.д.
 

Reiko1231

AlexTheRegent
Сообщения
508
Реакции
1,335
1. Да, ноль равняется перманенту. В качестве бана я использовал ClientCommand("sm_ban").
2. Можно переделать на минуты, для этого нужно добавить строку перед 183 строкой (ClientCommand(client, "sm_ban #%d %i \"%s\"", iUserId, g_iTargetTime[client], sReason);)
следующую строку:
C-подобный:
g_iTargetTime[client] *= 60;
Тогда код будет следующим:
C-подобный:
	// Если выбрали кикнуть
	if ( g_iTargetTime[client] == -1 )
	{
		// Кикаем с выбранной причиной
		KickClient(iClient, sReason);
	}
	else
	{
		// Иначе переводим время из минут в секунды (умножаем на 60)
		g_iTargetTime[client] *= 60;
		// Шлем через клиента команду на бан
		ClientCommand(client, "sm_ban #%d %i \"%s\"", iUserId, g_iTargetTime[client], sReason);
	}
 

Konstantin

Участник
Сообщения
1,775
Реакции
759
Reiko1231, а каким образом можно добавить пункт "Забанить несколько игроков" (так прописано в исходнике и кастоме) сразу после "Забанить игрока" ?
 

Вложения

  • jpg.jpg
    jpg.jpg
    19.4 КБ · Просмотры: 65

Konstantin

Участник
Сообщения
1,775
Реакции
759
R1KO, а для чего в кастоме
C-подобный:
"title" "ололо"
?
 

R1KO

fuck society
Сообщения
9,457
Реакции
7,786
  • Команда форума
  • #8
Konstantin, это название, оно должно совпадать с "item" "этим"
 

Konstantin

Участник
Сообщения
1,775
Реакции
759
R1KO, Немножко вопрос не так поставил...
В данном случае какой толк от этой строки?
PHP:
"ServerCommands"
    {
        "Set Next Map"
        {
            "cmd"        "sm_setnextmap #1"
            "1"
            {
                "title"        "Set Next Map"
                "type"        "mapcycle"
            }
        }
    }
 

R1KO

fuck society
Сообщения
9,457
Реакции
7,786
  • Команда форума
  • #10
это ее название в админ меню
 

R1KO

fuck society
Сообщения
9,457
Реакции
7,786
  • Команда форума
  • #12
а-а-а, это заглавие меню, оно тебе не нужно, т.к. оно прописано в плагине.
 

Konstantin

Участник
Сообщения
1,775
Реакции
759
R1KO, Вот именно, что строки "Забанить много игроков" в плагине нет! :)
 

R1KO

fuck society
Сообщения
9,457
Реакции
7,786
  • Команда форума
  • #14
Konstantin, там есть SetMenuTitle(hClientMenu, "Выберите цели:\n \n");
Короче назови пункт здесь
PHP:
"Commands"
{
	"PlayerCommands"
	{
		"Забанить несколько игроков" // вот эта фраза это название пункта в меню
		{
			"cmd"		"sm_massban"
			"admin"		"sm_ban"
			"execute"	"player"
		}
	}
}
и здесь
PHP:
"item" "Забанить несколько игроков" // она же !! буква в букву! Это ты просто ее сортируешь.
 

The End Is Near...

Russian Roulette
Сообщения
874
Реакции
691
Разве что, сделать в меню для удобства [x] - выбран, [ ] - не выбран
 

Reiko1231

AlexTheRegent
Сообщения
508
Реакции
1,335
Обновил плагин, изменения в версии 1.1:
1. Теперь функционал плагина настраивается без исправления исходного кода.
Причины\время бана вынесены в отдельный файл, указано ли время в секундах\минутах\часах регулируется через консольную переменную.
2. Добавил идею The End Is Near..., теперь выбранные игроки выделяются [X], не выбранные с помощью [ ]. Так же теперь при ошибочном выборе цели можно снять выделение, выбрав его еще раз.

Для более подробной информации смотрите первый пост.
 

golova209

Думать – самая трудная работа
Сообщения
251
Реакции
72
а если стоит сб они ругаться друг с другом не будут?
 

ZhenkaDJ

Участник
Сообщения
44
Реакции
0
Добавьте бан по IP, чтобы можно было банить и по IP и по STEAMID
 

Похожие темы

Ответы
1
Просмотры
276
Ответы
0
Просмотры
418
Ответы
1
Просмотры
308
Сверху Снизу