missions.ini
🔬
missions.ini
Предупреждение

Эта страница находится в процессе разработки!

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

🔥 Оглавление

💢 Обзор

Эти файлы управляют триггерами сюжетных миссий и состоят из серии триггеров, условий и действий, позволяющих создавать сложные, разветвлённые миссии. По умолчанию можно определить максимум 14 таких файлов (от миссии 01a до миссии 13).

💥 Ванильные примеры

  • DATA\MISSIONS\M01A\m01a.ini
  • DATA\MISSIONS\M09\m09.ini
  • DATA\MISSIONS\M11\m11.ini

🔭 Синтаксис

Несколько блоков могут быть определены в любом порядке.

📎 [Mission]

Похоже, этот блок определяется только один раз для каждого файла.

[Mission]
mission_title = INT
mission_offer = INT
reward = INT
npc_ship_file = PATH
Параметр Описание
mission_title Похоже, это IDS, определяющий название миссии при её предложении на базе.
mission_offer Похоже, это текст, который отображается при предложении миссии на базе.
reward Награда в кредитах за выполнение миссии.
npc_ship_file Ссылка на файл npcships.ini, используемый для миссии. Каждая миссия имеет свой файл, расположенный в той же папке, что и INI-файл миссии.

⚡ [NPC]

Похоже, что синтаксис аналогичен specific_npc.ini, но с добавлением ключа npc_ship_arch.

[NPC]
nickname = STRING
space_costume = STRING, STRING, STRING
affiliation = STRING
npc_ship_arch = STRING ;optional
individual_name = INT
voice = STRING ;optional
Параметр Описание
nickname Как этот НПС ссылается в блоках [MsnShip].
space_costume Ссылка на записи Head, Body и Accessory из bodyparts.ini.
affiliation Ссылка на запись FactionProps из faction_prop.ini.
npc_ship_arch Ссылка на NpcShipArch из файла npcships.ini, используемого для миссии.
individual_name IDS-имя, отображаемое в космосе для этого НПС. Может быть переопределено ключом random_name в MsnShip.
voice Запись голоса, используемая для НПС, из voices.ini.

💢 [Dialog]

[Dialog]
nickname = STRING
system = STRING
line = STRING, STRING, STRING, FLOAT, FLOAT
Параметр Описание
nickname
system
line

📌 [Trigger]

Триггер представляет собой набор действий, которые необходимо выполнить при выполнении определенных условий.

