Автор
Zoner
- В каких случаях может понадобиться утилита 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) менять без толку, так как освещённость рассчитывается при компиляции.