HLAE для CS2 — Полный туториал

Версия актуальна для HLAE 2.189+ / AfxHookSource2 / CS2
Официальная документация: github.com/advancedfx
Туториал сделан на основе ibuymovie.com/hlae
Скачать туториал в формате markdown .md: hlae_cs2_tutorial.md

Камера и вид

1. Что такое HLAE и зачем он нужен

HLAE (Half-Life Advanced Effects) — инструмент для создания контента в CS2:

  • Запись видео без потери кадров (frame-perfect)
  • Плавные кинематографические пути камеры по демке
  • Свободная камера на паузе
  • Убирание HUD, фильтрация уведомлений об убийствах
  • Изменение FOV, скайбокса, эффектов
  • Запись отдельных слоёв (фон, игроки, оружие)
⚠️ Важно: HLAE запускает CS2 в режиме -insecure. Никогда не заходи на VAC-серверы через HLAE — бан. Только демки и LAN.

2. Установка и запуск CS2 через HLAE

Установка

  1. Скачать HLAE_Setup.exe с GitHub Releases
  2. Установить — путь не должен содержать кириллицу (например: C:\HLAE)
  3. Опционально — установить FFmpeg через тот же установщик

Запуск CS2

Открыть HLAE.exeMenu → File → Launch CS2

ПолеЧто указать
Game...\cs2.exe
Moviemaking config parent folderПапка без кириллицы, например C:\HLAE\cfg
Graphic ResolutionНужное разрешение (1920x1080)
Custom command line options-console (опционально)

Нажать Launch. В консоли CS2 должно появиться сообщение от advancedfx.org.

Игровая логика и поведение

3. Загрузка и управление демкой

Загрузить демку

demoui // открыть интерфейс демок (или Shift+F2) demo_gototick 0 // перейти в начало демки

Управление скоростью

host_timescale 1 // нормальная скорость host_timescale 0.25 // четверть скорости (для campaths) host_timescale 0.1 // очень медленно host_timescale 0 // пауза

Прыжки по тикам

demo_gototick 12345 // перейти на конкретный тик mirv_skip time -5 // откатиться на 5 секунд назад mirv_skip time 10 // прыгнуть вперёд на 10 секунд mirv_skip tick to 10000 // перейти к тику 10000 mirv_skip time to 173.5 // перейти ко времени 173.5 сек

Рекомендуемые бинды

bind "F1" "demo_togglepause" bind "F2" "host_timescale 0.25" bind "F3" "host_timescale 1" bind "PGUP" "mirv_skip time 5" bind "PGDN" "mirv_skip time -5"

4. Свободная камера — mirv_input

mirv_input camera // включить свободную камеру mirv_input off // выключить, вернуть обычный режим
💡 Для POV-демок (от первого лица) сначала переключись в thirdperson:
sv_cheats 1thirdpersonmirv_input camera

Чувствительность

mirv_input cfg msens 1.0 // чувствительность мыши mirv_input cfg ksens 200 // скорость клавиатуры (WASD) mirv_input cfg mouseMoveSupport 1 // управление кнопками мыши

Управление камерой

КлавишаДействие
WASD / NUMPADДвижение
R / NUMPAD 9Вверх
F / NUMPAD 3Вниз
МышьОбзор
PAGE UP / колёсикоПриблизить
PAGE DOWN / колёсикоОтдалить
Z / XRoll (поворот)
+ / -Скорость ×2 / ×0.5
ESCВыйти из режима камеры
HOMEСброс обзора
bind "KP_END" "mirv_input camera" // Numpad 1 — включить камеру bind "KP_INS" "mirv_input off" // Numpad 0 — выключить

Некоторые команды для камеры

5. Плавные камера-пути (Campaths)

Campath — анимированный путь камеры. HLAE плавно интерполирует между расставленными точками.

Принцип работы

  1. Расставляешь кейфреймы (минимум 4) в нужных местах/моментах
  2. HLAE строит плавный путь между ними
  3. При воспроизведении камера сама летит по пути

Подготовка

host_timescale 0.25 // замедли демку mirv_input camera // включи свободную камеру mirv_campath draw enabled 1 // включи визуализацию пути

Расстановка кейфреймов

