Создание своих биллбордов в МТА В этом уроке вы узнаете как можно заменить стандартные биллборды на свои.
Вот то, что у нас в итоге получится:
А работать мы будем вот с этим биллбордом:
Он находится чуть южнее аэропорта Лас Вентураса.
Часть 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.txd, полученный в пред. Части. Открываем клиентский скрипт. И вписываем в него:
Code
addEventHandler("onClientResourceStart", getResourceRootElement(getThisResource()),
function ()
txd_floors = engineLoadTXD ( "vgsssignage03.txd" )
engineImportTXD ( txd_floors, 8331 )
end
)
Здесь мы, когда у игрока стартует этот ресурс, подгружаем ему нашу новую модель и заменяем ее. Где 8331 — это номер, полученный в строке Identifier части 1.
Все сохраняем, запускаем сервер и заходим на него.
Как говорила Светка Букина — Виолла!
Ссылки:
TXD Workshop
MED
IDEditor
Я только вчера освоил эту технику методом тыка, так что может быть что то неправильно, но результат есть