PLAY08

From SWGANH Wiki
Revision as of 08:59, 11 September 2011 by Apathy (Talk | contribs) (Deltas Struct)

(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to: navigation, search

Baseline - PLAY08

SWGANH Wiki is a repository of Star Wars Galaxies Developer information. This site is only meant to be used by SWGANH Developer team.

PLAY Packet Type QuickNav
PLAY01 - PLAY03 - PLAY06 - PLAY08 - PLAY09


BaseLine Struct


SHORT:          OpperandCount
INT:            XPListSize
INT:            XPListUpdateCounter
{
 BYTE:         
 DeltaByte(00)
 ASTRING:       XPType
 INT:           XPValue
}
INT:            WaypointListSize
INT:            WaypointListUpdateCounter
{
 BYTE:          DeltaByte(00)
 LONG:          WaypointObjectID
 INT:           CellID
 FLOAT:         XCoord
 FLOAT:         ZCoord
 FLOAT:         YCoord
 LONG:          LocationNetworkId
 INT:           PlanetCRC
 USTRING:       WaypointName
 LONG:          WaypointObjectID
 BYTE:          Color
 BYTE:          ActiveFlag
}
INT:            CurrentForcePower
INT:            MaxForcePower
INT:            CurrentFSQuestList
INT:            UpdateCounter
{
 BYTE:          CurrentFSQuestMask
}
INT:            CompletedFSQuestList
INT:            UpdateCounter
{
 BYTE:          CompletedFSQuestMask
}
INT:            QuestJournalList
INT:            UpdateCounter
{
 BYTE:          DeltaByte(00)
 INT:           QuestCRC
 LONG:          OwnerID
 SHORT:         ActiveStepBitmask
 SHORT:         CompletedStepBitmask
 BYTE:          CompletedFlag
 INT:           QuestCounter
}

Deltas Struct


SHORT:                  UpdateCount
SHORT:                  UpdateType
{
  00:
    INT:                XPListSize
    INT:                XPListUpdateCounter
    {
      BYTE:             SubType
      {
        00:(add)
          ASTRING:      XPType
          INT:          XPValue
        01:(remove)
          ASTRING:      XPType
          INT:          XPValue
        02:(update)
          ASTRING:      XPType
          INT:          XPValue
      }
    }
  01:
    INT:                WaypointListSize
    INT:                WaypointListUpdateCounter
    {
      BYTE:             SubType
      {
        00:(add)
          LONG:         WaypointObjectID
          INT:          CellID
          FLOAT:        XCoord
          FLOAT:        ZCoord
          FLOAT:        YCoord
          LONG:         NetworkLocationID
          INT:          PlanetCRC
          USTRING:      WaypointName
          LONG:         WaypointObjectID
          BYTE:         Color
          BYTE:         ActiveFlag
        01:(remove)
          LONG:         WaypointObjectID
          INT:          CellID
          FLOAT:        XCoord
          FLOAT:        ZCoord
          FLOAT:        YCoord
          LONG:         NetworkLocationID
          INT:          PlanetCRC
          USTRING:      WaypointName
          LONG:         WaypointObjectID
          BYTE:         Color
          BYTE:         ActiveFlag
        02:(update)
          LONG:         WaypointObjectID
          INT:          CellID
          FLOAT:        XCoord
          FLOAT:        ZCoord
          FLOAT:        YCoord
          LONG:         NetworkLocationID
          INT:          PlanetCRC
          USTRING:      WaypointName
          LONG:         WaypointObjectID
          BYTE:         Color
          BYTE:         ActiveFlag
      }
    }
  02:
    INT:                CurrentForcePower
  03:
    INT:                MaxForcePower
  04:
    INT:                CurrentFSQuestList
    INT:                UpdateCounter
    {
      BYTE:             CurrentFSQuestMask
    }
  05:
    INT:                CompletedFSQuestList
    INT:                UpdateCounter
    {
      BYTE:             CompletedFSQuestMask
    }
  06:
    INT:                QuestJournalList
    INT:                UpdateCounter
    {
      BYTE:             DeltaByte(00)
      INT:              QuestCRC
      LONG:             OwnerID
     
      SHORT:            ActiveStepBitmask
      SHORT:            CompletedStepBitmask
      BYTE:             CompletedFlag
      INT:              QuestCounter
    }
}

Variable Descriptions


OpperandCount = 7

XPList:

A list of XP Types and the ammount of experience you have of it.

WaypointList:

A list of Waypoints inside your datapad.
It contains the coordinate floats, an ObjectID for that specific waypoint object. A CRC of the planet the waypoint is for (for the visual). Active Flag and Color.

ActiveFlag:

01 - Active
00 - Inactive

Color:

1 - blue
2 - green
3 - orange
4 - yellow
5 - purple/red
6 - white
7 - JTL (multi-color)

ForcePower:

The Current/Max amount of ForcePower (purple) bar your player has. It gets consumed with force skills and slowly regenerates.

FSQuestList:

Each bit of the byte in the list represents 1 sub part of a Force Sensative Quest. Current parts are used in the first list. Completed parts are marked in the 2nd list.

QuestList:

A list of quests in the quest journal currently being worked on or are completed.

QuestCRC:

The CRC string of the Quest to add to the journal.

OwnerID:

The ObjectID of the person working on the quest. Is usually 0 or your characterID.

QuestCounter:

The integer used as a counter for the quests. Each quest gets the incremented value. It will count the number of quests youve accepted during your entire "career".

CompletedFlag:

01 if the Quest is ENTIRELY complete.
00 if it is partially or incomplete.

QuestStepBitmask:

Each bit in the mask represents 1 part of the quest. If the part is complete, that bit flag is set to 1 on the COMPLETE mask. If it is currently active/being worked on, it is set to 1 on the ACTIVE mask.

example: 4 bit mask

0001 - Active, bit1 - first part
0000 - Complete, nothing is done (finish part 1)
0010 - Active bit2 - part 2 is active
0001 - Complete, bit1 - part1 is done (finish part 2)
0100 - Active bit3 - part 3 is active
0011 - Complete, bit1,bit2 - part 1 and 2 are done.(finish part 3)
0000 - Active - none, you are done
0111 - Complete, bit1,bit2,bit3 part 1 2 3 are done. CompleteFlag = 1.

Tags


100% This packet has been completely reversed.

Sample Packet


07 00
//================================XPList
03 00 00 00 //ListSize
00 00 00 00 //UpdateCounter

00 //Delta Padding  01 - remove, 00 - set, 02 - set (not intended to be used.. same as 00)
0E 00                                      // string count
63 6F 6D 62 61 74 5F 67 65 6E 65 72 61 6C  // combat_general
64 00 00 00 //Value (Ammount of XP)
00 // Delta Padding
05 00          // string count
73 63 6F 75 74 // scout
A3 1C 00 00 // amount of xp 7331
00 // Delta Padding
0C 00                               // sting count
75 6E 6F 62 74 61 69 6E 61 62 6C 65 // unobtainable
39 05 00 00 // amount of xp 1337

//=============================Waypoint List
01 00 00 00 // List Size
00 00 00 00 // Update Counter
00 // Delta Padding
AA BB 66 99 0A 00 00 00 // (waypoint object ID)
00 00 00 00  // ??(JTL?)
26 78 32 C3  // (FLOAT:X CORD)
00 00 E0 41  // (FLOAT:Z CORD)
6B 87 97 C5  // (FLOAT:Y CORD)
00 00 00 00  // ??(JTL?)
00 00 00 00  // ??(JTL?)
58 B5 D7 AF  // PlanetCRC
13 00 00 00  // u-string count
53 00 57 00 47 00 45 00 6D 00 75 00 27 00 73 00 20 00 46 00
69 00 72 00 73 00 74 00 20 00 53 00 74 00 65 00 70 00 // S W G E m u ' s   F i r s t   S t e p
AA BB 66 99 0A 00 00 00 //(Waypoint Object ID. again.)
01   //(BYTE: Color) (1 - blue, 2 - green, 3 - orange, 4 - yellow, 5 -purple/red, 6- white, 7 -JTL)
01   // (BYTE: activated flag)
00 00 00 00 // Current Force
00 00 00 00 // Max Force
05 00 00 00 // CurrentFSQuestMask
00 00 00 00
00 00 00 00
00
05 00 00 00  // CompletedFSQuestMask
00 00 00 00
00 00 00 00
00
01 00 00 00  // RegularQuestJournal
00 00 00 00
00  //Unused in ASM.. Might be leftover for a delta or something that they botched.
92 9B 44 C5 // QuestCRC
15 A8 0A 56 03 00 00 00 // Owner/Character ID? Not Used either really.
04 00 // ActiveBitMask For which parts of the quest you have
01 00 // CompletedBitMask For which parts of the quest you completed
00    // CompletedFlag For completing the entire quest and its parts
01 00 00 00 // ? no idea, some sort of counter, default value gets incremented with each
           // new quest. Individual Quest Counter?


thats 9 times the same waypoint ??????

05 00 53 21 86 12 F1 05 EC 1E 34 00 00 00 59 41   ..S.?.?.?.4...YA
4C 50 08 3F 03 00 00 01 00 01 00 09 00 00 00 09   LP.?............
00 00 00 00 AB 7A 57 BB 36 00 00 00 00 00 00 00   ....?zW?6.......
BA F7 36 45 22 DC E3 41 17 8B B2 C5 00 00 00 00   ??6E.??A.???....
00 00 00 00 21 91 27 57 14 00 00 00 40 00 67 00   [email protected].
72 00 6F 00 75 00 70 00 3A 00 67 00 72 00 6F 00   r.o.u.p.:.g.r.o.
75 00 70 00 77 00 61 00 79 00 70 00 6F 00 69 00   u.p.w.a.y.p.o.i.
6E 00 74 00 AB 7A 57 BB 36 00 00 00 04 01 02 AB   n.t.?zW?6......?
7A 57 BB 36 00 00 00 00 00 00 00 BA F7 36 45 22   zW?6.......??6E.
DC E3 41 17 8B B2 C5 00 00 00 00 00 00 00 00 21   ??A.???.........
91 27 57 14 00 00 00 40 00 67 00 72 00 6F 00 75   [email protected]
00 70 00 3A 00 67 00 72 00 6F 00 75 00 70 00 77   .p.:.g.r.o.u.p.w
00 61 00 79 00 70 00 6F 00 69 00 6E 00 74 00 AB   .a.y.p.o.i.n.t.?
7A 57 BB 36 00 00 00 04 01 02 AB 7A 57 BB 36 00   zW?6......?zW?6.
00 00 00 00 00 00 BA F7 36 45 22 DC E3 41 17 8B   ......??6E.??A.?
B2 C5 00 00 00 00 00 00 00 00 21 91 27 57 14 00   ??.........?.W..
00 00 40 00 67 00 72 00 6F 00 75 00 70 00 3A 00   [email protected].:.
67 00 72 00 6F 00 75 00 70 00 77 00 61 00 79 00   g.r.o.u.p.w.a.y.
70 00 6F 00 69 00 6E 00 74 00 AB 7A 57 BB 36 00   p.o.i.n.t.?zW?6.
00 00 04 01 02 AB 7A 57 BB 36 00 00 00 00 00 00   .....?zW?6......
00 BA F7 36 45 22 DC E3 41 17 8B B2 C5 00 00 00   .??6E.??A.???...
00 00 00 00 00 21 91 27 57 14 00 00 00 40 00 67   [email protected]
00 72 00 6F 00 75 00 70 00 3A 00 67 00 72 00 6F   .r.o.u.p.:.g.r.o
00 75 00 70 00 77 00 61 00 79 00 70 00 6F 00 69   .u.p.w.a.y.p.o.i
00 6E 00 74 00 AB 7A 57 BB 36 00 00 00 04 01 02   .n.t.?zW?6......
AB 7A 57 BB 36 00 00 00 00 00 00 00 BA F7 36 45   ?zW?6.......??6E
22 DC E3 41 17 8B B2 C5 00 00 00 00 00 00 00 00   .??A.???........
21 91 27 57 14 00 00 00 40 00 67 00 72 00 6F 00   [email protected].
75 00 70 00 3A 00 67 00 72 00 6F 00 75 00 70 00   u.p.:.g.r.o.u.p.
77 00 61 00 79 00 70 00 6F 00 69 00 6E 00 74 00   w.a.y.p.o.i.n.t.
AB 7A 57 BB 36 00 00 00 04 01 02 AB 7A 57 BB 36   ?zW?6......?zW?6
00 00 00 00 00 00 00 BA F7 36 45 22 DC E3 41 17   .......??6E.??A.
8B B2 C5 00 00 00 00 00 00 00 00 21 91 27 57 14   ???.........?.W.
00 00 00 40 00 67 00 72 00 6F 00 75 00 70 00 3A   [email protected].:
00 67 00 72 00 6F 00 75 00 70 00 77 00 61 00 79   .g.r.o.u.p.w.a.y
00 70 00 6F 00 69 00 6E 00 74 00 AB 7A 57 BB 36   .p.o.i.n.t.?zW?6
00 00 00 04 01 02 AB 7A 57 BB 36 00 00 00 00 00   ......?zW?6.....
00 00 BA F7 36 45 22 DC E3 41 17 8B B2 C5 00 00   ..??6E.??A.???..
00 00 00 00 00 00 21 91 27 57 14 00 00 00 40 00   .......?.W....@.
67 00 72 00 6F 00 75 00 70 00 3A 00 67 00 72 00   g.r.o.u.p.:.g.r.
6F 00 75 00 70 00 77 00 61 00 79 00 70 00 6F 00   o.u.p.w.a.y.p.o.
69 00 6E 00 74 00 AB 7A 57 BB 36 00 00 00 04 01   i.n.t.?zW?6.....
02 AB 7A 57 BB 36 00 00 00 00 00 00 00 BA F7 36   .?zW?6.......??6
45 22 DC E3 41 17 8B B2 C5 00 00 00 00 00 00 00   E.??A.???.......
00 21 91 27 57 14 00 00 00 40 00 67 00 72 00 6F   [email protected]
00 75 00 70 00 3A 00 67 00 72 00 6F 00 75 00 70   .u.p.:.g.r.o.u.p
00 77 00 61 00 79 00 70 00 6F 00 69 00 6E 00 74   .w.a.y.p.o.i.n.t
00 AB 7A 57 BB 36 00 00 00 04 01 02 AB 7A 57 BB   .?zW?6......?zW?
36 00 00 00 00 00 00 00 BA F7 36 45 22 DC E3 41   6.......??6E.??A
17 8B B2 C5 00 00 00 00 00 00 00 00 21 91 27 57   .???.........?.W
14 00 00 00 40 00 67 00 72 00 6F 00 75 00 70 00   [email protected].
3A 00 67 00 72 00 6F 00 75 00 70 00 77 00 61 00   :.g.r.o.u.p.w.a.
79 00 70 00 6F 00 69 00 6E 00 74 00 AB 7A 57 BB   y.p.o.i.n.t.?zW?
36 00 00 00 04 01 00 00 00 00                     6.........