Моддинг

Руководства по моддингу для 1.11.0

Рекомендации

  • Следующие шаблоны prefab и node имеют неправильные позиции позиций в 1.11 и будут исправлены в некоторых будущих патчах. Пожалуйста, не используйте их до тех пор, чтобы избежать проблем с совместимостью.
    • / Сборный / fork_temp / exit_road_joint_tmpl
    • / Сборный / fork_temp / exit_road_joint_mirrored_tmpl
    • / Сборный / fork_temp / hw2_one_way_joint_tmpl
    • / Сборный / fork_temp / hw2_one_way_joint_mirrored_tmpl
    • / Сборный / fork_temp / road1_split_tmpl
    • / Сборный / fork_temp / hw2_exit_joint_tmpl
    • / Сборный / fork_temp / hw2_exit_joint_mirrored_tmpl
    • / Сборный / fork_temp / HW2-hw2_exit_tmpl
    • / Сборный / fork_temp / HW2-hw2_exit_mirrored_tmpl
    • / Сборный / fork_temp / exit_road_joint_short_tmpl
    • / Сборный / fork_temp / exit_road_joint_short_mirrored_tmpl
    • / Сборный / fork_temp / hw_exit_joint_narrow_tmpl
    • / Road_template / hw_exit
    • / Road_template / hw2_exit_one_way

  • Когда вы основываете свою модель на исходных, добавьте в свой мод также ВСЕ оригинал / автомат / файлы, используемые им. Имена файлов генерируются как SHA1-хэш их содержимого, поэтому всякий раз, когда мы каким-либо образом меняем параметры материала, для их хранения используется другой файл, и исходный файл может перестать существовать, если нет другой модели, использующей исходные параметры.
  • При модификации оригинальных моделей всегда включайте ВСЕ компоненты этой модели (pmg + pmd) вместо тех, которые вы изменили. В противном случае вы рискуете столкнуться, если измените модель.
  • Как всегда при добавлении новых объектов в файлы, поддерживающие многопользовательский подход (например, road_look.sii), ВЫСОКО РЕКОМЕНДУЕТСЯ использовать суффиксы или префикс в имени, чтобы избежать конфликтов с новыми объектами, которые мы добавляем в патчи. В противном случае вам, возможно, придется использовать функцию переименования пакетов (см. Переименование пачек), чтобы исправить конфликты при появлении нового патча.

Как преобразовать карту

  • Если вы добавили Swden, Норвегию или Данию в рамках своего мода, удалите включение этих единиц из вашей специфичной для конкретной страны страны. Sii.
  • Если вы добавили Венецию, Клагенфурт или Грац в рамках своего мода, удалите включение этих единиц из вашего mod-specific city.sii.
  • Если вы не использовали суффиксы при добавлении новых единиц, переименуйте свои юниты, чтобы избежать конфликтов в тех местах, где мы добавили новые.
  • Загрузите карту в редактор. Если сбой нагрузки, проверьте журнал и исправьте ошибки. Параметр командной строки -unlimitedlog может быть полезен в этом случае, если у вас много старых готовых файлов.
  • Используйте диалог замены (F3, «Корректировка префикса узла»), чтобы добавить к узлам карты, которые мы добавили к некоторым сборным файлам
  • Сохранить карту
  • Перестроить (F8)
  • Сохранить карту

изменения

Зеркальные аксессуары

Раньше игра автоматически скрывала зеркальные аксессуары от грузовика при рендеринге текстуры отражения, чтобы избежать неправильного использования API рендеринга. Для этой версии мы заменили это явными флагами видимости, указанными в аксессуарах (см. « Скрытие аксессуаров» ). Если вы создали новый аксессуар или модифицированный файл .sii существующего, вам необходимо применить соответствующие флаги, обычно 0x1E00.

Скрытие аксессуаров

Теперь можно явно скрывать вспомогательные аксессуары (accessories_addon_data) во время конкретного рендеринга (например, конкретное зеркало, тени, отражения), если оно будет затруднено некоторой геометрией или будет иметь неослабевающий эффект. Это делается с использованием нового атрибута hide_in . Правильное значение для этого атрибута можно рассчитать, используя калькулятор ниже. Существуют определенные ограничения:

  • НЕ используйте значения, отличные от значений, генерируемых калькулятором. Это может вызвать проблемы в системах с несколькими мониторами.
  • Аксессуары, модель которых ссылается на текстуры, содержащие зеркальное отражение (например, сами зеркала), ДОЛЖНЫ быть отмечены как не видные в зеркалах. Раньше был специальный механизм для обработки этого, однако теперь игра исключительно использует атрибут hide_in для обработки этого.

Скрыть следующие виды

Основной вид
Куб Отражения
Закрыть Зеркало
Far Mirror
Боковое зеркало
Переднее зеркало
Тени
Отражение дождя
hide_in: 0x 0

Названия коробок передач

Была добавлена ??дополнительная структура, которая могла отображать строку для данной передачи. Короткие строки (до 3 букв), как правило, поощряются, потому что не все панели приборов грузовика могут соответствовать более длинным.
Имена добавляются на каждую базу передачи в стандартное определение в файле /def/vehicle/truck/<truck_name>/transmission/<transmission_name>.sii . Коробка передач может иметь новые атрибуты имя_передачи и ее значение - ссылка на структуру, содержащую имена.

Если структура не содержит имен для всех возможных передач, будут использоваться имена по умолчанию (N, R, Dx).

Пример определения имен передачи:

