Ru/Team Fortress 2/Creating a Payload Map

Этот урок поможет вам создать такую карту, как pl_goldrush, то есть карту типа "Payload".
Этот урок подрузамевает, что вы уже умеете создавать точки возрождения и стандартные элементы карты, тут синяя команда атакует, а красная защищается, у вас должны быть базовые заготовки уровня чтобы тележку было где покатать и вы должны знать где вы разместите контрольные точки куда телега будет ехать. С помощью этого урока вы создадите рабочую тележку и 2 точки на первом уровне карты.
== Настраиваем уровень ==
В этом уроке мы создадим 1ин уровень, но тут также описано создание 2го.
*Создайте и назовите его GameRules.
*Создайте и выбирите вкладку Outputs.
::
	My Output 	Target Entity	Target Input 	Parameter	Delay	Only Once
	OnMapSpawn 	GameRules 	SetRedTeamRole 	1 	0.00 	Нет
	OnMapSpawn 	GameRules 	SetBlueTeamRole 	2 	0.00 	Нет
	OnMultiNewMap	GameRules 	SetRedTeamRespawnWaveTime 	4 	0.00 	Нет
	OnMultiNewMap	GameRules 	SetBlueTeamRespawnWaveTime	8 	0.00 	Нет
*Создайте и назовите его CP_master, а также настройте его таким образом.
::
Property Name 	Description 	Value
Name 	Name of the entity	CP_Master
Start Disabled 	Self-explanatory 	No
Cap Layout 	Self-explanatory 	
Restrict team from winning 	Self-explanatory 	Red
Switch teams on map win? 	Self-explanatory 	Yes
Scoring Style 	Self-explanatory 	Add team score for each captured point
Play all rounds before changelevel 	Self-explanatory 	Only changelevel after all mini-rounds have been played to completion
Rate at which to give partial cap points for area captures	Self-explanatory 	1
*Создайте и назоваите его Round_A, подрузамевая что в карте всего 1 раунд и 2 контрольные точки.
::
Property Name 	Description 	Value
Name 	Name of the entity 	Round_A
Start Disabled 	Self-explanatory 	No
Print Name 	Self-explanatory 	
Priority 	Higher rounds are played first	0
Control points in this round	Self-explanatory 	CP_A_1 CP_A_2
Restrict team from winning 	Self-explanatory 	Red
Если у вас 2 раунда то priority Round_A должна быть 1, а Round_B - ноль.
Этот урок подрузамевает что вы умеете пользоваться и не застряните здесь.
== Создание тележки ==
thumb|right|200px|Стандартная тележка.
Эта секция поможет вам создать полностью рабочую тележку.
*Создайте браш размером с модель тележки, используя текстуру tools/toolsclip и сделав её . Дайте ему имя Bomb_Train.
*Создайте и измените world model на models/props_trainyard/bomb_cart.mdl, а также имя на Bomb_Model и не забудьте сменить parent на Bomb_Train. Сейчас вы можете подстроить размеры Bomb_Train под модель телеги.
*Используя текстуруtools/toolstrigger создайте "коробку" вокруг вагонетки, она позволит игрокам толкать телегу и захватывать точки. Сделайте браш и назовите его Bomb_CapArea также установить параметр parent Bomb_Train. Этот браш должен быть немного больше вагонетки чтобы игроки могли её толкать.
*Создайте и другую коробку используя текстуру tools/toolstrigger и снова вокруг вагонетки, примерно такой-же величины, как Bomb_CapArea, это будет зона лечения. Сделайте её назвав Bomb_Dispense и снова измените parent на Bomb_Train.
*Создайте и разместите её там, откуда будет выходить лечебная линия (обычно из трубы). Назовите его Bomb_DispenseBeam сменив parent на Bomb_Train (team смените на Blue и custom touch trigger на Bomb_Dispense, больше для лечебной зоны ничего не потребуется)
*Разместите над тележкой и назовите его Bomb_Remap.
*В конце разместите также над вагононеткой и назовите его Bomb_LogicCase.
== Активируем вагононетку ==
Сейчас у вас доллжно быть что-то похожее на тележку окружённую 3мя коробками и несколькими квадратиками, в этой секции вы настроите Outputs и Inputs, чтобы тележка начала работать.
=== Зона толкания ===
Сначала настроим зону для толкания телеги.
*Настроим Bomb_CapArea, мы будем использовать CP_A_1, как первую контрольную точку
::
Property Name 	Description 	Value
Name 	Name of the entity 	Bomb_CapArea
Start Disabled 	Self-explanatory 	No
Parent 	Self-explanatory 	Bomb_Train
Control Point 	The cap assigned to this trigger 	CP_A_1
Can RED cap? 	Self-explanatory 	No
Can BLUE cap? 	Self-explanatory 	Yes
Number of RED players to cap 	Self-explanatory 	1
Number of BLUE players to cap	Self-explanatory 	1
RED spawn adjust 	How much to change the spawn time on cap	0
Blue spawn adjust 	How much to change the spawn time on cap	0
Time to cap 	Self-explanatory 	99999
*Теперь нажмём на вкладку Outputs и создадим два новых Output, Watcher_A мы создадим потом, он будет показывать движение вагонетки на HUD'е.
::
	My Output 	Target Entity	Target Input 	Parameter	Delay	Only Once
	OnNumCappersChanged	Bomb_Remap 	InValue 	<none> 	0.00 	Нет
	OnNumCappersChanged	Watcher_A 	SetNumTrainCappers	<none> 	0.00 	Нет
