Ru/Team Fortress 2/King of the Hill: Difference between revisions

From Valve Developer Community
Jump to navigation Jump to search
m (I guess I didn't look at this page close enough)
No edit summary
Line 5: Line 5:




Этот туториал расскажет вам как делать карту в режиме "Царь горы" и предполагает, что вы знаете основы создания контрольной точки.
Режим «Царь горы» впервые появился как пользовательская модификация, однако его работа обеспечивалась не серверной надстройкой, а логикой, записанной в карты. Позже он был добавлен в игру официально с Бесклассовым обновлением.


==Требуемые энтити==
«Царь горы» (King of the Hill или KOTH) — это режим игры, в котором команды соревнуются в удержании точки в течение некоторого времени (трех минут в официальных картах). При захвате точки включается обратный отсчет времени для команды, а когда точка переходит к противнику, он останавливается и начинает идти время второй команды. Побеждает та команда, счетчик которой первым достигает нуля.
* [[team_control_point_master]]
* [[team_control_point]]
* [[prop_dynamic]]
* [[logic_auto]]
* [[trigger_capture_area]]
* [[tf_logic_koth]]


Сейчас мы настроим энтити для "Царя горы".
{{note|Игра распознает карты этого режима по префиксу «koth_» в имени файла.}}


==Создание контрольной точки==
==Создание карты в режиме «Царь горы»==


Для начала мы сделаем контрольную точку. Нам нужны:
{{note|Здесь и далее я буду употреблять понятие «[[Entity:ru|сущность]]» ([[Entity|entity]]).}}


* [[team_control_point_master]]
===Сущности===
* [[team_control_point]]
Чтобы превратить обыкновенную контрольную точку в подходящую для «Царя горы», понадобятся следующие сущности:
* [[prop_dynamic]]
* [[trigger_capture_area]]


*<code>[[logic_auto]]</code>
*<code>[[trigger_capture_area]]</code>
*<code>[[tf_logic_koth]]</code>


Разместите [[team_control_point_master]] где вам хочется. Настройте её как на картинке:
Не забывайте называть сущности, иначе будет невозможно обеспечить их взаимодействие, а их имена будут показаны  <font color="red">красным</font>. Я буду называть сущности именем их типа, потому что для «Царя горы» нужно лишь по одной сущности каждого типа.


[[Image:Koth_team_control_point_master.jpg]]
===Размещение контрольной точки===
''Существует отдельная [[TF2/Creating a Capture Point:ru|статья]] с подробным описанием создания контрольной точки.''


* Name: master_control_point {{Note|Вы можете назвать как вам хочется, но это название понадобится нам позже}}
===Программирование механики===
* Restrict team from winning: Neither
После размещения контрольной точки откройте свойства вашей <code>trigger_capture_area</code>.
* Switch teams on map win?: No
* Scoring style: Add team score for each round


{| border=1 cellpadding="2" cellspacing="1"
|- align=left style="background:#DCDCDC; color:black"
!  !! My Output > !! Target Entity !! Target Input !! Parameter !! Delay !! Only Once
|-
| [[Image:Io11.png]] || OnCapTeam1 || tf_gamerules || SetRedKothClockActive ||  || 0.00 || No
|-
| [[Image:Io11.png]] || OnCapTeam2 || tf_gamerules || SetBlueKothClockActive ||  || 0.00 || No
|}


Обрабатывать эти события необходимо, потому что в игре нет автоматического механизма запуска счетчиков времени «Царя горы». Также, например, можно менять время возрождения для команд после захвата точки по входам (target inputs) <code>SetBlueTeamRespawnWaveTime</code> и <code>SetRedTeamRespawnWaveTime</code>.


Разместите [[prop_dynamic]] там, где вам хочется сделать контрольную точку и настройте как на картинке:
Следом нужно настроить <code>tf_logic_koth</code>. Откройте ее свойства. Эта сущность задает основные параметры игрового режима: время удержания и время с начала раунда до открытия точки для захвата. Их значения выставлены по умолчанию: соответственно на три минуты и на 30 секунд.
 
[[Image:Koth_prop_dynamic.jpg]]
 
* World Model: cap_point_base.mdl
* Name: prop_cap_1 {{Note|Вы можете назвать как вам хочется, но это название понадобится нам позже}}
* Skin: 0
 
Разместите [[team_control_point]] над [[prop_dynamic]], как вы делаете это с любой контрольной точкой
 
[[Image:Koth_team_control_point.jpg]]
 
* Name: control_point_1 {{Note|(Вы можете назвать как вам хочется, но это название понадобится нам позже)}}
* Print Name: koth_example_cap (Это название печатается на экране когда кто-либо захватывает точку)
 
Теперь разместите [[trigger_capture_area]] вокруг контрольной точки.


[[Image:Koth_trigger_capture_area_1.jpg]]
В сущность <code>logic_auto</code> добавьте следующие входы (inputs):


* Name: capture_area_1 {{Note|Вы можете назвать как вам хочется, но это название понадобится нам позже}}
{| border=1 cellpadding="2" cellspacing="1"
* Control Point: control_point_1 {{note|Это параметр должен указывать на название (name) [[team_control_point]]}}
|- align=left style="background:#DCDCDC; color:black"
* Can RED Cap?: Yes
!  !!My Output > !! Target Entity !! Target Input !! Parameter !! Delay
* Can BLUE Cap: Yes
 
Следующие параметры могут быть настроены "по вкусу", но на официальных картах они таковы:
 
* Number of RED players to cap: 2
* Number of BLUE players to cap: 2
* Red Spawn Adjust: 0
* Blue Spawn Adjust: 0
* Time to cap (sec): 6
 
==Outputs==
 
Теперь необходимо настроить аутпуты [[trigger_capture_area]]:
 
[[Image:Koth_tca2.jpg]]
 
Таблица аутпутов:
 
:{|{{standard-table}}
|-
|-
!  !! My Output > !! Target Entity !! Target Input !! Parameter !! Delay !! Only Once
|[[Image:Io11.png]]||OnMapSpawn || tf_gamerules || SetBlueTeamGoalString || #koth_setup_goal || 0.00
|-
|-
| [[Image:Io11.png]] || OnCapTeam1 || prop_cap_1 || Skin || 1 || 0.00 || No
|[[Image:Io11.png]]||OnMapSpawn || tf_gamerules || SetRedTeamGoalString || #koth_setup_goal || 0.00
|-
|-
| [[Image:Io11.png]] || OnCapTeam2 || prop_cap_1 || Skin || 2 || 0.00 || No
|[[Image:Io11.png]]||OnMapSpawn || tf_gamerules || SetRedTeamRespawnWaveTime || 6 || 0.00
|-
|-
| [[Image:Io11.png]] || OnMapSpawn || tf_gamerules || SetBlueTeamGoalString || #koth_setup_goal || 0.00 || no
|[[Image:Io11.png]]||OnMapSpawn || tf_gamerules || SetBlueTeamRespawnWaveTime || 6 || 0.00
|-
| [[Image:Io11.png]] || OnMapSpawn || tf_gamerules || SetRedTeamGoalString || #koth_setup_goal || 0.00 || no
|-
| [[Image:Io11.png]] || OnCapTeam1 || tf_gamerules || SetBlueTeamRespawnWaveTime || 4 || 0.00 || no
|-
| [[Image:Io11.png]] || OnCapTeam1 || tf_gamerules || SetRedTeamRespawnWaveTime || 8 || 0.00 || no
|-
| [[Image:Io11.png]] || OnCapTeam1 || tf_gamerules || SetRedKothClockActive || || 0.00 || no
|-
| [[Image:Io11.png]] || OnCapTeam2 || tf_gamerules || SetRedTeamRespawnWaveTime || 4 || 0.00 || no
|-
| [[Image:Io11.png]] || OnCapTeam2 || tf_gamerules || SetBlueTeamRespawnWaveTime || 8 || 0.00 || no
|-
| [[Image:Io11.png]] || OnCapTeam2 || tf_gamerules || SetBlueKothClockActive || || 0.00 || no
|}
|}
{{Note|Вы можете экспериментировать с этими параметрами, если понимаете их смысл}}
Поместите [[tf_gamerules]] где либо на карте, чтобы она не касалась ничего своими сторонами и назовите её tf_gamerules.
Теперь точка настроена. Поместите tf_logic_koth в любом месте на карте и откройте окно его свойств. Там будет примерно следующее:
[[Image:tf_logic_koth_1.jpg]]
Вам нужно добавлять параметры вручную. Выключите SmartEdit и нажмите на кнопку Add:
[[Image:tf_logic_koth_2.jpg]]
Введите следующее:
* Key: targetname
* Value: tf_logic_koth
И нажмите ОК.
Проделайте то же самое для ещё двух параметров:
* Key: timer_length
* Value: 180
Это значение отвечает за необходимое время удержания (180 секунд - стандартно)
* Key: unlock_point
* Value: 30
Это время с начала раунда до появления возможности захвата.
Теперь у вас должно получиться примерно так:
[[Image:tf_logic_koth_3.jpg]]
Теперь мы подходим к концу. Разместите где-либо [[logic_auto]] и настройте аутпуты как на картинке:
[[Image:Koth_logic_auto.jpg]]
{{note|Bug: Если ТФ крешется, удалите tf_gamerules.}}
Всё. Теперь вы можете наслаждаться KOTH картой в официальном стиле.

Revision as of 00:46, 1 August 2013

Template:Otherlang2


Режим «Царь горы» впервые появился как пользовательская модификация, однако его работа обеспечивалась не серверной надстройкой, а логикой, записанной в карты. Позже он был добавлен в игру официально с Бесклассовым обновлением.

«Царь горы» (King of the Hill или KOTH) — это режим игры, в котором команды соревнуются в удержании точки в течение некоторого времени (трех минут в официальных картах). При захвате точки включается обратный отсчет времени для команды, а когда точка переходит к противнику, он останавливается и начинает идти время второй команды. Побеждает та команда, счетчик которой первым достигает нуля.

Note.pngПримечание:Игра распознает карты этого режима по префиксу «koth_» в имени файла.

Создание карты в режиме «Царь горы»

Note.pngПримечание:Здесь и далее я буду употреблять понятие «сущность» (entity).

Сущности

Чтобы превратить обыкновенную контрольную точку в подходящую для «Царя горы», понадобятся следующие сущности:

Не забывайте называть сущности, иначе будет невозможно обеспечить их взаимодействие, а их имена будут показаны красным. Я буду называть сущности именем их типа, потому что для «Царя горы» нужно лишь по одной сущности каждого типа.

Размещение контрольной точки

Существует отдельная статья с подробным описанием создания контрольной точки.

Программирование механики

После размещения контрольной точки откройте свойства вашей trigger_capture_area.

My Output > Target Entity Target Input Parameter Delay Only Once
Io11.png OnCapTeam1 tf_gamerules SetRedKothClockActive 0.00 No
Io11.png OnCapTeam2 tf_gamerules SetBlueKothClockActive 0.00 No

Обрабатывать эти события необходимо, потому что в игре нет автоматического механизма запуска счетчиков времени «Царя горы». Также, например, можно менять время возрождения для команд после захвата точки по входам (target inputs) SetBlueTeamRespawnWaveTime и SetRedTeamRespawnWaveTime.

Следом нужно настроить tf_logic_koth. Откройте ее свойства. Эта сущность задает основные параметры игрового режима: время удержания и время с начала раунда до открытия точки для захвата. Их значения выставлены по умолчанию: соответственно на три минуты и на 30 секунд.

В сущность logic_auto добавьте следующие входы (inputs):

My Output > Target Entity Target Input Parameter Delay
Io11.png OnMapSpawn tf_gamerules SetBlueTeamGoalString #koth_setup_goal 0.00
Io11.png OnMapSpawn tf_gamerules SetRedTeamGoalString #koth_setup_goal 0.00
Io11.png OnMapSpawn tf_gamerules SetRedTeamRespawnWaveTime 6 0.00
Io11.png OnMapSpawn tf_gamerules SetBlueTeamRespawnWaveTime 6 0.00