Death Zone Forum
Мы переехали!!!!!!!!!
<br /><br />

Вот <a href="http://deathzone.com.ua">Ссылка</a>
Death Zone Forum
Мы переехали!!!!!!!!!
<br /><br />

Вот <a href="http://deathzone.com.ua">Ссылка</a>
Death Zone Forum
Вы хотите отреагировать на этот пост ? Создайте аккаунт всего в несколько кликов или войдите на форум.


CS server Death Zone | Public
 
На сайтФорумПоследние изображенияРегистрацияВход

 

 Изменение карты без компиляции

Перейти вниз 
АвторСообщение
Kiss.My.Ass
Капитан
Капитан
Kiss.My.Ass


Награды :
Изменение карты без компиляции 6968-5Изменение карты без компиляции 6969-4Изменение карты без компиляции 6968-2Изменение карты без компиляции 6967-5Изменение карты без компиляции 6967-3Изменение карты без компиляции 6968-1

Сообщения : 322
Дата регистрации : 2010-12-04
Возраст : 39
Откуда : Киев

Изменение карты без компиляции Empty
СообщениеТема: Изменение карты без компиляции   Изменение карты без компиляции Icon_minitime1Вт Дек 07, 2010 6:33 pm

В этой статье мы рассмотрим быстрый и довольно удобный способ внесения изменений в готовую откомпилированную карту без запуска компиляции. Таким способом можно вносить изменения в любые карты, даже не имея их исходников.

Прежде всего, необходимо, чтобы у Вас была в наличии официальная версия утилит ZHLT 2.5.3. Сами компиляторы нам не понадобятся, но вместе с ними, в архиве, находится утилита Ripent (ripent.exe), которую мы будем использовать.


В каких случаях полезна утилита Ripent?

  • Если Вы хотите поменять прозрачность стекла, воды, других объектов
  • Указать правильный угол открытия двери
  • Изменить скорость движения машины
  • Сделать объект невидимым
  • Подправить или добавить места рождения игроков
  • Изменить название картинки неба


... и так далее, примеров можно привести огромное множество.

Представьте ситуацию, когда Вы компилируете карту в течении 2-3 часов, и совершенно случайно в ее свойствах забыли указать название картинки неба. Это означает, что на карте будет использовано стандартное небо (desert), вместо того, какое хотели использовать Вы.

Чтобы не компилировать карту заново, можно воспользоваться утилитой Ripent и дописать в нужном месте название неба.



Как это работает?

Информация об энтити-объектах в готовых картах (файлах BSP) содержится в простом текстовом виде. Вы и сами можете в этом убедится, открыв любую BSP карту в текстовом редакторе, например, во встроенном редакторе файлового менеджера FAR или TotalCom. После нескольких тысяч строк, состоящих из непонятных нам символов, начнется текстовое описание всех энтити-объектов, используемых на карте.

Наша задача, а, точнее, задача утилиты Ripent заключается в изъятии всей текстовой информации из BSP-файла и обратное внесение измененных данных.

Описание энтитей любой карты начинается так:


"wad" "c:\games\hl\valve\halflife.wad;c:\games\hl\valve\liquids.wad;"
"mapversion" "220"
"classname" "worldspawn"
"MaxRange" "8192"
"skyname" "dm3hackd_"
"message" ""
"classname" "worldspawn"

Более подробно о значении этих и других параметров мы рассказываем в конце статьи.



Применяем Ripent
Ripent — утилита, работающая из командной строки, не имеющая своего графического интерфейса.

Извлекаем текстовую информацию об энтити-объектах

  • Скопируйте готовую BSP-карту в папку, где находится утилита Ripent
  • Выберите команду «Пуск -> Выполнить...» («Start -> Run...»)
  • Нажав кнопку «Обзор» («Browse»), укажите путь к утилите Ripent
  • В конце пути после кавычек допишите след. параметры: -export -texdata 1 имя_карты
  • Строка запуска программы для карты de_dust будет выглядеть так:


[Вы должны быть зарегистрированы и подключены, чтобы видеть это изображение]

Буквально через несколько мгновений в директории с утилитой и картой появится новый файл, в нашем случае это был бы de_dust.ent, а в общем случаем имя_карты.ent.

Не смотря на расширение, это обычный текстовый файл, который можно отредактировать в любом текстовом редакторе, например, Блокноте. Единственное, не забудьте после внесения изменений сохранить файл с расширением *.ent, а не txt.

Вносим измененную информацию обратно в BSP-карту

