DENZEL519
Работаю через AI !
- Сообщения
- 562
- Реакции
- 443
Это порт плагина с кс 1.6 под Sourcemod.
Плагин исправляет проблемы со спавн-поинтами в Counter-Strike: Source и реализует систему semiclip (прохождение игроков одной команды друг через друга). Плагин автоматически определяет наличие других плагинов semiclip и интегрируется с ними, либо использует собственную реализацию. Дополнительно плагин предотвращает застревание игроков при спавне на одной точке, автоматически выталкивая их друг от друга в начале раунда.
Исправление спавн-поинтов
Настройка иммунитета при респавне
Система Semiclip
Выталкивание игроков при спавне
Автоматическая конфигурация
ReSemiclip
Team Semiclip
Собственная реализация
Плагин использует систему collision groups для реализации semiclip:
При спавне игроков плагин проверяет их позиции:
Плагин автоматически создаёт конфигурационный файл
при первой загрузке. Все параметры можно настроить через ConVar или отредактировав конфигурационный файл.
Основные ConVar:
- версия плагина (только для чтения)
Версия автоматически определяется в зависимости от найденных модулей:
Настройки выталкивания игроков:
- Минимальное расстояние между игроками при спавне для срабатывания выталкивания (по умолчанию: 50.0, диапазон: 10.0-200.0)
- Сила выталкивания игроков при спавне на одной точке (по умолчанию: 300.0, диапазон: 50.0-1000.0)
- Время в секундах после начала раунда, в течение которого работает выталкивание (по умолчанию: 5.0, диапазон: 1.0-30.0)
Пример конфигурационного файла:
Плагин обрабатывает следующие события:
1.0
При возникновении проблем проверьте:
Версия 1.0
Unreal Spawn Fixer - Исправление спавн-поинтов и Semiclip
Описание
Плагин исправляет проблемы со спавн-поинтами в Counter-Strike: Source и реализует систему semiclip (прохождение игроков одной команды друг через друга). Плагин автоматически определяет наличие других плагинов semiclip и интегрируется с ними, либо использует собственную реализацию. Дополнительно плагин предотвращает застревание игроков при спавне на одной точке, автоматически выталкивая их друг от друга в начале раунда.
Основные возможности
Исправление спавн-поинтов
- Автоматическая установка количества спавн-поинтов для CT на 32
- Автоматическая установка количества спавн-поинтов для T на 32
- Установка флага инициализации уровня (m_bLevelInitialized)
- Применение настроек при загрузке карты и начале каждого раунда
- Безопасная проверка существования свойств перед установкой (Prop_Data и Prop_Send)
Настройка иммунитета при респавне
- Установка времени иммунитета при респавне (mp_respawn_immunitytime = 1.0)
- Отключение принудительного снятия иммунитета (mp_respawn_immunity_force_unset = 0)
- Отключение убийства при заполненном спавне (mp_kill_filled_spawn = 0)
Система Semiclip
- Автоматическое обнаружение плагинов semiclip (resemiclip, team_semiclip)
- Интеграция с существующими плагинами semiclip
- Собственная реализация semiclip при отсутствии других плагинов
- Игроки одной команды проходят друг через друга
- Оптимизированная работа через PreThink/PostThink хуки
- Использование collision groups для управления столкновениями
Выталкивание игроков при спавне
- Автоматическое обнаружение игроков, заспавнившихся на одной точке
- Выталкивание игроков друг от друга для предотвращения застревания
- Работает только в начале раунда (настраиваемое время)
- Настраиваемая минимальная дистанция для срабатывания
- Настраиваемая сила выталкивания
- Оптимизированная проверка с использованием таймеров
Автоматическая конфигурация
- Автоматическое создание конфигурационного файла при первой загрузке
- Все настройки доступны через ConVar
- Изменение параметров без перезагрузки плагина
- Файл конфигурации:
C-подобный:
cfg/sourcemod/unreal_spawn_fixer.cfg
Технические особенности
- Полная совместимость с Counter-Strike: Source
- Безопасная проверка свойств перед установкой (HasEntProp)
- Использование Prop_Data и Prop_Send для работы с игровыми правилами
- Fallback механизм для поиска offset collision groups
- Кэширование ConVar для оптимизации производительности
- Оптимизированная работа с collision groups через offset
- Автоматическое определение версии плагина в зависимости от найденных модулей
- Версия: 1.0
Интеграция с другими плагинами
ReSemiclip
- Автоматическое обнаружение плагина resemiclip
- Настройка параметров semiclip через команды сервера
- Версия плагина отображается как "1.0_resemiclip"
Team Semiclip
- Автоматическое обнаружение плагина team_semiclip
- Настройка параметров через ConVar
- Версия плагина отображается как "1.0_team_semiclip"
Собственная реализация
- Активируется при отсутствии других плагинов semiclip
- Использует SDKHooks для управления collision groups
- Версия плагина отображается как "1.0_semiclip"
Как работает Semiclip
Плагин использует систему collision groups для реализации semiclip:
- COLLISION_GROUP_PLAYER (5) - нормальное состояние игрока
- COLLISION_GROUP_DEBRIS_TRIGGER (2) - состояние без столкновений с игроками
- В PreThink: игроки одной команды получают COLLISION_GROUP_DEBRIS_TRIGGER
- В PostThink: collision group восстанавливается обратно в COLLISION_GROUP_PLAYER
- Это позволяет игрокам одной команды проходить друг через друга
Как работает выталкивание игроков
При спавне игроков плагин проверяет их позиции:
- После спавна игрока запускается проверка через 0.1 секунды
- Проверяется расстояние до других игроков, заспавнившихся недавно
- Если расстояние меньше минимального (по умолчанию 50 единиц) - игроки выталкиваются
- Выталкивание работает только в течение первых 5 секунд после начала раунда
- Игроки разлетаются в противоположные стороны с настраиваемой силой
- Используется изменение velocity для плавного выталкивания
Установка
- Установите файл
в папкуC-подобный:
unreal_spawn_fixer.smxC-подобный:addons/sourcemod/plugins/ - Убедитесь, что установлены необходимые зависимости:
- sdktools - для работы с игровыми правилами
- sdkhooks - для работы с semiclip (если используется собственная реализация)
- cstrike - для работы с Counter-Strike
- Перезапустите сервер или выполните
C-подобный:
sm plugins reload unreal_spawn_fixer - При первой загрузке автоматически создастся файл конфигурации
C-подобный:
cfg/sourcemod/unreal_spawn_fixer.cfg
Требования
- SourceMod 1.11 или выше
- Counter-Strike: Source
- Расширения: sdktools, sdkhooks, cstrike
Настройка
Плагин автоматически создаёт конфигурационный файл
C-подобный:
cfg/sourcemod/unreal_spawn_fixer.cfg
ConVar
Основные ConVar:
C-подобный:
unreal_spawn_fixer
Версия автоматически определяется в зависимости от найденных модулей:
- 1.0 - базовая версия
- 1.0_resemiclip - при обнаружении resemiclip
- 1.0_team_semiclip - при обнаружении team_semiclip
- 1.0_semiclip - при использовании собственной реализации
Настройки выталкивания игроков:
C-подобный:
unreal_spawn_fixer_min_distance
C-подобный:
unreal_spawn_fixer_push_force
C-подобный:
unreal_spawn_fixer_round_start_time
Пример конфигурационного файла:
C-подобный:
// This file was auto-generated by SourceMod
// ConVars for plugin "unreal_spawn_fixer.smx"
unreal_spawn_fixer_min_distance "50.0"
unreal_spawn_fixer_push_force "300.0"
unreal_spawn_fixer_round_start_time "5.0"
События
Плагин обрабатывает следующие события:
- round_start - начало раунда (применяет настройки спавн-поинтов, semiclip и инициализирует систему выталкивания)
- player_spawn - спавн игрока (запускает проверку на перекрытие с другими игроками)
- OnMapStart - загрузка карты (применяет настройки спавн-поинтов)
Производительность
- Кэширование ConVar при загрузке плагина
- Использование offset для прямого доступа к collision groups
- Оптимизированные проверки существования свойств
- Проверка выталкивания только в начале раунда
- Использование таймеров для асинхронной обработки
- Минимальная нагрузка на сервер благодаря эффективным алгоритмам
Решенные проблемы
- Недостаточное количество спавн-поинтов на картах
- Проблемы с респавном игроков
- Столкновения игроков одной команды при спавне
- Застревание игроков при спавне на одной точке
- Несовместимость с другими плагинами semiclip
- Проблемы с инициализацией уровня
Известные ограничения
- Работает только на Counter-Strike: Source
- Требует наличия свойств m_iSpawnPointCount_CT и m_iSpawnPointCount_Terrorist в игровых правилах
- Собственная реализация semiclip работает только для игроков одной команды
- Выталкивание работает только в начале раунда (настраиваемое время)
- Выталкивание не работает для ботов (IsFakeClient)
Авторы
- Оригинальный автор: karaulov (AMX Mod X версия)
- Портирование на SourceMod: DENZEL519&AI
Версия
1.0
Поддержка
При возникновении проблем проверьте:
- Установлены ли все необходимые расширения (sdktools, sdkhooks, cstrike)
- Версию SourceMod (должна быть 1.11 или выше)
- Логи ошибок в
C-подобный:
addons/sourcemod/logs/errors_*.log - Совместимость с другими плагинами semiclip
- Настройки в конфигурационном файле
C-подобный:
cfg/sourcemod/unreal_spawn_fixer.cfg
Changelog
Версия 1.0
- Портирование с AMX Mod X на SourceMod 1.11
- Исправление спавн-поинтов для Counter-Strike: Source
- Добавлено выталкивание игроков при спавне на одной точке
- Автоматическое создание конфигурационного файла
- Настраиваемые параметры через ConVar
- Оптимизация производительности и совместимости