SiiNunit {accessory_transmission_data: 12_speed.scania.r.transmission {transmission_names: .names} имя_передачи: .names {нейтральный: "N0" вперед [0]: "C" вперед [1]: "1L" вперед [2]: "1H «вперед [3]:« 2L »вперед [4]:« 2H »назад [0]:« R »}}

Изменения в редакторе

Пакетное переименование

Функция переименования пакетов теперь также поддерживает замену prefab_looks и prefab_variants с использованием новых строковых массивов prefab_look и prefab_variant . Формат строки следующий: «object_identification | new_value», где new_value - это имя вида или варианта для установки. Объектная_идентификация может быть либо просто именем prefab (например, «322» для «prefab.322»), чтобы заменить look / variant для любого сборника этого имени или имени в сочетании со старым значением (например, «322-foo») для замены внешний вид / вариант на сборных таблицах этого имени, которые в настоящее время имеют указанное значение ( предупреждение о замене массивов обрабатывается таким образом, чтобы указанное выше последнее правило увидело и могло бы реагировать на изменения, сделанные с помощью правила, указанного ранее).

Теперь можно указать «все сектора», установив атрибут секторов в одну запись, содержащую «*».

Изменения в движении

AI транспортные средства

Улучшено моделирование ускорения транспортного средства AI. На ускорение сейчас влияют:

  • независимо от того, движется ли автомобиль в гору / под гору
  • значение атрибута ' vehicle_mass ' (установлено для транспортного средства в base / def / vehicle / ai / *. sii)
    • в случае грузовых автомобилей учитывается масса прицепа и масса груза
  • значение « engine_torque » (устанавливается для транспортного средства в базовом / def / vehicle / ai / *. sii)
    • эквивалент атрибута «крутящий момент», установленного в аксессуаре грузовика
  • значения «коробки передач» (для каждого автомобиля в базовой / def / vehicle / ai / *. sii)
    • в случае грузовиков коробка передач должна иметь некоторые разумные значения для грузовиков без какого-либо прицепа
    • теперь коробка передач содержит значения коэффициентов передаточного отношения вместо ускорения
      • первое (и самое высокое) значение коэффициента передаточного отношения составляет 1,0
      • остальные значения уменьшаются с увеличением передач

Дорожные знаки и правила

ПРИМЕЧАНИЕ. Этот вопрос касается автомобилей AI и игрового автомата

Prefabs
  • Дорожные знаки больше не только украшение, поэтому, пожалуйста, убедитесь, что вы разместите их так, как они будут размещены в реальной жизни
    • подробнее о размещении дорожного знака в разделе «MAP» ниже
  • Как вы, наверное, знаете, в реальной жизни ограничения скорости движения отменены в конце перекрестка. Игра может автоматически обнаруживать перекресток, где кривые префикса, ведущие из разных узлов, соединяются или пересекаются . Однако существует также перекресток, где нет кривых. Хорошими примерами являются дорожные сборные или бензоколонки. В этих случаях установите правило трафика « Crossroad end » для локаторов prefab в местах, где ограничение скорости должно быть отменено.
  • В случае горизонтальных дорожных знаков (линий) не забудьте установить флаги / правила кривой, чтобы автомобили ИИ действовали правильно:
    • установить перекрестки, чтобы транспортные средства останавливались на линии
    • установите правило трафика «Стоп» на локаторе кривой, где транспортные средства должны остановиться (в ДОБАВЛЕНИИ до знака остановки)
      • в случае отсутствия стоп-линии транспортные средства автоматически останавливаются на ближайшем пересечении
  • Используйте только правила трафика на кривые, когда нет дорожного знака, который имеет ту же функциональность. Например, НЕ используйте любое ограничение скорости для кривых - у нас есть дорожные знаки для него.
  • Как и прежде, всегда проверяйте «правильность» мерцаний, приоритетов пересечения и т. Д. ...
Знаки дорожного движения
  • Дорожные знаки больше не только украшение, поэтому, пожалуйста, убедитесь, что для моделей дорожных знаков (/base/def/world/sign.sii) установлены правильные правила трафика:
    • предел скорости и «конец ограничения скорости»
    • начало шоссе
    • начало города, конец города
    • стоп-сигналы
Дорожные взгляды
  • ВСЕГДА проверяйте правильность установки свойства «ai_speed_type» (город / обычный / шоссе)
    • это свойство используется для определения ограничения скорости, если нет дорожных знаков для его отмены
карта
  • Дорожные знаки больше не только украшение, поэтому, пожалуйста, убедитесь, что вы разместите их так, как они будут размещены в реальной жизни
  • Дизайнеры карт, вероятно, несут большую ответственность за создание «дорожного мира», поскольку размещение дорожных знаков отменяет все другие свойства элемента, такие как ai_speed_type (определенные в дорожных исканиях ) или приоритеты пересечения (взятые из кривых prefab). Вот некоторые из них:
    • знаки ограничения скорости, установленные непосредственно перед перекрестком, не имеют смысла, поскольку ограничение скорости будет немедленно отменено
      • это также относится к случаям слияния дорожек (например, АЗС)
    • чтобы повлиять на определенные полосы движения, дорожный знак должен быть:
      • не слишком далеко от полосы движения
      • ориентированных параллельно направлению полосы движения
    • при создании дорог всегда проверяйте, правильно ли они выглядят на дороге, ai_speed_type (например, не используйте дороги с «обычным» типом скорости для создания дорог)
      • особым случаем являются «городские дороги» - дорога с любым типом скорости считается «городской дорогой», если она находится внутри городской площади