Skyrim CK:Формат файлов/QUST

Материал из Tiarum
Перейти к: навигация, поиск
Переводить Этот материал нуждается в переводе или допереводе..
Вы можете помочь перевести его. Не забывайте предварительно добавлять строку {{Edit|--~~~~}} в материалы над которыми работаете, чтобы не создавать конфликта правок.
Пожалуйста, снимите шаблон этого сообщения, когда материал будет вычитан.

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

  • INDX поля. Каждая метка помечает собой начало информации о данной стадии квеста. Последующие поля предоставляют информацию об определенных стадиях квеста.
  • QOBJ поля. Каждая метка помечает собой начало информации о цели квеста (которая связана через индекс квеста с информацией из поля INDX).
  • ALST и ALLS поля: Каждая метка помечает собой начало информации о связанных с квестом алиасах (alias). Алиасы имеют ID (например, 4), имя (например, Location) и расчетное значение (например, "Winterhold").

Содержание

Стандартные поля

Эти поля не являются частью какой-либо из более сложных структур, описанных в последующих разделах.

C SubRecord Название Тип/Размер Info
+ EDID editorId zstring Editor id
- VMAD script info VMAD
- FULL fullName lstring Полное имя, отображаемое в журнале (по крайней мере для квестов не из раздела "Разное")
 ? DNAM Unknown struct Unknown
Unknown int32 Unknown
Unknown int32 Unknown - always zero so far
Flags int32 Values of 0x01, 0x03, 0x05 and 0x09 so far
- ENAM Event Node? char[4] Corresponds with SMEN short name
+ FLTR Filter? zstring Такие значения как 'Main Quest\', 'Civil War\', 'Civil War\Siege\', 'Faction\ThievesGuild\' или 'Faction\Companions\Radiant\'
* CTDA Conditions struct[32] Условия, которые применяются к квесту в целом. Обратите внимание, что CTDA поля появляются так же в секциях INDX, QOBJ и ALST/ALLS, но действует там лишь на малую составляющую квеста.
*
CIS2
Variable name? zstring Вспомогательные данные для CTDA.
+ NEXT Marker empty Always zero bytes in length so far. Appears to mark the end of the QUST header; normally INDX records start to appear immediately after the NEXT field (although sometimes CTDA fields come after NEXT instead of before it).
+ ANAM AliasCount? int32 May be the maximum number of Aliases associated with this quest. If so, it implies that the scripting defines more indices that are reflected in the QUST record. (The largest AliasID is never larger than AliasCount in tested cases, but typically several AliasIDs do not appear in ALID fields).
ANAM actually appears in between the QOBJ and ALST/ALLS sections, but there is only ever one ANAM field per QUST, and the location of the field may not have any significance.

INDX Section

Multiple INDX fields can appear in a single QUST record, and 1 or more QSDT fields can appear within each INDX field. The multipliers in the 'C' column in the following table only apply relative to a given INDX/QSDT combination (any of these fields may appear multiple times within an overall QUST record)

C SubRecord Name Тип/Размер Info
* INDX Journal Index struct Journal index of the quest stage and other data
Index int16 Actual journal index of the quest stage
Flags int16 Bits 0x02, 0x100, 0x400, 0x1000, 0x2000 and 0x4000 set so far
*
QSDT
ubyte Flags Each QSDT field marks the start of one possible set values for this quest stage. Multiple QSDT fields will appear if there are multiple ways to complete this quest stage, and therefore multiple possible journal entries.
QSDT contains quest stage flags
0x01 - Completes quest
-
CNAM
Journal entry lstring Index in the string file for the text of the journal entry.
 ?
SCHR
Unknown struct[25] Unknown
 ?
QNAM
Quest? formid QUST formid, however several point to themselves (eg 0x000BA53C)
 ?
SCTX
Unknown string Unknown
*
CTDA
Conditions struct[32] Conditions that apply to this QSDT.
*
CIS2
Variable name? zstring Вспомогательные данные для CTDA.


QOBJ Section

Multiple QOBJ fields can appear in a single QUST record, and 1 or more QSTA fields can appear within each QOBJ field. The multipliers in the 'C' column in the following table only apply relative to a given QOBJ/QSTA combination (any of these fields may appear multiple times within an overall QUST record)

C SubRecord Name Тип/Размер Info
* QOBJ Index int16 Journal index of the quest stage.
QOBJ probably stands for "Quest Objective"
Same as one of the values in INDX.Index. Indicates that the subsequent fields are relevant to this journal index.

In a small number of cases, QOBJ does not have a matching value in INDX.Index. For example in Thane of Falkreath QOBJ is 15, but there is no INDX 15. The quest objective is still displayed in-game, but it cannot be triggered using setstage Favor258 15. Instead, setstage Favor258 20 has to be used.