bind "E" "mirv_campath add" // добавить кейфрейм
⚠️ Нужно минимум 4 кейфрейма. Меньше — campath не включится!

Включение campath

mirv_campath enable 1 // включить путь камеры mirv_campath enable 0 // выключить mirv_campath print // список всех кейфреймов

Все команды campath

КомандаОписание
mirv_campath addДобавить кейфрейм
mirv_campath enable 1|0Включить/выключить campath
mirv_campath printПоказать все кейфреймы
mirv_campath remove [id]Удалить кейфрейм по ID
mirv_campath select <id>Выбрать кейфреймы (clear/edit работают только с ними)
mirv_campath clearУдалить все кейфреймы
mirv_campath draw enabled 1|0Визуализация пути
mirv_campath draw keyIndex 5Размер номеров ключей
mirv_campath draw keyAxis 1Показать оси ключевых кадров
mirv_campath draw keyCam 1Показать положение камеры
mirv_campath save mypathСохранить путь в файл
mirv_campath load mypathЗагрузить путь из файла
mirv_campath edit startСдвинуть путь к текущему времени
mirv_campath edit duration 10Задать длительность (сек)
mirv_campath setduration 10Растянуть путь до 10 сек
mirv_campath offsetСинхронизировать с текущим временем

Интерполяция

mirv_campath edit interp position linear // линейное движение mirv_campath edit interp position cubic // кубическое (по умолчанию) mirv_campath edit interp rotation sLinear // линейный поворот mirv_campath edit interp fov linear // линейное изменение FOV

Бинды для campath

bind "E" "mirv_campath add" bind "R" "mirv_campath enable 1" bind "T" "mirv_campath enable 0" bind "G" "mirv_campath clear" bind "F4" "mirv_campath draw enabled 1" bind "F5" "mirv_campath draw enabled 0" bind "F6" "mirv_campath print"

Советы

  • Расставляй точки в слоу-мо (host_timescale 0.1–0.25), не на паузе
  • Между кейфреймами минимум 1–2 секунды реального времени
  • Используй mirv_campath draw enabled 1 чтобы видеть путь
  • Сохраняй пути через mirv_campath save — можно редактировать XML

Экспорт камеры в файл

mirv_camio export start mycamera.xml // начать экспорт mirv_camio export end // остановить

Альтернатива: mirv_streams record cam enabled 1 — экспорт автоматически при записи.

Запись игровых футажей

6. Запись видео — mirv_streams

mirv_streams record start // начать запись mirv_streams record end // остановить

FFmpeg настройка

mirv_streams add normal mystream mirv_streams edit mystream settings sampler fps 60 mirv_streams edit mystream settings ffmpegOptions "-c:v libx264 -crf 15 -preset slow -pix_fmt yuv420p" mirv_streams edit mystream settings ffmpegOutputPath "C:/recordings/output.mp4"

Встроенные пресеты

ПресетФорматОписание
afxClassic.tgaСырые кадры
afxFfmpeg.mp4Низкий размер, среднее качество
afxFfmpegHuffyuv.aviLossless
afxFfmpegLosslessBest.mp4Lossless лучший
afxFfmpegLosslessFast.mp4Lossless быстрый
afxFfmpegRaw.aviСырые данные
afxFfmpegYuv420p.mp4Низкое качество
afxSampler3030 FPS
mirv_streams record screen settings afxFfmpeg mirv_streams record startMovieWav 1 // запись звука

Depth Map и нормали

mirv_streams add depth d mirv_streams add normal n mirv_streams edit n capture beforeUi mirv_streams settings edit afxDefault settings afxFfmpegYuv420p host_framerate 300; demo_resume; mirv_streams record start mirv_streams record end; demo_pause; host_framerate 0

OpenEXR depth

mirv_streams add depth exr mirv_streams edit exr depthMode linear mirv_streams edit exr depthVal 0 mirv_streams edit exr depthValMax 0 mirv_streams edit exr depthChannels gray mirv_streams edit exr captureType depthF mirv_streams edit exr settings afxClassic
bind "F10" "mirv_streams record start" bind "F11" "mirv_streams record end"
💡 Перед записью выключи mirv_campath draw enabled 0 — иначе путь попадёт в видео!

Визуальные эффекты и графика

7. Полезные команды для чистой картинки

Убрать HUD