Давайте сразу же посмотрим, как проделывается обратная операция по внесению измененных данных в карту.
Выполняем первые 3 пункта, как описано выше, но теперь вместо -export пишем -import (см. рис. ниже).

[Вы должны быть зарегистрированы и подключены, чтобы видеть это изображение]

В этом случае вся информация из файла имя_карты.ent будет внесена в откомпилированную BSP-карту. Изменения Вы сможете увидеть уже при следующей загрузке карты. Файл *.ent можно удалить.


Свойства энтити-объектов внутри BSP-файла

Внешний вид свойств энтити-объектов внутри BSP-файла несколько отличается от того, что мы привыкли видеть в редакторе. Например, вместо параметра Name используется запись в виде "targetname", вместо флагов (small radius, start on, toggle и т.д.) используются цифровой код и т.д. Чтобы Вы могли найти и правильно изменить нужную информацию, необходимо знать соответствия между этими параметрами.

Ниже мы приводим таблицу, где представлены основные свойства энтити-объектов в том виде, как они отображаются в редакторе и внутри BSP-карты.

[Вы должны быть зарегистрированы и подключены, чтобы видеть это изображение]

Таким образом, если нам требуется изменить название картинки неба, мы находим в файле *.ent строку со словом "skyname" и после этого слова точно также в кавычках вписываем название неба.

Например: "skyname" "desert".

Чтобы изменить степень прозрачности стекла (например, func_breakable с именем glass1), необходимо в файле *.ent найти объект с "targetname" "glass1" и изменить параметр "renderamt" "". Точно также изменяются и все остальные свойства энтити-объектов.

После того, как все необходимые изменения будут внесены, сохраняем *.ent файл и запускаем утилиту Ripent с параметром -import.



Недостатки Ripent

Достоинства Ripent очевидны — не нужно повторять многочасовую компиляцию, если допущена незначительная ошибка в свойствах энтити-объектов. Но есть и свои недостатки.

Используя Ripent, Вы должны помнить, что исходник карты в формате RMF или MAP не обновляется! Обновляется лишь готовая BSP-карта. Соответственно, если затем Вы будете повторно компилировать карту, то сделанные изменения в свойствах энтити-объектов просто пропадут, т.к. исходники карты не меняются! Поэтому или используйте Ripent для внесения незначительных изменений (исправления досадных ошибок и пр.) в окончательный вариант карты, или же записывайте все сделанные изменения и затем в редакторе правьте исходник карты.



Несколько интересных фактов

Думаем Вам интересно будет узнать, что список свойств энтити-объектов каждый раз передается клиенту при подключении к серверу.

Благодаря Ripent мы можем изменить свойства энтити-объектов на любых BSP-картах. Можно, например, сделать мост на De_Aztec (из CS 1.5) прозрачным. Для этого нужно найти объект func_illusionary, отвечающий за изображение моста и выставить параметры: "rendermode" "2" и "renderamt" "0" (в редакторе это выглядело бы как: Render Mode: "Texture" и FX Amount "0"). Мост «исчезнет». Правда, найти нужный func_illusionary, который и является мостом, довольно трудно, т.к. на Ацтеке этих объектов (func_illusionary) несколько.

Помните одно — при подключении к игровому серверу с нормальным Ацтеком, ваш мост НЕ будет прозрачным, т.к. на сервере обычная карта с неизмененными энтити-объектами. Также необходимо знать, что такие параметры, как цвет источника света (light; light_spot; light_environment) менять бесполезно, т.к. освещение просчитывается при компиляции. Ну, а такие параметры, как степень прозрачности объектов, режимы их отображения (texture; solid; additive и т.д.), скорость движения машины, время до автоматического закрытия двери, список объектов внутри multi_manager, просто имена объектов, поле target, название неба и некоторые другие параметры можно менять.

Так что Ripent довольно забавная и полезная штука, если знать как ее использоваться. Ну, а Вы уже знаете :)
Вернуться к началу Перейти вниз
 
Изменение карты без компиляции
Вернуться к началу 
Страница 1 из 1
 Похожие темы
-
» Ошибки компиляции
» Как извлечь текстуры из карты?
» Узнай устройство карты без декомпиляции
» Проверка карты на ошибки (основные ошибки)

Права доступа к этому форуму:Вы не можете отвечать на сообщения
Death Zone Forum :: Уголок маппера :: Помощь в маппинге :: Компиляция (ZHLT)-
Перейти:  
Создать форум на Forum2x2 | ©phpBB | Бесплатный форум поддержки | Сообщить о нарушении | Последние обсуждения