Эта статья относится к игре "Half-Life 2". Нажмите для получения дополнительной информации.

npc_manhack

From Valve Developer Community
< Ru
Jump to navigation Jump to search
English (en)Русский (ru)Translate (Translate)

Мэнхэк

npc_manhack - это точечная энтити(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.


Описание

По сути это физический объект (англ. Physics prop) с ИИ (англ. AI), мэнхэк это именно то, что вы могли бы подумать исходя из названия (Man Hack - Режет людей). Офицер ГО(en) может переносить его на своих плечах и, при необходимости, развернуть в боевое положение.

Note.pngПримечание: Некоторые ключ-парамеры(en), признаки появления, признаки эффектов, входы(en) или выходы(en) могут не влиять на НИП(en) в зависимости от их функциональности и реализации исходного кода.

Выделенные консольные команды

  • sk_manhack_health (По умолчанию: 25)
<целое> Изначальное количество жизни.
  • sk_manhack_melee_dmg (По умолчанию: 20)
<целое> Повреждения наносимые атакой.

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

  • {| class="mw-collapsible mw-collapsed" style="background:rgba(0,0,0,0.05) ;float:no;margin-bottom:1em;margin-left:0;padding-right:0.5em;border:1px solid rgba(255,255,255,0.1); border-left:solid 1px #8bb9e0; padding-left:1em;"

|+ style="text-align:left; white-space:nowrap; font-weight:bold; color:#ddd; " | Основные ключ-параметры НИП |

Name (targetname) <объект источник(en)>
Имя объекта, по которому другие объекты могут ссылаться на этот объект, через Входы/Выходы(en) или другие ключ-параметры(en) (например parentname(en) или target).
Оно отображается на 2D-видах в Hammer и Отчёте об объектах (Entity Report)(en).
См. также: Основные ключ-параметры, входы и выходы(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) <булева переменная(en)>
Отключает получение теней этим объектом.

damagefilter

<цель назначения> Имя энтити-фильтра, которая контроллирует какие энтити могут наносить повреждения этой.

ResponseContext

<строка> Контекст системы ответов для этой энтити. Формат должен быть таким: 'ключ:значение,ключ2:значение2,и т.д.'. Когда эта энтитя говорит, список ключей и значений вставляется в систему правил ответов.

disableshadows

<boolean> Используется для отключения отброса динамической тени от этой энтити.
Target Path Corner (target) <имя объекта(en)>
Если установлено, то это имя пути, по которому (к которому) пойдёт этот НИП после появления.
Squad Name (squadname) <строка(en)>
НИП которые имеют такое же имя отряда будут делится информацией о врагах, и будут сменяться атакуя и прикрывая друг друга.
Hint Group (hintgroup) <строка(en)>
Группа хинтов используемая этим NPC. Используется для ограничения круга поиска хинт-точек подгруппой из всех хинт-точек на карте. Только хинт-точки, у которых имя группы равно этому параметру, будут видны данному NPC.
Hint Limit Nav (hintlimiting) <булева переменная(en)>
Ограничевает НИП использовать только указанныую группу хинтов для навигационных запросов. Но не ограничивает локальную навигацию.
Sleep State (sleepstate) <варианты выбора>
Держит НИП в замершем состоянии до тех пор пока не произойдет указанное событие. Смотри также 'Wake Radius' и 'Wake Squad'.
  • 0: Нет
  • 1: Ожидать опасности
  • 2: Ожидать PVS
  • 3: Ожидать ввода (input), игнорировать PVS
  • 4: Авто PVS
  • 5: Авто PVS после PVS
Wake Radius (wakeradius) <число с плавающей запятой(en)>
Автоматически проснуться, если пользователь приблизился на указанное расстояние.
Wake Squad (wakesquad) <булева переменная(en)>
Пробуждает всех НИП указанного отряда, если этот НИП проснулся.
 (physdamagescale) <число с плавающей запятой(en)>
Значение, на которое умножаются повреждения, полученные этим персонажем от физических объектов. При значении 0, этот НИП не будет получать повреждений от физических объектов.

|}

Флаги

  • {| class="mw-collapsible mw-collapsed" style="background:rgba(0,0,0,0.05) ;float:no;margin-bottom:1em;margin-left:0;padding-right:0.5em;border:1px solid rgba(255,255,255,0.1); border-left:solid 1px #8bb9e0; padding-left:1em;"

|+ style="text-align:left; white-space:nowrap; font-weight:bold; color:#ddd; " | Основные признаки НИП |

Wait Till Seen : [1]
(Ждать пока не заметят) Prevents this NPC from seeing (or being seen) until it enters a player's viewcone.
Gag : [2]
(Кляп) Не воспроизводить звуков IDLE, пока не рассердится. Won't make IDLE sounds until it's angry.
Fall to ground (unchecked means teleport to ground) : [4]
(Упасть на землю) Неотмеченное подразумевает телепортировать к земле
Drop Healthkit : [8]
(Выбросить аптечку) Causes this NPC to drop an item_healthvial(en) upon dying.
Efficient : [16]
(Эффективный) Не приобретает врагов и избегает препятствий. Don't acquire enemies or avoid obstacles
Wait For Script : [128]
(Ожидать сценарий) Forces this NPC to "wait" in an idle state until it finishes playing a scripted_sequence(en).
Long Visibility/Shoot : [256]
(Дальнее видение/стрельба) By default, increases a NPC's sight range to 6,000 units and allows it to attack from anywhere within that distance.
Fade Corpse : [512]
(Скрыть труп)
Think outside PVS(en) : [1024]
(Думать за пределами PVS) Allows this NPC to run its regular AI outside of any player's PVS.
Template NPC : [2048]
(Шаблон НИП) Эта энтити - шаблон для npc_template_maker(en). Эта энтити не будет появляться автоматически вместе с загрузкой карты. Появится только после указания через эту энтитю. (Не может появляться через point_template. Marks this NPC as a template for entities like npc_template_maker(en). The NPC will not spawn on its own. This is not needed for point_template.
Do Alternate collision for this NPC (player avoidance) : [4096]
Делать альтернативное столкновение для этого НИП (Игрок уступает)
Note.pngПримечание: This flag is disabled in Half-Life 2: Episode One Half-Life 2: Episode Two episodic for player companions, because the StartScripting input does this.
Don't drop weapons : [8192]
(Не выбрасывать оружие)
Ignore player push : [16384] (Во всех играх начиная с Source 2006)
(Игнорировать давление игрока) Преграждать путь игроку. Entity won't give way to player.

|}

  • 65536 : Start packed up (folded and engine off)
  • 131072 : Don't use any damage effects
  • 262144 : Use Air Nodes
  • 1048576 : No Danger Sounds

Ввод (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 о враге и его местоположении.
  • InteractivePowerDown (Во всех играх начиная с Half-Life 2: Episode One)
Выключает питание этой цели.
  • DisableSwarm
Отключает стайное поведение.
  • Unpack
Указывает мэнхэку прекратить быть упакованным.

Вывод (Outputs)

  • BaseNPC:
OnDamaged
!activator = наносящий повреждения.
!caller = this entity
Выполняется, когда этот NPC получает повреждения.
OnDeath
!activator = убийца.
!caller = this entity
Выполняется, когда этот NPC убит.
OnHalfHealth
Выполняется, когда у этого NPC остается половина от его возможной максимальной жизни.
OnHearWorld
Выполняется, когда этот NPC слышит звук (Кроме звуков битвы и игрока).
OnHearPlayer
Выполняется, когда NPC слышит игрока.
OnHearCombat
Выполняется, когда NPC слышит звуки боя.
OnFoundEnemy <имя объекта(en)>
Выполняется, когда этот NPC установил прямую видимость с врагом (указанной энтитей).
OnLostEnemyLOS
Выполняется, когда этот NPC потерял прямую видимость с врагом.
OnLostEnemy
Выполняется, когда этот NPC потерял врага. Обычно это происходит, когда враг был убит/убран, или потому что NPC выбрал новую, более опасную цель.
OnFoundPlayer <имя объекта(en)>
Выполняется, когда этот NPC установил прямую видимость с врагом, и этот враг - игрок.
OnLostPlayerLOS
Выполняется, когда этот NPC потерял прямую видимость с врагом, и этот враг - игрок.
OnLostPlayer
Выполняется, когда этот NPC потерял врага, и этот враг был игрок. Обычно это происходит, когда враг был убит/убран, или потому что NPC выбрал новую, более опасную цель.
OnDamagedByPlayer
!activator = атакующий или водитель транспорта (если активен friendly fire).
!caller = this entity
Выполняется, когда этот NPC ранен игроком.
OnDamagedByPlayerSquad
!activator = атакующий или водитель транспорта (если активен friendly fire).
!caller = this entity
Выполняется, когда этот NPC ранен игроком ИЛИ одним из участников отряда игрока.
OnDenyCommanderUse
Выполняется, когда этот NPC не был принят в отряд игрока.
OnWake
Выполняется, когда этот NPC выходит из состояния сна.

Основные:

OnUser1 to OnUser4
Эти выходы срабатывают в ответ на срабатывание соответствующего входа от FireUser1 до FireUser4; см. Входы и выходы пользователя.
OnKilled  (только в Серия игр Left 4 DeadСерия игр Left 4 Dead)
Этот вывод срабатывает, когда объект убит и удален из игры.
  • OnAlyxStartedInteraction (Во всех играх начиная с Half-Life 2: Episode One)
Выполняется, когда Аликс начинает взаимодействовать с этой энтитей.
  • OnAlyxFinishedInteraction (Во всех играх начиная с Half-Life 2: Episode One)
Выполняется, когда Аликс закончила взаимодействовать с этой энтитей.