[Trigger]
nickname = STRING
repeatable = BOOL
system = STRING
InitState = ENUM ;optional
Cnd_True = ENUM ;optional
Cnd_Destroyed = STRING, INT, ENUM ;optional
Cnd_Timer = FLOAT ;optional
Cnd_CharSelect = STRING, STRING, STRING ;optional
Cnd_CargoScanned = STRING, STRING ;optional
Cnd_CommComplete = STRING ;optional
Cnd_LaunchComplete = STRING, STRING ;optional
Cnd_JumpInComplete = STRING ;optional
Cnd_JumpgateAct = STRING ;optional
Cnd_PlayerLaunch = ENUM ;optional
Cnd_SpaceEnter = STRING ;optional
Cnd_SpaceExit = ENUM ;optional
Cnd_SystemEnter = STRING, ENUM, ... ;optional
Cnd_SystemExit = STRING, ENUM, ... ;optional
Cnd_BaseEnter = STRING ;optional
Cnd_BaseExit = STRING ;optional
Cnd_LocEnter = STRING, STRING ;optional
Cnd_InZone = BOOL, STRING, STRING ;optional
Cnd_InTradelane = BOOL, STRING ;optional
Cnd_InSpace = BOOL ;optional
Cnd_DistShip = ENUM, STRING, STRING, INT ;optional
Cnd_DistVec = ENUM, STRING, INT, INT, INT, INT ;optional
Cnd_DistVecLbL = ENUM, STRING, STRING, INT, INT, INT, INT ;optional
Cnd_DistCircle = STRING, STRING ;optional
Cnd_HealthDec = STRING, FLOAT ;optional
Cnd_EncLaunched = STRING ;optional
Cnd_HasMsn = BOOL ;optional
Cnd_WatchVibe = STRING, STRING, STRING, ENUM ;optional
Cnd_WatchTrigger = STRING, BOOL ;optional
Cnd_TLExited = STRING, ENUM, STRING ;optional
Cnd_TLEntered = STRING, STRING, STRING ;optional
Cnd_TetherBroke = STRING, STRING, INT, INT, INT ;optional
Cnd_ProjHitShipToLbl = STRING, INT, STRING ;optional
Cnd_ProjHit = STRING, INT, STRING ;optional
Cnd_RumorHeard = STRING ;optional
Cnd_PlayerManeuver = STRING, STRING ;optional
Cnd_NPCSystemEnter = STRING, STRING, STRING ;optional
Cnd_MsnResponse = ENUM ;optional
Cnd_LootAcquired = STRING, STRING ;optional
Act_ActTrig = STRING ;optional
Act_DeactTrig = STRING ;optional
Act_ChangeState = ENUM, INT ;optional
Act_SetVibeLbl = STRING, STRING, ENUM ;optional
Act_SetVibeLblToShip = STRING, STRING, ENUM ;optional
Act_SetVibeShipToLbl = STRING, STRING, ENUM ;optional
Act_SetRep = STRING, STRING, FLOAT ;optional
Act_Cloak = STRING, BOOL ;optional
Act_Invulnerable = STRING, BOOL, BOOL, FLOAT ;optional
Act_Destroy = STRING, ENUM ;optional
Act_SetNNObj = STRING, ENUM ;optional
Act_SetNNState = STRING, ENUM ;optional
Act_NNIds = INT, ENUM ;optional
Act_SetNNHidden = STRING, BOOL, BOOL ;optional
Act_GiveObjList = STRING, STRING ;optional
Act_RpopAttClamp = BOOL ;optional
Act_SetOffer = INT ;optional
Act_SetTitle = INT ;optional
Act_AddRTC = PATH ;optional
Act_RemoveRTC = PATH ;optional
Act_RandomPopSphere = INT, INT, INT, INT, ENUM ;optional
Act_Forceland = STRING ;optional
Act_PlayerCanDock = BOOL, STRING ;optional
Act_LockDock = STRING, STRING, ENUM ;optional
Act_PlayerCanTradelane = BOOL, STRING, STRING ;optional
Act_PobjIdle = ENUM ;optional
Act_SpawnShip = STRING, STRING, INT, INT, INT, FLOAT, FLOAT, FLOAT, FLOAT ;optional
Act_SpawnSolar = STRING ;optional
Act_SpawnFormation = STRING, STRING, INT, INT, INT, FLOAT, FLOAT, FLOAT, FLOAT ;optional
Act_EtherComm = STRING, INT, STRING, STRING, INT, STRING, STRING ;optional
Act_SendComm = STRING, STRING, STRING ;optional
Act_StartDialog = STRING ;optional
Act_PlayerEnemyClamp = INT, INT ;optional
Act_PlayMusic = STRING, STRING, STRING, STRING ;optional
Act_AdjHealth = STRING, FLOAT ;optional
Act_NagDistTowards =  ENUM, STRING, STRING, STRING, INT, INT, ENUM ;optional
Act_NagDistLeaving =  ENUM, STRING, STRING, STRING, INT, INT, ENUM ;optional
Act_NagOff = STRING ;optional
Act_NagClamp = BOOL ;optional
Act_MarkObj = STRING, INT ;optional
Act_SetLifetime = STRING, INT ;optional
Act_Save = STRING, INT ;optional
Act_SetInitialPlayerPos = INT, INT, INT, INT, INT, INT, INT ;optional
Act_EnableManeuver = STRING, BOOL ;optional
Act_LockManeuvers = TRUE ;optional
Act_EnableEnc = STRING ;optional
Act_DisableEnc = STRING ;optional
Act_Jumper = STRING, BOOL ;optional
Act_LightFuse = STRING, STRING ;optional
Act_RevertCam = ENUM ;optional
Act_AdjAcct = INT ;optional
Act_GCSClamp = BOOL ;optional
Act_MovePlayer = INT, INT, INT, INT ;optional
Act_RelocateShip = STRING, INT, INT, INT, FLOAT, FLOAT, FLOAT, FLOAT ;optional
Act_RelocateForm = STRING, INT ;optional
Act_CallThorn = PATH, STRING ;optional
Act_PlaySoundEffect = STRING ;optional
Act_SetShipAndLoadout = STRING, STRING ;optional
Act_Popupdialog = INT, INT, STRING ;optional
Act_AddAmbient = PATH, STRING ;optional
Act_RemoveAmbient = PATH ;optional
Act_HostileClamp = BOOL ;optional
Act_DisableTradelane = STRING ;optional
Act_StaticCam = FLOAT, FLOAT, FLOAT, FLOAT, FLOAT, FLOAT, FLOAT ;optional
Act_SpawnShipRel = SSTRING, INT, FLOAT ;optional
Act_SpawnLoot = STRING ;optional
Act_SetVibeOfferBaseHack = STRING ;optional
Act_SetOrient = STRING, INT, INT, INT, INT ;optional
Act_SetFlee = STRING ;optional
Act_RpopTLAttacksEnabled = BOOL ;optional
Act_RepChangeRequest = STRING ;optional
Act_RemoveCargo = STRING ;optional
Act_SetPriority = STRING, ENUM ;optional
Act_PilotParams = STRING ;optional
Act_PlayNN = STRING ;optional
Act_PlayerForm = STRING ;optional
Act_NNPath = INT, INT, STRING, STRING ;optional
Act_NagGreet = STRING, STRING ;optional
Act_GiveNNObjs = ENUM ;optional
Act_DockRequest = STRING ;optional
Act_DisableFriendlyFire = STRING ;optional
Act_DebugMsg = STRING ;optional
Параметр Описание
nickname Как этот триггер упоминается в других местах файла, обычно через Act_ActTrig.
repeatable Можно ли активировать триггер более одного раза. Ключ должен присутствовать для работы и обычно принимает значение no_params.
system Система, в которой срабатывает триггер, берётся из Universe.ini.
InitState Enum ACTIVE. Если ключ присутствует, триггер начинается в активированном состоянии.
Cnd_True Обязательный ключ, если других условий нет. Принимает значение no_params.
Cnd_Destroyed Триггер требует уничтожения указанных объектов. Ссылается на MsnShip, MsnSolar, label или MsnFormation, число (вероятно, количество оставшихся или уничтоженных, -1 используется для всех объектов группы) и необязательный Enum, который, по-видимому, определяет способ уничтожения.
Cnd_Timer Триггер отсчитывает время с момента активации в секундах перед срабатыванием.
Cnd_CharSelect
Cnd_CargoScanned
Cnd_CommComplete
Cnd_LaunchComplete
Cnd_JumpInComplete
Cnd_JumpgateAct
Cnd_PlayerLaunch
Cnd_SpaceEnter Принимает no_params, что означает, что триггер срабатывает, когда игрок выходит в космос через андерокинг, либо принимает system, что, вероятно, требует выхода в космос именно в этой системе для срабатывания.
Cnd_SpaceExit
Cnd_SystemEnter
Cnd_SystemExit
Cnd_BaseEnter Триггер срабатывает, когда игрок стыкуется на указанной базе. Ссылается на Base из Universe.ini.
Cnd_BaseExit
Cnd_LocEnter
Cnd_InZone
Cnd_InTradelane
Cnd_InSpace
Cnd_DistShip Enum: INSIDE или OUTSIDE, а также TICK_AWAY, TICK_ALWAYS и TICK_TOWARDS.
Cnd_DistVec Триггер срабатывает, когда объект находится на определённом расстоянии от заданного вектора. Первый параметр — inside или outside, определяющий, должен ли объект быть внутри или снаружи заданного расстояния. Второй — объект (MsnShip или Player). Следующие три — координаты XYZ, затем float — требуемое расстояние. Наблюдается также параметр tick_away, но его назначение неизвестно.
Cnd_DistVecLbL Похоже на Cnd_DistVec, но применяется к группам с метками.
Cnd_DistCircle
Cnd_HealthDec Триггер требует, чтобы указанный MsnShip или MsnSolar имел здоровье ниже определённого значения. Первый параметр — объект, второй — процент от 0 до 1.
Cnd_EncLaunched
Cnd_HasMsn
Cnd_WatchVibe Enum: REP_FRIEND_MAXIMUM, REP_FRIEND_THRESHOLD, REP_NEUTRAL_FRIENDLY, REP_NEUTRAL, REP_NEUTRAL_HOSTILE, REP_HOSTILE_THRESHOLD, REP_HOSTILE_MAXIMUM.
Cnd_WatchTrigger Enum: ON, OFF, ACTIVE, COMPLETE.
Cnd_TLExited
Cnd_TLEntered
Cnd_TetherBroke
Cnd_ProjHitShipToLbl
Cnd_ProjHit
Cnd_RumorHeard
Cnd_PlayerManeuver Enum: GOTO, DOCK, FORMATION.
Cnd_NPCSystemEnter
Cnd_MsnResponse Требуется конкретный ответ от результата триггера Act_AddRTC. Enum: REJECT или ACCEPT.
Cnd_LootAcquired
Act_ActTrig Ссылка на триггер для активации. Все условия триггера должны быть выполнены для его срабатывания.
Act_DeactTrig
Act_ChangeState Enum: FAIL или SUCCEED.
Act_SetVibeLbl Enum: REP_FRIEND_MAXIMUM, REP_FRIEND_THRESHOLD, REP_NEUTRAL_FRIENDLY, REP_NEUTRAL, REP_NEUTRAL_HOSTILE, REP_HOSTILE_THRESHOLD, REP_HOSTILE_MAXIMUM.
Act_SetVibeLblToShip Enum: REP_FRIEND_MAXIMUM, REP_FRIEND_THRESHOLD, REP_NEUTRAL_FRIENDLY, REP_NEUTRAL, REP_NEUTRAL_HOSTILE, REP_HOSTILE_THRESHOLD, REP_HOSTILE_MAXIMUM.
Act_SetVibeShipToLbl Enum: REP_FRIEND_MAXIMUM, REP_FRIEND_THRESHOLD, REP_NEUTRAL_FRIENDLY, REP_NEUTRAL, REP_NEUTRAL_HOSTILE, REP_HOSTILE_THRESHOLD, REP_HOSTILE_MAXIMUM.
Act_SetRep Enum: REP_FRIEND_MAXIMUM, REP_FRIEND_THRESHOLD, REP_NEUTRAL_FRIENDLY, REP_NEUTRAL, REP_NEUTRAL_HOSTILE, REP_HOSTILE_THRESHOLD, REP_HOSTILE_MAXIMUM.
Act_Cloak Включает или выключает маскировку на корабле, если у него есть устройство маскировки. Первый параметр — корабль, второй — true/false для состояния маскировки. Учтите, что NPC всё равно будут разговаривать, если у них задан голос.
Act_Invulnerable
Act_Destroy Уничтожает MsnShip, MsnSolar или MsnFormation. Первый параметр — объект для уничтожения, второй — метод. Enum: EXPLODE или SILENT.
Act_SetNNObj Устанавливает цель нейросети, например, точку маршрута или текст задачи. См. блок [NNObjective] для деталей. Enum: OBJECTIVE_HISTORY или OBJECTIVE. Кажется, можно установить только одну цель за раз.
Act_SetNNState Enum: ACTIVE или COMPLETE.
Act_NNIds Enum: HISTORY.
Act_SetNNHidden
Act_GiveObjList Отправляет ObjList к MsnShip. Первый параметр — корабль или формация, второй — набор команд ObjList для выдачи.
Act_RpopAttClamp
Act_SetOffer
Act_SetTitle
Act_AddRTC Активирует набор катсцен в реальном времени (RTC) из конфигурации по указанному пути. Может быть повторяемым, если указан параметр repeatable в качестве второго аргумента.
Act_RemoveRTC Неясно, вероятно отключает состояние RTC, созданное Act_AddRTC. Требуются дополнительные тесты.
Act_RandomPopSphere
Act_Forceland
Act_PlayerCanDock
Act_LockDock Enum: UNLOCK и LOCK.
Act_PlayerCanTradelane
Act_PobjIdle
Act_SpawnShip Создаёт MsnShip. Обязателен только первый аргумент. Остальные аргументы: ObjList, набор из 3 чисел для координат XYZ и набор из 4 чисел для ориентации WXYZ. Эти значения переопределяют настройки, заданные в MsnShip.
Act_SpawnSolar Создаёт MsnSolar.
Act_SpawnFormation Создаёт MsnFormation. Обязателен только первый аргумент. Остальные аргументы: ObjList, набор из 3 чисел для координат XYZ и набор из 4 чисел для ориентации WXYZ. Эти значения переопределяют настройки, заданные в MsnFormation.
Act_EtherComm
Act_SendComm
Act_StartDialog
Act_PlayerEnemyClamp
Act_PlayMusic
Act_AdjHealth
Act_NagDistTowards Enum: NAG_ALWAYS и NAG_OUT_OF_COMBAT.
Act_NagDistLeaving Enum: NAG_ALWAYS и NAG_OUT_OF_COMBAT.
Act_NagOff
Act_NagClamp
Act_MarkObj
Act_SetLifetime
Act_Save
Act_SetInitialPlayerPos
Act_EnableManeuver Enum: GOTO, DOCK и FORMATION.
Act_LockManeuvers
Act_EnableEnc
Act_DisableEnc
Act_Jumper
Act_LightFuse
Act_RevertCam
Act_AdjAcct
Act_GCSClamp
Act_MovePlayer
Act_RelocateShip
Act_RelocateForm
Act_CallThorn
Act_PlaySoundEffect Проигрывает звук. Звук, похоже, игнорирует регуляторы громкости и воспроизводится на полной громкости для игрока.
Act_SetShipAndLoadout
Act_Popupdialog Отображает всплывающее окно на экране игрока. В космосе это приостанавливает игру. Первый параметр — IDS NAME для заголовка окна, второй — IDS INFO для содержимого. Enum: CLOSE, обязательный.
Act_AddAmbient
Act_RemoveAmbient
Act_HostileClamp
Act_DisableTradelane
Act_StaticCam
Act_SpawnShipRel
Act_SpawnLoot
Act_SetVibeOfferBaseHack
Act_SetOrient
Act_SetFlee
Act_RpopTLAttacksEnabled
Act_RepChangeRequest
Act_RemoveCargo
Act_SetPriority Enum: NORMAL и ALWAYS_EXECUTE.
Act_PilotParams
Act_PlayNN
Act_PlayerForm
Act_NNPath
Act_NagGreet
Act_GiveNNObjs
Act_DockRequest
Act_DisableFriendlyFire
Act_DebugMsg

