Обновление CS2 (27 авг. 2026 г.)
Небольшой патч CS2 — улучшена документация и примеры для кастомных HUD в `cs_script_demo`, добавлен отладочный convar для доверия аддонов и внесены мелкие внутренние правки для пер‑плеер состояния HUD.
Кратко
- Документация и примеры Custom HUD в `cs_script_demo` расширены и прояснены, с пошаговой настройкой для Panorama‑основанных кастомных HUD.
- У сущности `custom_hud_layout` в Hammer поле `layout` получило более понятное имя и описание, упрощающие привязку Panorama HUD к картам.
- Добавлен отладочный конвар `panorama_debug_treat_all_addons_as_untrusted` для тестирования обращения с аддонами и поведения безопасности UI.
- Клиентские и серверные внутренние изменения состояния per‑player HUD и фильтров получились лёгкими и указывают на более надёжную поддержку кастомных HUD.
- Документация аддона `cs_script_demo` отполирована: обновлены ссылки на карту и подробно разобран пример приветственного HUD.
- Номера патча и сборки обновлены до `1.41.7.8`, что отмечает новую сборку CS2.
Небольшое обновление CS2 аккуратно улучшает поддержку кастомных HUD для скриптованных карт, уточняет поведение системы при обращении с аддонами и обновляет документацию и примеры для cs_script и Panorama.
Кастомные макеты HUD для скриптованных карт
Обновление сосредоточено на улучшении и прояснении того, как работают кастомные HUD в скриптовых аддонах и картах.
- Более понятная документация CustomHudLayouts: Пример
cs_script_demoи его TypeScript-описанияpoint_scriptтеперь подробно объясняют, как сформировать кастомный макет HUD для аддона:- Разрешён ограниченный набор панелей Panorama:
Panel,Label,ImageиButton, с поддерживаемыми атрибутами вродеid,class,hittest,textиsrc. - Поддерживается CSS-стилизация (
.vcss-ассеты), но события и клиентский скриптинг внутри самого макета явно не поддерживаются. - Документация приводит конкретный пример в аддоне
cs_script_demo: сущностьcustom_hud_layoutс именемwelcome_layout, показывающая макетwelcome.vxmlи использующая соответствующий CSS-файл.
- Разрешён ограниченный набор панелей Panorama:
- Практическая инструкция по настройке: Создателям даны пошаговые заметки по связыванию компонентов:
- Разместите ваш Panorama-макет
.xml(фактически.vxml-ассет) вpanorama/layout/custom_gameвнутри аддона. - Добавьте в карту точечную сущность
custom_hud_layoutи укажите её свойствоlayoutна этот.vxml. - Управляйте внешним видом через CSS в
panorama/styles/custom_game; в примере есть панельdialog, у которой изcs_script(maps/scripts/setup.js) удаляется классDismissed.
- Разместите ваш Panorama-макет
Эти изменения — в основном документационные и инструментальные, но они упрощают работу авторам Workshop-карт и аддонов при создании аккуратных кастомных HUD.
Улучшения названий полей сущностей и редактора
Пользователи Hammer и создатели карт получат небольшое, но полезное исправление, упрощающие работу с сущностями кастомного HUD.
- Более понятное имя поля
custom_hud_layout: В определении FGD ключlayoutдля сущностиcustom_hud_layoutтеперь имеет более ясное отображаемое имя ("Layout") и подробное описание:- Поле явно описано как ресурс Panorama-макета с ограниченным набором допустимых типов панелей и атрибутов.
- Это помогает дизайнерам быстро понять, что они выбирают в Hammer и как это соотносится с документацией
cs_script.
На практике это должно уменьшить путаницу при связывании макетов HUD с картами, особенно для тех, кто следует примеру cs_script_demo.
Уточнение поведения скриптовой камеры
Для авторов, экспериментирующих с управлением камерой, добавлено пояснение о том, как управляются камеры игроков.
- Примечание о камере на игрока: В описаниях
point_scriptтеперь указано, что объект камеры, используемый для управления видом игрока без перемещения его пешки:- Существует максимум в единственном экземпляре для каждого
CSPlayerPawn. - Создаётся по требованию при вызове
CSPlayerPawn.GetCamera.
- Существует максимум в единственном экземпляре для каждого
Это не добавляет новой функциональности, но даёт более ясную модель того, как структурировано управление камерой в скриптах, что поможет избежать неверных предположений об использовании нескольких камер на игрока.
Отладка доверия аддонов и поведение Panorama
Под капотом есть несколько изменений, влияющих на то, как Panorama и аддоны рассматриваются системой — это важно для разработчиков и отладочных сценариев.
- Новый отладочный convar для аддонов: Добавлен скрытый консолный параметр для разработки
panorama_debug_treat_all_addons_as_untrusted.- Он явно помечен как защитный отладочный вариант, а не как пользовательская настройка.
- Скорее всего, служит для симуляции ситуации, когда все аддоны рассматриваются как «ненадёжные» для тестирования поведения UI в условиях более строгой безопасности.
- Изменения сообщений о создании Panorama-файлов: Внутренние строки Panorama, связанные с запретом на создание макетов, скриптов или стилей, были упрощены.
- Ссылки на «client disallowing» создание файлов макета/скрипта/стиля удалены из внутренних логов.
- Это указывает на то, что обработка или сообщения движка по этим ситуациям были унифицированы, что может изменить отображение ошибок или предупреждений в инструментах разработки и логах.
Для обычных игроков эти изменения вряд ли заметны, но для разработчиков UI и авторов аддонов они могут поменять способ логирования и отладки краевых случаев.
Внутренние изменения клиента, сервера и состояния HUD
Набор небольших внутренних правок затрагивает клиентский и серверный код, в особенности отслеживание состояния макетов HUD.
- Корректировки схемы состояния кастомного HUD: Клиентская и серверная схемы для
CCSCustomHudLayoutStateбыли слегка изменены — присутствует обновлённое полеCPlayerSlot m_playerSlot.- На первый взгляд изменение в заголовке выглядит как операций «no‑op», но это означает переработку внутренней логики хранения состояния макета HUD по отдельным игрокам.
- Это может помочь синхронизации кастомных HUD с правильным слотом игрока между клиентом и сервером.
- Новые внутренние фильтры: На клиенте и сервере появился новый внутренний фильтр
OwningSlotOnlyRecipientsFilter.- Судя по названию, он влияет на таргетинг сообщений или эффектов только на слот владельца.
- Для кастомных HUD или интерфейсов, связанных с предметами, это поможет точнее отправлять обновления конкретному игроку.
- Очистка строки предупреждения режима покупки: Строка
#SFUI_BuyMenu_NotInBuyZoneбыла слегка подправлена (удалён лишний управляющий символ), что сделает предупреждение магазина более корректным в UI-коде.
Это низкоуровневые правки, указывающие на продолжающуюся работу по корректности per‑player HUD и маршрутизации сообщений.
Полировка примеров скриптов и документации
Аддон cs_script_demo и его TypeScript-тайпинги получили несколько исправлений, улучшающих удобство использования примеров в качестве обучающего ресурса.
- Обновлены ссылки в примерах:
- Комментарии больше не ссылаются расплывчато на
script_zoo.vmap; теперь прямо указывают на примерный аддонcs_script_demoи егоcs_script_demo.vmap. - Пример
hello_cs_scriptотмечен как находящийся в этой демо‑карте, что упрощает поиск рабочего эталона для новичков.
- Комментарии больше не ссылаются расплывчато на
- Расширена документация CustomHUD:
- Описание поддерживаемых типов панелей и атрибутов для CustomHudLayouts перестроено в более понятную структуру с пунктами.
- Добавлены пояснения о взаимодействии примера
welcomeи CSS, включая переключение классаDismissedизsetup.js.
Эти правки не меняют поведение игры, но делают официальный пример аддона более надёжной отправной точкой для авторов сообщества.
Обновление сборки и версии
Наконец, выполнено стандартное обновление версий и сборки, маркирующее этот патч как отдельную сборку CS2.
- Обновлённые номера версий:
ClientVersionиServerVersionбыли инкрементированы.PatchVersionобновлён с1.41.7.7до1.41.7.8.
- Новый идентификатор ревизии и сборки:
- Внутренние
SourceRevisionи идентификаторы сборки увеличены, что означает новую скомпилированную сборку игры.
- Внутренние
Эти изменения сами по себе не добавляют баланса или крупного функционала, но формально завертывают улучшения документации, UI и скриптов в новую живую версию.
Итоговое влияние
В совокупности это небольшое, но полезное обновление для авторов, работающих с системой скриптов и кастомных HUD в CS2. Игроки не увидят заметных изменений на уровне геймплея, но создатели Workshop‑карт и моддеры получат более понятные примеры, улучшенные подписи в Hammer и более надёжную внутреннюю синхронизацию состояния HUD по игрокам. В будущем это должно упростить и обезопасить создание кастомных режимов и скриптованных сценариев.
