TRE QSTFileType
From SWGANH Wiki
QueST files are the new version of quests that appear with publish 10 when SOE introduced the journal in the game.
Contents
Basic Structure
<?xml version="1.0"?> <quest version="1.0" > <tasks availableId="" > <task type="" id="" name="" taskOnFail="" > <data value="" name="" /> <data value="" name="" /> <data value="" name="" /> ... <task type="" id="" name="" taskOnFail="" > <data value="" name="" /> <data value="" name="" /> <data value="" name="" /> ... </task> </task> </tasks> <list> <data value="" name="" /> <data value="" name="" /> <data value="" name="" /> ... </list> </quest>
We have:
- a XML header
- a quest packet (1 per file)
- a tasks packet containing 2 things:
- a task packet (the main one of the quest) containing some informations:
- name=value
- ...
- and 0 or more other task packets which can each contain 0 or more other task packet and so on...
- a list packet containing some informations:
- name=value
- ...
- a task packet (the main one of the quest) containing some informations:
- a tasks packet containing 2 things:
In Depth Structure
task
Each task packet starts with a header containing 4 fields:
<task type="" id="" name="" taskOnFail="" >
Depending on the header, its content vary (more or less data fields, ...)
Type: Nothing
header
- type=Nothing
- id=0
- name=Nothing
- taskOnFail=false
content
- prerequisiteTasks=
- exclusionTasks=
- journalEntryTitle=
- journalEntryDescription=
- isVisible=true
- showSystemMessages=0
- allowRepeats=0
- target=
- parameter=
Type: Go to Location
header
- type=Go to Location
- id=3
- name=Go to Location
- taskOnFail=false
content
- prerequisiteTasks=
- exclusionTasks=
- journalEntryTitle=some text
- journalEntryDescription=
- isVisible=true
- showSystemMessages=0
- allowRepeats=0
- target=
- parameter=
- Planet=tatooine
- LocationX(m)=220
- LocationY(m)=190
- LocationZ(m)=220
- Radius(m)=10.0
Type: Timer
header
- type=Timer
- id=10
- name=Timer
- taskOnFail=false
content
- prerequisiteTasks=
- exclusionTasks=
- journalEntryTitle=some text
- journalEntryDescription=
- isVisible=true
- showSystemMessages=0
- allowRepeats=0
- target=
- parameter=
- Min Time=0
- Max Time=60
Type: Encounter
header
- type=Encounter
- id=9
- name=Encounter
- taskOnFail=false
content
- prerequisiteTasks=
- exclusionTasks=
- journalEntryTitle=some text
- journalEntryDescription=
- isVisible=true
- showSystemMessages=0
- allowRepeats=0
- target=
- parameter=
- Creature Type=rockmite (or any other)
- Count=1
- Min Distance=5
- Max Distance=50
- Direction=Any
- musicOnActivate= (this field is not always there)
Type: Reward
header
- type=Reward
- id=6
- name=Reward
- taskOnFail=false
content
- prerequisiteTasks=
- exclusionTasks=
- journalEntryTitle=
- journalEntryDescription=
- isVisible=true
- showSystemMessages=0
- allowRepeats=0
- target=
- parameter=
- Experience Type=
- Experience Amount=0
- Faction Name=Rebel
- Faction Amount=0
- Bank Credits=1000
- Item=
Type: Immediately Complete Quest
header
- type=Immediately Complete Quest
- id=7
- name=Immediately Complete Quest
- taskOnFail=false
content
- prerequisiteTasks=
- exclusionTasks=
- journalEntryTitle=
- journalEntryDescription=
- isVisible=true
- showSystemMessages=0
- allowRepeats=0
- target=
- parameter=
- musicOnActivate=
list
Each variable of the list packet is stored this way:
<data value="" name="" />
Let's view what they are and their values:
- journalEntryTitle=some text
- journalEntryDescription=some text
- prerequisiteQuests=
- exclusionQuests=
- allowRepeats=true (or false)
- target=
- parameter=
- category=Test (or any other category)
- completeWhenTasksComplete=true (or false)