Доступ к архиву

Переход в группу "Пользователь"

300.00 ₽
Одноразовый платёж
Быстрый переход в группу "Пользователи", без надобности написания постов и ожидания.

Покупка дает возможность:
Быть полноправным участником форума
Нормальное копирование кода
Создавать темы
Скачивать файлы
Доступ к архиву Pawno-Info

Создание своих биллбордов в МТА

Статус
В этой теме нельзя размещать новые ответы.

Ziggs

Новичок
В этом уроке вы узнаете как можно заменить стандартные биллборды на свои.
Вот то, что у нас в итоге получится:

А работать мы будем вот с этим биллбордом:

Он находится чуть южнее аэропорта Лас Вентураса.
Часть 1 – используем 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.


Дальше открываем программу .
В ней нажимаем File ? Open и переходим в папку папка гта са\data\maps\vegas.
Здесь выбираем выбираем VegasS.ide
Теперь нажимаем на клавиатуре Ctrl + F, в поиск вводим vgsbboardsigns18 (это то, что мы видели в строке DFF File) и нажимаем кнопку Find Next. Нам выдаст строку 8331, vgsbboardsigns18, vgsssignage03, 149, 2097152. В этой строке нам важно лишь vgsssignage03.

Закрываем IDEditor. Открываем программу . Нажимаем кнопку Open IMG (это под кнопкой File, в левом верхнем углу программы). В открывшимся окне переходим в папку папка гта са\models и выбираем файл gta3.img. Сейчас самое сложное: смотрим в левый нижний угол программы и нажимаем на него. Оказывается это текстовое поле! Все, сложное кончилось. Вводим туда vgsssignage03 и нажимаем на найденный результат. Дальше, если я ничего не путаю, то нам необходима вот эта картинка:
Выбираем ее, и нажимаем сверху кнопку Export. Теперь нажимаем BMP (если честно, то я не знаю какой формат из этих лучше, но я пользовался BMP) и выбираем, куда будет сохранена картинка.


Часть 2 — изменяем и сохраняем картинку


Переходим в папку, в которой вы сохранили эту картинку. Теперь в этой папке создаете еще папку под названием back. В нее копируете картинку. Теперь возвращайтесь в ту папку, куда вы изначально сохранили картинку и можете как хотите изменить эту картинку, у меня вот что получилось:

Возвращайтесь обратно в TXD Workshop. Нажимаем на кнопку Import (чуть левее кнопки Export) и выбираем нашу измененную картинку. Если у вас получилось что то такое (ну кроме самой картинки), значит вы на верном пути:

не наткнетесь на кнопку Action, нажимаем на нее, затем Export
и выбирайте куда сохранить ваш TXD файл (я обычно сохраняю в ту же папку, куда сохранял картинки). Все, проверьте только, нормально ли экспортировалось. Сейчас опять нажимайте кнопку Import и выбирайте исходную картинку (помните когда я сказал вам создать папку back?). Нажимаем опять Save TXD.


Часть 3 — код



Закрывайте все программы из этого урока, которые вы открыли до этого. Переходим в папку вашего ресурса. Открываем meta.xml и вписываем туда:
PHP:
<file src="vgsssignage03.txd" />
Сохраняем файл, закрываем. Копируем в папку с ресурсом наш файл vgsssignage03.txd, полученный в пред. Части. Открываем клиентский скрипт. И вписываем в него:
PHP:
addEventHandler("onClientResourceStart", getResourceRootElement(getThisResource()),    
   function ()  
    txd_floors = engineLoadTXD ( "vgsssignage03.txd" )  
    engineImportTXD ( txd_floors, 8331 )  
   end  
)
Здесь мы, когда у игрока стартует этот ресурс, подгружаем ему нашу новую модель и заменяем ее. Где 8331 — это номер, полученный в строке Identifier части 1.
Все сохраняем, запускаем сервер и заходим на него.
 
Последнее редактирование:
Статус
В этой теме нельзя размещать новые ответы.
Сверху Снизу