Режим сражения

From Valve Developer Community
< Ru
Jump to navigation Jump to search
English (en)Deutsch (de)Русский (ru)中文 (zh)Translate (Translate)
Info content.png
This page needs to be translated.
This page either contains information that is only partially or incorrectly translated, or there isn't a translation yet.
If this page cannot be translated for some reason, or is left untranslated for an extended period of time after this notice is posted, the page should be requested to be deleted.
Also, please make sure the article complies with the alternate languages guide.(en)

The Versus or "VS" maps that shipped with Left 4 Dead are modified versions of the co-op campaign maps.

Основы

There are a few things that you'll need to change to make the level more suitable for VS gameplay.

  • Players on the Infected team can spawn where Survivors can't go. You will need to block the infected team or cover up things that they shouldn't see.
  • "Visual cues" for routes that are blocked off for the Infected team will need to be added.
  • Infected ladders should be visible to players on the Infected team.
  • Breakable walls need a visual cue for the Infected team.
  • All Rescue Closets should be removed. You can't rescue a Survivor from a closet in Versus.
  • Health Kits at the end checkpoints should be removed. Health counts toward scores in VS, so we remove the ones in the end checkpoint rooms.
  • In Finales, the entity env_outtro_stats should be removed.
  • Triggers that should only be triggered by Survivors should have a filter so that Infected players don't trigger them.

You can open the "tutorial_standards_vs.vmf" map to see some examples of these.

Блокировка заражённых

Brushes with the "Player Clip" texture on them are meant to block Survivor players. Brushes with the "Clip" texture on them are meant to block everyone. There's a brush entity called "func_playerinfected_clip" that you will need to use to block players on the Infected team.

To create a func_playerinfected_clip, create a brush with the Block Tool.

Assign the "tools/toolsnodraw" texture to the entire brush.

Текстура tools/toolsnodraw.

Select the brush and press Ctrl+T to turn it into a brush entity.

Change the Class to "func_playerinfected_clip".

Свойства объекта func_playerinfected_clip.

Click Apply (Применить).

Typically, these are placed to block hunters from leaping out of the map. We also may add some fences or walls to keep the infected players inside.

If there are areas where you block the infected players but they're essentially running into an invisible wall, you'll need to place some kind of visual cue so that the players don't keep trying to get past it.

Create another brush using the Block Tool.

Apply the "tools/tools_nodraw" texture to it.

Go into Texture application mode.

Select the front face of the brush.

Click on the Browse (Обзор) button in the Face Edit Sheet (Редактор граней) dialog box.

Select the "tools/wrongway" texture.

Текстура tools/wrongway.

Double-click it to make it the current texture.

Click Apply (Применить) in the Face Edit Sheet (Редактор граней) to apply it to the front face.

Текстура неправильного пути на элементе карты.

Go to Selection Mode and select the entire brush.

Press Ctrl+T to turn it into a brush entity.

Change the Class (Класс) to "func_illusionary".

Свойства объекта func_illusionary.

This will show the "wrongway" texture when the player walks up to it.

Note.pngПримечание: The func_illusionary brush entity can be expensive on low end machines. Use it sparingly rather than covering every part of the level that is blocked for Infected players.

Визуализация лестниц для заражённых

The VS maps in Left 4 Dead have an animated texture to show the infected players that they can climb in certain areas.

Select the front face of your func_ladder in Texture application mode and click on the Browse (Обзор) button.

Select the texture "tools/climb_versus".

Текстура tools/climb_versus.

Double-click on it to make it the current texture.

Click Apply (Применить) in the Face Edit Sheet (Редактор граней) to apply it to the front face of the func_ladder.

Применение текстуры climb_versus к лестнице для заражённых.
Note.pngПримечание: We change the Texture scale so that the ladder shows the climb animation neatly within the func_ladder face. This example has been scaled to 0.35 x 0.35. The Justify L button was also used, which aligns the texture on the left edge of the face.

Создание индикаторов разрушаемых стен

The infected sometimes spawn behind breakable walls or maybe they want to find another way to get to the survivors. We place a func_illusionary brush entity wherever there is a breakable wall so that infected players know where they can pass through in ghost mode or where they can strike to break the wall.

Create a brush with the Block Tool.

Shape it and position it so that it is slightly thicker than the breakable wall brush entity.

Apply the "tools/tools_nodraw" texture to the entire brush.

Go into Texture application mode and select the front and back sides of the brush. (You can select multiple faces by holding down the Ctrl key when you LMB click).

Click on the Browse (Обзор) button in the Face Edit Sheet (Редактор граней).

Select the texture "effects/tankwall".

Текстура effects/tankwall.

Double-click on it to make it the current texture.

Click on the Apply (Применить) button in the Face Edit Sheet (Редактор граней) to apply it to the front and back faces of the brush.

Применение текстуры стены Танка к грани элемента.

Go into Selection mode and select the entire brush.

Press Ctrl+T to turn the brush into a brush entity.

Change the Class (Класс) to "func_illusionary" and click Apply (Применить).

Свойства объекта func_illusionary.

Change the Name to "breakwall_illusionary".

Click Apply (Применить) and close the properties window.

Go to the breakable wall and double-click on it to open its properties.

Switch to the Outputs (Выходы) tab.

Вкладка Выходы объекта func_breakable.

Add an output with the following:

  • My output named (Имя выхода): "OnBreak"
  • Targets entities named (Целевой объект): "breakwall_illusionary"
  • Via this input (Через этот вход): "Kill"

This will get rid of the breakwall visual cue once the wall has been broken.

Добавление фильтров для объёмных переключателей

If you have any trigger brushes in your level, such as a trigger_once brush, and you have the flag set to "Clients", you will need to add a filter so that only survivors will trigger them.

Вкладыка Признаки объекта переключателя лестницы.

If you open the properties on a trigger brush and switch to the Flags tab, check to see if it has the Clients box checked.

If you only want the survivors to be able to trigger this brush, then you'll need to follow these steps.

Go to the Entity Tool and select "filter_activator_team" from the Objects (Типы) list.

Выбор filter_activator_team из выпадающего списка Типы.

Place the filter_activator_team near your trigger brush.

Open up its properties.

Switching the Filter Team Number to Survivor.

Change the Name to "survivor_filter".

Change the Filter Team Number to "Survivor".

Open up your trigger brush properties.

Assigning the survivor_filter to the trigger.

Change the Filter Name to "survivor_filter".

Удаление объектов не используемых в режиме сражения

An easy way to find entities in Hammer is to use the Entity Report tool.

Under the Map (Карта) menu, pick Entity Report... (Отчёт об объектах...)

Выбор пункта Отчёта об объектах из меню Карта.

You can search for specific classes of entities.

Выбор env_outtro_stats из списка Класс.

Click on the box next to "By class (Класс):".

Select "env_outtro_stats" from the list.

This will create a list of entities in your map that match the class. You can then select on the entity in the list and go to it, delete it, or open up its properties.

Delete the env_outtro_stats entity.

Find and delete all the "info_survivor_rescue" entities from the map. There are no Survivor rescue points in Versus maps.

Note.pngПримечание: Don't forget to make nav edits if you remove a Rescue Closet. You will also need to do a nav_analyze if you remove the info_survivor_rescue entities so that the nav mesh attribute of "RESCUE_CLOSET" will be removed.