This article relates to the game "Team Fortress 2". Click here for more information.

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

From Valve Developer Community
Jump to navigation Jump to search
(otherlang2, finishtranslation:ru)
m (obsolete language category)
 
(14 intermediate revisions by 8 users not shown)
Line 1: Line 1:
{{otherlang2
{{LanguageBar|title = Царь горы}}
|en=TF2/King_of_the_Hill
{{TF2 topicon|suf=:ru}}  
}}
{{finishtranslation:ru}}
{{toc-right}}
{{toc-right}}




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


==Требуемые энтити==
«Царь горы» (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|Здесь и далее я буду употреблять понятие «{{L|Entity|сущность}}» ({{L|Entity|entity}}).}}


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


*{{en}}<code>{{L|logic_auto}}</code>
*{{en}}<code>{{L|trigger_capture_area}}</code>
*{{en}}<code>{{L|tf_logic_koth}}</code>


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


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


* 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
|-
| [[File:Io11.png]] || OnCapTeam1 || tf_gamerules || SetRedKothClockActive ||  || 0.00 || No
|-
| [[File: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]]
 
* Name: capture_area_1 {{Note|Вы можете назвать как вам хочется, но это название понадобится нам позже}}
* Control Point: control_point_1 {{note|Это параметр должен указывать на название (name) [[team_control_point]]}}
* Can RED Cap?: Yes
* 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]]:
В сущность <code>logic_auto</code> добавьте следующие входы (inputs):


[[Image:Koth_tca2.jpg]]
{| border=1 cellpadding="2" cellspacing="1"
 
|- align=left style="background:#DCDCDC; color:black"
Таблица аутпутов:
!  !!My Output > !! Target Entity !! Target Input !! Parameter !! Delay
 
:{|{{standard-table}}
|-
!  !! My Output > !! Target Entity !! Target Input !! Parameter !! Delay !! Only Once
|-
| [[Image:Io11.png]] || OnCapTeam1 || prop_cap_1 || Skin || 1 || 0.00 || No
|-
| [[Image:Io11.png]] || OnCapTeam2 || prop_cap_1 || Skin || 2 || 0.00 || No
|-
| [[Image:Io11.png]] || OnMapSpawn || tf_gamerules || SetBlueTeamGoalString || #koth_setup_goal || 0.00 || no
|-
| [[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
|[[File:Io11.png]]||OnMapSpawn || tf_gamerules || SetBlueTeamGoalString || #koth_setup_goal || 0.00
|-
|-
| [[Image:Io11.png]] || OnCapTeam2 || tf_gamerules || SetRedTeamRespawnWaveTime || 4 || 0.00 || no
|[[File:Io11.png]]||OnMapSpawn || tf_gamerules || SetRedTeamGoalString || #koth_setup_goal || 0.00
|-
|-
| [[Image:Io11.png]] || OnCapTeam2 || tf_gamerules || SetBlueTeamRespawnWaveTime || 8 || 0.00 || no
|[[File:Io11.png]]||OnMapSpawn || tf_gamerules || SetRedTeamRespawnWaveTime || 6 || 0.00
|-
|-
| [[Image:Io11.png]] || OnCapTeam2 || tf_gamerules || SetBlueKothClockActive || || 0.00 || no
|[[File:Io11.png]]||OnMapSpawn || tf_gamerules || SetBlueTeamRespawnWaveTime || 6 || 0.00
|}
|}


{{Note|Вы можете экспериментировать с этими параметрами, если понимаете их смысл}}
{{ACategory| Level Design}}
 
{{ACategory| Team Fortress 2}}
Поместите [[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 картой в официальном стиле.

Latest revision as of 04:07, 22 August 2024

English (en)한국어 (ko)Русский (ru)Translate (Translate)


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

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

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

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

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

Сущности

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

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

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

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

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

После размещения контрольной точки откройте свойства вашей 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