• 0

Добавляем объекты в игру IDE and IPL файлы. Разбор.

Вопросы

В этой теме, мы разберемся как добавлять объекты на карту с помощью мод-пака.

У вас должны быть файлы объекта (.col, .dff, .txd)

 

IDE


Введение


Файлы Item DEfinition имеют расширение .ide и являются частью игрового движка серии GTA, поэтому присутствуют в GTA3, GTA VC, GTA SA и GTA4 в текстовом виде, в GTA LCS и GTA VCS в бинарном. В *.ide, к каждому объекту игры присваивается свой идентификатор (тэг), измеряющийся от 0 до 19999 (лимит ID можно уменьшать/увеличивать с помощью программы Limit Adjuster).
В свою очередь, к каждому идентификатору, прописанному в ide, присваивается уникальная модель (*.dff), архив текстур (*.txd), использующийся моделью, дистанция и параметры рендеринга модели.
 
Все записи в *.ide объединены в специальные секции, каждая из которых отвечает за определенный параметр. Примеры секций:
OBJectS - обычные объекты карты, TimeOBJects - временные объекты карты, ANIM - анимированные объекты карты, PEDS - педы, WEAPons - оружие, CARS - транспортные средства, HIER - загрузочные слоты для кат-сцен, 2DFX - специальный 2D-эффект для объекта.
 
Item Definition (кроме GTA LCS и GTA VCS) хранится в текстовом виде, может быть изменен как редакторами карты для GTA - MooMaper, MapEditor, так и любым текстовым редактором типа блокнота.
В IDE можно встретить специальные символы - "#" или ";", после которых идет закомментированный текст - это либо комментарии разработчиков, либо закомментированные части ide, по определённым причинам убранные из загрузки игры. Любой текст, записанный после знака комментария до конца строки, игнорируется игровым движком GTA.


Структура


Файлы .ide разделены на секции. Они могут быть не обязательны, или даже могут быть пустыми. Каждая секция начинается с идентификатора секции и заканчивется ключевым словом end. Строка секции разделяется запятыми, между которыми записаны значения каждой ячейки строки. Каждая ячейка может содержать либо целое или дробное число, либо одно слово.

 
Пример:

objs
...
end

Код строки (ставить вместо точек):

ModelId, ModelName, TexDictName, DrawDist, Flags
  • ModelId (DWORD) - уникальный идентификатор модели - целое число. Для сториесов значение вычисляется.
  • ModelName (string[24]) - название модели (в большинстве случаев - имя соответствующего dff-файла для GTA3, GTA VC и GTA SA (без расширения)).
  • TexDictName (string[24]) - название архива с текстурами (имя соответствующего txd-файла для GTA3, GTA VC и GTA SA (без расширения), NULL в случае отсутствия текстур на модели).
  • DrawDist (float) - дистанция прорисовки объекта на карте относительно координат экрана.
  • Flags (float) - специальные параметры отображения объекта, значение по умолчанию '0'.

Готовый пример строки:

objs
12210, des_bigtelescope, des_telescopestuff, 300, 0
end 

IPL


Введение


Файлы Item PLacement предназначены для расстановки объектов на игровой карте, а также определяют зоны, пути, гаражи, маркеры интерьеров и многое другое. Если IPL файл находится в текстовом виде, то его можно открыть и отредактировать в любом текстовом редакторе, например в блокноте, а если IPL файл находится в двоичном (скомпилированном) виде, то для его изменения уже используют специальные редакторы, либо программы, конвертирующие двоичные IPL в текстовые и обратно.

Присутствуют во всех играх серии GTA, начиная с третьей части (GTA 3, GTA VC, GTA SA (в текстовом и двоичном виде), GTA LCS (в двоичном виде), GTA VCS (в двоичном виде), GTA 4 (в текстовом и двоичном виде) ), а так же в других играх от Rockstar Games.
В GTA 4 двоичные IPL были переименованы в *.wpl, но их принцип остался тот же (описание см. в отдельной статье: *.wpl ).


 

