Difference between revisions of "TRE QSTFileType"

From SWGANH Wiki
Jump to: navigation, search
(Type: Escort)
 
(16 intermediate revisions by the same user not shown)
Line 28: Line 28:
 
</pre>
 
</pre>
 
We have:
 
We have:
:a XML header
+
*a XML header
:a '''quest''' packet  (1 per file)
+
*a '''quest''' packet  (1 per file)
::a '''tasks''' packet containing 2 things:
+
**a '''tasks''' packet containing 2 things:
:::a '''task''' packet (the main one of the quest) containing some informations:
+
***a '''task''' packet (the main one of the quest) containing some informations:
::::name=value
+
****name=value
::::...
+
****...
::::and 0 or more other '''task''' packets which can each contain 0 to more other '''task''' packet and so on...
+
****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:
+
***a '''list''' packet containing some informations:
::::name=value
+
****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)