npc_sniper

From Valve Developer Community
< Ru
Jump to: navigation, search
English (en)Русский (ru)Translate (Translate)
Icon-broom.png
This article or section needs to be updated to include current information regarding the subject.
Remember to check for any notes left by the tagger at this article's talk page.

npc_sniper - это точечная энтити(en), доступно для Half-Life 2 Half-Life 2, Half-Life 2: Episode One Half-Life 2: Episode One, Half-Life 2: Episode Two Half-Life 2: Episode Two и Half-Life 2: Deathmatch Half-Life 2: Deathmatch.

Снайпер

Описание

Комбин-снайпер.

Этот комбин(en) умеет обращаться с снайперской винтовкой с голубым лазерным целеуказателем, который позволяет достичь потрясающей точности и дальности поражения.

npc_sniper вообще-то не имеет собственной модели, но охотно использует модель комбина-солдата(en) в игре (если его флаг Hidden не был установлен) проигрывая его анимацию простоя (idle animation) с лучом лазера выходящем прямо из ствола винтовки. Что касается повреждений, то только взрывы и пламя достаточно мощны, что бы убить его.

Снайпер не будет отворачивать луч после того как увидел игрока или NPC в пределах приемлемого расстояния и угла до тех пор, пока не завершит начатое. Снайпер будет приоритетно выбирать игрока среди любых других целей. Если он потерял игрока из поля видимости, то он расстроится и выстрелит три раза в ту область, где последний раз видел игрока часто целясь в маленькие prop_physics(en) (такие как банки с содовой, дыни, куски дыни, cinderblocks, ...) но не в большие prop_physics (такие как автомат по продаже напитков). Затем он продолжит целится в остальные видимые цели (враги, не предметы).

Снайпер вышлет предупреждение энтитям info_snipertarget(en) если они ему назначены (как текущая цель?). (через вводы SweepTarget, SweepTargetHighestPriority или SweepGroupRandomly).

Ключевые параметры

См. также:  Generic Keyvalues, Inputs and Outputs available to all entities
Name(en) (targetname) <string(en)>
Название объекта по которому другие объекты могут ссылаться на этот объект.
  • 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
(во всех играх начиная с Half-Life 2: Episode One) Авто PVS
(во всех играх начиная с Half-Life 2: Episode One) Авто PVS после PVS
  • wakeradius
<float> Автоматически проснуться, если пользователь приблизился на указанное расстояние.
  • wakesquad
<boolean> Пробуждает всех NPC указанного отряда, если этот NPC проснулся.
  • physdamagescale
<float> Значение, на которое умножаются повреждения, полученные этим персонажем от физических объектов. При значении 0, этот NPC не будет получать повреждений от физических объектов.
  • radius
<целое> Радиус поражения
  • misses
<целое> Изначальные промахи
  • beambrightness
<целое> Ярккость луча (от 0 до 255)
  • shielddistance