Структура 


Файлы .ipl разделены на несколько секций. Они могут быть не обязательны, или даже могут быть пустыми. Каждая секция начинается и идентификатора секции и заканчивается ключевым словом end. Строка секции разделяется запятыми, между которыми записаны значения каждой ячейки строки. Каждая ячейка может содержать либо целое или дробное число, либо одно слово.

 
Пример:

inst
...
end

Код строки (ставить вместо точек):

ModelId, NULL, Interior, PosX, PosY, PosZ, RotX, RotY, RotZ, RotW, LOD
  • ModelId (DWORD) - уникальный идентификатор модели - целое число. Должен соответствовать идентификатору в IDE файле.
  • NULL (string[24]) - пустое значение строки, игнорируется игрой. Может содержать любой мусор (обычно туда записывают имя DFF файла для совместимости с MAP_IO).
  • Interior (WORD) - номер интерьера, для которого используется модель (объекты с другими номерами интерьеров при этом не подгружаются на карту при попадании игрока в данный интерьер). Для основной карты номер интерьера = 0.
  • PosX, PosY, PosZ (float[3]) - координаты объекта относительно центра карты.
  • RotX, RotY, RotZ, RotW (float[4]) - масштабирование и поворот объекта на карте относительно его центра, записанного в DFF. Определяется как кватернион, для перевода в Эйлеровы углы необходимы довольно сложные математические вычисления, что делает программа Rotation Calculator. Масштабируется только сама модель, модель коллизии не масштабируется! (при этом в игре появляются глюки с камерой).
  • LOD (DWORD) - номер строки в текущем IPL файле для LODа, принадлежащего этой модели. Первый объект прописанный в IPL это строка «0», второй объект – «1» и так далее… Значение «-1» означает что LOD не используется.

Готовый пример строки:

inst
12210, des_bigtelescope, 0, 1431.251342,1710.763671,19.446697, 0.0000, 0.0000, 0.0000, 0.0000, 1
end 

Как вы уже заметили, секций у этих файлов много, но здесь, мы разбирали только секции связанные с объектами.

Хочу заметить, прописывать в IPL необязательно, чтобы создать добавленный объект в игре (например через soe), достаточно просто прописать его в IDE.

Информация взята с открытого доступа я лишь убрал лишние и подготовил урок с примером.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

2 ответа на этот вопрос

  • 0
VinCE!NT
Новичок

А что означает 300, 299, ? И 0 , 1 

3357, urm_bsmp, urm_bsmp, 300, 1

3352, ZBS, ZBS, 299, 1

3352, ZBS, ZBS, 299, 0

3357, urm_bsmp, urm_bsmp, 300, 0

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
  • 0
iQua
Освоившийся
  В 5/17/2020 в 09:39, VinCE!NT сказал:

А что означает 300, 299, ? И 0 , 1 

3357, urm_bsmp, urm_bsmp, 300, 1

3352, ZBS, ZBS, 299, 1

3352, ZBS, ZBS, 299, 0

3357, urm_bsmp, urm_bsmp, 300, 0

Читать далее...  
  • ModelId (DWORD) - уникальный идентификатор модели - целое число. Для сториесов значение вычисляется.
  • ModelName (string[24]) - название модели (в большинстве случаев - имя соответствующего dff-файла для GTA3, GTA VC и GTA SA (без расширения)).
  • TexDictName (string[24]) - название архива с текстурами (имя соответствующего txd-файла для GTA3, GTA VC и GTA SA (без расширения), NULL в случае отсутствия текстур на модели).
  • DrawDist (float) - дистанция прорисовки объекта на карте относительно координат экрана.
  • Flags (float) - специальные параметры отображения объекта, значение по умолчанию '0'.
  1. ID текстуры, которую ты будешь ставить в сборку для сервера.
  2. Название самого объекта в формате .dff
  3. Название самого объекта в формате txd.
  4. Дистанций прорироски.
  5. Flags (float) - специальные параметры отображения объекта, значение по умолчанию '0'.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Для публикации сообщений создайте учётную запись или авторизуйтесь

Вы должны быть пользователем, чтобы оставить комментарий

Создать учетную запись

Зарегистрируйте новую учётную запись в нашем сообществе. Это очень просто!


Регистрация нового пользователя

Войти

Уже есть аккаунт? Войти в систему.


Войти

  • Последние посетители   0 пользователей онлайн

    Ни одного зарегистрированного пользователя не просматривает данную страницу

  • Похожий контент

    • Jasper231
      От Jasper231
      Идет набор в команду для создания CRMP MOBILE проекта. Нам нужны
      1) Кодеры
      2) Мапперы
      3) Люди которые вообще разбираются в создании серверов
       
      об зарпалте договоримся и об остальном поговорим в вк: @haslyyyim
    • otec
      От otec
      Копия радмира
      ║☑️Название CORVUS CRMP
      ║☑️Сервер у которого есть будущее и будет
      ║☑️Адекватная администрация
      ║☑️Идут наборы в Лидеры, Админы.
      ║☑️Вступайте в Telegram: t.me/corvusgta « Вступай!
      ║☑️Вступайте в ВКонтакте: vk.com/corvus_crmp « Вступай!
      ║☑️Постоянные ПРИЗЫ - МП | Интересный Мод
      ║☑️Все новости - обновления в Telegram и ВКонтакте
      ║☑️Сайт - corvus-crmp.ru
      ║☑️Форум - forum.corvus-crmp.ru
      ║☑️Скачать лаунчер - corvus-crmp.ru
      ║☑️Заходи мы ждем тебя
      ║☑️В случае возможных ошибок пишите сюда:@corvus_help_bot
    • vicegame
      От vicegame
      Доброго времени суток уважаемые форумчане
      Хочу представить наши услуги и цены:
      GTA SAMP от 75руб
      GTA CRMP от 75 руб
      GTA MTA от 120 руб
      Для каждого тарифа неограниченные слоты, оплата только за ресурсы 
      Удобная панель управления и широкий функционал 
      Работаем с 2023 года!
       
      Также имеются БЕСПЛАТНЫЕ тарифы для (ознакомительных целей)
       
      Мощные процессоры Ryzen 5950X (Германия)
       
      Платежная система YooKassa на борту:
      Банковские карты
      SberPay
      TinkoffPay
      Yoomoney

      Ссылка на хостинг: ТЫК
    • hatriyikko
      От hatriyikko
      Требуется мобильная сборка мод + клиент + лаунчер

      Копия Радмира, Блэк Раши или что-то другое с аналогичным функционалом. Основной упор на бизнесы, чтобы всё исправно работало
       
      Напишите сколько это будет стоить?

      В дальнейшем также могут понадобиться какие то доработки мода, если всё ок рассматриваю долгосрочное сотрудничество

      Связь тут или в тг @kovart7
    • whccompany
      От whccompany
      World Hosting Corporations 
                                                                GTA Game Host 
                                               CRMP PC& Mobile Project 
                                           Rostov Role Play | Rostov RP 
      Друзья, нашему проекту срочно требуется маппер для масштабного маппинга, нам требуется сделать:
      1) Городской маппинг (удалить города и создать новые города, сначало необходимо создать город Ростов-на-Дону ; посёлок Коксовый и село Ряженое, создать используя стоковые фотографии из Яндекса и Гугла)
      2) Фракционный маппинг ( Текстуры + Экстерьер + Интерьер )
      3) Маппинг работ ( Текстуры + Экстерьеры + Интерьеры )
      Бюджет до 60 000 рублей
      Возможно заключение трудового контракта 
      Пишите: ВКонтакте