Difference between revisions of "PLAY08"

From SWGANH Wiki
Jump to: navigation, search
(Variable Descriptions)
(Deltas Struct)
Line 95: Line 95:
 
       {
 
       {
 
         00:(add)
 
         00:(add)
           LONG:      
+
           LONG:         WaypointObjectID
WaypointObjectID
+
 
           INT:          ??
 
           INT:          ??
 
           FLOAT:        XCoord
 
           FLOAT:        XCoord
Line 126: Line 125:
 
           FLOAT:        XCoord
 
           FLOAT:        XCoord
 
      
 
      
      FLOAT:        ZCoord
+
          FLOAT:        ZCoord
 
           FLOAT:        YCoord
 
           FLOAT:        YCoord
 
           INT:          ??
 
           INT:          ??
Line 161: Line 160:
 
       LONG:            OwnerID
 
       LONG:            OwnerID
 
      
 
      
SHORT:            ActiveStepBitmask
+
      SHORT:            ActiveStepBitmask
 
       SHORT:            CompletedStepBitmask
 
       SHORT:            CompletedStepBitmask
 
       BYTE:            CompletedFlag
 
       BYTE:            CompletedFlag

Revision as of 12:36, 3 January 2008


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:           ??
 FLOAT:         XCoord
 FLOAT:         ZCoord
 FLOAT:         YCoord
 INT:           ??
 INT:           ??
 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:(add)
          ASTRING:      XPType
          INT:          XPValue
      }
    }
  01:
    INT:                WaypointListSize
    INT:                WaypointListUpdateCounter
    {
      BYTE:             SubType
      {
        00:(add)
          LONG:         WaypointObjectID
          INT:          ??
          FLOAT:        XCoord
          FLOAT:        ZCoord
          FLOAT:        YCoord
          INT:          ??
          INT:          ??
          INT:          PlanetCRC
          USTRING:      WaypointName
          LONG:         WaypointObjectID
          BYTE:         Color
          BYTE:         ActiveFlag
        01:(remove)
          LONG:         WaypointObjectID
          INT:          ??
          FLOAT:        XCoord
          FLOAT:        ZCoord
          FLOAT:        YCoord
          INT:          ??
          INT:          ??
          INT:          PlanetCRC
          USTRING:      WaypointName
          LONG:         WaypointObjectID
          BYTE:         Color
          BYTE:         ActiveFlag
        02:(add)
          LONG:         WaypointObjectID
          INT:          ??
          FLOAT:        XCoord
    
          FLOAT:        ZCoord
          FLOAT:        YCoord
          INT:          ??
          INT:          ??
          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
    }
}

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?

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


75% This packet has been partially reversed.