Укрытие (smart cover)
Смарткавер — это спаун-объект, который управляет анимациями NPC. Используется для создания сценок со сложной анимацией.
Тип смарткавера (анимации которые может использовать NPC в смарткавере), зависят от параметра description (выбирается в Level editor).
Боевые смарткаверы управляют боевыми анимациями, их могут использовать NPC в универсальной боевой схеме. Также боевые смарткаверы могут использоваться для построения скриптовых сцен. Набор анимаций, используемый NPC в смарткавере, зависит от выбранной бойницы (loophole). NPC может вести огонь из смарткавера, только если противник находится внутри радиуса действия лупхолы. Названия лупхол для боевых смарткаверов смотреть в файле Battle 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 = trus/false ; ???
def_state_moving = <имя> ; ???
sound_idle = <имя> ; ???
Внимание!
Перед тем, как прописать в смарткавере лупхолу, нужно убедиться, что лупхола с таким названием есть в этом смарткавере (см. в файлах Battle loopholes.xls, Lead loopholes.xls). |
Смарткаверы используют стандартные сигналы:
- enemy_in_fov – противник находится в лупхоле
- enemy_not_in_fov – противник не находится в лупхоле