В данном материале мы познакомим вас с быстрым и удобным способом
внесения изменений в готовый уровень без запуска его компиляции. Данным
образом возможно вносить изменения во всякие уровни, не имея их
исходников в форматах RMF или MAP.
В первую очередь, нужно чтобы у вас была официальная версия утилит
Зонера 2.5.3. Сами программы-компиляторы нам не потребуются, но вместе с
ними идёт утилита Ripent (ripent.exe), которая нам понадобится.
В каких случаях может понадобиться утилита Ripent?
Если нужно поменять прозрачность стекла, воды, и прочих энтити-объектов
Если нужно указать правильный угол открытия двери
Если нужно изменить скорость движения автомобиля
Если нужно сделать объект невидимым
Если нужно исправить или добавить места рождения игроков
Если нужно изменить название картинки неба
... и так далее, примеров можно привести много.
Представим ситуацию, что мы откомпилировали уровень за два-три часа, и
случайно забыли указать название картинки неба в её свойствах. Это
значит, что в уровне будет использовано стандартное небо desert, вместо
того, какое мы хотели.
Чтобы ещё раз не компилировать карту и не тратить 2-3 часа из-за такой
ерунды, можно использовать программку Ripent, с помощью которой мы
можем дописать в нужном месте название картинки неба.
Как это работает?
Информация свойствах энтитей в откомпилированных картах (*.BSP файлах)
содержится в обычном текстовом виде. Вы самостоятельно можете убедится в
этом, открыв какой-нибудь BSP файл (уровень) в текстовом редакторе,
например, во встроенном редакторе файлового менеджера FAR или TotalCom.
После нескольких тысяч строк из не ясных знаков, начнётся текстовое
описание всех энтитей и их свойств, которые используются в уровне.
Подробнее о значении данных и других параметров мы расскажем в конце этой публикации.
Применяем Ripent
Ripent — программа, которая работает из командной строки и не имеет графического интерфейса.
Извлекаем текстовую информацию об энтити-объектах
Перенесите откомпилированный BSP-уровень в директорию, где находится программка Ripent
Выберите команду «Пуск -> Выполнить...» («Start -> Run...»)
Нажав кнопку «Обзор» («Browse»), укажите путь к программе Ripent
В конце пути после кавычек допишите следующие параметры: -export -texdata 1 имя_карты
Строчка запуска утилиты для карты de_dust будет выглядеть так:
Буквально через несколько секунд в папке с Ripent и уровнем появится новый файл, в нашем случае это de_dust.ent.
Не глядя на расширение (*.ENT), это простой текстовый файл, который
можно изменять в любом текстовом редакторе, к примеру, в Блокноте.
Главное, не забудьте после внесения изменений в свойства энтити-объектов
сохранить файл с расширением *.ent, а не *.txt.
Вносим обратно измененную информацию в BSP-уровень
Рассмотрим, как осуществляется обратная процедура по внесению измененных данных в уровень. Выполняем первые три пункта, как описано выше, но теперь вместо -export пишем -import (смотрите картинку ниже).
Свойства энтити-объектов внутри BSP-файла
Свойства энтити-объектов внутри *.BSP файла и в редакторе Hammer внешне отличаются. К примеру, вместо параметра Name используется "targetname",
вместо флажков small radius, start on, toggle и пр. используются
цифровой код и т.п. Чтобы можно было правильно изменять необходимую
информацию, нужно знать соотношения между данными параметрами.
На картинке ниже мы приводим сводную таблицу, где представлены главные
параметры энтитей в том виде, как они отображаются в Хаммере — и
находятся внутри *.BSP файла уровня.
Отсюда мы видим, что, чтобы изменить название картинки неба, необходимо найти в ENT-файле параметр "skyname" и после этого слова точно также в кавычках вписать название неба.
Например: "skyname" "desert".
Или, другой пример: допустим нам надо изменить прозрачность стекла (к
примеру, func_breakable с именем 123), нужно в ENT-файле найти объект с "targetname" "123" и изменить параметр "renderamt" "". Таким образом, изменяются и другие параметры энтитей.
Недостатки Ripent
Достоинства Ripent бесспорны — нет необходимости тратить часы на
компиляцию, если сделана небольшая ошибка в свойствах энтитей. Но есть и
свой изъян.
Используя утилиту Ripent, вы должны иметь ввиду, что исходник уровня в
формате RMF или MAP не обновляется! Обновляется лишь откомпиллированный
*.BSP файл уровня. А, посему, или используйте утилиту Ripent для
внесения небольших изменений в финальный вариант уровня, или же
записывайте все проделанные исправления и потом в Хаммере правьте
исходник.
Несколько интересных фактов
Интересно, что список свойств энтитей всякий раз передается клиенту при присоединении к серверу.
Благодаря утилите Ripent можно вносить изменения в свойства энтитей на
любых BSP-уровнях. К примеру, возможно сделать мост на De_Aztec (из
Counter-Strike 1.5) прозрачным. Для данной операции необходимо отыскать
энтити-объект func_illusionary и выставить параметры: "rendermode" "2" и
"renderamt" "0" (в Хаммере это выглядит как: Render Mode: "Texture" и
FX Amount "0"). Мост «исчезнет».
Важно! Помните, что такие параметры, как цвет источника света и его
яркость (точечные энтити-объекты light, light_spot, light_environment)
менять без толку, так как освещённость рассчитывается при компиляции.
Так что программка Ripent довольно интересная и пригодная штуковина, если знать как ей пользоваться. А вы уже знаете :-)