Главная » Файлы » Сервер CS:S » Плагины

Lite Plugins
[ Скачать с сервера (15.2 Kb) ] 25.01.2014, 16:40
Решил сделать общую тему для всех наработок
Что это? Изначально для изменения сообщений подключения/отключения я использовал Connect Announce by Arg, было довольно удобно - обычным пользователям выводилось простое перекрашенное сообщение о подключении/отключении, админам - еще IP и ID. Однако, когда я начал смотреть исходники, я понял что вся та функциональность, которая есть в CA, мне не нужна. А там есть и GeoIP (регион мне не нужен, да и HLXCE выводит), и установка личных сообщений каждому игроку, и еще куча бреда. И так можно говорить про многие плагины.
Когда сервер не слишком популярен, об оптимизации многие не слишком задумываются. Однако когда сервер на 64 слота, DeathMatch с приличным онлайном - тут уже и начнешь задумываться о любой оптимизации. Хотя конечно лучше бы такую оптимизацию делать везде, но многим удобна настраиваемость через конфиги, а некоторые даже не заморачиваются на этот счет.
Собственно тогда и начал я делать свои облегченные версии используемых мною плагинов, некоторые из которых публикую здесь.

kdlp-gameevents - сообщения о подключении/отключении/смене команды игроков

Описание: Плагин позволяет отображать измененные сообщения о смене команды, подключении и отключении игроков, с выводом Steam ID и IP админам в последних двух. НАСТРОЕК (в виде переменных) НЕТ!
FAQ:
ГДЕ КОНФИГИ? Их нет. Нужны конфиги - используйте ConnectAnnounce, здесь все это убрано для оптимизации
Где редактировать строчки? - Настройка сообщений производится редактированием исходника с последующей перекомпиляцией. Четыре вызова функции Fromat и массив teams вначале. Если же вы плохо понимаете построение форматных строк, то луче все же воспользоваться ConnectAnnounce, этот плагин для тех кто понимает хотя бы базово как редактировать плагины и где найти строки, которые нужно отредактировать.
В %GAMENAME%!=css пишет про терористов и КТ, почему? - Имена команд из игры не запрашиваются - по умолчанию этот плагин под CSS, для других игр придется изменять в само начале в массиве teams названия команд. Там же можно указать и цвета. Почему? А какой смысл делать лишее при каждой смене карты, ведь гораздо лучше один раз изменить имена в исходнике и перекомпилировать.
MoreColors? - Не упоминайте мне про него - цвета прекрасно указываются через \x07RRGGBB или даже через \x08RRGGBBAA - не вижу никакого смысла подключать целую библиотеку, тем более возникают проблемы, когда в никах у игроков есть фигурные скобки.
Коды цветов команд: Цвет CT/BLU - \x0799CCFF Цвет T/RED - \x07FF4040 Цвет Spectators - \x07CCCCCC

При изменении прошу обратить внимание на то, что при подключении нельзя узнать client через GetClientOfUserId(GetEventInt(event,"userid")), адрес же при подключении передается в событии (подробности тут - http://wiki.alliedmods.net/Generic_Source_Server_Events )


kdlp-adminsentinel - упрощенный AdminSentinel
Позволяет прослушивать голосовой чат другой команды, а так же включать режим, при котором админа слышат все.
Так же админу виден чат чужой команды, наблюдателей и мертвых (не выключается)
С последним у меня небольшой баг, в некоторых случаях сообщение отображается дважды (стандартное и дублируемое через плагин). До конца не уловил все случаи стандартной логики когда отображаться должно/не должно.
Команды:
sm_enemyvoice - включить прослушку чата чужой команды
sm_talktoserver - включить режим вашей слышимости всему серверу
Необходимый флаг - ADMFLAG_BAN (для простоты изменения вынесен в дефайн ADMIN_LEVEL в
начале кода)
Оригинальный плагин



Простой BunnyHop
Недавно мне написал Konstantin о том, что у него не работает BunnyHop после обнов, от которого единственное необходимое ему действие - при зажатии пробела производить бесконеный прыжок, без ускорений, двойных прыжков и прочего. Проблему то решили, однако взглянув на код infinite-jumping, включающий еще и SMLib, я понял, что это идеальный пример как НЕ надо писать плагины, уж столько там лишнего было...
Это весь плагин, да-да. #include <sourcemod> ведь не обязателен, компилятор сам его подключает автоматически, а плагин получается в две-три строчки  (Вместо кода на 35.5 килобайт + SMLib)
Даже выкладывать скомпилированный как-то не катит 



kdlp-rcon-lock - smac_rcon без функции белого списка
(Предположительно для CSS, поскольку в других OrangeBox играх для полного копирования необходимого кода smac_rcon возможно нужно добавить еще кое-что, что в случае с CSS не используется)
Один из модулей SMAC - SMAC Rcon Locker кроме защиты RCON-пароля от смены позволяет, используя дополниельное расширение SM Rcon, создавать белый список адресов, с которых возможно подключение через RCON к серверу. Однако многие его не используют, а тем более когда вам нужна возможность подклчюения с люого места (например через 3G модем), функция получается не актуальной.
Так же в коде есть еще дополнительные меры защиты некоторых переменных, однако идет проверка на версию движка, под которую CSS, и, возможно, другие OrangeBox-игры не попадают. Поэтому для CSS этот код можно полностью вырезать, в итоге оставив только защиту самого RCON-пароля от смены.
Для облегчения в данном плагине так же идет запись предупреждения при попытке смены пароля в error-лог SM, а не в лог SMAC.


kdlp-noblock - простой NoBlock для игроков и гранатУрезанный NoBlock - действует для всех игроков и для в
Урезанный NoBlock - действует для всех игроков и для всех гранат. 
Можно немного подправить для совместимости с CSS Throwing Knives
Никаких переменных, настроек и дополнительных функций.сех гранат. 
Можно немного подправить для совместимости с CSS Throwing Knives
Никаких переменных, настроек и дополнительных функций.
Категория: Плагины | Добавил: mishgun
Просмотров: 1631 | Загрузок: 243 | Рейтинг: 0.0/0
Всего комментариев: 0
omForm">
avatar
Яндекс.Метрика Рейтинг@Mail.ru
© 2024 Beskuda
Хостинг от uCoz