Skip to main content
Игры

Как услышать войс в демке CS2

Войс в демке CS2 через tv_listen_voice_indices: в каких демках есть голос, как работает маска слотов и как выделить одного игрока или сторону.

Автор: 4 min read
Обложка статьи. Ряд из пяти двоичных цифр, три выделены янтарным, под ними сумма 13 и подпись: выбранные слоты складываются в одно число

Голос в демке Counter-Strike 2 выключен, пока вы его не включите, а команда, которая его включает, - tv_listen_voice_indices - принимает число, а не просто "вкл". Об этом числе и речь. От него зависит, слышите вы всех, одну сторону или одного игрока.

Коротко: чтобы слышать всех, введите tv_listen_voice_indices -1 и tv_listen_voice_indices_h -1. Для конкретных игроков впишите в первую команду сумму значений битов их слотов, а _h оставьте на 0. Чтобы не считать, загрузите демку в калькулятор войса для демок CS2, отметьте нужных игроков и скопируйте.

Шаг 1 - Возьмите демку, в которой реально есть голос

В демках матчмейкинга Valve и Premier нет голосовых данных, так что включать там нечего.2 Голос есть в демках FACEIT, ESEA и других серверов с SourceTV, а демки FACEIT скачиваются в формате .dem.zst. В статье разбор демки FACEIT объясняется, какой из двух файлов открывать и почему демка с комьюнити-сервера тоже может оказаться без звука.

Шаг 2 - Найдите слот игрока

Если вам нужны все, переходите к шагу 4. Чтобы выбрать конкретных игроков, нужны их слоты, а слоты никак не подписаны. Переберите их в консоли:

spec_player 1
spec_player 2
spec_player 3

и запомните, на каком появляется нужный игрок. Если загрузить демку в калькулятор, он прочитает всю таблицу слотов сразу и поставит рядом с каждым ник и команду - та же информация, только без кликов.

Шаг 3 - Превратите слот в число

Каждый слот стоит вдвое больше предыдущего, и вы складываете те, что вам нужны:

СлотЗначение бита
11
22
34
48
516
632

Один игрок - это просто значение его слота: слот 3 - это 4. Несколько игроков - сумма: слоты 1, 3 и 4 дают 1 + 4 + 8 = 13. Наш конвертер систем счисления посчитает это из двоичной записи, если вам удобнее видеть биты.

Пять террористов стоят в ряд в Counter-Strike 2, над головой у каждого цветная метка: CS2, Green, Purple, Blue и Orange.
Пять игроков, а нужен обычно ровно один. Консоль обращается к ним по слоту в таблице счёта, так что вся работа в подсчёте, а не в наборе. Скриншот: Valve.

Шаг 4 - Вставьте команды

Для всех обе половины получают -1:

tv_listen_voice_indices -1
tv_listen_voice_indices_h -1

Для конкретных игроков маска слотов идёт в первую команду, а _h остаётся на 0:

tv_listen_voice_indices 4
tv_listen_voice_indices_h 0

Строка с _h - не опечатка и не копия. Эти две переменные - младшая и старшая половины одного 64-битного битового поля: первая отвечает за слоты игроков с 0 по 31, вторая за слоты с 32 по 63.1 В 5v5 никто не сидит в слоте 32, так что при маске для конкретных игроков _h включать некого, а 0 просто сбрасывает то, что там осталось с начала сессии. -1 - исключение: оно заполняет все биты обеих половин, поэтому стоит в обеих строках.

Шаг 5 - Запустите демку

Вы услышите выбранных игроков, а если ставили -1, то всех. Обе переменные возвращаются к 0, когда CS2 закрывается, так что следующая сессия снова начнётся без звука; вот и всё объяснение фразы "вчера же работало".

Как услышать целую команду

Сложите слоты этой стороны и используйте сумму. В калькуляторе войса для этого есть кнопки Все T и Все CT - то, что нужно для нарезки хайлайтов или для разбора коллов одной команды посреди раунда без перекрёстной болтовни.