cl_drawhud 0 // скрыть HUD cl_drawhud 1 // вернуть cl_drawonlydeathnotices 1 // только прицел + killfeed

Флэшбэнг

mirv_noflash 1 // отключить ослепление mirv_noflash 0 // вернуть

Заставка матча

mirv_endofmatch 1 // убрать экран окончания

Скрытые конвары

mirv_cvar_unhide_all // все скрытые команды mirv_cvar_unlock_sv_cheats // обойти sv_cheats

Дым

sc_setclassflags SmokeVolumeObject 8 // убрать дым sc_setclassflags SmokeVolumeObject 0 // вернуть дым

Скайбокс

mirv_sky enabled 1 // включить управление mirv_sky color r 0.1 g 0.2 b 0.5 // цвет неба (RGB 0.0–1.0) mirv_sky clouds draw 0 // скрыть облака mirv_sky clouds color r 255 g 200 b 150 // цвет облаков mirv_sky material "materials/skybox/cs_italy_s2_skybox_2.vmat_c" mirv_sky material default // вернуть стандартный

Цвета свечения (mirv_colors)

mirv_colors glow ct white // свечение CT — белое mirv_colors glow t red // свечение T — красное mirv_colors trails ct 255 0 0 255 // следы CT — красные mirv_colors smoke 100 100 100 // цвет дыма mirv_colors teamid_overhead ct cyan // индикаторы над головой

Свечение игроков (mirv_glow)

mirv_glow projectiles smokes T 0 // убрать свечение дымовых гранат mirv_glow players set x76561198106931330 0 // убрать свечение игрока mirv_glow entities set 3471718 1 // свечение объекта mirv_glow players help // список ID игроков

Панели HUD (mirv_panorama)

mirv_panorama panelStyle panelId=trueview_row opacity=0 mirv_panorama panelStyle panelClassName=CSGOHudHintText opacity=0

ReShade

mirv_reshade enabled 1 // включить ReShade mirv_reshade enabled 0 // выключить

Аддон: github.com/advancedfx/ReShade_advancedfx

8. Смерти и убийства — mirv_deathmsg

mirv_deathmsg debug 1 // показывать UID в консоли // Блокировать всё кроме нужного игрока: mirv_deathmsg filter add attackerMatch=!12345 block=1 lastRule=1 mirv_deathmsg highLightId 12345 // подсветить убийства mirv_deathmsg cfg noticeLifeTime 6 // показывать 6 секунд mirv_deathmsg help players // список игроков

Цвета уведомлений

mirv_deathmsg colors ct white mirv_deathmsg colors t red mirv_deathmsg colors border 255 255 0 255 mirv_deathmsg colors background 0 0 0 192 mirv_deathmsg colors backgroundLocal 0 0 0 192

Замена имён

mirv_replace_name help players mirv_replace_name byUserId add 12345 "NewName" mirv_replace_name byXuid add x76561198106931330 "Name with Spaces" mirv_replace_name byUserId print mirv_replace_name byUserId remove 12345

9. FOV и вьюмодель

mirv_fov 90 // стандартный FOV mirv_fov 110 // широкий угол mirv_fov default // вернуть стандарт mirv_fov handleZoom enabled 1 // фиксить скоп

Вьюмодель

mirv_viewmodel enabled 1 mirv_viewmodel offset x 2 mirv_viewmodel offset y 0 mirv_viewmodel offset z -1 // Полный синтаксис: mirv_viewmodel set [X] [Y] [Z] [FOV] [0|1] // 0 = правая рука, 1 = левая. * = по умолчанию mirv_viewmodel set * * * 90 * // только FOV

Система и отладка

10. Системные команды

Список сущностей

mirv_listentities // все сущности mirv_listentities isPlayer=1 // только игроки mirv_listentities sort=distance limit=10 // 10 ближайших

Исправления

mirv_fix time 1 // исправить время Panorama mirv_fix animations 1 // исправить плавность анимаций

Загрузка DLL

mirv_loadlibrary "C:/path/to/library.dll"

Приоритет камеры

  1. mirv_campath (высший)
  2. mirv_camimport
  3. mirv_fov
  4. mirv_input camera (низший)

Скрипты и команды

Авто-выполнение команд

