Царь горы
Режим «Царь горы» впервые появился как пользовательская модификация, однако его работа обеспечивалась не серверной надстройкой, а логикой, записанной в карты. Позже он был добавлен в игру официально с Бесклассовым обновлением.
«Царь горы» (King of the Hill или KOTH) — это режим игры, в котором команды соревнуются в удержании точки в течение некоторого времени (трех минут в официальных картах). При захвате точки включается обратный отсчет времени для команды, а когда точка переходит к противнику, он останавливается и начинает идти время второй команды. Побеждает та команда, счетчик которой первым достигает нуля.
Создание карты в режиме «Царь горы»
Сущности
Чтобы превратить обыкновенную контрольную точку в подходящую для «Царя горы», понадобятся следующие сущности:
Не забывайте называть сущности, иначе будет невозможно обеспечить их взаимодействие, а их имена будут показаны красным. Я буду называть сущности именем их типа, потому что для «Царя горы» нужно лишь по одной сущности каждого типа.
Размещение контрольной точки
Существует отдельная статья с подробным описанием создания контрольной точки.
Программирование механики
После размещения контрольной точки откройте свойства вашей trigger_capture_area
.
My Output > | Target Entity | Target Input | Parameter | Delay | Only Once | |
---|---|---|---|---|---|---|
OnCapTeam1 | tf_gamerules | SetRedKothClockActive | 0.00 | No | ||
OnCapTeam2 | tf_gamerules | SetBlueKothClockActive | 0.00 | No |
Обрабатывать эти события необходимо, потому что в игре нет автоматического механизма запуска счетчиков времени «Царя горы». Также, например, можно менять время возрождения для команд после захвата точки по входам (target inputs) SetBlueTeamRespawnWaveTime
и SetRedTeamRespawnWaveTime
.
Следом нужно настроить tf_logic_koth
. Откройте ее свойства. Эта сущность задает основные параметры игрового режима: время удержания и время с начала раунда до открытия точки для захвата. Их значения выставлены по умолчанию: соответственно на три минуты и на 30 секунд.
В сущность logic_auto
добавьте следующие входы (inputs):