<float> Bullet shield distance. {{EP1 add|Устарело}
  • shieldradius
<float> Bullet shield radius. Устарело (во всех играх начиная с Half-Life 2: Episode One)

Флаги

Ждать пока не заметят : [1]
Кляп : [2]

Не воспроизводить звуков IDLE, пока не рассердится

Упасть на землю : [4]

Неотмеченное подразумевает *телепортировать* к земле

Выбросить аптечку : [8]
Эффективный : [16]

Не приобретает врагов и избегает препятствий

Ждать сценария : [128]
Дальнее видение/стрельба : [256]
Скрыть труп : [512]
Думать за пределами PVS (Поле возможной видимости игрока) : [1024]
Шаблон NPC : [2048]

Эта энтити - шаблон для npc_template_maker. Эта энтити не будет появляться автоматически вместе с загрузкой карты. Появится только после указания через эту энтитю. (Не может появляться через point_template.)

Делать альтернативное столкновение для этого NPC (Игрок уступает) : [4096]
Не выбрасывать оружие : [8192]
Игнорировать давление игрока (во всех играх начиная с Source 2006) : [16384]

Не уступать пути игроку
  • 65536 : Hidden
Снайпер не будет иметь модели, когда появится, если будет отмечено.
  • 131072 : Laser Viewcone
  • 262144 : No Corpse
Снайпер не оставляет своего трупа.
  • 524288 : Start Disabled
Появляется отключённым
  • 1048576 : Faster shooting (Быстрая стрельба) (во всех играх начиная с Half-Life 2: Episode One)


Ввод (Inputs)

  • Kill
Удаляет эту энтити из игрового мира.
  • KillHierarchy
Удаляет эту энтити и всех её потомков из игрового мира.
  • AddOutput <string>
Определяет ключевое значение/вывод для этой энтити. Это может быть очень опасно, используйте осторожно.
Формат: <ключ> <значение>
Формат: <имя вывода> <имя цели>:<имя ввода>:<параметр>:<задержка>:<максимальное количество выполнений (-1 == бесконечно)>
  • FireUser1-4
Выполняется для этой энтити, когда вывод OnUser1-4 был задействован. Смотри User Inputs and Outputs.
Устанавливает цвет отрисовки.
Устанавливает интенсивность отрисовки.
  • 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>
Устанавливает величину, на которую умножается энергия повреждений, получаемых персонажем от физических объектов.
Note.pngПримечание: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>
Игнорирует опасные звуки указанное количество секунд.
  • HolsterWeapon (во всех играх начиная с Half-Life 2: Episode One)
Заставляет NPC убрать его оружие в кобуру. Игнорируется если NPC выполняет сценарий, если оружие NPC уже в кобуре, или если NPC не использует оружие.
  • HolsterAndDestroyWeapon (во всех играх начиная с Half-Life 2: Episode One)
Идентично HolsterWeapon, только оружие уничтожается после того как было убрано и скрыто. (except the weapon is destroyed once it has been holstered and concealed.)
  • UnholsterWeapon (во всех играх начиная с Half-Life 2: Episode One)
Заставляет NPC достать его оружие. Игнорируется если NPC выполняет сценарий, если оружие NPC уже достано, или если NPC не использует оружие.
  • ForceInteractionWithNPC <строка> (во всех играх начиная с Half-Life 2: Episode One)
Заставляет NPC использовать динамическое взаимодействие (dynamic interaction) с другим NPC.
Формат параметров: <имя целевой NPC> <имя динамического взаимодействия>
  • UpdateEnemyMemory <цель_назначения> (во всех играх начиная с Half-Life 2: Episode One)
Обновляет (или создаёт) память этого NPC о враге и его местоположении.
  • EnableSniper
Включить снайпера.
  • DisableSniper
Отключить снайпера.
  • SetDecoyRadius <целое>
Устанавливает радиус заманивания
  • SweepTarget <цель_назначения>
Сообщает снайперу искать info_snipertarget(en) указанную в параметре, в режиме указанном в параметрах info_snipertarget.
Note.pngПримечание:Использование этого ВВОДА для указания снайперу цели, закрытой или соприкасающейся с брашем, который покрыт текстурой Block LOS может вызвать аварийное завершение карты.
  • SweepTargetHighestPriority <цель назначения>
То же, что и SweepTarget, только снайпер будет приоритетно охотится за этой целью чем за другими целями, включая игрока.
  • SweepGroupRandomly <строка>
Снайпер будет совершать разные выстрелы по info_snipertarget'ам принадлежащим заданной группе (заданной в их параметрах) до тех пор, пока не будет прерван NPC. (Групповые принадлежности задаются в параметре Group Name этих целей.)
  • StopSweeping (во всех играх начиная с Half-Life 2: Episode One)
Останавливает любую операцию по поиску или прицеливанию, иницированную Вводом/Выводом энтити (Entity's I/O)
  • ProtectTarget <цель_назначения> (во всех играх начиная с Half-Life 2: Episode One)
Защищает заданную цель. Снапер будет всё время пытаться отстреливать врагов, ближайших к защищаемой цели.

Выводы (Outputs)

  • BaseNPC:
OnDamaged
Выполняется, когда этот NPC получает повреждения. (!activator is the наносящий повреждения.)
OnDeath
Выполняется, когда этот NPC убит. (!activator is the убийца.)
OnHalfHealth
Выполняется, когда у этого NPC остается половина от его возможной максимальной жизни.
OnHearWorld
Выполняется, когда этот NPC слышит звук (Кроме звуков битвы и игрока).
OnHearPlayer
Выполняется, когда NPC слышит игрока.
OnHearCombat
Выполняется, когда NPC слышит звуки боя.
OnFoundEnemy  <targetname(en)>
Выполняется, когда этот NPC установил прямую видимость с врагом (указанной энтитей).
OnLostEnemyLOS
Выполняется, когда этот NPC потерял прямую видимость с врагом.
OnLostEnemy
Выполняется, когда этот NPC потерял врага. Обычно это происходит, когда враг был убит/убран, или потому что NPC выбрал новую, более опасную цель.
OnFoundPlayer  <targetname(en)>
Выполняется, когда этот 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  (только в Серия игр Left 4 Dead)
Этот вывод срабатывает, когда объект убит и удален из игры.
  • OnShotFired (во всех играх начиная с Half-Life 2: Episode One)
Выполняется при выстреле.
(!activator is the Текущий враг снайпера)

Смотри также