Difference between revisions of "TRE QSTFileType"
From SWGANH Wiki
(→header) |
(→Type: Escort) |
||
(10 intermediate revisions by the same user not shown) | |||
Line 40: | Line 40: | ||
=In Depth Structure= | =In Depth Structure= | ||
==task== | ==task== | ||
− | |||
Each '''task''' packet starts with a header containing 4 fields: | Each '''task''' packet starts with a header containing 4 fields: | ||
<task type="" id="" name="" taskOnFail="" > | <task type="" id="" name="" taskOnFail="" > | ||
+ | Depending on the header, its content vary (more or less data fields, ...) | ||
+ | ===Type: Nothing=== | ||
+ | ====header==== | ||
*type=Nothing | *type=Nothing | ||
*id=0 | *id=0 | ||
*name=Nothing | *name=Nothing | ||
*taskOnFail=false | *taskOnFail=false | ||
+ | ====content==== | ||
+ | *prerequisiteTasks= | ||
+ | *exclusionTasks= | ||
+ | *journalEntryTitle= | ||
+ | *journalEntryDescription= | ||
+ | *isVisible=true | ||
+ | *showSystemMessages=0 | ||
+ | *allowRepeats=0 | ||
+ | *target= | ||
+ | *parameter= | ||
− | ===content=== | + | ===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= | ||
+ | *<font color=green>Planet=tatooine | ||
+ | *LocationX(m)=220 | ||
+ | *LocationY(m)=190 | ||
+ | *LocationZ(m)=220 | ||
+ | *Radius(m)=10.0</font> | ||
+ | |||
+ | ===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= | ||
+ | *<font color=green>Min Time=0 | ||
+ | *Max Time=60</font> | ||
+ | |||
+ | ===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= | ||
+ | *<font color=green>Creature Type=rockmite (or any other) | ||
+ | *Count=1 | ||
+ | *Min Distance=5 | ||
+ | *Max Distance=50 | ||
+ | *Direction=Any | ||
+ | *musicOnActivate= (this field is not always there)</font> | ||
+ | |||
+ | ===Type: Reward=== | ||
+ | ====header==== | ||
+ | *type=Reward | ||
+ | *id=6 | ||
+ | *name=Reward | ||
+ | *taskOnFail=false | ||
+ | ====content==== | ||
+ | *prerequisiteTasks= | ||
+ | *exclusionTasks= | ||
+ | *journalEntryTitle= | ||
+ | *journalEntryDescription= | ||
+ | *isVisible=true | ||
+ | *showSystemMessages=0 | ||
+ | *allowRepeats=0 | ||
+ | *target= | ||
+ | *parameter= | ||
+ | *<font color=green>Experience Type= | ||
+ | *Experience Amount=0 | ||
+ | *Faction Name=Rebel | ||
+ | *Faction Amount=0 | ||
+ | *Bank Credits=1000 | ||
+ | *Item=</font> | ||
+ | |||
+ | ===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= | ||
+ | *<font color=green>musicOnActivate=</font> | ||
+ | |||
+ | ===Type: Escort=== | ||
+ | ====header==== | ||
+ | *type=Escort | ||
+ | *id=1 | ||
+ | *name=Escort | ||
+ | *taskOnFail=false | ||
+ | ====content==== | ||
+ | *prerequisiteTasks= | ||
+ | *exclusionTasks= | ||
+ | *journalEntryTitle=some text | ||
+ | *journalEntryDescription= some text | ||
+ | *isVisible=false | ||
+ | *showSystemMessages=0 | ||
+ | *allowRepeats=0 | ||
+ | *target= | ||
+ | *parameter= | ||
+ | *<font color=green>Escort Creature Type=oola | ||
+ | *Destination Path Node Name= | ||
+ | *Movement Type=Walk</font> | ||
+ | |||
+ | ===Type: Immediately Clear Quest=== | ||
+ | ====header==== | ||
+ | *type=Immediately Clear Quest | ||
+ | *id=7 | ||
+ | *name=Immediately Clear Quest | ||
+ | *taskOnFail=false | ||
+ | ====content==== | ||
*prerequisiteTasks= | *prerequisiteTasks= | ||
*exclusionTasks= | *exclusionTasks= |
Latest revision as of 06:32, 12 June 2007
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=
Type: Escort
header
- type=Escort
- id=1
- name=Escort
- taskOnFail=false
content
- prerequisiteTasks=
- exclusionTasks=
- journalEntryTitle=some text
- journalEntryDescription= some text
- isVisible=false
- showSystemMessages=0
- allowRepeats=0
- target=
- parameter=
- Escort Creature Type=oola
- Destination Path Node Name=
- Movement Type=Walk
Type: Immediately Clear Quest
header
- type=Immediately Clear Quest
- id=7
- name=Immediately Clear Quest
- taskOnFail=false
content
- prerequisiteTasks=
- exclusionTasks=
- journalEntryTitle=
- journalEntryDescription=
- isVisible=true
- showSystemMessages=0
- allowRepeats=0
- target=
- parameter=
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)