[Урок] Замена транспортного средства

Image

Описание

Введение

Наверняка все хотели бы заменить транспортное средство на своём сервере, но подробного урока вы не нашли, то тогда этот урок будет для вас. Я решил расписать его очень подробно, чтобы любой смог понять его.

Лично для меня это уж очень наболевшая тема, меня беспокоят очень часто ( особенно в ВК, на форуме, в скайпе ) и именно поэтому я решил написать этот урок. Я знаю, что урок простой, но всё же).


Создание ресурса

Для начала вам нужно перейти к папке с сервером МТА и перейти по следующему пути

/server/mods/deathmatch/resources/

Тут находятся все ресурсы MTA.


Примечание:

В новых версиях МТА можно создавать папки для ресурсов. Папка должна иметь вначале [ и в конце ].

Пример: [gamemodes], [maps] и т.д

Сам ресурс - это папка или zip архив, который содержит в себе meta.xml файл, этот файл указывает серверу как и что нужно загружать, также там могут быть различные настройки для ресурса. Подробнее вы можете почитать вот тут: https://wiki.multitheftauto.com/index.php?title=RU/Meta.xml


Примечание:

В названии ресурса могут быть только латинские символы ( латиница ) и некоторые другие символы ( ! - _ ^ ; $ % @ - = + - [ { \' ~ ` ] } ( ) Это все допустимые. Нельзя использовать пробел в названии ресурса, иначе он не будет загружен. Чтобы не ломать себе мозг, то просто пишите все названия ресурсов латиницей и когда нужен пробел, то просто используйте нижний знак подчёркивания. Это уже дело вкуса. Примеры: abc, test, second_res и т.д )

Создадим ресурс и назовём его replace_vehicle.

Путь будет таким

/server/mods/deathmatch/resources/replace_vehicle

В нём мы создадим meta.xml

И напишем..


[hide]<meta>
    <!-- Скрипт, который будет заменять машину, его мы напишем чуть позже -->
    <scriptsrc=\'replace.lua\'type=\'client\'/>
   
    <!-- Файлы для замены машины -->
    <filesrc=\'models/euros.txd\'type=\'client\'/>
    <filesrc=\'models/euros.dff\'type=\'client\'/>
</meta>[/hide]


Примечание: - это комментарии.

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

Сам путь будет таким

/server/mods/deathmatch/resources/replace_vehicle/models

Теперь мы должны скачать модель транспортного средства если у вас её нет. Транспортное средство состоит из 2х файлов с расширением .txd и .dff

Найти модели транспортных средств вы можете в интернете, есть полно сайтов, где вы можете скачать это, лично я использую http://gtainside.com т.к там есть очень удобный поиск по категориям.

После того как вы скачали их, то помещаем по этому пути

/server/mods/deathmatch/resources/replace_vehicle/models/

В нашем случае для примера у нас будет модель, которая будет заменять euros.

В конечном итоге путь для этих файлов будет вот таким:

/server/mods/deathmatch/resources/replace_vehicle/models/euros.txd

/server/mods/deathmatch/resources/replace_vehicle/models/euros.dff


Создание Lua скрипта

После этого нам нужно написать скрипт, который будет заменять стандартную модель транспортного средства на новую. Скрипт будет иметь название replace.lua т.к мы указали такое название в meta.xml и путь до него будет вот таким: /server/mods/deathmatch/resources/replace_vehicle/replace.lua

Теперь нам нужно найти идентификатор машины для замены.


Примечание:

Все идентификаторы ( иды ) машин можно найти тут: https://wiki.multitheftauto.com/index.php?title=RU/Vehicle_IDs

В нашем случае это 587.

Открываем текстовый редактор.

Желательно иметь знания Lua. Если же вы впервые, то вы можете почитать различные доки, мануалы тут: https://forum.multitheftauto.com/viewtopic.php?f=141&t=32458&sid=11bbaed599765f78e060356ca4c84e1c


Пишем..

addEventHandler(\'onClientResourceStart\', resourceRoot,-- При запуске ресурса подгружаем и заменяем модель
    function()
        local iModelID =587;-- Идентификатор модели, который мы нашли на wiki
       
        local pTxd = engineLoadTXD (\'models/euros.txd\');-- Подгружаем TXD файл
        engineImportTXD ( pTxd, iModelID );-- Импортируем TXD
       
        local pDff = engineLoadDFF (\'models/euros.dff\', iModelID );-- Подгружаем DFF файл
        engineReplaceModel ( pDff, iModelID );-- Заменяем модель
end);


Примечание: -- - это комментарии.

Я уверен, что скрипт будет понятен всем.


Заключение

Я надеюсь вы поняли как заменять транспортное средство.

Теперь вам остётся лишь запустить этот ресурс.

Если у вас есть вопросы, то пишите.