Иконка ресурса

БИБЛИОТЕКА Newmodels - позволяет добавлять новый ID (скины/объекты/транспорт) 5.2.0

Нет прав для скачивания
  • Автор Автор Sage
  • Дата создания Дата создания

Библиотека Newmodels v5.2.0​


Данная ресурс-библиотека для MTA использует клиентские модели (функции engineRequestModel и аналогичные) для добавления новых пешеходов (скинов), транспортных средств и объектов.

Автор: Fernando A Rocha

Основные возможности:
  • Просто поместите ваши моды (файлы dff/txd/col) в соответствующие папки, которые автоматически определяются системой.
  • Все добавленные модели синхронизируются со всеми игроками на сервере.
  • Легко интегрируйте новые идентификаторы моделей в существующие скрипты с помощью простого трюка.
  • Ресурс минималистичен, оптимизирован и надежен.
С помощью этого инструмента вы сможете создавать новые скрипты или модифицировать уже существующие, добавляя новые скины, транспортные средства и объекты на ваш сервер. Например, вы сможете интегрировать все модели объектов из SA-MP!

Основная информация​

Вам следует беспокоиться о двух вещах:

1. Добавление новых моделей (DFF/TXD/COL)

Основная концепция этой системы заключается в том, что вы можете добавлять новые произвольные числовые идентификаторы, представляющие новые модели.

например ID -3 для нового скина гангстера
например, ID -2 для новой модели внедорожника
Новые идентификаторы могут быть любым числом (положительным или отрицательным), если только они не конфликтуют с существующими или зарезервированными идентификаторами игр. Скрипт предупредит вас, если вы используете неверные числа.

Игровая модель может быть добавлена с 3 различными файлами для определенного типа сущности. Поддерживаемые типы моделей:
ped(скины): файлы DFF и TXD
vehicle: Файлы DFF и TXD
object: Файлы DFF, COL и TXD
Файлы необходимо поместить в папку models . Система автоматически их загрузит.

Структура файлов и папок:
Вариант №1 (новые модели не имеют названий):models/<model_type>/<base_model_id>/<new_model_id>.<file_extension>
например models/ped/7/-3.txd напримерmodels/ped/7/-3.dff

Возможность №2 (новые модели имеют собственные названия в целях: организации): models/<model_type>/<base_model_id>/<new_model_name>/<new_model_id>.<file_extension>
например models/ped/7/Mafioso 1/-2.txd | models/ped/7/Mafioso 1/-2.dff

Поддержка NandoCrypt (опционально)
Вы можете использовать NandoCrypt для шифрования ваших файлов модов. Поместите их с расширением файла, .nandocrypt, чтобы они автоматически распознавались. Вы можете настроить расширение файла в shared_local.lua.

nando_decrypter В ресурс включен тестовый скрипт, а также мод, состоящий из 2 зашифрованных файлов ( -5.dff.nandocryptи -5.txd.nandocrypt). Чтобы использовать собственные моды, вам придется заменить nando_decrypter их собственным скриптом дешифратора, сгенерированным инструментом NandoCrypt.

Дополнительная настройка
Модели можно настраивать с помощью <new_model_id>.txt файлов.

2. Использование новых моделей

1. MTA выделяет неиспользуемые идентификаторы на стороне клиента для загрузки новых моделей (спасибо engineRequestModel). Эти идентификаторы непредсказуемы, и вы не можете на них положиться.

2. Помните, что распределение модели происходит только на стороне клиента, поэтому сервер не имеет понятия о каких-либо новых идентификаторах. Как разработчик, у вас есть 2 варианта использовать новые идентификаторы, которые вы определили в своих скриптах .

3. Ознакомьтесь с примерами ресурсов , чтобы понять, как использовать следующие методы.

Сервер VS Клиент
Все экспортированные функции newmodels являются общими, что означает, что вы можете использовать их как в клиентских, так и в серверных скриптах. Их поведение отличается.

Функции на стороне сервера , в частности, для настройки пользовательской модели (или создания элемента с пользовательской моделью), сохранят пользовательские модели элементов, присутствующих на вашем сервере, в table, а затем синхронизируют их с помощью triggerClientEventдля всех клиентов в сети. Это означает, что, например, создание транспортного средства, которое является новым вертолетом, автоматически сделает его этой моделью для всех игроков на вашем сервере.

Напротив, клиентские функции не выполняют никакой синхронизации данных с другими клиентами. Пользовательские модели, заданные клиентскими скриптами, применяются только к клиенту, который запускает эти скрипты. Это означает, что, например, в сценарии магазина одежды вы можете изменить модель игрока на любую пользовательскую модель с помощью клиентских функций, и только этот игрок увидит изменение модели в своей игре.

Импорт функций​

Самый простой способ — использовать следующий метод в начале вашего скрипта для загрузки необходимых функций.
Код:
loadstring( exports['newmodels_azul']:import() )()

Это изменяет функции MTA, такие как createVehicleили setElementModelдля работы с новыми идентификаторами, а также добавляет новые функции, такие как getElementBaseModelи getElementCustomModel, которые вы можете использовать.

Проверьте shared_exported.lua скрипт, чтобы узнать, что импортируется.
Пример использования:
Код:
local vehicle = createVehicle(id, x, y, z, rx, ry, rz, numberplate)

Вызов экспортированных функций
Если вы не хотите loadstringимпортировать функции, вы можете вызвать их напрямую.

Проверьте meta.xml файл, чтобы увидеть экспортированные функции.
Пример использования:
Код:
local vehicle = exports['newmodels_azul']:createVehicle(id, x, y, z, rx, ry, rz, numberplate)

Важные советы​

Это передовая практика и общие советы.
  • Помните, что ваши модели должны хорошо работать с GTA: San Andreas с точки зрения оптимизации.
  • Всегда проводите тестирование с несколькими плеерами и разными характеристиками ПК.
  • Элемент, созданный на сервере с пользовательской моделью, синхронизирует свою пользовательскую модель со всеми клиентами.
    • Полезно для создания транспортных средств, настройки скинов игроков и NPC.
  • Элемент, созданный на стороне клиента с помощью пользовательской модели, не будет синхронизироваться с другими клиентами, то есть пользовательскую модель увидит только клиент, запустивший код.
    • Полезно для предварительного просмотра моделей и создания объектов, что лучше всего работает на стороне клиента.

Часто задаваемые вопросы (FAQ)​

Для кого предназначена эта система?Владельцы серверов и разработчики, стремящиеся расширить лимиты на своем сервере MTA. Например, если лимит на автомобили исчерпан, эта библиотека поможет обойти ограничения и присвоить новые идентификаторы (ID/ИД).
Будут ли игроки автоматически загружать файлы (DFF/TXD/COL) добавленных моделей?Да, meta.xml конфигурация включает все эти файлы в папке моделей, поэтому они автоматически загружаются игроками при подключении к серверу.
Могу ли я зашифровать файлы своих моделей и скрыть ключ дешифрования, чтобы игроки не смогли их украсть?Да, вы можете использовать NandoCrypt, который изначально поддерживается этой системой. Скачать можно на данном форуме.
Как идентифицируются добавленные модели?Новые модели идентифицируются числовыми идентификаторами, которые вы определяете. Эти идентификаторы могут быть любыми числами (положительными или отрицательными), если только они не конфликтуют с существующими или зарезервированными идентификаторами игр. Они являются чисто произвольными и не обязательно должны быть последовательными.
Почему для идентификации используются новые идентификаторы моделей, а не строки/имена?MTA использует числовые идентификаторы для идентификации моделей, поэтому эта система следует той же конвенции. Работать с числами эффективнее и проще, чем со строками.
Как добавлять модели с помощью этой системы?По сути, вы добавляете новые модели, помещая файлы DFF/TXD/COL в папку моделей с определенными именами файлов и папок.
Почему новые модели добавляются на стороне клиента в MTA, а на стороне сервера этой логики нет?Распределение модели MTA происходит на стороне клиента, поэтому сервер не имеет понятия о каких-либо новых идентификаторах. Распределение модели на стороне сервера все еще не реализовано в MTA (но может быть реализовано в будущем), поэтому эта система предоставляет способ обойти это ограничение.

1746044117063.png
Назад
Сверху