⚡ [MsnRandEnc]

[MsnRandEnc]
nickname = STRING
encounter_type = STRING
attacker_rep_name = STRING
target_ship_name = STRING
activation_type = STRING, INT, INT
formation = STRING, INT, INT, INT, STRING, INT
num_forms = INT, INT
label = STRING
Параметр Описание
nickname
encounter_type
attacker_rep_name
target_ship_name
activation_type
formation
num_forms
label

🔭 [NNObjective]

Представляет цель, которая будет отображена игроку в виде путевой точки или текстовой цели на экране.

[NNObjective]
nickname = STRING
state = ENUM
type = STRING, INT
Параметр Описание
nickname Как этот NNObjective упоминается в других местах файла.
state Начальное состояние цели. Enum: HIDDEN (скрыта), ACTIVE (активна) и COMPLETE (завершена).
type Типы NNObjectives:

ids: Строка, записываемая в журнал Нейросети как цель и отображаемая на экране. Принимает одну строку.

rep_inst: Помечает конкретный корабль или объект solar маркером, как если бы он был назначен как цель. Требует две строки для журнала Нейросети, набор координат XYZ и объект для пометки. В vanilla координаты часто равны 0.

navmarker: Создаёт точку пути в космосе. Принимает систему, две строки для журнала Нейросети и координаты XYZ.

