Skip to content

Latest commit

 

History

19 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 

Repository files navigation

H.U.I. — Health User Interface (S.T.A.L.K.E.R. Anomaly)

Аддон добавляет над сталкерами и мутантами UI-блок: фракция, имя, дистанция и полоска здоровья.

Требования

  • Anomaly 1.5.3+ с Modded Exes
  • MCM (опционально) для настройки параметров в меню игры

Как работает

  • Показывает информацию при наведении на цель или в радиусе прицела (настраивается)
  • Проверяет видимость цели (db.actor:see(npc)), если включено
  • Поддерживает стабилизацию маркера (anti-jitter) для уменьшения дёргания
  • Обнаруживает дальние цели с задержкой раскрытия (опционально)
  • Цвет полоски HP меняется динамически в зависимости от состояния здоровья

Настройки

Настройки берутся из gamedata/configs/hui/hui.ltx и могут быть переопределены через MCM.

Базовые настройки

Параметр По умолчанию Описание
enable true Включить/выключить мод
range 300 Максимальная дистанция (м)
update_ms 17 Частота обновления выбора цели (мс), 0 = каждый кадр
show_mode 2 Режим фильтрации целей: 1 = только враги, 2 = любая цель
require_los true Требовать видимость цели
actor_seen true Учитывать, что актор видит цель

Режим прицела (Crosshair)

Параметр По умолчанию Описание
use_crosshair_radius true Использовать радиус прицела для выбора целей
crosshair_select_mode 2 Режим выбора: 1 = экранное пространство (px), 2 = мировое пространство (м)
crosshair_radius_px 100 Радиус в пикселях от центра экрана
crosshair_radius_m 2 Радиус в метрах от луча камеры
crosshair_only_best true Показывать только ближайшую к центру прицела цель

Anti-jitter (стабилизация маркера)

Параметр По умолчанию Описание
jitter_mode 0 Режим: 0 = выкл, 1 = deadzone, 2 = smooth 2D, 3 = smooth 3D
jitter_deadzone_px 2 Мёртвая зона (px) для deadzone режима
jitter_tau_ms 120 Время сглаживания (мс) для EMA режимов
jitter_max_step_px 0 Максимальный шаг (px) за кадр (0 = без ограничений)

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

Параметр По умолчанию Описание
lerp_factor 0.3 Скорость интерполяции к целевой позиции за кадр (0.01-1.0, меньше = плавнее)

Якорь и позиционирование

Параметр По умолчанию Описание
anchor_mode 1 Точка привязки: 1 = head, 2 = neck, 3 = spine, 4 = position
head_y_offset 0.2 Смещение маркера вверх/вниз от головы (м)
fov_comp_weight 1.3 Компенсация зума: 1.0 = полная, 0.0 = без, >1.0 = гиперкомпенсация
fov_factor_min 0.1 Минимальный коэффициент FOV (0.1-1.0)
fov_factor_max 2 Максимальный коэффициент FOV (1.0-5.0)

Отображение элементов

Параметр По умолчанию Описание
show_name true Показывать имя цели
show_distance true Показывать дистанцию
show_faction true Показывать фракцию
show_hp true Показывать HP-бар
show_icon true Показывать иконку
dynamic_icon true Использовать character_icon() цели как иконку

HP-бар

Параметр По умолчанию Описание
hp_bar_w 70 Ширина HP-бара
hp_bar_min_w 5 Минимальная ширина
hp_bar_max_w 50 Максимальная ширина
hp_bar_offset_x 0 Смещение по X (px)
hp_bar_offset_y 0 Смещение по Y (px)
hide_hp_full true Скрывать HP-бар при 100% здоровья

Цвет HP-бара: Полоска HP меняет цвет динамически в зависимости от состояния здоровья:

  • 100% здоровья: зелёный
  • 1% здоровья: красный
  • Между 1-100%: плавный градиент от красного к зелёному

Задержка обнаружения

Параметр По умолчанию Описание
detect_enable false Включить задержанное обнаружение для дальних целей
detect_instant_dist 50 Дистанция мгновенного обнаружения (м) - цели в этом радиусе показывают полную информацию сразу
detect_delay_sec 2 Задержка (сек) перед показом полной информации для дальних целей

Анимация обнаружения: В период задержки показывается текст "Обнаружение..." с анимированной сменой цвета через оттенки серого (тёмный → светлый → тёмный).

Динамическое масштабирование

Параметр По умолчанию Описание
dyn_dist_near 5 Ближняя дистанция (м) для масштабирования
dyn_dist_far 50 Дальняя дистанция (м) для масштабирования
dyn_scale_near 0.8 Масштаб на ближней дистанции
dyn_scale_far 0.6 Масштаб на дальней дистанции
dyn_curve 1 Кривая масштабирования

Прочие настройки

Параметр По умолчанию Описание
scale 1 Общий масштаб
sscale 1 Масштаб маркера
y_offset 0.35 Вертикальное смещение UI над головой
y_pos 0 Позиция Y (px)
y_pos_mode 1 Режим позиции Y
marker_gap_max_px 10 Максимальный зазор между маркерами (px)
marker_gap_min_px 40 Минимальный зазор между маркерами (px)
marker_style 3 Стиль маркера
max_distance 40 Максимальная дистанция для отображения
w_warn true Предупреждения в лог

Цвета фракций

Функция hui_get_faction_rgb_by_community(comm) возвращает RGB для фракций:

Фракция R G B
stalker 255 255 0
bandit 115 70 30
csky 0 200 255
monolith 255 255 255
dolg 100 100 255
freedom 255 200 0
ecolog 0 255 100
army 100 150 255
killer 200 200 200
zombied 100 100 100
(по умолчанию) 180 180 180

Цвета по отношению

Функция hui_get_name_rgb_by_relation(rel) возвращает RGB по отношению:

Отношение R G B
Враг (enemy) 255 0 0
Нейтральный (neutral) 255 255 255
Друг (friend) 0 255 0

Детали реализации

  • Иконка фракции берётся по ключу ui_inGame4_ico_<community> (как в ванильном PDA Warfare UI)
  • Группировка отображается как [<локализованное название>] через game.translate_string(community)
  • Имя мутанта извлекается через секцию, inv_name, character_name с fallback на название секции
  • Anti-jitter использует EMA (exponential moving average) для сглаживания координат
  • Интерполяция UI предотвращает телепорты маркера при резких изменениях позиции (например, анимации костей, телепортация)
  • HP-бар использует линейную интерполяцию для цветовых переходов на основе процента здоровья

Совместимость

Мод/Сборка Статус Причина
GAMMA Не заменяет критичные файлы
Моды с MCM Совместим, если не перезаписывают hui_mcm.script
Моды, меняющие UI ⚠️ Возможны конфликты позиционирования, настраивается через y_offset

История изменений

Версия 1.1+

  • Добавлена интерполяция UI для предотвращения телепортов маркера
  • Добавлен динамический цвет HP-бара (красный → зелёный в зависимости от здоровья)
  • Добавлена функция задержки обнаружения с анимацией "Обнаружение..."
  • Исправлено смещение HP-бара, влияющее на все элементы (бар, тень, фон)
  • Улучшен anti-jitter с настраиваемыми параметрами сглаживания

About

Anomaly 1.5.3 addon, adds health bars on npc

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages