| Как добавить замену модели на сервер MTA: пошаговая инструкция
Эта инструкция рассчитана на случай, когда у вас уже есть готовая модель — файлы с расширениями .dff и .txd. Вы просто переносите их на сервер и заставляете работать. Никакой теории, только действия по порядку.
Шаг 1. Создаём папку ресурса
Заходим в директорию вашего сервера MTA и находим там папку resources. Внутри неё создаём новую папку. Название может быть любым, но обязательно латиницей и без пробелов. Например, [cars] или mymod.
Путь должен выглядеть так:
твой_сервер/mods/deathmatch/resources/название_папки/
Шаг 2. Загружаем файлы модели
Копируем ваши готовые файлы в только что созданную папку. Для стандартной замены машины или скина нужны минимум два файла:
файл.dff (сама 3D-модель)
файл.txd (текстуры)
Если для машины идёт отдельный файл коллизии (физики), он обычно называется так же, но с расширением .col. Его тоже кладём в папку.
Шаг 3. Создаём meta.xml
Внутри папки ресурса создаём простой текстовый файл и называем его meta.xml. Открываем блокнотом и вставляем туда следующий код:
xml
Слова название.dff и название.txd замените на реальные имена ваших файлов. Если у вас есть файл .col, добавьте и его отдельной строчкой:
xml
Этот файл говорит серверу: «Здесь лежит клиентский скрипт и вот такие файлы, которые надо отправить игроку».
Шаг 4. Пишем client.lua
В той же папке создаём ещё один текстовый файл и сохраняем его как client.lua. В него нужно вписать всего две или три команды. Содержимое зависит от того, что именно вы заменяете.
Для замены машины (например, Sultan, ID 560):
lua
engineImportTXD("название.txd", 560)
engineReplaceModel("название.dff", 560)
Для замены скина (например, скин № 280):
lua
engineImportTXD("название.txd", 280)
engineReplaceModel("название.dff", 280)
Снова меняем название на имена ваших файлов, а число — на ID объекта из GTA San Andreas, который мы подменяем.
Если у вас есть файл коллизии .col, добавляем третью строчку, причём строго перед заменой .dff:
lua
engineImportTXD("название.txd", 560)
engineReplaceCOL("название.col", 560)
engineReplaceModel("название.dff", 560)
Сохраняем и закрываем.
Шаг 5. Подключаем ресурс к серверу
Теперь надо сказать серверу, чтобы он запускал нашу папку. У вас есть два варианта.
Вариант А. Через консоль сервера.
Пишем в чёрном окне сервера или в консоли хостинга команду:
text
start название_папки
Ресурс запустится сразу. Минус в том, что после перезагрузки сервера его придётся запускать снова.
Вариант Б. Через mtaserver.conf (автозапуск).
Находим в папке сервера файл mtaserver.conf, открываем его блокнотом и ищем блок со списком ресурсов. Добавляем туда свою строчку:
xml
Теперь замена будет включаться автоматически при каждом старте сервера.
Шаг 6. Проверяем результат
Перезагружаем сервер или даём команду restart название_папки. Заходим в игру и убеждаемся, что всё работает.
Если модель стала белой — проверьте, совпадает ли имя .txd файла с тем, что написано в client.lua, и прописан ли он в meta.xml.
Если модель невидимая — скорее всего, забыли про .col или неправильно указали ID.
Если вообще ничего не меняется — убедитесь, что в meta.xml скрипт указан с типом client, а не server.
Шаг 7. Что делать, если у игроков старая версия
MTA кэширует файлы. Если вы обновили модель, а завсегдатаи видят старую, сделайте простую вещь: переименуйте файлы .dff и .txd (например, добавьте _v2 в конец имени). Затем обновите названия в client.lua и meta.xml. После рестарта клиент воспримет их как новые файлы и скачает заново.
|