Nanotech_ua | Дата: Четверг, 08.12.2011, 13:20 | Сообщение # 1 |
Майор
Группа: Администраторы
Сообщений: 95
Статус:
| В этом уроке вы узнаете как можно заменить стандартные биллборды на свои. Вот то, что у нас в итоге получится:
А работать мы будем вот с этим биллбордом:
Он находится чуть южнее аэропорта Лас Вентураса.
Часть 1 – используем MED
Прежде всего нам необходимо узнать название и идентификатор этого объекта в ГТА. Для этого мы будем использовать MED (скачать можно по ссылке, данной ниже). Открываем MED. Перед вами откроется окошко, в котором вы должны нажать кнопку Add. В Type the name... вводим GTA SA, и нажимаем на кнопку Browse... Здесь выбираем папку, в которую у вас установлена GTA SA. После чего три раза нажимаете OK, если все хорошо — то начнется загрузка. Теперь надо загрузить карту. Мышкой двигайте в левый верхний угол экрана. Видим кнопку File, опускаемся чуть чуть, видим домик, опускаемся еще чуть чуть и видим надпись IDE. Теперь идем мышкой вправо, видим надпись IPL, еще чуть двигаем вправо, и видим, наконец, Scene, нажимаем на нее. У вас появится список частей карты. Сейчас нам необходима часть DATA/MAPS/vegas/vegasS.ipl. Выбираем ее и нажимаем на кнопку Render (внизу). У нас появится карта. Как по ней перемещаться я не буду рассказывать, сами разберетесь. Ищем наш биллборд и кликаем на него два раза. Слева у вас появится небольшое окошко, в котором нам важно две вещи: Строка Identifier: и DFF File. Запоминаем что там написанно (8331 и vgsbboardsigns18). Закрываем MED.
Часть 2 — находим картинку биллборда
Дальше открываем программу IDEditor (скачать можно по ссылке, данной ниже). В ней нажимаем File → Open и переходим в папку папка гта са\data\maps\vegas. Здесь выбираем выбираем VegasS.ide Теперь нажимаем на клавиатуре Ctrl + F, в поиск вводим vgsbboardsigns18 (это то, что мы видели в строке DFF File) и нажимаем кнопку Find Next. Нам выдаст строку 8331, vgsbboardsigns18, vgsssignage03, 149, 2097152. В этой строке нам важно лишь vgsssignage03.
Закрываем IDEditor. Открываем программу TXD Workshop (тоже скачивайте по ссылке, данной ниже). Нажимаем кнопку Open IMG (это под кнопкой File, в левом верхнем углу программы). В открывшимся окне переходим в папку папка гта са\models и выбираем файл gta3.img. Сейчас самое сложное: смотрим в левый нижний угол программы и нажимаем на него. Оказывается это текстовое поле! Все, сложное кончилось. Вводим туда vgsssignage03 и нажимаем на найденный результат. Дальше, если я ничего не путаю, то нам необходима вот эта картинка:
Выбираем ее, и нажимаем сверху кнопку Export. Теперь нажимаем BMP (если честно, то я не знаю какой формат из этих лучше, но я пользовался BMP) и выбираем, куда будет сохранена картинка.
Часть 3 — изменяем и сохраняем картинку
Переходим в папку, в которой вы сохранили эту картинку. Теперь в этой папке создаете еще папку под названием back. В нее копируете картинку. Теперь возвращайтесь в ту папку, куда вы изначально сохранили картинку и можете как хотите изменить эту картинку, у меня вот что получилось:
Возвращайтесь обратно в TXD Workshop. Нажимаем на кнопку Import (чуть левее кнопки Export) и выбираем нашу измененную картинку. Если у вас получилось что то такое (ну кроме самой картинки), значит вы на верном пути:
Теперь нажимайте кнопку Save TXD (чуть левее кнопки Import). И идите еще левее, пока не наткнетесь на кнопку Action, нажимаем на нее, затем Export и выбирайте куда сохранить ваш TXD файл (я обычно сохраняю в ту же папку, куда сохранял картинки). Все, проверьте только, нормально ли экспортировалось. Сейчас опять нажимайте кнопку Import и выбирайте исходную картинку (помните когда я сказал вам создать папку back?). Нажимаем опять Save TXD.
Часть 4 — код
Закрывайте все программы из этого урока, которые вы открыли до этого. Переходим в папку вашего ресурса. Открываем meta.xml и вписываем туда:
Code <file src="vgsssignage03.txd" />
Сохраняем файл, закрываем. Копируем в папку с ресурсом наш файл vgsssignage03.t:D, полученный в пред. Части. Открываем клиентский скрипт. И вписываем в него:
Code addEventHandler("onClientResourceStart", getResourceRootElement(getThisResource()), function () txd_floors = engineLoadTXD ( "vgsssignage03.txd" ) engineImportTXD ( txd_floors, 8331 ) end )
Здесь мы, когда у игрока стартует этот ресурс, подгружаем ему нашу новую модель и заменяем ее. Где 8331 — это номер, полученный в строке Identifier части 1. Все сохраняем, запускаем сервер и заходим на него.
Ссылки: TXD Workshop MED IDEditor
Урок был взят с pawno.ru
|
|
| |