Укрытие (smart cover)

Материал из xrWiki
Перейти к: навигация, поиск

Смарткавер — это спаун-объект, который управляет анимациями NPC. Используется для создания сценок со сложной анимацией.

Тип смарткавера (анимации которые может использовать NPC в смарткавере), зависят от параметра description (выбирается в Level editor).

Боевые смарткаверы управляют боевыми анимациями, их могут использовать NPC в универсальной боевой схеме. Также боевые смарткаверы могут использоваться для построения скриптовых сцен. Набор анимаций, используемый NPC в смарткавере, зависит от выбранной бойницы (loophole). NPC может вести огонь из смарткавера, только если противник находится внутри радиуса действия лупхолы. Названия лупхол для боевых смарткаверов смотреть в файле Combat loopholes.xls

Анимационные смарткаверы настраиваются аналогично боевым, но используют специальные анимации, и применяются только для скриптовых сцен. Названия лупхол для анимационных смарткаверов смотреть в файле Lead loopholes.xls

[smartcover]
cover_name          = cover_1       ; имя смарткавера, обязательный параметр
loophole_name       = lh1           ; имя лупхолы, какие лупхолы доступны, зависит от типа смарткавера (в боевых смарткаверах, имя лупхолы )
cover_state         = <значение>    ; состояние NPC в смарткавере:
                      fire_target             ; стреляет по цели
                      fire_no_lookout_target  ; стреляет по цели вслепую, не высовываясь
                      idle_target             ; спрятался
                      lookout_target          ; выглядывает
                      default_behaviour       ; прячется, выглядывает, если есть цель - атакует
use_in_combat       = true          ; использование смарткавера в бою. Если не поставить этот параметр, то NPC будут срываться в универсальную боевую схему
target_enemy        =               ; куда стрелять: в actor или в story_id
target_path         = <имя_пути>    ; будет стрелять в первую точку указанного пути
idle_min_time       = <n>           ; настройка таймингов между анимациями (по умолчанию 6)
idle_max_time       = <n>           ; настройка таймингов между анимациями (по умолчанию 10)
lookout_min_time    = <n>           ; настройка таймингов между анимациями (по умолчанию 6)
lookout_max_time    = <n>           ; настройка таймингов между анимациями (по умолчанию 10)
exit_body_state     = <имя>         ; ???
use_precalc_cover   = true/false    ; ???
def_state_moving    = <имя>         ; ???
sound_idle          = <имя>         ; ???
Внимание!

Перед тем, как прописать в смарткавере лупхолу, нужно убедиться, что лупхола с таким названием есть в этом смарткавере (см. в файлах Combat loopholes.xls, Lead loopholes.xls).

Смарткаверы используют стандартные сигналы:

  • enemy_in_fov – противник находится в лупхоле
  • enemy_not_in_fov – противник не находится в лупхоле