+
FNAM
Flags? int32 Values often repeat and have flag-looking values like 512 and 130.
+
NNAM
node name? lstring Text for an individual quest objective
*
QSTA
Unknown struct Unknown.
Flags? int32 Unknown - almost certainly not a formid like in Oblivion.
Flags? int32 Unknown - either 0 or 1 so far.
*
CTDA
Conditions struct[32] Conditions that apply to this QSTA.
*
CIS2
Variable name? zstring Вспомогательные данные для CTDA.

ALST/ALLS Section

Multiple ALST and/or ALLS fields can appear in a single QUST record. Each ALST/ALLS entry provides information about a given Alias (i.e., a dynamically assigned value) that can appear in this quest. Most of the fields that appear in this section appear to be used in order to determine the calculated value for the alias.

ALST and ALLS fields appear largely interchangeable, at least in terms of structure. Both ALST and ALLS fields contain ALID fields, under which are then a wide variety of possible fields. The only difference noted so far between ALST and ALLS fields is that ALST fields only seem to contain a single ALID entry, whereas ALLS fields seem to contain multiple ALID entries. The multipliers in the 'C' column in the following table only apply relative to a given ALST/ALLS/ALID combination (any of these fields may appear multiple times within an overall QUST record)

C SubRecord Name Тип/Размер Info
* ALST Alias Step? int32 The AliasID is the numerical value used for this alias. This is the parameter for functions such as LocAliasHasKeyword and GetInCurrentLocAlias.
* ALLS All Steps? int32
*
ALID
AliasName zstring The name of this Alias, for example Location or QuestGiver. This name appears in strings that are dynamically updated based upon the quest details, for example Kill the leader of <Alias=Location>. The calculated value of this alias is then substituted into the string.
+
FNAM
Flags? int32 Values often repeat and have flag-looking values like 512 and 130.
*
CTDA
Conditions struct[32] Conditions that apply to this ALID.
*
CIS2
Variable name? zstring Вспомогательные данные для CTDA.
+
ALED
EOF Marker? empty Appears to always be the final field in a set of ALID entries.
-
ALUA
Quest target formid NPC_ record for the quest giver, if there is a fixed quest giver.

(One other way of setting the quest-giver is using a series of CTDA records in the QuestGiver alias field, using functions such as GetInFaction)

 ?
VTCK
Unknown formid When non-zero points to NPC_ или FLST records
 ?
ALCA
Unknown int32 Unknown
 ?
ALCL
Unknown int32 Unknown
 ?
ALCO
Alias Created Object formid Points to a base record for an item (NPC_, BOOK, MISC, LVLI, ARMO, KEYM, etc). An instance of that object is then created and assigned to this alias. ALFR, ALRT, and ACLO are mutually exclusive and never used together.
 ?
ALDN
Alias Dynamic Name formid Points to MESG record, whose value is then dynamically assigned as the name of the Alias object. Used to rename NPCs (e.g., Skyrim:Rigel Strong-Arm), quest rewards (e.g., Blade of Falkreath), or quest targets (e.g., Fine-Cut Void Salts)
 ?
ALEA
Unknown int32 Unknown
 ?
ALEQ
Unknown formid QUST записи
 ?
ALFA
Flags? int32 Unknown
 ?
ALFC
Unknown formid FACT записи
 ?
ALFD
Unknown int32 Unknown
-
ALFE
Event Node? char[4] Corresponds with SMEN short name
 ?
ALFI
Unknown int32 Unknown
 ?
ALFL
Alias Fixed Location formid A fixed LCTN record that should be assigned to this alias. Also presumably becomes the default location record for this quest (used by any other alias records that need to look up location-specific items).
 ?
ALFR
Alias Fixed Reference formid Points to an ACHR or REFR record corresponding to the object that should be assigned to this alias. ALFR, ALRT, and ACLO are mutually exclusive and never used together.
 ?
ALPC
Unknown formid PACK записи
 ?
ALRT
Alias Reference Type formid Points to a LCRT record which is used to find the object that should be assigned to this alias. This LCRT is looked up in the LCTN.LCSR field of the quest's assigned location to find a ACHR or REFR record that is then associated with this alias. ALFR, ALRT, and ACLO are mutually exclusive and never used together.
 ?
ALSP
Unknown formid SPEL записи
 ?
COCT
CNTO count int32 Number of CNTO records
*
CNTO
Items struct[8] Inventory-type item list. These items are added to the inventory of the aliased object.
Item ID
formid
Item count
uint32
 ?
ECOR
Unknown formid FLST записи
 ?
KNAM
Unknown formid A single KYWD record
 ?
KSIZ
KWDA count uint32 Number of KWDA entries (size of KWDA is 4*KSIZ)
 ?
KWDA
Keywords formid[KSIZ] KYWD записи
 ?
NAM0
Unknown int32 Unknown
 ?
QTGL
Unknown int32 Unknown
Личные инструменты
Пространства имён
Варианты
Действия
Навигация
Разделы TES
Разделы Fallout
Модмейкерам
Инструменты