Npc strider
Описание
Страйдеры - самые большие из известных существ в арсенале Комбайнов. Простое прохождение Страйдера через улицу уже может вселить в игрока чувство тревоги. Он неуклюж и может быть атакован только после больших предосторожностей и анализа ситуации. Страйдеры на каждом углу - прекрасный путь к уничтожению эффекта от них!
Страйдер имеет три вида атаки: миниган, который медленно переходит от цели к цели. Дизинтегратор, испаряющий все динамические объекты (dynamic entities), которых касается, и наконец его ноги, которыми он, в зависимости от ситуации, может наступать на NPC и убивать ('immolate') или протыкать и насаживать на ноги. Страйдеры могут атаковать только NPC; чтобы заставить атаковать их части окружающей среды или другие не-NPC, используйте npc_bullseye_(ru) .
Страйдеры очень большие и им требуется много места для движения. Нужно не менее 300 юнитов для того, чтобы уместить их на земле, и около 540 в высоту. Они не требуют открытого пространства, все-таки их длинные ноги позволяют им перешагивать почти через любые препятствия, которые не выше их.
Сканеры могут использоваться страйдером для поддержки его LOS_(ru) , если правильно установлены флаги. Они всё время делают фотографии местоположения всех NPC и транслируют ближайшему страйдеру, который поступают соответственно.
В Эпизоде Первом Страйдеры получили новый вид атаки. Они стали способны стрелять быстрее и точнее, чем они делали это в Half-Life 2. Они лучше отслеживают движения игрока.
Выделенные консольные переменные
- npc_strider_height_adj (По умолчанию: 0)
- <целое> Регулирует координату z его базы.
- npc_strider_shake_ropes_magnitude (По умолчанию: 150)
- <float> ???
- npc_strider_shake_ropes_radius (По умолчанию: 1200)
- <float> ???
- sk_strider_health (По умолчанию: 350)
- <целое> Изначальное количество жизни страйдера.
- sk_strider_num_missiles1 (По умолчанию: 5)
- <float> Количество рокет, необходимое для убийства страйдера на уровне сложности EASY.
- sk_strider_num_missiles2 (По умолчанию: 7)
- <float> Количество рокет, необходимое для убийства страйдера на уровне сложности MEDIUM.
- sk_strider_num_missiles3 (По умолчанию: 7)
- <float> Количество рокет, необходимое для убийства страйдера на уровне сложности HARD.
- strider_always_use_procedural_height (По умолчанию: 0)
- <boolean> Использовать вычесленный вес, если не задан явно.
- strider_ar2_altfire_dmg (По умолчанию: 25)
- <float> ???
- strider_distributed_fire (По умолчанию: 1)
- <boolean> Переключать цели по одной за раз.
- strider_eyepositions (По умолчанию: 0)
- <boolean> Рисует 3D кресты в местоположении глаз, когда стоит и когда приседает.
- strider_free_knowledge (По умолчанию: 0)
- <float> ???
- strider_free_pass_cover_dist (По умолчанию: 120)
- <float> ???
- strider_free_pass_duration (По умолчанию: 2)
- <float> ???
- strider_free_pass_move_tolerance (По умолчанию: 320)
- <float> ???
- strider_free_pass_refill_rate (По умолчанию: 0)
- <float> ???
- strider_free_pass_start_time (По умолчанию: 3)
- <float> ???
- strider_idle_test (По умолчанию: 0)
- <boolean> Отключает миниган и даёт указание стоять без дела.
- strider_immolate (По умолчанию: 0)
- <boolean> Не использовано: Переключатель режима жертвоприношения страйдера.
- strider_pct_height_no_crouch_move (По умолчанию: 90)
- <float> Количество процентов, используемое при расчете идеальной высоты приседания.
- strider_peek_eye_dist (По умолчанию: 1)
- <float> Расстояние глаз.
- strider_peek_eye_dist_z (По умолчанию: 4)
- <float> Расстояние глаз по координате z.
- strider_peek_time (По умолчанию: 0)
- <float> Дает такое количество времени игроку, прежде чем начнёт стрелять. (Игрок занимает только первый слот).
- strider_peek_time_after_damage (По умолчанию: 4)
- <float> Дает такое количество времени игроку, после того как был атакован, прежде чем начнёт стрелять. (Игрок занимает только первый слот).
- strider_show_cannonlos (По умолчанию: 0)
- <boolean> Отображать луч прицела оружия.
- strider_show_focus (По умолчанию: 0)
- <boolean> Отображать 3d кресты в местеположении (origin) цели.
- strider_show_weapon_los_condition (По умолчанию: 0)
- <boolean> Отображать поле поражения оружия (условия).
- strider_show_weapon_los_z (По умолчанию: 0)
- <boolean> Отображать поле поражения оружия (z координата).
- strider_test_height (По умолчанию: 0)
- <float> Задает идеальную высоту страйдера в это значение, если оно больше .1.
- Работает только при включённом strider_always_use_procedural_height.
Ключевые параметры
- angles
- <angles> Угловая ориентация этой энтити в пространстве (также используется для энтитей с угловыми эффектами).
- renderfx
- <выбор>
Буквенное значение Описание 0 Нормальный 1 Медленная пульсация 2 Быстрая пульсация 3 Медленная продолжительная пульсация 4 Быстрая продолжительная пульсация 5 Медленное исчезание 6 Быстрое исчезание 7 Медленное появление 8 Быстрое появление 9 Медленное мигание 10 Быстрое мигание 11 Быстрейшее мигание 12 Медленное мерцание 13 Быстрое мерцание 14 Постоянное сияние 15 Искажение 16 Голограмма (Искажение + исчезание) 17 Увеличение масштаба 22 Эффект светового пятна 23 Отбор расстоянием (TEST) 24 Исчезновение продолжительными пульсациями
- rendermode
- <выбор> Используется для нестандартных режимов рендеринга этой энтити. Смотри также 'FX Amount' и 'FX Color'.
Буквенное значение Режим рендера Описание (Здесь дополнительная информация) 0 Normal Отображение по умолчанию. 1 Color Устаревшее. 2 Texture Простой, непрозрачный. 3 Glow Нет проверки Z-буфера. Фиксированный размер на экране. 4 Solid / Alphatest Устаревшее. (Используйте возможности alphatest взамен устаревшего.) 5 Additive Устаревшее. Добавить цвет этой энтити к тому, что сзади неё. 7 Additive Fractional Frame Устаревшее? Смешивание между кадрами анимации. 8 Alpha Add (Not in FGD.) Нужно сделать: Write description.9 World Space Glow Нет проверки Z-буфера. Фиксированный размер в пространстве (противоположно "на экране"). 10 Dont Render / None Не отображать.
- renderamt
- <целое> FX Amount (0 - 255) - Насколько непрозрачной будет отрисована эта энтитя.(
0
- это полностью прозлачный, в то время как255
- это полностью непрозрачный). Не работает если ключевое значение rendermode установлено в Normal или Dont Render.
- rendercolor
- <color255> FX Color - В каком цвете будет отрисована эта энтитя (в той степени, насколько установлен параметр renderamt).
- disablereceiveshadows
- <boolean> Отключает получение теней этим объектом.
- damagefilter
- <цель назначения> Имя энтити-фильтра, которая контроллирует какие энтити могут наносить повреждения этой.
- ResponseContext
- <строка> Контекст системы ответов для этой энтити. Формат должен быть таким: 'ключ:значение,ключ2:значение2,и т.д.'. Когда эта энтитя говорит, список ключей и значений вставляется в систему правил ответов.
- disableshadows
- <boolean> Используется для отключения отброса динамической тени от этой энтити.
- target
- <цель_назначения> Если установлено, то это имя пути, по которому (к которому) пойдёт этот NPC после появления.
- squadname
- <строка> NPC которые имеют такое же имя отряда будут делится информацией о врагах, и будут сменяться атакуя и прикрывая друг друга.
- hintgroup
- <строка> Группа хинтов используемая этим NPC. Используется для ограничения круга поиска хинт-точек подгруппой из всех хинт-точек на карте. Только хинт-точки, у которых имя группы равно этому параметру, будут видны данному NPC.
- hintlimiting
- <boolean> Ограничевает NPC использовать только указанныую группу хинтов для навигационных запросов. Но не ограничивает локальную навигацию.
- sleepstate
- <выбор> Держит NPC в замершем состоянии до тех пор пока не произойдет указанное событие. Смотри также 'Wake Radius' и 'Wake Squad'.
Буквенное значение Описание 0 Нет 1 Ожидать опасности 2 Ожидать PVS 3 Ожидать ввода (input), игнорировать PVS 4 (во всех играх начиная с ) Авто PVS 5 (во всех играх начиная с ) Авто PVS после PVS
- wakeradius
- <float> Автоматически проснуться, если пользователь приблизился на указанное расстояние.
- wakesquad
- <boolean> Пробуждает всех NPC указанного отряда, если этот NPC проснулся.
- physdamagescale
- <float> Значение, на которое умножаются повреждения, полученные этим персонажем от физических объектов. При значении 0, этот NPC не будет получать повреждений от физических объектов.
- disablephysics
- <boolean> Отключить физику (разгружает CPU)
Флаги
Ждать пока не заметят : [1]
Кляп : [2]
- Не воспроизводить звуков IDLE, пока не рассердится
Упасть на землю : [4]
- Неотмеченное подразумевает *телепортировать* к земле
Выбросить аптечку : [8]
Эффективный : [16]
- Не приобретает врагов и избегает препятствий
Ждать сценария : [128]
Дальнее видение/стрельба : [256]
Скрыть труп : [512]
Думать за пределами PVS (Поле возможной видимости игрока) : [1024]
Шаблон NPC : [2048]
- Эта энтити - шаблон для npc_template_maker. Эта энтити не будет появляться автоматически вместе с загрузкой карты. Появится только после указания через эту энтитю. (Не может появляться через point_template.)
Делать альтернативное столкновение для этого NPC (Игрок уступает) : [4096]
Не выбрасывать оружие : [8192]
Игнорировать давление игрока (во всех играх начиная с ) : [16384]
- Не уступать пути игроку
- 65536 : Может затоптать игрока
Ввод (Inputs)
- Kill
- Удаляет эту энтити из игрового мира.
- KillHierarchy
- Удаляет эту энтити и всех её потомков из игрового мира.
- AddOutput <string>
- Определяет ключевое значение/вывод для этой энтити. Это может быть очень опасно, используйте осторожно.
- Формат:
<ключ> <значение>
- Формат:
<имя вывода> <имя цели>:<имя ввода>:<параметр>:<задержка>:<максимальное количество выполнений (-1 == бесконечно)>
- FireUser1-4
- Выполняется для этой энтити, когда вывод OnUser1-4 был задействован. Смотри User Inputs and Outputs.
- Color <color255>
- Устанавливает цвет отрисовки.
- Alpha <byte>
- Устанавливает интенсивность отрисовки.
- SetDamageFilter <цель_назначения>
- Устанавливает эту энтитю как фильтр повреждений. Вставьте пустую строку, для очистки фильтра повреждений.
- AddContext <строка>
- Добавляет контекст в список контекстов ответов этой энтити. Формат должен быть 'ключ:значение'.
- RemoveContext <строка>
- Удаляет контекст из списка контекстов ответов этой энтити. Имя должно совпадать с значением 'ключ' до этого добавленного контекста.
- ClearContext
- Удаляет все контексты из списка контекстов ответов этой энтити.
- DisableShadow
- Выключает тень.
- EnableShadow
- Включает тень.
- SetRelationship <строка>
- Изменяет отношение этой энтити к другой энтите или классу. (Действует как энтитя ai_relationship , субьект (поле "Subject") которой этот NPC.)
- Формат:
<цель> <положение> <rank>
- Возможные значения <положение> :
Буквенное значение Описание D_HT Ненависть (Hate) D_FR Боязнь (Fear) D_LI Симпатия (Like) D_NU Нейтралитет (Neutral)
- SetHealth <целое>
- Устанавливает количество жизни этого NPC.
- SetBodyGroup <целое>
- HACK: Устанавливает группу тел для этого NPC (от 0 - n). Вы должны знать то, что Вы делаете!
- physdamagescale <float>
- Устанавливает величину, на которую умножается энергия повреждений, получаемых персонажем от физических объектов.
- Примечание:0 (ноль) подразумевает что эта функция отключена для обратной совместимости.
- Ignite
- Поджигает, охватывает огнём.
- Break
- Разбивает на куски.
- StartScripting
- Вводит в состояние выполнения сценария. В этом сотстоянии NPC игнорируют различные стимулы, которые могут их вывести из сценария: Они игнорируют опасные звуки, игнорируют +USE, не произносят "речь простоя" (idle speech), и не отвечают на "речь простоя" других NPC, и т.п.
- StopScripting
- Выводит из состояния сценария.
- Assault <цель_назначения>
- Start an assault. Parameter passed in should be the name of the rally point.
- SetSquad <строка>
- Устанавливает имя отряда ("Squad") для этого NPC. Последний также будет автоматически удалён из любого ранее назначенного отряда. Если оставить этот параметр пустым, то NPC будет удалён из любого ранее назначенного отряда.
- Wake
- Пробуждает NPC, если он спит.
- ForgetEntity <цель_назначения>
- Очищает память NPC об указанной энтите.
- GagEnable
- Включает флаг "кляп". NPC не будет говорить за пределами хореографических сцен.
- GagDisable
- Отключает флаг "кляп".
- IgnoreDangerSounds <float>
- Игнорирует опасные звуки указанное количество секунд.
- Заставляет NPC убрать его оружие в кобуру. Игнорируется если NPC выполняет сценарий, если оружие NPC уже в кобуре, или если NPC не использует оружие.
- Идентично HolsterWeapon, только оружие уничтожается после того как было убрано и скрыто. (except the weapon is destroyed once it has been holstered and concealed.)
- Заставляет NPC достать его оружие. Игнорируется если NPC выполняет сценарий, если оружие NPC уже достано, или если NPC не использует оружие.
- Заставляет NPC использовать динамическое взаимодействие (dynamic interaction) с другим NPC.
- Формат параметров:
<имя целевой NPC> <имя динамического взаимодействия>
- Обновляет (или создаёт) память этого NPC о враге и его местоположении.
- SetMinigunTime <float>
- Время стрельбы миниганом по цели
- SetMinigunTarget <цель_назначения>
- Страйдер будет стрелять миниганом по этой цели
- SetCannonTarget <цель_назначения>
- Страйдер будет стрелять пушкой по этой цели
- FlickRagdoll
- Страйдер будет стряхивать любого, нанизанного на ногу.
- StartPatrol
- Вернуться патрулировать дальше вдоль заданного пути.
- StopPatrol
- Прекратить патрулировать вдоль заданного пути. Это заставит страйдера продолжить движение вдоль пути, который он сейчас использует.
- ChooseFarthestPathPoint
- При отслеживании цели, выбирать точку прицеливания, приходящуюся на его будущую позицию, но остающуюся в поле досягаемости.
- ChooseNearestPathPoint
- При отслеживании цели, выбирать точку прицеливания, находящуюся максимально близко к цели.
- Crouch
- Присесть
- Stand
- Встать
- DisableCrouchWalk
- EnableCrouchWalk
- SetTargetPath <target_destination>
- Задает путь, по которому будет патрулировать Страйдер. Страйдер пойдёт к ближайшей к нему точке этого пути.
- ClearTargetPath
- Очистить значение пути для страйдера.
- Присесть немедленно. Это заставляет мгновенно перейти страйдера в положение приседания (без анимации). Не делайте этого. когда игрок может это видеть.
- Включает новую атаку страйдера миниганом
- Прекратить использовать агрессивное поведение. (Вернуться в норму)
- Прекратить стрельбу из минигана на заданное количество времени (задается в секундах как параметр)
- Запретить Страйдеру приседать.
- Запретить Страйдеру приследовать цель для того, что бы она оставалась в поле поражения. (Занять позицию)
Выводы (Outputs)
- BaseNPC:
OnDamaged
- Выполняется, когда этот NPC получает повреждения. (!activator is the наносящий повреждения.)
OnDeath
- Выполняется, когда этот NPC убит. (!activator is the убийца.)
OnHalfHealth
- Выполняется, когда у этого NPC остается половина от его возможной максимальной жизни.
OnHearWorld
- Выполняется, когда этот NPC слышит звук (Кроме звуков битвы и игрока).
OnHearPlayer
- Выполняется, когда NPC слышит игрока.
OnHearCombat
- Выполняется, когда NPC слышит звуки боя.
OnFoundEnemy
<targetname >- Выполняется, когда этот NPC установил прямую видимость с врагом (указанной энтитей).
OnLostEnemyLOS
- Выполняется, когда этот NPC потерял прямую видимость с врагом.
OnLostEnemy
- Выполняется, когда этот NPC потерял врага. Обычно это происходит, когда враг был убит/убран, или потому что NPC выбрал новую, более опасную цель.
OnFoundPlayer
<targetname >- Выполняется, когда этот NPC установил прямую видимость с врагом, и этот враг - игрок.
OnLostPlayerLOS
- Выполняется, когда этот NPC потерял прямую видимость с врагом, и этот враг - игрок.
OnLostPlayer
- Выполняется, когда этот NPC потерял врага, и этот враг был игрок. Обычно это происходит, когда враг был убит/убран, или потому что NPC выбрал новую, более опасную цель.
OnDamagedByPlayer
- Выполняется, когда этот NPC ранен игроком. (!activator is the атакующий или водитель транспорта (если активен friendly fire)).
OnDamagedByPlayerSquad
- Выполняется, когда этот NPC ранен игроком ИЛИ одним из участников отряда игрока. (!activator is the атакующий или водитель транспорта (если активен friendly fire)).
OnDenyCommanderUse
- Выполняется, когда этот NPC не был принят в отряд игрока.
OnWake
- Выполняется, когда этот NPC выходит из состояния сна.
Основные:
OnUser1
доOnUser4
- Эти выходы срабатывают в ответ на срабатывание соответствующего входа от
FireUser1
доFireUser4
; см. Входы и выходы пользователя. OnKilled
(только в )- Этот вывод срабатывает, когда объект убит и удален из игры.