Если вместо этого вы пользуетесь алиасами voice_ct и voice_t из CS Demo Manager, учтите, что они привязаны к стартовой стороне каждого игрока, а не к той, за которую он играет сейчас.3 После смены сторон они означают противоположное тому, что вы имели в виду.

Выбрать пятёрку соперников - уже другая задача, потому что их голоса может не быть в файле: в статье как услышать вражескую команду в демке разобрано, что должен был разрешить сервер, чтобы он там оказался.

Почему число перестаёт работать

Слоты берутся из порядка сущностей игроков, записанного в демке. Это не порядок в таблице счёта, и у него нет причин совпадать в двух матчах с теми же десятью людьми. Внутри одной демки слоты фиксированы - файл каждый раз воспроизводится одинаково, - но сама маска не переносится. Собирайте её для каждой демки.

Что и говорит в пользу того, чтобы не собирать её вручную вообще: загрузите демку один раз в калькулятор войса для демок CS2, отметьте игрока, скопируйте две строки.

Если демка с FACEIT, есть путь ещё короче, а в статье как достать войс из демки матча FACEIT разобрано, какой из двух файлов, оставшихся после матча, вам нужен.

Когда с голосом разобрались, остаётся одна статья расходов при разборе демки - перемотка к нужному моменту. Если у вас тик, а не таймкод, в статье как перевести тик во время разобраны деление, путаница кадров и тиков, из-за которой чаще всего промахиваются, и порядок аргументов demo_gototick.

Источники

Каждое число в этой статье подтверждено источником ниже. Утверждения, которые не удалось подтвердить, убраны, а не смягчены.

  1. Рецензируемый источникb0ink

    The verbatim convar descriptions, that tv_listen_voice_indices is a bitfield of player slots 0 to 31 and tv_listen_voice_indices_h the high 32 bits covering slots 32 to 63, and that both default to none.

  2. Рецензируемый источникAkiVer

    That Valve matchmaking demos contain no voice audio data at all.

  3. ПервоисточникCS Demo Manager

    The voice_ct and voice_t aliases, and that they refer to each player's starting side rather than their current one.

Темы

Инструменты из статьи

  • Калькулятор войса для демок CS2 - Слушайте нужных игроков в демке CS2 или FACEIT - загрузите демку, игроки подставятся сами, а вы получите команды tv_listen_voice_indices.
  • CS2 Demo Tick Calculator - Convert a CS2 demo tick to a timestamp and back, and copy the demo_gototick command that jumps there.
  • SteamID Converter - Convert between SteamID64, STEAM_0:Y:Z, SteamID3 [U:1:W], account ID and profile URL.

Новые инструменты на почту

Новые инструменты и иногда подробный разбор, примерно раз в месяц. Без спама, адрес никому не передаем, отписка в один клик.

Похожие статьи

Article title card. A loudspeaker icon with three arcs beside it, the innermost in amber, with the line: the file with the voice in it is the .dem.zst
Gaming Tools Guide

How to Hear Voice Comms in a FACEIT Demo (CS2)

FACEIT records both teams' voice, but only in one of the two demos a match leaves you. Which file to open, the three FACEIT commands, and the slot bitmask.

Article title card. Two columns of five dots either side of a dashed dividing line, the left column amber and the right grey, with the line: the server decides who was recorded
Gaming Tools

How to Hear the Enemy Team's Voice in a CS2 Demo

Whether you can hear the enemy in a CS2 demo depends on what the server recorded, not on your console. Which demos carry it, and the mask for one side.

Article title card. A loudspeaker icon struck through by a thick amber line, with the line: the demo has no voice in it
Gaming Tools

Why You Can't Hear Voice in Your CS2 Demo (Fixes)

Can't hear voice comms in a CS2 or FACEIT demo? The real causes - no voice in MM/Premier demos, unset tv_listen_voice_indices, reset commands - and fixes.