L4D Level Design:ru/Panic Events:ru

From Valve Developer Community
Jump to: navigation, search
English (en)русский (ru)中文 (zh)
... Icon-Important.png

Panic Event’ы – это события, которые сопровождаются атакой Орды Инфицированных на Выживших. Однако вы имеете ограниченный контроль над этими событиями, но, по крайней мере, можете указать места появления Инфицированных.

Примеры Panic Event’ов вы можете пронаблюдать на таких картах, как 2-я глава кампании No-Mercy, где нужно запустить с помощью щитка открывающуюся дверь, или когда вы призываете лифт в 4-ой главе этой же кампании.

func_elevator который мы наблюдали на карте tutorial_standards имеет кнопку, которую вы используете чтобы вызвать лифт, посылает output для вызова Panic Event.

Размещение info_director

Самое первое, что вам потребуется, чтобы создать Panic Event – это info_director.

Перейдите в Entity tool Mt-entities.png и выберите "info_director" на панели Objects из выпадающего списка.

Кликнув левой кнопкой мыши, разместите энтити в окне проекции Camera редактора.

Откройте свойства энтити посредством нажатия Alt+ Enter.

Свойства info_director.

В поле Name впишите "director" – это будет имя, через которое мы будем обращаться к этой энтити с помощью системы I\O.

Теперь выберите Selection tool Hammer select.png нажав Esc , и дважды кликните на энтити, от которой вы хотели бы послать инпут к info_director, т.е. которая будет вызывать Panic Event. В прошлом уроке мы рассматривали создание лифтов, давайте обратимся к этому уроку. Откройте энтити logic_relay которую мы использовали для спуска лифта, ее имя "elevator_down_relay".

Перейдите на вкладку Outputs этой энтити.

Добавление аутпута в logic_relay для начала panic event’a.

Нажмите Add... чтобы создать новый аутпут.

Измените My output named на "OnTrigger".

Измените Targets entities named на "director".

Измените Via this input на "PanicEvent".

Поставьте галочку напротив пункта Fire once only.

Это укажет нашей энтити, когда она будет активирована, что директор будет выполнять Panic Event только 1 раз.

Теперь нажимайте F9 чтобы откомпилировать и запустить вашу карту.

Разметка Nav-файла

В игре вам потребуется внести некоторые изменения в nav-файл, чтобы Panic Event работал корректно.

Note.pngNote:Чтобы работать на уровне без отсоединений от сервера (такое бывает), используйте команду консоли "sv_lan 1".

Когда уровень, наконец, загрузится, наберите следующие команды в консоли:

director_stop
nb_delete_all
nav_edit 1
z_debug 1


Если у вас есть собственный конфиг-файл для редактирования Nav-файла, запустите его с помощью команды exec (например, exec nav.cfg).

Переместитесь туда, где будет происходить Panic Event. На карте tutorial_standards, идите к кнопке рядом с лифтом.

Выделите область вокруг Panic Event’а и убедитесь что вы выбрали достаточно площади, чтобы Орда могла прибежать сюда.

Итак, мы имеем выделенные области. Теперь откройте консоль и наберите "mark BATTLEFIELD" , после чего нажмите клавишу Enter.

Nav-области, промаркированные с атрибутом BATTLEFIELD.

You'll notice that in tutorial standards, it has included areas that the survivors can't get to as BATTLEFIELD.

Области с параметром BATTLEFIELD могут указать Выжившим, куда возможно пойти.

Атрибут BATTLEFIELD в Nav-сетке указывает, где будет находиться Panic Event, и где могут появиться Инфицированные. Область в1500 юнитов вокруг Выживших считается нормой, при которой Директор сможет нормально создавать инфицированных. Используя атрибуты BATTLEFIELD, которые могут находиться значительно дальше нормы – Это позволяет создавать такие моменты когда Инфицированные набегают на вас издалека.

Note.pngNote:BATTLEFIELD-области обязательно должны быть связаны с другими областями. Если посреди области, промаркированной под BATTLEFIELD атрибут, есть области, не промаркированные им, то когда Выжившие «наступят» на него, директор будет думать, что Panic Event закончен, и можно спаунить обычные толпы зомби в дополнение к толпам зомби Panic Event’а.

Теперь найдите посреди области, помеченной атрибутом BATTLEFIELD, позиции, которые вам кажутся стратегически полезными, где выжившие могут обороняться. Чтобы Выжившие знали, что это отличные позиции для боя и обороны, нужно промаркировать их атрибутом"BATTLESTATION".

Пометка области атрибутом BATTLESTATION.

Игровой Инструктор

Когда вы играете в Left 4 Dead, вы наверняка замечаете различные текстовые сообщения, которые могут содержать как игровые советы так и предупреждения, пояснения и т.д. Мы назвали эту систему Игровым Инструктором.

Panic Event’ы, которые мы создали в Left 4 Dead, сопровождаются сообщением Игрового Инструктора, которое напрямую связано с ними.

Сообщение Игрового Инструктора для кнопки.

Чтобы создать его по своему усмотрению, выберите Entity tool Mt-entities.png и выберите "info_game_event_proxy" из выпадающего списка Objects.

Поместите энтитю там, где вы хотели бы увидеть сообщение.

Откройте его свойства, нажав Alt+ Enter.

Свойства info_game_event_proxy.

Присвойте ему уникальное имя Name.

Для поля Name of event to generate установите "explain_elevator_button".

Измените Range на "75".

Теперь перейдите на вкладку Flags.

Вкладка Flags энтити info_game_event_proxy.

Установите галочку напротив Fire Automatically When First Seen.

Это означает, что данное сообщение Игрового Инструктора будет отображаться на экране всякий раз, когда игрок на него посмотрит.

Теперь нам необходимо добавить кое-какой аутпут в info_game_event_proxy , чтобы выключить его, когда кнопка будет нажата.

Дважды кликните по func_button , которую вы использовали для активации elevator_down_relay , чтобы открыть её свойства.

Переключитесь на вкладку Outputs.

Вкладка Outputs энтити func_button.

Нажмите на Add... , чтобы добавить новый аутпут. Укажите следующие его параметры:

  • My output named : "OnPressed".
  • Target entities named: энтити, названная "button_proxy" или то имя, которое вы дали энтити info_game_event_proxy.
  • Via this input: "Kill".

Этот аутпут удалит info_game_event_proxy с уровня, как только кнопка будет нажата.