Делаем Respawn room для Team Fortress 2
Комната
Итак для начала нам нужна комната, размеры не важны, главное чтобы она состояла из block'ов (т.е. не из сфер или ещё чего-либо), ну и очень желательно, чтобы наша была как бы "герметична" т.е без дыр, но оставьте несколько (или хотя бы 1) прямоугольных отверстий для дверей. Я создал вот такую комнату:


Дальше внутри нашей комнаты создаем квадрат, соприкасающийся со стенками комнаты и покрываем его текстурой tools/toolstrigger Далее привязываем к энтити (Tools->Tie to entity) и выбираем func_respawnroom Потом нужно изменить в свойствах (Edit->Properties)
Name (любое, например, для удобства назовем red_respawn_01)
Team (например Red)
Теперь расставляем самих игроков четко внутри комнаты. Для этого используем энтити info_player_teamspawn давать имя необязательно, но обязательно нужно указать в графе Team, в свойствах, принадлежность к той или иной команде. Расставили необходимое количество игроков красных в моем случае, также не надо забывать что они должны быть над землей хотябы на 16-32юнита, двигаемся дальше.

Шкафчик
Он состоит из двух составляющих: динамической модельки шкафа, и прямоугольника (браша), который окружает шкаф, с текстурой tools/toolstrigger
Сначала ставим prop_dynamic задаем ему
World model (models/props_gameplay/resupply_locker.mdl)
name (например resup01)
Теперь как вы поняли, нужно окружить шкафчик прямоугольником с текстурой tools/toolstrigger и сделать его энтитей func_regenerate
Прописываем в Associated Model resup01 (или то что прописали в имени модели шкафа), ну и соответсвенно команду которой будет открываться шкаф (Red в моем случае) Только не делайте этот прямоугольник громадным, для того чтобы за километр от респа ничего не восстанавливалось.
После этих операций получаем что-то вроде этого:


Двери
Теперь добавляем дверь. Ставим prop_dynamic задаем ему модель нужной нам двери, советую models/props_gameplay/door_slide_large_dynamic.mdl Называем нашу дверь как-нибудь (например prop_red_spawngate_01) .
Добавляем точечную энтити filter_activator_tfteam задаем в его свойствах соответсвие нужной нам команде, и называем, например, red_filter. Все теперь его не трогаем.
ВАЖНО!! Эта энтити ставится на карте только 1 раз для одной из команд, и второй раз для другой!
Теперь помещаем дверь в тот же самый tools/toolstrigger с энтитей trigger_multiple называем его например trigger_red_spawngate_2. Задаем ему Filter Name - red_filter, это не даст двери открытся для сниней команды. Важно, чтобы этот триггер начинался в том месте где дверь будет сама открываться при приближении к ней игрока, ну и соответсвенно чуть подальше от самого ближнего к двери info_player_teamspawn , чтобы дверь не открывалась при появлении игрока автоматически.
Теперь создаем вплотную перед дверью небольшой железный пласт, повторяющий дверь по ширине и высоте, толщиной примерно 8.0, покрытый текстурой tools\toolsnodraw например, и делаем из него энтитю func_door называем door_red_spawngate_3
Добавляем аутпуты:
My output named: OnClose
Targets entity named: prop_red_spawngate_01
Via this input: SetAnimation
With a parameter override of: close
After a delay in seconds of: 0.00

Возвращаемся к trigger_multiple и добавляем к нему аутпуты
Output: OnEndTouchAll
Target Entity: door_red_spawngate_3
Via Input: Close
Delay: 0.00
Only Once: No

Output: OnStartTouchAll
Target Entity: door_red_spawngate_3
Via Input: Open
Delay: 0.00
Only Once: No

Теперь ещё одна не мало важная деталь. Добавляем небольшую вставку толщиной 8.0 по центру двери высотой с дверь, а шириной 112.0 (если вы взяли ту модель двери, которую предложил я). Покрываем текстурой tools/toolsnodraw и стой стороны в нешней стороны (откуда подойдет другая команда) красим эту строну в Overlays/no_entry (чтобы противник знал что сюда нельзя зайти), делаем из него func_respawnroomvisualizer имя можно не задавать, а вот Associated Respawn Room задайте red_respawn_01 (т.е. имя которое вписали в свойствах func_respawnroom)
Вид изнутри спавна:


Собственно наш Respawn room готов! Осталось добавить различных "украшений", лампочек и.т.д. на вкус, думаю самое трудное рассказал на данную тему.

Источник: CSmania.RU

Автор: edgeg

CMT (CS Mapping Tutorials) - © 2006-2011+. Created by VM
[ Script Execution time: 0.0045 ]