Custom Bot - Замена голосовых фраз ботов
Описание плагина
Плагин позволяет заменять стандартные голосовые фразы ботов на кастомные звуки и текстовые сообщения. Работает с любыми голосовыми звуками ботов через систему перехвата звуков движка.
Основные возможности
- Замена звуков: Любой голосовой звук бота может быть заменен на кастомный звук
- Замена текста: Голосовые фразы ботов могут отображаться как текстовые сообщения в чате
- Гибкая настройка: Все замены настраиваются через конфигурационный файл
- Автоматическая загрузка: Звуковые файлы автоматически добавляются в downloads table
- Поддержка сжатых файлов: Автоматическое добавление .bz2 файлов для оптимизации
- Интеллектуальный поиск: Автоматическое определение ключа звука из пути к файлу
Как это работает
Плагин использует систему перехвата звуков (AddNormalSoundHook) для перехвата всех голосовых звуков ботов. Когда бот произносит фразу:
- Плагин проверяет, является ли источник звука ботом
- Проверяет, что звук идет через канал SNDCHAN_VOICE (голосовой канал)
- Ищет замену в конфигурационном файле по имени звука
- Если найдена замена звука - заменяет звук на кастомный
- Если найдена замена текста - выводит текстовое сообщение в чат
Настройка
Все настройки хранятся в файле:
Формат конфигурационного файла
"RadioReplacements"
{
"sound_key_name"
{
"sound" "path/to/custom/sound.wav"
"text" "Кастомный текст для отображения в чате"
}
}
Примеры ключей звуков
Плагин автоматически определяет ключ звука, удаляя префиксы и расширения. Например:
- player/bot/coverme.wav → ключ: "coverme"
- bot/enemyspotted.mp3 → ключ: "enemyspotted"
- player/bot/fireinthehole.wav → ключ: "fireinthehole"
Примеры замен
1. Замена звука и текста
"coverme"
{
"sound" "custom_bot/cover_me.wav"
"text" "Прикрой меня!"
}
2. Только звук
"teammatefire"
{
"sound" "custom_bot/friendly_fire.wav"
}
3. Только текст
"followme"
{
"text" "Следуй за мной!"
}
4. Полный путь к звуку
"player/bot/locknload.wav"
{
"sound" "custom_bot/lock_and_load.wav"
"text" "Заряжай оружие!"
}
Распространенные фразы ботов
| Ключ | Описание |
|---|
| coverme | Прикрой меня |
| enemyspotted | Враг обнаружен |
| fireinthehole | Граната |
| needbackup | Нужна поддержка |
| gogogo | Вперед |
| takingfire | Под огнем |
| bombplanted | Бомба установлена |
| bombdefused | Бомба обезврежена |
| enemydown | Враг убит |
| clear | Чисто |
| negative | Нет / Отрицательно |
| rogerthat | Понял |
| affirmative | Подтверждаю |
Консольные переменные (CVAR)
- sm_custom_bot_enable (default: 1) - Включить/выключить плагин (0/1)
- sm_custom_bot_replace_text (default: 1) - Заменять текстовые сообщения (0/1)
- sm_custom_bot_replace_sound (default: 1) - Заменять звуковые файлы (0/1)
Установка
[1]Скомпилируйте файл custom_bot.sp через компилятор SourceMod
[2]Скопируйте custom_bot.smx в папку
addons/sourcemod/plugins/
[3]Скопируйте configs/custom_bot.txt в папку
addons/sourcemod/configs/
[4]Создайте папку
на сервере (в корне игры)
[5]Поместите ваши звуковые файлы в папку
[6]Перезапустите сервер или выполните:
sm plugins reload custom_bot
Структура папок
cs/
addons/
sourcemod/
plugins/
custom_bot.smx
configs/
custom_bot.txt
sound/
custom_bot/
cover_me.wav
enemy_spotted.wav
grenade.wav
...
Требования
Важные замечания
- Плагин перехватывает только голосовые звуки ботов (SNDCHAN_VOICE), не радио-команды
- Звуковые файлы должны быть в формате .wav или .mp3
- Путь к звуку в конфиге указывается относительно папки
- Для оптимизации можно использовать сжатые .bz2 файлы
- Плагин автоматически добавляет файлы в downloads table
- Конфиг перезагружается при смене карты
Устранение проблем
Звуки не воспроизводятся
- Проверьте путь к файлам в конфиге
- Убедитесь, что файлы находятся в папке
- Проверьте формат файлов (.wav рекомендуется)
- Проверьте права доступа к файлам
- Проверьте логи сервера на наличие ошибок
Текст не заменяется
- Проверьте правильность названия ключа звука в конфиге
- Убедитесь, что sm_custom_bot_replace_text = 1
- Проверьте синтаксис конфигурационного файла
- Проверьте логи сервера на наличие ошибок
Плагин не работает
- Проверьте логи:
addons/sourcemod/logs/error_*.log
- Убедитесь, что плагин загружен:
- Проверьте, что sm_custom_bot_enable = 1
- Убедитесь, что боты используют голосовые звуки (SNDCHAN_VOICE)
Как найти ключи звуков
Для определения имен звуков можно:
- Включить логирование звуков в игре
- Использовать плагины для мониторинга звуков
- Проверить папку
на сервере
- Использовать консольные команды для просмотра звуков
- Включить отладочный режим в плагине (если доступен)
Информация о версии
- Версия: 1.0.0
- Авторы: DENZEL519&AI
Последние изменения
- Переработка механизма: Плагин теперь перехватывает голосовые звуки через AddNormalSoundHook вместо RadioText/SendAudio
- Исправлена основная проблема: Теперь корректно работает с разговорами ботов, а не с радио-командами
- Улучшена фильтрация: Добавлена проверка на ботов и голосовой канал
- Оптимизация: Автоматическое определение ключа звука из пути