=== Remap ===
Наконец мы можем изменить настройки Bomb_Remap, она ограничивает скорость вагонетки на которую могут влиять игроки (Можно создать огромное количество скоростей).
*Меняем настройки Bomb_Remap.
::
Property Name 	Description 	Value
Name 	Name of the entity	Bomb_Remap
Start Disabled 	Self-explanatory 	No
Minimum Valid Input Value 	Self-explanatory 	0
Maximum Valid Input Value 	Self-explanatory 	3
Output Value When Input Is Min	Self-explanatory 	0
Output Value When Input Is Max	Self-explanatory 	3
*Теперь выбирите вкладку Outputs и создайте один новый, он будет отсылать команды для Bomb_LogicCase.
::
	My Output	Target Entity 	Target Input	Parameter	Delay	Only Once
	OutValue 	Bomb_LogicCase	InValue 	<none> 	0.00 	Нет
=== Logic Case ===
Сейчас нам предстоит настроить Bomb_LogicCase для смены скорости поезда.
*Откройте настройки Bomb_LogicCase.
::
Property Name	Description 	Value
Name 	Name of the entity	Bomb_LogicCase
Case 01 	Self-explanatory 	0
Case 02 	Self-explanatory 	1
Case 03 	Self-explanatory 	2
Case 04 	Self-explanatory 	3
Остальное можно проигнорировать.
*Откройте вкладку Outputs и создайте несколько новых команд.
::
	My Output	Target Entity	Target Input 	Parameter	Delay	Only Once
	OnCase01 	Bomb_Train 	SetSpeedDirAccel	0 	0.00 	Нет
	OnCase02 	Bomb_Train 	SetSpeedDirAccel	0.5 	0.00 	Нет
	OnCase03 	Bomb_Train 	SetSpeedDirAccel	0.75 	0.00 	Нет
	OnCase04 	Bomb_Train 	SetSpeedDirAccel	1 	0.00 	Нет
=== Вагонетка ===
Теперь мы имеем честь настроить Bomb_Train, в данном уроке описывается добавление звуков тележки только от pl_goldrush.
*Начнём настраивать Bomb_Train, зная что Track_A_01 начало железной дороги.
::
Property Name 	Description 	Value
Name 	Name of the entity 	Bomb_Train
First Stop Target 	Self-explanatory 	Track_A_01
Max Speed 	Self-explanatory 	90
Change Velocity 	How the acceleration is handled	Linear blend
Distance Between the Wheels	Self-explanatory 	20
Height above Track 	Self-explanatory 	1
Damage on Crush 	Self-explanatory 	99999
Move Sound 	Self-explanatory 	Cart.Roll
Start Sound 	Self-explanatory 	Cart.RollStart
Stop Sound 	Self-explanatory 	Cart.RollStop
Manual Train Speed 	Self-explanatory 	On
Manual Accel Speed 	Self-explanatory 	70
Manual Decel Speed 	Self-explanatory 	150
Bomb_Train не требует Outputs, но нужно поставить несколько галочку в flags.
*Откройте вкладку flags и поставьте галочки рядом с No User Control и Is unblockable by player.
== Создаём дорогу ==
thumb|right|200px|Часть дороги.
Теперь у вас есть тележка, но ей негде кататься.
*Создайте и расположите там где хотите начать дорогу, назвав её Track_A_01.
*Создайте другую и поставьте туда, куда вагонетка поедет дальше, назвав её Track_A_02.
*Измените в Track_A_01 Next Stop Target на Track_A_02.
*Продолжайте создавать новые и называйте, привязывайте их друг-к-другу так, как должен продвигаться ваш путь.
Чтобы детализировать дорогу, как в TF2, создайте для создания модели железной дороги и разместите там где вам угодно. Модели которые вам потребуются находятся тут props_mining/track*.mdl. Для контрольной точки используйте и модель props_trainyard/track_midcap.mdl. назвав её CP_A_1_Model.
== Создание контрольной точки ==
Вы можете создать от 1 до 3 контрольных точек 2х типов, обычная точка и финальная точка.
Внимание: Если вы никогда раньше не создавали контрольных точек, то прочтите это чтобы узнать детали о правильной настройке !
=== Обычная точка ===
thumb|right|200px|Обычная контрольная точка.
Во первых создайте и назовите его CP_A_1_Relay, эта вещь используется для создания некоторых действий после захвата точки и может быть использованно для открытия или закрытия ворот после захвата точки, используйте эту вещь для добавления времени и для изменения скинов некоторых моделей.
*Настройте outputs CP_A_1_Relay.
::
	My Output	Target Entity	Target Input 	Parameter	Delay	Only Once
	OnTrigger	Bomb_CapArea 	CaptureCurrentCP	 	0.00 	Нет
	OnTrigger	CP_A_1_Model 	Skin 	1 	0.00 	Нет
