- Поддерживаемые игры
-
- CS: Source (OrangeBox)
KEY BIND MANAGER - ВЕРСИЯ 1.1.0
ОПИСАНИЕ
Плагин Key Bind Manager позволяет настраивать привязку клавиш Source Engine к любым командам через конфигурационный файл. Поддерживает все типы команд (консольные, SourceMod, чат), систему кулдаунов, переменные в командах и фильтрацию по командам.
ОПИСАНИЕ
Плагин Key Bind Manager позволяет настраивать привязку клавиш Source Engine к любым командам через конфигурационный файл. Поддерживает все типы команд (консольные, SourceMod, чат), систему кулдаунов, переменные в командах и фильтрацию по командам.
Основные возможности:
Шаг 1: Компиляция
Скомпилируйте файл
в
используя компилятор SourceMod или онлайн-компилятор.
Шаг 2: Копирование
Скопируйте
в папку
вашего сервера.
Шаг 3: Загрузка
Перезапустите сервер или выполните в консоли сервера:
Шаг 4: Первая настройка
После загрузки плагин автоматически создаст файл конфигурации по пути:
Откройте этот файл и настройте бинды под свои нужды. Примеры уже включены в файл.
Структура файла конфигурации
Файл конфигурации находится в
и использует формат KeyValues.
Базовая структура:
Параметры бинда
(обязательный) - Название клавиши. Список доступных клавиш см. ниже.
(обязательный) - Команда для выполнения. Может содержать переменные.
(необязательный, по умолчанию: 1) - Включен ли бинд. 1 = включен, 0 = выключен.
(необязательный, по умолчанию: 0.5) - Кулдаун в секундах. Устанавливает задержку между использованиями бинда. 0 = использовать значение из ConVar
.
(необязательный, по умолчанию: 0) - Для какой команды работает бинд. 0 = все команды, 2 = только T, 3 = только CT.
Доступные клавиши
Переменные в командах
Вы можете использовать переменные в командах, которые будут автоматически заменяться на реальные значения:
Примеры конфигурации
Пример 1: Команда в командный чат при нажатии E
Пример 2: Открытие меню при нажатии R
Пример 3: Вывод информации об игроке с переменными (только для T)
Пример 4: Команда чата с префиксом
Пример 5: Консольная команда
Для администраторов:
или
- Перезагружает конфигурацию биндов. Требует флаг
.
Для игроков:
или
- Включает/выключает бинды клавиш для себя. Позволяет игрокам временно отключить все бинды.
Все ConVars сохраняются в
при первом запуске.
(по умолчанию: 1)
Включить или выключить плагин глобально. 1 = включен, 0 = выключен.
(по умолчанию: 0.5)
Кулдаун по умолчанию для биндов без указанного кулдауна. Указывается в секундах. Используется для биндов, у которых параметр
установлен в 0.
(по умолчанию: 0)
Включить или выключить отладочные сообщения. 1 = включен, 0 = выключен. В режиме отладки плагин выводит информацию о загруженных биндах, кулдаунах и выполнении команд.
Примеры использования ConVars:
1. Загрузка конфигурации
При запуске плагина или смене карты он загружает файл конфигурации
. Если файл не существует, создается файл с примерами биндов. Все бинды загружаются в память для быстрого доступа.
2. Отслеживание нажатий клавиш
Плагин использует хук
для отслеживания нажатий клавиш игроками. Он проверяет только новые нажатия (когда клавиша только что была нажата), что оптимизирует производительность и предотвращает повторные срабатывания при удержании клавиши.
3. Проверка условий
Для каждого бинда проверяются следующие условия:
4. Выполнение команды
Если все условия выполнены:
5. Типы команд
Плагин автоматически определяет тип команды и выполняет её соответствующим образом:
Включение отладочного режима
Для диагностики проблем включите отладочный режим:
В этом режиме плагин выводит:
Частые проблемы и решения
Проблема: Бинд не срабатывает
Проблема: Команда выполняется, но не работает
Проблема: Файл конфигурации не создается
Плагин оптимизирован для работы на серверах с большим количеством игроков:
Версия 1.1.0
Версия 1.0.1
Автор: DENZEL519&AI
- Привязка любых клавиш Source Engine к командам
- Поддержка всех типов команд (консольные, SourceMod, чат)
- Система кулдаунов для предотвращения спама
- Поддержка переменных в командах ({player}, {steamid}, {team}, {userid}, {index})
- Фильтрация по командам (T, CT, все)
- Включение/выключение плагина через ConVar
- Персональное включение/выключение для каждого игрока
- Отладочный режим для диагностики
- Автоматическое создание конфигурационного файла
УСТАНОВКА
Шаг 1: Компиляция
Скомпилируйте файл
C-подобный:
key_bind.sp
C-подобный:
key_bind.smx
Шаг 2: Копирование
Скопируйте
C-подобный:
key_bind.smx
C-подобный:
addons/sourcemod/plugins/
Шаг 3: Загрузка
Перезапустите сервер или выполните в консоли сервера:
C-подобный:
sm plugins load key_bind
Шаг 4: Первая настройка
После загрузки плагин автоматически создаст файл конфигурации по пути:
C-подобный:
addons/sourcemod/configs/key_bind.cfg
Откройте этот файл и настройте бинды под свои нужды. Примеры уже включены в файл.
НАСТРОЙКА КОНФИГУРАЦИИ
Структура файла конфигурации
Файл конфигурации находится в
C-подобный:
addons/sourcemod/configs/key_bind.cfg
Базовая структура:
C-подобный:
"KeyBinds"
{
"Binds"
{
"ИмяБинда"
{
"key" "IN_USE" // Клавиша
"command" "say_team Привет!" // Команда
"enabled" "1" // Включен (1) или выключен (0)
"cooldown" "1.0" // Кулдаун в секундах (0 = использовать значение по умолчанию)
"team" "0" // Команда: 0=все, 2=T, 3=CT
}
}
}
Параметры бинда
C-подобный:
key
C-подобный:
command
C-подобный:
enabled
C-подобный:
cooldown
C-подобный:
sm_keybind_default_cooldown
C-подобный:
team
Доступные клавиши
-
- Клавиша использования (E)C-подобный:
IN_USE -
- Перезарядка (R)C-подобный:
IN_RELOAD -
- Атака (ЛКМ)C-подобный:
IN_ATTACK -
- Альтернативная атака (ПКМ)C-подобный:
IN_ATTACK2 -
- Прыжок (Пробел)C-подобный:
IN_JUMP -
- Приседание (Ctrl)C-подобный:
IN_DUCK -
- Вперед (W)C-подобный:
IN_FORWARD -
- Назад (S)C-подобный:
IN_BACK -
- Влево (A)C-подобный:
IN_LEFT -
- Вправо (D)C-подобный:
IN_RIGHT -
- Движение влевоC-подобный:
IN_MOVELEFT -
- Движение вправоC-подобный:
IN_MOVERIGHT -
- Бег (Shift)C-подобный:
IN_RUN -
- ХодьбаC-подобный:
IN_WALK -
- ПрицеливаниеC-подобный:
IN_ZOOM -
- Граната 1C-подобный:
IN_GRENADE1 -
- Граната 2C-подобный:
IN_GRENADE2 -
- Оружие 1C-подобный:
IN_WEAPON1 -
- Оружие 2C-подобный:
IN_WEAPON2 -
- Таблица счета (Tab)C-подобный:
IN_SCORE -
- Альтернативная клавиша 1C-подобный:
IN_ALT1 -
- Альтернативная клавиша 2C-подобный:
IN_ALT2
Переменные в командах
Вы можете использовать переменные в командах, которые будут автоматически заменяться на реальные значения:
-
- Имя игрокаC-подобный:
{player} -
- SteamID игрока (Steam2 формат)C-подобный:
{steamid} -
- Команда игрока (T, CT или SPEC)C-подобный:
{team} -
- UserID игрокаC-подобный:
{userid} -
- Индекс клиента (1-65)C-подобный:
{index}
Примеры конфигурации
Пример 1: Команда в командный чат при нажатии E
C-подобный:
"TeamChat"
{
"key" "IN_USE"
"command" "say_team Привет команде!"
"enabled" "1"
"cooldown" "1.0"
"team" "0"
}
Пример 2: Открытие меню при нажатии R
C-подобный:
"Menu"
{
"key" "IN_RELOAD"
"command" "sm_menu"
"enabled" "1"
"cooldown" "0.5"
"team" "0"
}
Пример 3: Вывод информации об игроке с переменными (только для T)
C-подобный:
"PlayerInfo"
{
"key" "IN_ATTACK"
"command" "say Игрок {player} ({steamid}) из команды {team}"
"enabled" "1"
"cooldown" "2.0"
"team" "2"
}
Пример 4: Команда чата с префиксом
C-подобный:
"ChatCommand"
{
"key" "IN_JUMP"
"command" "!shop"
"enabled" "1"
"cooldown" "1.5"
"team" "0"
}
Пример 5: Консольная команда
C-подобный:
"ConsoleCommand"
{
"key" "IN_DUCK"
"command" "r_screenoverlay effects/combine_binocoverlay"
"enabled" "1"
"cooldown" "0.0"
"team" "0"
}
КОМАНДЫ
Для администраторов:
C-подобный:
sm_keybind_reload
C-подобный:
sm_kb_reload
C-подобный:
ADMFLAG_CONFIG
Для игроков:
C-подобный:
sm_keybind
C-подобный:
sm_kb
CONVARS (НАСТРОЙКИ СЕРВЕРА)
Все ConVars сохраняются в
C-подобный:
cfg/sourcemod/key_bind.cfg
C-подобный:
sm_keybind_enabled
Включить или выключить плагин глобально. 1 = включен, 0 = выключен.
C-подобный:
sm_keybind_default_cooldown
Кулдаун по умолчанию для биндов без указанного кулдауна. Указывается в секундах. Используется для биндов, у которых параметр
C-подобный:
cooldown
C-подобный:
sm_keybind_debug
Включить или выключить отладочные сообщения. 1 = включен, 0 = выключен. В режиме отладки плагин выводит информацию о загруженных биндах, кулдаунах и выполнении команд.
Примеры использования ConVars:
C-подобный:
// Выключить плагин
sm_cvar sm_keybind_enabled 0
// Установить кулдаун по умолчанию 1 секунда
sm_cvar sm_keybind_default_cooldown 1.0
// Включить отладку
sm_cvar sm_keybind_debug 1
КАК РАБОТАЕТ ПЛАГИН
1. Загрузка конфигурации
При запуске плагина или смене карты он загружает файл конфигурации
C-подобный:
addons/sourcemod/configs/key_bind.cfg
2. Отслеживание нажатий клавиш
Плагин использует хук
C-подобный:
OnPlayerRunCmd
3. Проверка условий
Для каждого бинда проверяются следующие условия:
- Включен ли плагин глобально (ConVar
)C-подобный:
sm_keybind_enabled - Включен ли плагин для игрока (команда
)C-подобный:
sm_keybind - Включен ли конкретный бинд (параметр
в конфиге)C-подобный:
enabled - Соответствует ли команда игрока (параметр
в конфиге)C-подобный:
team - Прошел ли кулдаун с последнего использования
4. Выполнение команды
Если все условия выполнены:
- Заменяются переменные в команде ({player}, {steamid}, и т.д.)
- Определяется тип команды (чат, SourceMod, консольная)
- Команда выполняется от имени игрока
- Обновляется время последнего использования для кулдауна
5. Типы команд
Плагин автоматически определяет тип команды и выполняет её соответствующим образом:
- Команды чата (начинаются с
илиC-подобный:
!) - выполняются черезC-подобный:/C-подобный:say - SourceMod команды (начинаются с
) - выполняются напрямую черезC-подобный:
sm_C-подобный:FakeClientCommand - Команды
иC-подобный:
say- выполняются напрямуюC-подобный:say_team - Обычные консольные команды - выполняются через
C-подобный:
ClientCommand
ОТЛАДКА И РЕШЕНИЕ ПРОБЛЕМ
Включение отладочного режима
Для диагностики проблем включите отладочный режим:
C-подобный:
sm_cvar sm_keybind_debug 1
В этом режиме плагин выводит:
- Информацию о загруженных биндах в консоль сервера
- Сообщения о кулдаунах в чат игрокам
- Информацию о выполнении команд в консоль сервера
Частые проблемы и решения
Проблема: Бинд не срабатывает
- Проверьте, что плагин включен:
C-подобный:
sm_cvar sm_keybind_enabled - Проверьте, что бинд включен в конфиге (
)C-подобный:
"enabled" "1" - Проверьте, что команда игрока соответствует параметру
C-подобный:
team - Проверьте кулдаун — возможно, он еще не прошел
- Включите отладку и проверьте логи сервера
Проблема: Команда выполняется, но не работает
- Убедитесь, что команда существует и доступна
- Проверьте права игрока на выполнение команды
- Некоторые команды могут не работать через
и требуют прямого выполненияC-подобный:
FakeClientCommand
Проблема: Файл конфигурации не создается
- Проверьте права на запись в папку
C-подобный:
addons/sourcemod/configs/ - Проверьте логи сервера на наличие ошибок
- Попробуйте создать файл вручную по примеру выше
ОПТИМИЗАЦИЯ
Плагин оптимизирован для работы на серверах с большим количеством игроков:
- Проверяет только новые нажатия клавиш (не проверяет удержание)
- Использует битовые операции для быстрой проверки клавиш
- Минимальное использование таймеров (только для выполнения команд)
- Эффективное хранение данных в массивах
- Кэширование состояния кнопок для каждого игрока
ОГРАНИЧЕНИЯ
- Плагин работает только с клавишами Source Engine, не поддерживает произвольные клавиши клавиатуры
- Команды выполняются от имени игрока, поэтому требуют соответствующих прав
- Некоторые команды могут не работать через
и требуют прямого выполненияC-подобный:
FakeClientCommand - Кулдаун работает на основе времени игры, а не реального времени
ИСТОРИЯ ВЕРСИЙ
Версия 1.1.0
- Добавлена система кулдаунов для предотвращения спама
- Добавлена поддержка переменных в командах ({player}, {steamid}, {team}, {userid}, {index})
- Добавлена фильтрация по командам (T/CT)
- Добавлены ConVars для настройки плагина
- Добавлена возможность персонального включения/выключения
- Добавлен отладочный режим
- Улучшена обработка ошибок
- Оптимизирована проверка клавиш
- Исправлен путь к конфигурационному файлу
Версия 1.0.1
- Первая публичная версия
- Базовая функциональность биндов клавиш
АВТОРЫ
Автор: DENZEL519&AI
- Требования
-
Sourcemod 1.10+
- Установка
-
Раскидать файлы из архива по папкам.