Условия для актера human
Ниже перечислены условия выбора анимации в Animation Selector, специфичные для актеров типа human.
human_fsm_semaphore "<name>"
Проверяет, активен ли семафор с указанным именем. Подробнее про семафоры
human_fsm_state "<state_name>"
Проверяет, совпадает ли текущее FSM-состояние с заданным.
Зарегистрированные имена FSM-состояний можно посмотреть в описании FSM (блоки state)
human_kill_flags "<kill_flag_name>" [..]
Проверяет, активны ли все перечисленные флаги обстоятельств гибели актера human. См. справку по флагам обстоятельств смерти.
human_fsm_counter
Проверяет значение FSM-счётчика для актера human. См. справку по счётчикам FSM.
human_hold_strap
Проверяет, нужно ли юниту придерживать ремень оружия, висящего за спиной.
human_throw_type
Проверяет, какой способ броска гранаты был выбран. Выбор способа броска гранаты.
human_stuff [holding | mounting | picking] "<item_type[ <item_type>...]>"
Проверяет взаимодействие юнита с указанными предметами в данный момент времени:
holding- предмет удерживается в руках;mounting- предмет берется в руки;picking- предмет поднимается с земли.
Тип предмета определяется согласно именам props в .def файле предмета.
В проверке может участвовать сразу несколько типов предметов.
Справка по типам предметов.
Соответствие props типа предметов
nothing
—
В руках солдата ничего нет
bazooka
weapon, rocketlauncher
Базука, стреляющая с плеча
mgun
weapon, mgun
Пулемёт
smg
weapon, smg
Автомат
rifle
weapon, rifle
Винтовка
pistol
weapon, pistol
Пистолет
flamer
weapon, flame_thrower
Огнемёт
small
smallitemin1hand
Мелкий предмет, например граната
1hand
itemin1hand
Предмет, который юнит держит в одной руке (например, канистра)
2hands
itemin2hands
Предмет, который юнит держит в двух руках (например, ящик)
body
human
Труп
flag
flag
Флаг
Справка по флагам обстоятельств смерти актера human
front
Убит спереди
back
Убит сзади
blast
Убит взрывом
piercing
Убит пулей
go
Солдат двигался
run
Солдат бежал
cover_in_trench
Солдат находился в окопе в состоянии snipe
Стандартная проверка linked не сработает, так как в момент смерти юнит уже отлинкован.
Условия проверки FSM-счётчиков
Синтаксис
if human_fsm_counter <name> [inc|get|once] <value> of <loop_number>где
<name>— название счетчикаВарианты проверки:
inc— увеличить счётчик на 1 и сравнить значение сvalue;
get— проверить текущее значение, не изменяя его;
once— если значение счётчика > 0, вернуть истину и сбросить значение в 0;
Last updated