Ru/Team Fortress 2/Docs/Level Design/Flag Based Goal Systems

Для создания режима захвата флага используем энтити - это будет сам флаг. Флаги члены команды должны нести на свою базу - - браш-энтити. Это что то типа области, куда нужно доставить и откуда нужно украсть доки. Хотя item_teamflags и есть по идее флаг для захвата, но в игре будет отображаться как портфель с документами или просто "доки". 
Энтити и input/output позволят сделать нам некоторые очень интересные с флагами вещи в Team Fortress 2.
== Основа CTF (Capture The Flag) ==
Большинство карт для захвата флагов (CTF) (официальные) основаны на том, чтобы захватить чужой портфель с документами и доставить его на свою базу. Эта карта проста в построении, обычно она представляет из себя две симметричные по архитектуре (не визуально) части для каждой из команд. Пока что в Team Fortress 2 существует только 3 официальные CTF карты: ctf_well, вездесущий ctf_2fort и пользовательской сборки ctf_turbine.
В этом туторе рассказано, как устроенна CTF карта и как ее собственно собрать своимим руками.
=== Ориентиры ===
Для начала, можно (даже нужно) поместить на карту ориентиры. Это стрелки, указатели и прочие объекты, которые подскажут игроку, где находятся доки, респаун и прочее. Они не являются обязательным атрибутом для карты, это скорее чисто для визуального эффекта... но если вы их все же поместите, игроки в TF2 скажут вам спасибо. Итак, что же для этого нужно?
==== Ориентиры для флага ====
Для примера, мы будем использовать 2 простых блока (браша), на которых будут лежать документы обеих команд, что то типа опор. Начнем с красной команды, создайте браш (Shift+B), к примеру 96 на 80 юнитов длиной\шириной и 48 юнитов высотой, покрасьте этот браш любой текстурой (Shift+A), например "wood/grain_elevator_facade_14a", и превратим этот браш в энтитю "func_detail" - Edit -> Tie To Entity (Ctrl+T).
==== Ориентиры для зоны захвата флага ====
Теперь создадим, как вы догадались, ориентир для зоны захвата. Создайте ориентир-границу на основе браша, 16 в длину, 2 в высоту и 4 юнита в ширину. Красим браш в текстуру, чтобы придать ей визуальный стиль - "props/hazardstrip001a" , после покраски превращаем в энтити - "func_detail". Также можно поставить декаль (Shift+D) "signs/capture_zone", чисто как украшение
В принципе все выше описанное проделывать не обязательно, это служит чисто для визуального эффекта. Вы и сами можете поэкспериментировать с оформлением, ограничиваясь лишь своей фантазией. На стенах, к примеру, можно повесить различные указатели: энтити, models/props_gameplay/sign_gameplay01_witharrow_r_sm.mdl Больше об устройстве карт можно почитать в - теории дизайна.
=== Энтити item_teamflag ===
Далее, создаем энтити (Shift+E) item_teamflag (будующий флаг) и помещаем его на заранее заготовленное место. В нашем примере мы делаем флаг для красной команды, поэтому в свойствах Edit -> Properties (Alt+Enter) item_teamflag значение опции team (команда) ставим на RED.
=== Энтити func_capturezone ===
Наконец, создаем зону захвата флага func_capturezone - - браш-энтити. Создаем браш, длину\ширину сделайте такими, какими у вас в общем сделаны ориентиры и границы для флага, высоту можно сделать примерно в 160 юнитов. Далее, Tools - Tie to Entity. В опциях этой энтити (Alt+Enter) func_capturezone значение team (команда) ставим в нашем примере на RED.
=== Заключение ===
Теперь у вас есть флаг для красной команды. Чтобы сделать тот же флаг для синей, нужно всего лишь значения team item_teamflag и func_capturezone поставить на Blu. Как только сделаете флаг для синей команды, у вас будет полностью рабочая карта режима CTF. На этой карте автоматически будет написан брифинг для карт CTF и установлено стандартное число захватов для победы - 3.
Загрузить готовую карту можно здесь: http://www.mediafire.com/?1mw0lm0ej2i
== Нейтральный флаг ==
Если в опциях флага item_teamflag значение team поставить any (любой), то этот флаг будет нейтральным, то есть его смогут захватить члены любой из команд. Нейтральные портфели имеют серый цвет окраски. 
== Многократный флаг (одновременный) ==
Игрок может захватывать любой флаг, не принадлежащий его команде. Теоретически, можно сделать так много флагов, сколько пожелает ваша "безумная" фантазия. (Как это сделать, думаю, вы и так знаете.) Существовал даже баг: игрок может вполне "спереть" все вражеские и нейтральные флаги, которые есть на карте, но захватить получится только один, остальные застревали в нем.
== Многократный флаг (последовательный) ==
Вы можете после каждого захвата менять расположение флага, чтобы игрокам было сложнее и интереснее воровать доки. Как это сделать? Смотрим ниже...
=== Имя флага ===
Для начала, удостоверьтесь в том, что у вас на карте есть несколько энтитей item_teamflags, и все они имеют свои имена (name) в опциях. В нашем примере мы сделаем 3 месторасположения нейтрального (можете вполне поэкспериментировать с флагами отдельных команд) флага, в опциях - team - any, там же даем имена флагам - flag1, flag2, и flag3. Не забудьте сделать зону захвата для каждой команды - func_capturezones.
=== Start disabled ===
Во всех ваших флагах, которые должны будут появляться после захвата предыдущего, в опциях должны иметь значение Start Disabled - yes. В нашем примере только flag1 имеет значение Start Disabled - no.
=== Outputs флага ===
Выберите флаг, который вы хотели бы сделать "первой жертвой" грязных рук игроков, в нашем примере это flag1. В его опциях (Alt+Enter) нужно будет поставить Output'ы, для того чтобы включить в игру следующий флаг и убрать этот. Смотрим ниже и ставим все как на рисунке:
:
	My Output >	Target Entity	Target Input	Parameter	Delay	Only Once
	OnCapture 	flag2 	Enable 	 	0.00 	No
	OnCapture 	flag1 	Disable 	 	0.00 	No
Для следующих флагов делаем так же, убирая предыдущие и ставя следующие.
Собственно все, мы сделали 3 последовательно идущих друг за другом флага.
== Обратный CTF ==
Обратный CTF - это простая вариация стандартного CTF, в котором позиция флагов и зон захвата поменялись местами - поставлены на обратной стороне карты. Вместо доставки захваченного флага, цель - доставить флаг из дружественного конца карты во вражескую зону захвата.
== CTF-футбол ==
Это режим типа Обратный CTF с нейтральным флагом. Подобно футболу, нужно захватить флаг и принести его на вражескую базу. Bombing Run режим игры подобен тому, что есть в Unreal Tournament.
== Теория дизайна ==
* Комната с флагом должна иметь достаточно хорошие места для защиты и атаки, по крайней мере 2 выхода и хорошие места для укрытия.
* Поменять брифинг миссии, если вы делаете какой то нестандартный режим, можно в этом туторе - .
* Не забывайте ставить ориентиры для флагов, чтобы их проще было заметить.
== См. Также ==
*