💢 [ObjList]

Представляет собой серию приказов, отдаваемых NPC, группе NPC или формированию.

[ObjList]
nickname = STRING
system = STRING
GotoShip = ENUM, STRING, INT, BOOL, INT
GotoVec = ENUM, INT, INT, INT, INT , BOOL
GotoSpline = ENUM, INT, INT, INT, INT, INT, INT, INT, INT, INT, INT, INT, INT, BOOL
MakeNewFormation = STRING, STRING
Follow = STRING, INT, INT, INT, INT
StayInRange = INT, INT, INT, INT
BreakFormation = ENUM
Avoidance = BOOL
Delay = INT
SetLifetime = STRING, INT
SetPriority = ENUM
Dock = STRING, STRING
Idle = ENUM
Параметр Описание
nickname
system
GotoShip Enum: GOTO, GOTO_CRUISE и GOTO_NO_CRUISE
GotoVec Enum: GOTO, GOTO_CRUISE и GOTO_NO_CRUISE
GotoSpline Enum: GOTO, GOTO_CRUISE и GOTO_NO_CRUISE
MakeNewFormation
Follow
StayInRange
BreakFormation Enum: no_params
Avoidance
Delay
SetLifetime
SetPriority Enum: NORMAL и ALWAYS_EXECUTE
Dock
Idle Enum: no_params