Вы должны найти в середине точки, к примеру это Track_A_24.
*Настройте outputs находящегося посередине точки.
::
	My Output	Target Entity	Target Input	Parameter	Delay	Only Once
	OnPass 	CP_A_1_Relay 	Trigger 	 	0.00 	Да
	OnPass 	CP_A_1 	SetOwner 	3 	0.20 	Нет
Этот урок подрузамивает что вы умеете создавать , назовите его CP_A_1 и смените default owner на Red.
*Не забудьте в настройках сменить warning type на No Announcements, все анонсы будут вещаться с помощью .
*Откройте Outputs и создайте следущие.
::
	My Output 	Target Entity	Target Input 	Parameter	Delay	Only Once
	OnCapTeam2	Track_A_23 	DisablePath 	 	0.00 	Нет
	OnCapTeam2	Bomb_CapArea 	SetControlPoint	CP_A_2 	0.00 	Нет
Это отключит кусок дороги посередине точки и не даст телеге катиться назад (первый output), а также изменит следущую контрольную точку (второй).
=== Последняя точка ===
Последняя точка делается также как и обычная, одно отличие - что вы хотите сделать с ней. 
*Главное отличие - мы должны отключить Bomb_CapArea и что-то ещё что вы хотите добавить для вашей карты, вы можете использоваться и последнюю контрольную точку чтобы отключить Bomb_CapArea.
== HUD/Train Watcher ==
Последнее, что надо сделать - добавить вагонетку на HUD, а также разные оповещения.
*Создайте и назовите его Watcher_A.
*Здесь подразумевается что полностью настроены.
::
Property Name 	Description 	Value
Name 	Name of the entity	Watcher_A
Start Disabled 	Self-explanatory 	No
Train to watch 	Self-explanatory 	Bomb_Train
Node that the path starts at	Self-explanatory 	Track_A_01
Node that the path ends at 	Self-explanatory 	Track_A_43
Linked PathTrack 1 	Self-explanatory 	Track_A_24
Linked CP 1 	Self-explanatory 	CP_A_1
Linked PathTrack 2 	Self-explanatory 	Track_A_43
Linked CP 2 	Self-explanatory 	CP_A_2
Linked PathTrack 3 	Self-explanatory 	
Linked CP 3 	Self-explanatory 	
Min Speed for Speed level 1 	Self-explanatory 	1
Min Speed for Speed level 2 	Self-explanatory 	60
Min Speed for Speed level 3 	Self-explanatory 	80
*Теперь настроим вкладку Outputs.
::
	My Output 	Target Entity	Target Input 	Parameter	Delay	Only Once
	OnTrainStartRecede	Bomb_Train 	SetSpeedDirAccel	-0.2 	0.00 	Нет
