🔥 Обзор
Эти файлы используются для определения поведения при столкновении и вызываются системными INI-файлами при определении столкновения (например, area_scout.ini
). Имейте в виду, что столкновения особенно подвержены сбоям без spew при наличии ошибок и определяются несколькими INI-файлами.
💨 Ванильные примеры
DATA\MISSIONS\ENCOUNTERS\area_armored_prisoner.ini
DATA\MISSIONS\ENCOUNTERS\area_armored_prisonerarea_scout.ini
DATA\MISSIONS\ENCOUNTERS\area_armored_prisonerminingp_scavenger.ini
DATA\MISSIONS\ENCOUNTERS\area_armored_prisonerpatrolp_bh_patrol.ini
DATA\MISSIONS\ENCOUNTERS\area_armored_prisonertradelane_trade_transport.ini
DATA\MISSIONS\ENCOUNTERS\area_armored_prisonertradep_trade_freighter_smuggler.ini
💢 Синтаксис
Все INI-файлы в этой папке имеют одинаковый синтаксис. В одном файле можно определить несколько блоков [EncounterFormation]. Блок [Creation] может быть определён только один.
💥 [EncounterFormation]
[EncounterFormation]
ship_by_class = INT, INT, STRING
ship_by_npc_arch = INT, INT, STRING ;optional
pilot_job = STRING
make_class = STRING ;optional
formation_by_class = STRING
behavior = STRING
arrival = STRING, -STRING, -STRING, ...
allow_simultaneous_creation = BOOL
zone_creation_distance = INT
times_to_create = INT
Параметр | Информация |
---|---|
ship_by_class | Этот параметр ссылается на класс, определённый в shipclasses.ini , и задаёт минимальное и максимальное количество кораблей для появления. Практический предел кораблей на один блок [EncounterFormation] — около 17. Превышение этого лимита может вызвать сбой игры. |
ship_by_npc_arch | Работает аналогично ship_by_class , но позволяет напрямую указать никнейм из npcships.ini. Важно, чтобы вызов столкновения в системе соответствовал уровню сложности [NPCShipArch] , иначе возможны сбои. |
pilot_job | Определяет поведение пилота, заданное в блоке JobBlock в pilots_population.ini . |
make_class | Переопределяет тег класса из shipclasses.ini для создаваемых кораблей перед их появлением. Можно использовать вместе с density_restriction зоны, чтобы ограничить появление определённых кораблей при заданных условиях. |
formation_by_class | Определяет формацию, которую будет использовать столкновение, согласно тегу formation из faction_prop.ini . Вместимость формации ограничивает число кораблей, которые могут образовать формацию. Корабли могут появляться сверх лимита, но не смогут формироваться и не будут двигаться, пока на них не нападут. |
behavior | Определяет поведение кораблей в формации. Значения, похоже, захардкожены. Известные варианты: wander , trade , patrol_path . Подробнее см. раздел "Behavior" ниже таблицы. |
arrival | Определяет способы появления формации. Известные варианты: all , object_all , tradelane , object_docking_ring , object_jump_gate , object_station , object_capital , cruise , buzz . Можно задавать несколько способов, а для исключения метода использовать префикс - . Например, all, -tradelane позволит все методы, кроме tradelane. |
allow_simultaneous_creation | Определяет, создаются ли все корабли столкновения одновременно или последовательно. Одиночные столкновения не будут усиливаться, но таймер повторного появления (repop_timer ) продолжит отсчёт. Когда таймер достигнет 0, игра "удержит" следующее столкновение до уничтожения текущего, появив его, когда последний корабль текущего столкновения исчезнет. |
zone_creation_distance | Определяет минимальное расстояние от игрока, на котором может появиться это столкновение. |
times_to_create | Похоже, что этот параметр не используется. Возможно, это остаток от старых версий Freelancer, где столкновения могли появляться ограниченное число раз. Значение может быть либо "infinite" , либо целым числом. |
🔭 Behavior Parameter (Параметр поведения)
Этот параметр определяет схему поведения полёта для всей группы столкновения, независимо от других параметров. Задание пилота по-прежнему определяет, как пилот будет себя вести при столкновении с объектами или кораблями, принадлежащими другой фракции. Как правило, созданные столкновения исчезают, покидая зону действия в соответствии с их схемой поведения.
Поведение будет различаться в зависимости от того, вызвано ли столкновение в зоне патрульного пути или в зоне области. Особые схемы поведения также можно наблюдать вокруг станций, ворот и прыжковых дыр.
Поведение | Информация |
---|---|
wander (зоны) | Корабли будут летать по случайной траектории на нормальной скорости внутри зоны. Они исчезают только при выходе за пределы зоны и не будут швартоваться, использовать врата или прыжковые дыры. Такое поведение можно применять в зонах с путями, но оно может вести к нежелательным эффектам: пилоты обычно летят по случайным траекториям внутри границ зоны пути. |
trade (зоны вокруг объектов) | Когда столкновения с этим поведением появляются рядом с базой, прыжковыми вратами, прыжковой дырой или кольцом торгового пути, корабли будут использовать эти объекты при выполнении определённых условий (фракция столкновения должна быть указана в mbases.ini базы и иметь достаточную дружелюбность для швартовки). Если игрок отчалит, он может обнаружить столкновение уже присутствующим. Все корабли, покидающие станцию, будут иметь заполненные трюмы выбранными товарами из commodity_per_faction.ini . Прибывающие корабли будут с пустыми трюмами. Если появление происходит вдали от интерактивных объектов, корабли появятся с пустыми трюмами и полетят на крейсерской скорости к случайному швартуемому объекту в системе. |
trade (зоны пути) | Торговые пути обычно соединяют швартуемые объекты. Корабль с этим поведением появится в любом месте пути и будет двигаться в одном из направлений на крейсерской скорости. Обычно он попытается пристыковаться в пункте назначения, если вы будете следовать за ним до конца. |
patrol_path (зоны пути) | Это поведение не следует использовать в зоне. Корабль с этим поведением появится в любой точке пути и будет следовать по нему в одном направлении. Когда он попадёт в зону действия и истечёт relief_time , патруль завершит текущий участок маршрута и попытается пристыковаться к ближайшему объекту. Если маршрут патруля образует замкнутый цикл, корабли будут летать по нему до истечения времени relief_time . |
Если в бою используется либо trade
, либо patrol_path
, маршруты патрулирования должны начинаться на определенном расстоянии и заканчиваться в пределах досягаемости оснащённого сканера от объекта, к которому могут пристыковаться участники боевого прикрытия, как определено в mbases.ini. Неправильное расположение способов патрулирования при проведении сбоям.
💨 [Creation]
[Creation]
permutation = INT, INT
Параметр | Информация |
---|---|
permutation | Когда определено несколько блоков [EncounterFormation] , можно использовать этот параметр в блоке создания для задания вероятности появления столкновения. Первое значение — это ID [EncounterFormation] , начиная с нуля в порядке определения, второе значение — вес вероятности. |