Difference between revisions of "TRE QSTFileType"

From SWGANH Wiki
Jump to: navigation, search
(New page: QueST files are the new version of quests that appear with publish 10 when SOE introduced the journal in the game. <pre> <?xml version="1.0"?> <quest version="1.0" > <tasks availabl...)
 
(Type: Escort)
 
(17 intermediate revisions by the same user not shown)
Line 1: Line 1:
 
QueST files are the new version of quests that appear with publish 10 when SOE introduced the journal in the game.
 
QueST files are the new version of quests that appear with publish 10 when SOE introduced the journal in the game.
  
 +
=Basic Structure=
 
<pre>
 
<pre>
 
<?xml version="1.0"?>
 
<?xml version="1.0"?>
Line 26: Line 27:
 
   </quest>
 
   </quest>
 
</pre>
 
</pre>
 +
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
 +
****...
 +
=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=
 +
*<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=
 +
*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)

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.

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
        • ...

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)