Здесь мы делаем так что поезд будет двигаться назад со скоростью 0.2 (- означает заднюю скорость).
==Финальный взрыв==
Ваша карта сейчас вполне работает, но эффект финального взрыва сделает вашу карту только лучше. Сейчас мы разберем как это сделать.
Здесь будет разобрано простое место взрыва, без разрушения территории (как было в необновленном варианте Badwater Basin)
Подразумевается, что сама точка (team_control_point) создана и настроена.
===Модернизируем вагонетку===
Сделаем некоторые преобразования с моделью тележки, чтобы она реалистично адала в яму.
*Заменить созданную модель тележки (prop_dynamic с именем Bomb_Model) на prop_physics_override, с такими же именем и моделью.
Теперь модель тележки обладает физикой.
*Теперь создадим phys_constraint с параметрами:
::
Property Name	Value
Name 	Bomb_Const
Entity 1 	Bomb_Train
Entity 2 	Bomb_Model
Это "прицепит" модель тележки к Bomb_Train (которая по сути и едет)
===Яма для взрыва===
thumb|right|300px|Место для взрыва в Hammer'e
====Модель ямы====
Теперь сделаем яму, куда упадет тележка.
*Создайте prop_static с моделью models/hybridphysx/badwater_destruction_before.mdl и еще один с моделью models/props_farm/sewer_cap001a.mdl. И подгоните их.
====Двери в яму====
Если ваша яма НЕ будет закрытой и открываться, как в GoldRush\Badwater, то этот пункт можно пропустить.
*Создайте две брашных энтити func_door, покрытых текстурой glass/glasswindow002a на верхнем фейсе.
Параметры для обеих func_door одинаковые:
::
Property Name 	Value
Name 	cap_door
Speed 	700
Move Direction (Pitch Yaw Roll)	0 270 0
Если двери открываются не в ту сторону, то поизменяйте параметр Move Direction (Pitch Yaw Roll).
*Во вкладке "Flags" уберите галочку из "Touch Opens" и поставьте на Toogle.
*У ОДНОЙ из дверей настраиваем Outputs:
::
	My Output 	Target Entity	Target Input	Parameter	Delay	Only Once
	OnFullyOpen	cap_door 	kill 	 	0.00 	No
Это уничтожит двери после их открытия, т.к.они нам больше не понадобятся.
*Где-то в яме создайте trigger_hurt с параметрами Damage - 1000, Damage Cap - 1000
*И если вы не хотите, чтобы на дверях можно было поставить строение, то создайте брашную энтитю func_nobuild и укажите Team - Any.
====Бочки в яме====
*Создайте несколько (сколько считаете нужным) prop_dynamic_override с моделью models/props_badlands/barrel03.mdl и все с Name - End_Barrels
===Взрыв===
Подведите финальный path_track к кромке ямы. Теперь будем настраивать многочисленные Outputs и создавать эффекты.
*Создайте около места взрыва два ambient_generic.
Параметры Первого:
::
Property Name	Value
Name 	pre_kaboom
SoundName 	Cart.Trigger
Второго:
::
Property Name	Value
Name 	kaboom
SoundName 	Cart.Explode
*Создайте по центру ямы чуть ниже дверей info_particle_system
::
Property Name 	Value
Name 	pit_effect
Particle System Name 	cinefx_goldrush
Pitch Yaw Roll (Y Z X)	-90 0 0
*Создайте брашную энтитю trigger_multiple и назовите KaBoomZone
Настроим Outputs:
::
	My Output 	Target Entity	Target Input	Parameter	Delay	Only Once
	OnStartTouch	!activator 	SetHealth 	-1000 	0.00 	No
Outputs для path_track
::
	My Output	Target Entity	Target Input 	Parameter	Delay	Only Once
	OnPass 	cap_door 	Open 	 	0.00 	No
	OnPass 	Bomb_Train 	kill 	 	0.00 	No
	OnPass 	Bomb_Const 	Break 	 	0.01 	No
	OnPass 	pre_kaboom 	PlaySound 	 	1.00 	No
	OnPass 	kaboom 	PlaySound 	 	2.00 	No
	OnPass 	pit_effect 	Start 	 	2.00 	No
	OnPass 	end_barrels 	kill 	 	2.00 	No
	OnPass 	Bomb_Model 	kill 	 	2.00 	No
	OnPass 	Bomb_CapArea 	CaptureCurrentCP	 	2.00 	No
	OnPass 	Bomb_CapArea 	kill 	 	2.00 	No
	OnPass 	KaBoomZone 	Enable 	 	2.00 	No
	OnPass 	KaBoomZone 	Disable 	 	2.10 	No
Расшифровка:
0.0:
*открываются двери в яму (если у вас нет дверей, этот output ненужен)
*уничтожается "двигательная" часть тележки
0.01 - модель тележки становится свободной, и падает
1.0 - звучит "бип" - тележка готова к взрыву
2.0:
*звучит взрыв
*стартует эффект взрыва
*уничтожаются бочки на дне ямы
*уничтожается модель тележки
*захватывается последняя точка
*уничтожается зона толкания
*запускается "убивалка" игроков
2.1 - останавливается "убивалка"
Просьба к знающим англ.язык перевести часть "Финальный взрыв" и дополнить ею