![]() |
Radient редактор DOOM III
Приветствую всех мапперов! Тема создана для обсуждения редактора к игре DOOM III Скрытый текст: Все вопросы и проблемы задавать в этой теме. Уважаемая просьба: Пожалуйста, без флуда.:cool: |
Люди. как сделать так чтоб монстр появлялся например от нажатия кнопки?
|
Триггер - как спусковой крючок
Отвечаю.
В Radient есть штука, к помощи которой Вы будете прибегать не одну сотню раз… это Trigger’s (Триггеры). Триггеры – это некий спусковой крючок, практически на все действия в DOOM’е. Их несколько типов (trigger_once, trigger_multiple, trigger_hurt, trigger_entityname, trigger_once_entityname, trigger_facing, trigger_fade, trigger_timer, trigger_touch, trigger_count, trigger_flashlight, trigger_relay). О каждом из них, я напишу небольшой мануал. Ну, а теперь вернемся к главному вопросу. Есть несколько вариантов решения твоей проблемы. Мы рассмотрим только два: посредством входа в область триггера и посредством нажатия кнопки. Пример №1: Создадим комнату типа BOX (украшайте на свой вкус и цвет), прикрутим освещение (light) и точку старта игрока (info/info_player_start). Большую комнату делать не будем. Рассчитывайте место для двух импов и терминала. Скрытый текст: Создадим перед игроком trigger_once (trigger/trigger_once), ставим его перед игроком и растягиваем (от пола до потолка). Далее создадим импа (monster/monster_demon_imp), например, в углу комнаты и не забываем повернуть его лицом к игроку (у меня angle - 315). Теперь маленький совет. Когда Вы будете создавать большие карты, Вы столкнетесь с такой проблемой, что будете путаться в обилии монстров и других объектов на карте. Лично я делаю так. После создании комнаты, оружейной например, и создании в ней монстров, я причисляю им соответствующие имена (например «imp_weapons1», «imp_za_stenoi1»). А теперь, что будет если Вы создадите 160 монстров и Вам для триггера нужно найти «monster_demon_imp_89». Да, при написании имени в триггере, он автоматически проведет стрелку к назначенному монстру, но если к триггеру прикручено штук 30 заданий – стрелку можно просто не различить. Поэтому, прописываем у импа в параметрах (Inspector/Entity): name (в поле Key) – imp1 (в поле Var). Далее, если Вы хотите, чтобы имп телепортировался на карту, прописываем ему значения: teleport – 1 Потом мы пропишем следующие параметры: trigger – 1 // (после активации триггера, появляется и делает заданную команду под грифом on_active) Далее: on_active – evade_right // (список доступной импу анимации, можно посмотреть в листбоксе, так же, если нажать кнопку «play», Вы увидете превью анимации). Теперь создадим сам триггер. Щелкаем по карте левой кнопкой мыши и выбираем trigger/trigger_once. Ставим его перед игроков и растягиваем до размера стены, чтобы игрок не пропустил наш механизм. ;) Далее прописываем: target – imp1 // (соединяем триггер с нужным нам объектом на карте, в грифе «var», как Вы уже поняли, прописываем имя). Должна появиться стрелка от триггера к нашему импу. Если этого не возникло – проверьте правописание всех значений. Есть маленькая хитрость, странно, что о ней мало кто знает. Можно сократить время при прописывании функции «target». Вместо того, чтобы запоминать имя и прописывать его, можно сделать так: выделяем триггер и нужный нам объект => и нажимаем сочетание клавиш «CTRL+K» - триггер автоматически забьет все параметры соединения. Скрытый текст: Все! Теперь нам нужно скомпилировать карту. Делается это, до боли просто. Сохраняем карту в папке Doom3/base/maps/ с именем Test_trigger. Далее, BSP/bsp noflood. Можно конечно и BSP/bsp (это лучше), но если на карте глюки или «leaks» - то карта может и не скомпилироваться. Затем bsp/bspext (еще раз на всякий случай сейвимся). Потом нажимаем «F2», должно появиться ЖУТКО-ТОРМОЗЯЩЕЕ окно DOOM 3. Вызываем консоль и печатаем: map test_trigger // Жмем Enter Все. Карта запускается и проверяем действие триггера. Пример №2: Тут уже "посложнее" обстановка. Наша цель: создать модель терминала, прикрутить к нему gui и прописать скрипт активации посредством нажатия на кнопку. Но не бойтесь – это легко. Как говориться: «Глаза боятся – руки делают». Мы продолжим работать с нашей только что созданной картой. Кликаем левой кнопкой мыши по карте и выбираем в списке «New Model…». Появится окно, в котором отобразиться древо папок. В последних же хранятся все модели игры. Нам нужно выбрать терминал. Мой выбор остановился на: models/mapobjects/guiobjects/alphalabcon/alphalabcon.lwo Хочу сделать маленькое отступление. В редакторе есть баг с созданием моделей. После того как Вы выбрали нужную Вам модель и создали ее, на карте останется все тот же маленький квадратик, т.е. модель не появится. Не надо кричать и рвать на голове волосы :). Это исправить очень легко. Просто клонируем нашу модель, посредством нажатия клавиши «Пробел». Вот и все. Появится нормальная модель, а старую мы удаляем. Передвигаем рабочую модель к стене и опускаем на уровень игрока. Если Вы скомпилируете карту, то увидите, что терминал пуст. Чтобы заполнить пустое пространство на месте экрана, нам нужно выбрать подходящий gui. Возвращаемся обратно к редактору. Выделяем терминал и в окне «Entity» нажимаем на кнопку «Gui…». Перед нами опять выскочит окно с древом папок хранящие в себе gui. Вы можете выбрать любой на свой вкус и цвет. Мой выбор остановился на: guis/controlpanels/bridgesigng.gui Скрытый текст: Компилируем карту, убиваем импа – если он еще остался, подходим к терминалу – ВАУЛЯ! У нас появилось изображение, с управлением Света. Если мы нажмем на кнопочку – ничего не произойдет. Вернемся к редактору. Теперь создадим импа. Проще клонировать нашего предыдущего друга. Поменяем имя: name – imp_terminal // (Вы можете придумать другое) Ставим его на нужное нам место. Теперь снимаем выделение. Выделяем модель терминала, выделяем импа и нажимаем волшебное сочетание клавиш -> Ctrl+K. Все! Если появилась стрелка от терминала к импу – вы можете поздравить себя с новым достижением в редакторе. :) Скрытый текст: Компилируем карту. Убиваем первого импа. Нажимаем на кнопку… к нам гости ;). Если у Вас, что-то не получается, можете скачать мою карту и посмотреть в чем Вы ошиблись (карта немного модернизирована): test_trigger Если у Вас возникли вопросы – пишите в этот пост. :) С Уважением, Касеопия. :cool: |
Полет камеры
И еще раз здравствуйте.
Сегодня я Вам подробно расскажу как создавать игровые ролики. Что ж, приступим! Подготовка: Сделаем пару комнат и соединим их разными коридорами… Примерно, как у меня: Скрытый текст: А теперь, давайте определимся с нашей целью. У меня будет вот такой план: Скрытый текст: А теперь подробно… Мы начинаем игру, => проходим, коридор => активируем скрипт камеры => далее камера следует по размеченному нами пути => и в самом конце камера указывает на нашего монстра (например, Ревената)… А теперь нам надо все это воплотить в жизнь! Разместим объекты, которые нам в дальнейшем понадобятся: 1. trigger\trigger_once 2. func\func_cameraview 3. func\func_mover 4. func\func_static И разместим эти объекты в таком порядке: Скрытый текст: А теперь заменим параметр – name, у следующих объектах: 1. func_mover на anchor 2. func_static на camera_spline Теперь добавим следующие параметры в следующие объекты: 1. func_cameraview_1: bind – anchor 2. anchor: cinematic – 1 // без этого параметра, камера действовать не будет solid – 0 // камера сможет проходить сквозь объекты (двери, стены) !!!ВНИМАНИЕ!!! ВСЕМ ОБЪЕКТАМ INFO\... ПРИСВОИТЬ ТЕКСТУРУ – NoDraw!!! Теперь выделим объект - func_static (camera_spline), и нажмем кнопочку: Curve…, и выберем вкладку: Nurbs: Скрытый текст: И мы получаем такую картину: Скрытый текст: Эта пунктирная линия и есть наш путь камеры! Далее ищем на панели такие кнопочки: Скрытый текст: Кнопка Edit- открывает нам возможность редактировать прямую, Add – добавляет еще один чекпоинт для камеры, Ins – например вы сделали прямую, и потом решили добавить еще один чекпоинт, но при нажатии Add – она добавляется только в самом конце пути, но если Вы нажмете кнопку Ins – то чекпоинт появится после выделенной Вами точки, Del – думаю объяснять не стоит (удаляет точку)… И так… Добавим новые чекпоинты и отредактируем прямую, так, чтобы она проходила через всю нашу карту и кончалась рядом с монстром…: Скрытый текст: Кстати.… Также можно менять высоту чекпоинта – выделим её и меняем высоту как у обычных объектов… А теперь мы вернемся к триггеру! И пропишем строчку: call - camera_script Далее создаем в папке с картой – текстовый документ. Имя документа должно быть точно такое же как имя карты! Например: карта – single, документ – single*****ipt. Обратите внимание, на расширение документа – script. В документе пишем следующие строки: void start_camera_spline() { $anchor.time(20); //Как долго будет длиться наш полет $anchor.accelTime(3); //Как долго, камера будет набирать скорость $anchor.decelTime(8); //За сколько секунд до конца, камера начнет сбрасывать скорость $anchor.startSpline($camera_spline); } void camera_script() { sys.setCamera($func_cameraview_5); start_camera_spline(); sys.wait(20); sys.firstPerson(); //Переключает на вид от первого лица. } Думаю, что объяснять, что и как не е потребуется! Здесь надо просто подумать, и у Вас у самого все получится! Сохраняем документ и компилируем карту! Если у Вас все сделано правильно – ВСЕ ДОЛЖНО СРАБОТАТЬ!!! Скрытый текст: Спасибо за Ваше внимание и за прочтение данного мануала. Желаю Вам удачи и успехов! С уважением, Касеопия. |
Люди, а как в DooM 3 сделать интерфейс диалогов как например в Ж.Д.А.Л.К.Е.Р.Е :)
Дам жирный ПЛЮСИК :)) |
http://www.iddevnet.com/doom3/ - здесь куча интересного про дум3 на англицком
http://www.iddevnet.com/quake4/ - здесь куча англицкого про ку4. Описано все довольно простым языком, проблем с пониманием не должно быть. Alexey, тебе нужно смотреть в сторону guis. при запуске кваки в консоли пишишь editGUIs, и идешь читать инфу из 2й ссылки, а точнее: http://www.iddevnet.com/quake4/GUIEditor Там все просто |
Для Q4:
В hud.gui я сделал пробное поле под название Shots Открыл с помощью блокнота hud.gui там есть события, которые происходял с Hud при стрельбе: onNamedEvent weaponFire { set "p_weapswitch::visible" "0"; } Я добавил строчку set "Shots::text" "0"; теперь при стрельбе на этом поле пишется "0", но как сделать так, чтобы при каждом выстреле значение этого поля увеличивалось на 1? Или еще хлеще, при каждой смерти монстра увеличивалось на 1. Как это сделать, кто знает? :frown: |
а как его вообще загрузить? +editor неработает. да и екзешники у меня наз loader.exe и loaderrof.exe вместо doom3.exe
я бы юзал и gtk radiant но в нем при созданий карт для дума на вкладке билд нету ничего и скомпилировать карту не могу ------ уже разобрался правда в окнах cam, z, xy top пусто, что с этим? ------- уже и с этим разобрался) и все же как сделать чтобы работал ключ +editor заодно и ключи отключения аа и фс при запуске с ярлыка? ато жутко неудобно, все это вырубать для режактора а потом включать чтобы поиграть |
Часовой пояс GMT +4, время: 12:48. |
Powered by vBulletin® Version 3.8.0
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.