Tes4Mod:Mod File Format/QUST

Oblivion: Tes4Mod: Modding

A QUST record defines a quest. Each quest stage starts with an INDX subrecord. Each quest target starts with a QSTA subrecord.

Subrecord Type Info
EDID zstring Quest editor ID
FULL zstring Quest name
ICON zstring ICON filename
DATA ubyte Quest flags
0x01=Start game enabled
0x04=Allow repeated conversation topics
0x08=Allow repeated stages
ubyte Quest priority
SCRI formid Quest script
CTDA struct Quest conditions. There is a CTDA subrecord for each condition and they appear before the first INDX subrecord. The quest conditions are added to the individual dialog response conditions for the quest.
INDX short Quest stage. The INDX subrecord starts a new quest stage and is followed by the subrecords for that quest stage.
QSDT ubyte Quest stage flags
0x01=Complete quest
CNAM zstring Log Entry.
SCHR struct Result script data. See SCHR for more information.
SCDA struct Compiled result script. See SCDA for more information.
SCTX string Result script source.
SCRO formid Global variable reference. There is an SCRO subrecord for each global reference.
QSTA formid Quest target. The QSTA subrecord starts a new quest target specification and is followed by one or more CTDA subrecords specifying the target conditions.
ubyte Flags
0x01=Compass marker ignores locks
ubyte[3] Unknown
CTDA struct Target conditions. There is a CTDA subrecord for each target condition.


CTDA SubrecordEdit

There is a CTDA subrecord for each condition.

Type Info
ubyte Condition type where the upper 4 bits contain the compare operator and the lower 4 bits contain flags.
Compare operator
0=Equal to
2=Not equal to
4=Greater than
6=Greater than or equal to
8=Less than
10=Less than or equal to
Flags
0x01=OR
0x02=Run on target
0x04=Use global
ubyte[3] Unknown
float Comparison value
long Function index. See Functions for a list of function indices.
formid/long First parameter. This can be a number or a Form ID depending on the function.
formid/long Second parameter. This can be a number of a Form ID depending on the function