Бан баз права выбора времени

mzeke

Участник
Сообщения
51
Реакции
4
Здравствуйте. Мою голову посетила довольно таки на мой взгляд интересная идея. Можно ли сделать так, чтобы админ не мог выбрать время, на которое хочет забанить игрока.

Т е время фиксированное и будет зависеть от причины бана. Сначала выбираем никнэйм играка, далее причину и на этом все - игрок получает бан.

Например Выбираем причину Спам-10 мин, Чит-навсегда, Оскорбление-1 день, и тд. Чтобы админы не могли дать хаму бан навсегда.

Можно ли так сделать и сложно ли это в реализации?

Заранее спасибо.
 

Danyas

Участник
Сообщения
2,174
Реакции
1,072
Наработки у меня на соурсбанс были.
 

mzeke

Участник
Сообщения
51
Реакции
4
AlmazON, смысл в том чтобы админы не выбирали бан. Конкретный пример: админы за оскорбление дают бан навсегда. Ты сможешь это реализовать? И сколько это будет стоить?
 

mzeke

Участник
Сообщения
51
Реакции
4
AlmazON, В адмнке SM выбираем как обычно Управление игроками->забанить игрока->выбираем ник->выбираем причину. И игрок получает бан. Никаких отдельных флагов.

Просто нужно убрать пункт выбора времени так как время напрямую связано с причиной.

Если причина=чит тогда время=навсегда;
Если причина=спам тогда время=1 час;
Если причина=оскорблени тогда время=1 день;

Что-то типа этого.

Просто нужно убрать пункт выбора времени.
 
Последнее редактирование:

R1KO

fuck society
Сообщения
9,460
Реакции
7,799
  • Команда форума
  • #6
Даю ещё более лучшую идею: всё время оставить, а фиксированным сделать только при нажатии "Выход" или "Назад". Т.е.: выбрал никнейм, потом причину - выскакивает привычное окошко с разным временем бана. А мы жмём "Назад" - всё, время автоматически было принято за фиксированное. При этом, всё также всегда есть, где "разгуляться", если приспичит)
Это конечно, если не нужно конкретно

Вроде как ничего сложного.
 

R1KO

fuck society
Сообщения
9,460
Реакции
7,799
  • Команда форума
  • #7
AlmazON, ну то что админку редактировать это 100%, но не её, а basebans
 

Danyas

Участник
Сообщения
2,174
Реакции
1,072
А где ТС вообще упоминание делал на этом? Вы из-за:
Или телепаты?) Я вот подумал чисто про админку.

Оффтоп
Ну как-бы по стандартной логике)
Я просто в исходнике убирал одно меню и оставлял время бана, а причина была равна времени бана. :magic:
 

mzeke

Участник
Сообщения
51
Реакции
4
Danyas, может быть ты скинешь в паблик, и общими усилиями что-то получится?? Думаю это не будет лишним для админов серверов. Я не претендую на эксклюзивность, но если нет, то я буду готов заплатить за сие работающее творение.
 

Reiko1231

AlexTheRegent
Сообщения
508
Реакции
1,336
По моему мнению, лезть в исходники SourceBans нет необходимости. Они предоставили единственный натив, и его достаточно, чтобы сделать необходимое:
C-подобный:
/*********************************************************
 * Ban Player from server
 *
 * @param client	The client index of the admin who is banning the client
 * @param target	The client index of the player to ban
 * @param time		The time to ban the player for (in minutes, 0 = permanent)
 * @param reason	The reason to ban the player from the server
 * @noreturn		
 *********************************************************/
native SBBanPlayer(client, target, time, String:reason[]);

Первое, что необходимо, это "скрыть" старое меню выбора бана средствами SourceMod - используем override на команду sm_ban, и делаем доступ к команде sm_ban доступным только Z (root) флагу. Это убирает у простых админов не только обычное меню бана в админке, но и запрещает им банить через консольную команду sm_ban, т.к. если не убрать эту команду, то умные админы продолжат банить через консоль на произвольное время с произвольной причиной.
Второй шаг - пишем плагин, который будет отвечать за новый пункт в админке, который будет как старый, только с опущенным шагом выбора времени бана, и использовать свой конфиг, чтобы знать, какое время бана за выбранную причину. Тестовый плагин прикладываю ниже, с его конфигом. Может не работать полностью, т.к. я не проверял его, а только сделал набросок. Но по идее должно работать. В любом случае, о результате сообщи сюда, или лучше в скайп (указан в профиле), если есть желание довести плагин до конца.

P.S. плагин написан для SM версии >= 1.7
 

Вложения

  • sb_test.7z
    7.8 КБ · Просмотры: 18

mzeke

Участник
Сообщения
51
Реакции
4
Reiko1231, если бы плагин был написан для 1,6,3 было бы еще лучше. Но все равно, проверю на 1,6 и сообщу о результате.

Добавлено через 7 минут
Reiko1231, еще я кое-что не очень понял. То есть мы убираем флаг sm_ban у админов и после установки плагина баним игроков с помощью написанного плагина. Т е мы используем не sm_ban,а написанный плагин? И в свою очередь данным способом могут банить только админы с флагом root? Я правильно понял.

Просто необходимо, чтобы у обычных админов тоже была возможность банить ТОЛЬКО без выбора времени.
 
Последнее редактирование:
Сверху Снизу