Kenix Posted June 11, 2013 Share Posted June 11, 2013 Введение Наверняка все хотели бы заменить транспортное средство на своём сервере, но подробного урока вы не нашли, то тогда этот урок будет для вас. Я решил расписать его очень подробно, чтобы любой смог понять его. Лично для меня это уж очень наболевшая тема, меня беспокоят очень часто ( особенно в ВК, на форуме, в скайпе ) и именно поэтому я решил написать этот урок. Я знаю, что урок простой, но всё же). Создание ресурса Для начала вам нужно перейти к папке с сервером МТА и перейти по следующему пути /server/mods/deathmatch/resources/ Тут находятся все ресурсы MTA. Примечание: В новых версиях МТА можно создавать папки для ресурсов. Папка должна иметь вначале [ и в конце ]. Пример: [gamemodes], [maps] и т.д Сам ресурс - это папка или zip архив, который содержит в себе meta.xml файл, этот файл указывает серверу как и что нужно загружать, также там могут быть различные настройки для ресурса. Подробнее вы можете почитать вот тут: https://wiki.multitheftauto.com/index.ph ... U/Meta.xml Примечание: В названии ресурса могут быть только латинские символы ( латиница ) и некоторые другие символы ( ! - _ ^ ; $ % @ - = + - [ { ' ~ ` ] } ( ) Это все допустимые. Нельзя использовать пробел в названии ресурса, иначе он не будет загружен. Чтобы не ломать себе мозг, то просто пишите все названия ресурсов латиницей и когда нужен пробел, то просто используйте нижний знак подчёркивания. Это уже дело вкуса. Примеры: abc, test, second_res и т.д ) Создадим ресурс и назовём его replace_vehicle. Путь будет таким /server/mods/deathmatch/resources/replace_vehicle В нём мы создадим meta.xml И напишем.. <meta> <!-- Скрипт, который будет заменять машину, его мы напишем чуть позже --> <script src='replace.lua' type='client' /> <!-- Файлы для замены машины --> <file src='models/euros.txd' type='client' /> <file src='models/euros.dff' type='client' /> </meta> Примечание: - это комментарии. После того, как мы создали ресурс, то создадим там папку 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.ph ... ehicle_IDs В нашем случае это 587. Открываем текстовый редактор. Желательно иметь знания Lua. Если же вы впервые, то вы можете почитать различные доки, мануалы тут: https://forum.multitheftauto.com/viewto ... 6ca4c84e1c Пишем.. 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 ); Примечание: -- - это комментарии. Я уверен, что скрипт будет понятен всем. Заключение Я надеюсь вы поняли как заменять транспортное средство. Теперь вам остётся лишь запустить этот ресурс. Если у вас есть вопросы, то пишите. Link to comment
AMARANT Posted June 12, 2013 Share Posted June 12, 2013 Молодца, нашел время на годный туториал. Теперь вопросы по этой теме надеюсь убавятся Link to comment
gold4iter Posted June 30, 2013 Share Posted June 30, 2013 Так все модели можно заменять? Link to comment
Elengar Posted June 30, 2013 Share Posted June 30, 2013 Так все модели можно заменять? Да, все Link to comment
smile68 Posted February 12, 2015 Share Posted February 12, 2015 а если у меня бурито и там 4 файла с разными надписями ,так делать ? outputChatBox ( ">burrito loads" ) txd = engineLoadTXD ( "burrito.txd" ) txd = engineLoadTXD ( "burrito1.txd" ) txd = engineLoadTXD ( "burrito2.txd" ) txd = engineLoadTXD ( "burrito3.txd" ) txd = engineLoadTXD ( "burrito4.txd" ) engineImportTXD ( txd, 482 ) dff = engineLoadDFF ( "burrito.dff", 0 ) engineReplaceModel ( dff, 482 ) Link to comment
N1kS Posted February 12, 2015 Share Posted February 12, 2015 Ув. smile68, Вы на верном пути, но к сожалению недостаток знания Lua сказывается на вашем коде. Вы присваиваете значение переменной txd 5 раз. В конечном итоге переменная txd будет равна .txd файлу с названием "burrito4.txd", если такой имеется и указан в meta.xml. Удачи! Не благодарите. Link to comment
KatastrofaS Posted February 12, 2015 Share Posted February 12, 2015 N1kS написсал: Удачи! Не благодарите. ))) За такой элегантный уход от ответа реально не стоит благодарить. А как же всё-таки? Есть несколько покрасочных работ burrito1.txd ... burrito4.txd. Хочется, чтобы при старте гонок участники получали разные тачки, пусть со случайным выбором из этого набора. И чтобы мой выбор был наблюдаем другими гонщиками. Link to comment
AMARANT Posted February 12, 2015 Share Posted February 12, 2015 я уже забил ) А зря. Про переменную он все правильно указал и разъяснил. Link to comment
N1kS Posted February 13, 2015 Share Posted February 13, 2015 N1kS написсал:Удачи! Не благодарите. ))) За такой элегантный уход от ответа реально не стоит благодарить. А как же всё-таки? Есть несколько покрасочных работ burrito1.txd ... burrito4.txd. Хочется, чтобы при старте гонок участники получали разные тачки, пусть со случайным выбором из этого набора. И чтобы мой выбор был наблюдаем другими гонщиками. Понимаете, ув. KatastrofaS, нужно корректно указывать, что Вы хотите сделать. Если же Вам нужно просто заменить .dff и .txd транспортного средства, то перечитайте данный урок и у Вас отпадут вопросы. Для Вашей же цели Вам необходим шейдер для замены текстуры по элементу. Делается это очень просто: dxCreateShader И первый пример из ссылки (нажмите по слову "шейдер"). Удачи! Не благодарите. Link to comment
KatastrofaS Posted February 13, 2015 Share Posted February 13, 2015 Нет, я всё-таки поблагодарю N1kS! Отличное занятие на воскресенье ) Теперь буду прикидывать, что проще... Может разбежаться и выдать игрокам разные модели с разными покрасочными работами? Хотя по объёму загружаемых на клиенты данных вроде так на так выходит... Link to comment
N1kS Posted February 14, 2015 Share Posted February 14, 2015 Нет, я всё-таки поблагодарю N1kS!Отличное занятие на воскресенье ) Теперь буду прикидывать, что проще... Может разбежаться и выдать игрокам разные модели с разными покрасочными работами? Хотя по объёму загружаемых на клиенты данных вроде так на так выходит... Если же Вам необходимо заменять покрасочную работа на автомобилях, которые имеют одинаковые ID, то лучше использовать шейдер. Link to comment
PrototypeX Posted December 5, 2016 Share Posted December 5, 2016 Ребята привет, меня интересует кое-что по теме! Я заменил практически все доступные автомобили на свои. У меня есть на сервере места, где выставлено много транспорта, и в этих местах у всех игроков, даже с мощными ПК начинаются проседания ФПС, как это лечится? Link to comment
obuhhh Posted December 5, 2016 Share Posted December 5, 2016 4 minutes ago, PrototypeX said: Ребята привет, меня интересует кое-что по теме! Я заменил практически все доступные автомобили на свои. У меня есть на сервере места, где выставлено много транспорта, и в этих местах у всех игроков, даже с мощными ПК начинаются проседания ФПС, как это лечится? Вроде никак. Либо ТС меньше, либо моделек меньше. Link to comment
PrototypeX Posted December 5, 2016 Share Posted December 5, 2016 48 minutes ago, obuhhh said: Вроде никак. Либо ТС меньше, либо моделек меньше. Может ли быть дело в весе и/или оптимизации модели(ей)? Link to comment
obuhhh Posted December 5, 2016 Share Posted December 5, 2016 55 minutes ago, PrototypeX said: Может ли быть дело в весе и/или оптимизации модели(ей)? Ну это само собой. Но само уже наличие замененных текстур нагружает клиент. А если их еще и много в стриме, то это совсем плохо... Link to comment
Nicholas Manchini Posted April 19, 2019 Share Posted April 19, 2019 Можно ли добавить новую машину на сервер не трогая старую? Link to comment
Other Languages Moderators Disinterpreter Posted April 20, 2019 Other Languages Moderators Share Posted April 20, 2019 17 hours ago, Nicholas Manchini said: Можно ли добавить новую машину на сервер не трогая старую? Нет. Link to comment
Erema93 Posted May 17, 2019 Share Posted May 17, 2019 On 19/04/2019 at 20:51, Nicholas Manchini said: Можно ли добавить новую машину на сервер не трогая старую? На комьюнити MTA появился скрипт с добавлением машин на новых ID Link to comment
Military Guy Posted August 6, 2019 Share Posted August 6, 2019 On 17/05/2019 at 09:21, Erema93 said: На комьюнити MTA появился скрипт с добавлением машин на новых ID Не подскажешь где это находится и как называется? Можно ссылку? Link to comment
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now