Flag Based Goal Systems
Для создания режима захвата флага используем энтити item_teamflag
- это будет сам флаг. Флаги члены команды должны нести на свою базу - func_capturezone
- браш-энтити. Это что то типа области, куда нужно доставить и откуда нужно украсть доки. Хотя item_teamflags
и есть по идее флаг для захвата, но в игре будет отображаться как портфель с документами или просто "доки".
Энтити и input/output позволят сделать нам некоторые очень интересные с флагами вещи в Team Fortress 2.
Contents
Основа 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
", чисто как украшение
В принципе все выше описанное проделывать не обязательно, это служит чисто для визуального эффекта. Вы и сами можете поэкспериментировать с оформлением, ограничиваясь лишь своей фантазией. На стенах, к примеру, можно повесить различные указатели: prop_dynamic энтити, models/props_gameplay/sign_gameplay01_witharrow_r_sm.mdl Больше об устройстве карт можно почитать в TF2 Design Theory - теории дизайна.
Энтити 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
![Note.png](/w/images/thumb/c/cc/Note.png/10px-Note.png)
Нейтральный флаг
Если в опциях флага item_teamflag
значение team поставить any (любой), то этот флаг будет нейтральным, то есть его смогут захватить члены любой из команд. Нейтральные портфели имеют серый цвет окраски.
![Icon-Bug.png](/w/images/thumb/b/b4/Icon-Bug.png/10px-Icon-Bug.png)
Многократный флаг (одновременный)
Игрок может захватывать любой флаг, не принадлежащий его команде. Теоретически, можно сделать так много флагов, сколько пожелает ваша "безумная" фантазия. (Как это сделать, думаю, вы и так знаете.) Существовал даже баг: игрок может вполне "спереть" все вражеские и нейтральные флаги, которые есть на карте, но захватить получится только один, остальные застревали в нем.
Многократный флаг (последовательный)
Вы можете после каждого захвата менять расположение флага, чтобы игрокам было сложнее и интереснее воровать доки. Как это сделать? Смотрим ниже...
Имя флага
Для начала, удостоверьтесь в том, что у вас на карте есть несколько энтитей 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 выхода и хорошие места для укрытия.
- Поменять брифинг миссии, если вы делаете какой то нестандартный режим, можно в этом туторе - manually change the mission briefing .
- Не забывайте ставить ориентиры для флагов, чтобы их проще было заметить.