💢 [MsnSolar]

[MsnSolar]
nickname = STRING
string_id = INT
position = INT, INT, INT
orientation = INT, INT, INT, INT
radius = INT
archetype = STRING
loadout = STRING
system = STRING
base = STRING
faction = STRING
pilot = STRING
costume = STRING
voice = STRING
visit = INT
label = STRING
Параметр Описание
nickname
string_id
position
orientation
radius
archetype
loadout
system
base
faction
pilot
costume
voice
visit
label

⚡ [MsnShip]

[MsnShip]
nickname = STRING
position = INT, INT, INT
rel_pos = INT, INT, INT
orientation = INT, INT, INT, INT
radius = INT
NPC = STRING
random_name = BOOL
jumper = BOOL
arrival_obj = STRING
init_objectives = STRING
cargo = STRING, INT
Параметр Описание
nickname
position
rel_pos
orientation
radius
NPC
random_name
jumper
arrival_obj
init_objectives
cargo

📎 [MsnLoot]

[MsnLoot]
nickname = STRING
archetype = STRING
string_id = INT
rel_pos_obj = STRING
rel_pos_offset = INT, INT, INT
velocity = INT, INT, INT
equip_amount = INT
health = INT
Can_Jettison = BOOL
Параметр Описание
nickname
archetype
string_id
rel_pos_obj
rel_pos_offset
velocity
equip_amount
health
Can_Jettison

💥 [MsnFormation]

[MsnFormation]
nickname = STRING
position = INT, INT, INT
orientation = FLOAT, FLOAT, FLOAT, FLOAT
formation = STRING
ship = STRING ;multiple
Параметр Описание
nickname
position
orientation
formation
ship