[Любая игра] MassBan

Тема в разделе "Новые плагины", создана пользователем Reiko1231, 12 сен 2013.

  1. Reiko1231

    Reiko1231 AlexTheRegent

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

    Использование плагина: вызвать плагин соответствующей командой. Появится меню, как на изображении ниже.
    [​IMG]
    1. Выбрать нужные цели. Если вы ошиблись и выбрали не того, выберите его еще раз, тогда [X] будет убран, а значит игрок не будет забанен|кикнут.
    [​IMG]
    2. Нажать "Забанить выбранных игроков".
    3. Выбрать нужное время бана. Для кика используйте пункт "Кикнуть".
    [​IMG]
    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 КБ
      Просмотров:
      111
    • massban.sp
      Размер файла:
      13,9 КБ
      Просмотров:
      50
    Последнее редактирование: 14 сен 2013
  2. Konstantin

    Konstantin

    Сообщения:
    1.789
    Симпатии:
    767
    Reiko1231,
    перманент -
    Код:
    AddMenuItem(g_hTimeMenu, "0", "Навсегда");
    ?
    Можно переделать время в минутах?
    Например:
    Код:
    AddMenuItem(g_hTimeMenu, "-1", "Кикнуть");
    AddMenuItem(g_hTimeMenu, "30", "30 минут");
    AddMenuItem(g_hTimeMenu, "60", "Час");
    и.т.д.
     
  3. Reiko1231

    Reiko1231 AlexTheRegent

    Сообщения:
    238
    Симпатии:
    569
    1. Да, ноль равняется перманенту. В качестве бана я использовал ClientCommand("sm_ban").
    2. Можно переделать на минуты, для этого нужно добавить строку перед 183 строкой (ClientCommand(client, "sm_ban #%d %i \"%s\"", iUserId, g_iTargetTime[client], sReason);)
    следующую строку:
    Код:
    g_iTargetTime[client] *= 60;
    Тогда код будет следующим:
    Код:
    	// Если выбрали кикнуть
    	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 нравится это.
  4. Konstantin

    Konstantin

    Сообщения:
    1.789
    Симпатии:
    767
    Reiko1231, Спасибо, опробую на CSGO!
     
  5. Konstantin

    Konstantin

    Сообщения:
    1.789
    Симпатии:
    767
    Reiko1231, а каким образом можно добавить пункт "Забанить несколько игроков" (так прописано в исходнике и кастоме) сразу после "Забанить игрока" ?
     

    Вложения:

    • jpg.jpg
      jpg.jpg
      Размер файла:
      35,5 КБ
      Просмотров:
      55
  6. R1KO

    R1KO Супер-модератор

    Сообщения:
    6.001
    Симпатии:
    2.993
    Konstantin, в adminmenu_sorting.txt
    после
    добавь
     
    Reiko1231 и Konstantin нравится это.
  7. Konstantin

    Konstantin

    Сообщения:
    1.789
    Симпатии:
    767
    R1KO, а для чего в кастоме
    Код:
    "title" "ололо"
    ?
     
  8. R1KO

    R1KO Супер-модератор

    Сообщения:
    6.001
    Симпатии:
    2.993
    Konstantin, это название, оно должно совпадать с "item" "этим"
     
  9. Konstantin

    Konstantin

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

    R1KO Супер-модератор

    Сообщения:
    6.001
    Симпатии:
    2.993
    это ее название в админ меню
     
  11. Konstantin

    Konstantin

    Сообщения:
    1.789
    Симпатии:
    767
    Я извиняюсь, что туплю, но здесь этой строки нет, а в меню присутствует!
     
  12. R1KO

    R1KO Супер-модератор

    Сообщения:
    6.001
    Симпатии:
    2.993
    а-а-а, это заглавие меню, оно тебе не нужно, т.к. оно прописано в плагине.
     
  13. Konstantin

    Konstantin

    Сообщения:
    1.789
    Симпатии:
    767
    R1KO, Вот именно, что строки "Забанить много игроков" в плагине нет! :)
     
  14. R1KO

    R1KO Супер-модератор

    Сообщения:
    6.001
    Симпатии:
    2.993
    Konstantin, там есть SetMenuTitle(hClientMenu, "Выберите цели:\n \n");
    Короче назови пункт здесь
    PHP:
    "Commands"
    {
        
    "PlayerCommands"
        
    {
            
    "Забанить несколько игроков" // вот эта фраза это название пункта в меню
            
    {
                
    "cmd"        "sm_massban"
                "admin"        "sm_ban"
                "execute"    "player"
            
    }
        }
    }
    и здесь
    PHP:
    "item" "Забанить несколько игроков" // она же !! буква в букву! Это ты просто ее сортируешь.
     
    Konstantin нравится это.
  15. The End Is Near...

    The End Is Near... Russian Roulette

    Сообщения:
    892
    Симпатии:
    659
    Разве что, сделать в меню для удобства [x] - выбран, [ ] - не выбран
     
  16. Reiko1231

    Reiko1231 AlexTheRegent

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

    Для более подробной информации смотрите первый пост.
     
    gravestal, Leckter Hannibal, R1KO и 2 другим нравится это.
  17. golova209

    golova209 Думать – самая трудная работа

    Сообщения:
    264
    Симпатии:
    75
    а если стоит сб они ругаться друг с другом не будут?
     
  18. R1KO

    R1KO Супер-модератор

    Сообщения:
    6.001
    Симпатии:
    2.993
    нет
     
  19. ZhenkaDJ

    ZhenkaDJ

    Сообщения:
    44
    Симпатии:
    0
    Добавьте бан по IP, чтобы можно было банить и по IP и по STEAMID
     
  20. ☆★☆БАТЯ☆★☆™

    ☆★☆БАТЯ☆★☆™

    Сообщения:
    2.585
    Симпатии:
    1.341
    ZhenkaDJ, а зачем? По STEAM_ID неплохо банится. Пользуйся стимом.