mirv_cmd add time 45.5 "cl_drawhud 0" mirv_cmd add tick 12000 "mirv_campath enable 1" mirv_cmd clear mirv_cmd save "script.xml" mirv_cmd load "script.xml"

Анимация по кривым

mirv_cmd clear mirv_cmd addCurves tick 1000 4000 - interp=cubic space=abs 1000 1 1300 2 1600 0.5 1900 2 2100 0.5 2500 2 2800 1 3100 2 3400 0.5 3700 2 4000 1 - interp=linear 0 0 1 100 -- "mirv_time drive {0}; echo {1}% finished: driving: {0}" mirv_cmd addAtTick 4000 "mirv_time drive default"

{0} — кубическая интерполяция (мин. 4 точки). {1} — линейная (мин. 2 точки).

11. Готовый cfg

Создай файл hlae_movie.cfg и запускай: exec hlae_movie

// ===== HLAE CS2 Moviemaking Config ===== // --- Управление демкой --- bind "F1" "demo_togglepause" // Пауза bind "F2" "host_timescale 0.25" // Замедление bind "F3" "host_timescale 1" // Нормальная скорость bind "PGUP" "mirv_skip time 5" // Вперёд на 5 сек bind "PGDN" "mirv_skip time -5" // Назад на 5 сек // --- Свободная камера --- bind "KP_END" "mirv_input camera" // Включить камеру bind "KP_INS" "mirv_input off" // Выключить камеру // --- Campath --- bind "E" "mirv_campath add" // Добавить кейфрейм bind "R" "mirv_campath enable 1" // Включить campath bind "T" "mirv_campath enable 0" // Выключить campath bind "G" "mirv_campath clear" // Очистить campath bind "F4" "mirv_campath draw enabled 1" // Показать путь bind "F5" "mirv_campath draw enabled 0" // Скрыть путь bind "F6" "mirv_campath print" // Список кейфреймов // --- Запись --- bind "F10" "mirv_streams record start" // Начать запись bind "F11" "mirv_streams record end" // Остановить запись // --- HUD и эффекты --- bind "H" "toggle cl_drawhud 0 1" // Переключить HUD bind "J" "toggle mirv_noflash 0 1" // Переключить флэш // --- Базовые настройки --- mirv_cvar_unhide_all mirv_cvar_unlock_sv_cheats mirv_input cfg msens 1.0 mirv_input cfg ksens 200 mirv_fov handleZoom enabled 1 mirv_endofmatch 1 mirv_fix time 1 mirv_fix animations 1

12. Полный воркфлоу

Этап 1 — Подготовка

  1. Запустить CS2 через HLAE → File → Launch CS2
  2. Дождаться сообщения от advancedfx.org
  3. Выполнить exec hlae_movie
  4. Загрузить демку: demoui → Load

Этап 2 — Поиск моментов

  1. Смотришь демку на нормальной скорости (host_timescale 1)
  2. Нашёл момент — запоминаешь тик
  3. Откатываешься: mirv_skip time -10

Этап 3 — Создание campath

  1. Замедли: host_timescale 0.25
  2. Камера: mirv_input camera
  3. Визуализация: mirv_campath draw enabled 1
  4. Ставь точки: mirv_campath add (мин. 4)
  5. Проверь: mirv_campath print
  6. Включи: mirv_campath enable 1
  7. Откатись до начала

Этап 4 — Запись

  1. Визуализация: mirv_campath draw enabled 0
  2. HUD: cl_drawhud 0
  3. Запись: mirv_streams record start
  4. Запусти демку
  5. Стоп: mirv_streams record end
  6. Сброс: mirv_campath clear

Этап 5 — Монтаж

Gather files in Premiere / DaVinci Resolve / Vegas.

13. Частые ошибки

❌ Campath enabled but can not be evaluated

Причина: точек меньше 4.

Решение:

  • Используй mirv_campath add
  • Проверь: mirv_campath print
  • Точки в разное время демки
  • Между точками 1–2 секунды

❌ Видео не записывается

  • FFmpeg установлен
  • Путь без кириллицы
  • Права на запись

❌ HLAE не подцепился

  • Запускай через HLAE → File → Launch CS2
  • Путь к cs2.exe правильный
  • Путь к HLAE без кириллицы

Полезные ссылки

Документация

Видео

Инструменты

Скопировано!