Статья № 50 С чего начать DeFRaG маппинг
 Автор GT-Agressor, 11.02.2005 [прислать статью]
В этой статье я напишу про создание карт для мода DeFRaG. Это один из популярнейших модов для Quake 3. Для него сделаны тысячи карт (кто не верит зайдите сюда [h3km3k.ath.cx/~jumpmaps]).

Создание карты не представляет сложности, нужно только знать основы маппинга. Ну и конечно нужен сам мод ([defrag.own-age.com/defrag]). Сначала нужно перенести файл defrag.def из папки /defrag/misc/tools/ в папку /baseq3/scripts (для GTK-Radiant) или в папку /tools (для Q3Radiant). Редактор начнет понимать новые объекты, а именно:

target_startTimer
target_stopTimer
target_checkpoint
target_init
target_smallprint
target_fragsFilter
shooter_grenade_targetplayer
shooter_plasma_targetplayer
shooter_rocket_targetplayer
trigger_push_velocity

Для создания полноценной карты достаточно первых двух (если честно, я пока не знаю точно назначение 4 последних, когда узнаю, дополню статью). Первый запускает таймер, второй - останавливает. То есть сначала нежно создать браш на том месте, где предполагается старт. Присваиваем этому брашу функцию trigger_multiple (клик правой кнопкой мыши на выделенном браше - trigger - trigger_multiple). Потом с свойствах этого триггера (<N>) в поле "key" вводим "target", а в поле "value" - например, "start". Затем создаем target_StartTimer. (опять клик правой кнопкой target - target_StartTimer). И в его свойствах прописываем:
Key: targetname
Value: start (надо, чтобы это значение совпадало с тем, что написано в свойствах trigger_multiple)

Аналогичную операцию проделываем с target_stopTimer (важно, только, чтобы значения ключей target/targetname отличались от тех, что были у старта) После этого компилируем карту. Заходим в defrag и запускаем карту из консоли (пока нет .defi файла с описанием карты): map "mapname". Триггеры старта и финиша должны работать. Чекпойнты (их желательно использовать на длинных картах) создаются точно так же как и старт и стоп таймеры. Сначала trigger_multiple - потом target_checkpoint. Target_init нужен для того, чтобы отбиралось оружие (и прочие полезные итемы). Он используется для предотвращения таймрезетов (то есть я не могу побегать по карте, собрать все рулезы, вернуться на старт и начать проходить карту, их у меня просто отберут). Его создание в точности повторяет описанный выше механизм создания старта. Только в его свойствах есть несколько дополнительных настроек:

KEEPWEAPONS
KEEPHEALTH
KEEPARMOR
KEEPPOWERUPS
KEEPHOLDABLE

Чтобы их задействовать, нужно просто поставить галочку напротив нужной опции.
Target_smallPrint повторяет оригинальный target_print. Отличие в том, что текст сообщения мелче, и больше текста влезает на экран.
Target_fragsFilter нужен для accuracy карт. Он считает количество фрагов, и когда их становится сколько сколько нужно (как автор карты захотел) - останавливает таймер. Сначала нужно расставить мишени (например func_button), связать их с target_score. Затем в настройках target_fragsFilter нужно прописать:
Key: frags
Value: 10 (количество фрагов нужных для прохождения карты, в общем, любое число) Осталось связать этот target_fragsFilter с Targer_stopTimer. Чтобы карта отображалась в списке всех дефраговских карт нужен файл с расширением .defi (аналог .arena). Создаем в папке /baseq3/scripts текстовый файл с названием: название_карты.defi

Его содержимое
<{
map "название_карты"
longname "пиши_что_хочешь"
style "run" //можно "training" "accuracy" "level"
author "твой_ник"
vq3 "1"
cpm "0"
}

строчки "vq3" и "cpm" обозначают какая физика на карте (стандартная - vq3)
Потом запаковываем карту с пак (не забывая bsp и defi файлы) и кидаем в папку /defrag
Должно работать.

Примеры всего этого в этой [карте]