Difference between revisions of "PLAY09"

From SWGANH Wiki
Jump to: navigation, search
(Deltas Struct)
Line 261: Line 261:
 
:The ObjectID of the closest crafting station (and the one that will be used for crafting).
 
:The ObjectID of the closest crafting station (and the one that will be used for crafting).
  
'''DraftSchematics''':
+
'''ServerSchematicCRC''':
:The list of draft schematics your player has available. Each listing contains a DraftSchematicID (maintained by the server) and a DraftSchematicCRC.
+
:This is a Server Side CRC number assigned to each schematic. It is used in commands to identify the schematic with the server. The exact value does not matter so long as it matches all instances (PLAY9, Controller207, Controller1BF, Controller102...)
 +
 
 +
'''SchematicCRC''':
 +
:The SWGCRC of the .iff object template taken from "object/draft_schematic/*" for the corresponding schematic. This is used to uniquely identify the schematic.
  
 
'''ExperimentationPoints''':
 
'''ExperimentationPoints''':

Revision as of 19:44, 27 June 2008

Baseline - PLAY09

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:            AbilityListSize
INT:            UpdateCounter
{
 ASTRING:       AbilityString
}
INT:            ExperimentationFlag
INT:            CraftingStage
LONG:           NearestCraftingStationID
INT:            DraftSchematicList
INT:            UpdateCounter
{
 INT:		ServerSchematicCRC
 INT:		SchematicCRC
}
INT:            ExperimentationPoints
INT:            AccomplishmentCounter
INT:            FriendList
INT:            UpdateCounter
{
 ASTRING:       FriendName
}
INT:            IgnoreList
INT:            UpdateCounter
{
 ASTRING:       IgnoreName
}
INT:            CurrentLanguageID
INT:            CurrentStomach
INT:            MaxStomach
INT:            CurrentDrink
INT:            MaxDrink
INT:            CurrentConsumable(NotUsed)
INT:            MaxConsumable(NotUsed)
INT:            UnusedWaypointList
INT:            UpdateCounter
{
 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:            JediState

Deltas Struct


SHORT:			UpdateCounter
SHORT:			UpdateType
{
  00:
    INT:		AbilityListSize
    INT:		UpdateCounter
    {
      BYTE:		SubType
      {
        00:(remove)
          SHORT:	Index
        01:(add)
          SHORT:	Index
          ASTRING:	AbilityString
        02:(change)
          SHORT:	Index
          ASTRING:	AbilityString
        03:(resetall)
          SHORT:	NewListSize
          {
            ASTRING:	AbilityString	
          }
        04:(clear)
      }
    }
  01:
    INT:		ExperimentationFlag
  02:
    INT:		CraftingStage
  03:
    LONG:		NearestCraftingStationID
  04:
    INT:		DraftSchematicList
    INT:		UpdateCounter
    {
      BYTE:		SubType
      {
        00:(remove)
          SHORT:	Index
        01:(add)
          SHORT:	Index
          INT:		ServerSchematicCRC
          INT:		SchematicCRC
        02:(change)
          SHORT:	Index
          INT:		ServerSchematicCRC
          INT:		SchematicCRC
        03:(resetall)
          SHORT:	NewListSize
          {
            INT:	ServerSchematicCRC
            INT:	SchematicCRC
          }
        04:(clear)
      }
    }
  05:
    INT:		ExperimentationPoints
  06:
    INT:		AccomplishmentCounter
  07:
    INT:		FriendList
    INT:		UpdateCounter
    {
     BYTE:		SubType
      {
        00:(remove)
          SHORT:	Index
        01:(add)
          SHORT:	Index
          ASTRING:	FriendName
        02:(change)
          SHORT:	Index
          ASTRING:	FriendName
        03:(resetall)
          SHORT:	NewListSize
          {
            ASTRING:	FriendName
          }
        04:(clear)
      }
    }
  08:
    INT:		IgnoreList
    INT:		UpdateCounter
    {
     BYTE:		SubType
      {
        00:(remove)
          SHORT:	Index
        01:(add)
          SHORT:	Index
          ASTRING:	IgnoreName
        02:(change)
          SHORT:	Index
          ASTRING:	IgnoreName
        03:(resetall)
          SHORT:	NewListSize
          {
            ASTRING:	IgnoreName
          }
        04:(clear)
      }
    }
  09:
    INT:		CurrentLanguageID
  0A:
    INT:		CurrentStomach
  0B:
    INT:		MaxStomach
  0C:
    INT:		CurrentDrink
  0D:
    INT:		MaxDrink
  0E:
    INT:		CurrentConsumable(NotUsed)
  0F:
    INT:		MaxConsumable(NotUsed)
  10:
    INT:		UnusedWaypointList
    INT:		UpdateCounter
    {
      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:(change)
          LONG:		WaypointObjectID
          INT:		??
          FLOAT:	XCoord
          FLOAT:	ZCoord
          FLOAT:	YCoord
          INT:		??
          INT:		??
          INT:		PlanetCRC
          USTRING:	WaypointName
          LONG:		WaypointObjectID
          BYTE:		Color
          BYTE:		ActiveFlag
      }
    }
  11:
    INT:		JediState
}

Variable Descriptions


OpperandCount = 17


AbilityList:

The list of "commands" or abilities the player has. This includes weapon certifications.

ExperimentationFlag:

It is set to enable/disable experimentation. 01 - Allow Experimentation. 00 - Only Assembly.

CraftingStage:

An integer used to maintain the current stage in a crafting session.

NearestCraftingStationId:

The ObjectID of the closest crafting station (and the one that will be used for crafting).

ServerSchematicCRC:

This is a Server Side CRC number assigned to each schematic. It is used in commands to identify the schematic with the server. The exact value does not matter so long as it matches all instances (PLAY9, Controller207, Controller1BF, Controller102...)

SchematicCRC:

The SWGCRC of the .iff object template taken from "object/draft_schematic/*" for the corresponding schematic. This is used to uniquely identify the schematic.

ExperimentationPoints:

The amount of experiementation points your player has for the crafting session.

AccomplishmentCounter:

This counter is incremented for every "Accomplishment" made. Items crafted, Mobs killed, etc. Is not displayed in Pre-cu (maybe we can make it though)

FriendsList:

A list of all the players you are frinds with. Also the server will send alerts when they log on and such. Note: the names must be ALL LOWERCASE

IgnoreList:

A list of players you want to ignore in chat. This includes spatial, tells, email, chatroom.

CurrentLanguage:

The integer ID of the current language your player is speaking in.

Stomach:

The Max/Current values of your stomach variable. This gets filled when consuming food items. It limits the amount of food item buffs you can use at one time.

Drink:

The Max/Current values of your drink variable. This gets filled when consuming food items. It limits the amount of food item buffs you can use at one time.

Consumable:

Similar to stomach and drink, except it is not used and not displayed in the character sheet. Possibly try to add later, maybe for spice or drugs.

WaypointList:

This list of waypoints are not used at all. Please use the PLAY8 WaypointList for datapad waypoints.

JediState:

The bitmask of available jedi skills.
01 - Force Sensative (Novice)
02 - Jedi (Elite)
04 - Light FSR
08 - Dark FSR

Tags


75% This packet has been partially reversed.

Sample Packet


11 00 
0F 00 00 00 // ABILITY LIST SIZE
00 00 00 00
10 00                         // string count
63 65 72 74 5F 6B 6E 69 66 65 // cert_knife
5F 73 74 6F 6E 65             // _stone

13 00                         // string count
63 65 72 74 5F 6B 6E 69 66 65 // cert_knife
5F 73 75 72 76 69 76 61 6C    // _survival

18 00                                  // string count
63 65 72 74 5F 6C 61 6E 63 65 5F       // cert_lance_
73 74 61 66 66 5F 77 6F 6F 64 5F 73 31 // staff_wood_s1

13 00                         // string count
63 65 72 74 5F 61 78 65 5F    // cert_axe_
68 65 61 76 79 5F 64 75 74 79 // heavy_duty

0F 00                         // string count
63 65 72 74 5F 72 69 66 6C 65 // cert_rifle
5F 63 64 65 66                // _cdef

10 00                            // string count
63 65 72 74 5F 70 69 73 74 6F 6C // cert_pistol
5F 63 64 65 66                   // _cdef

11 00                               // string count
63 65 72 74 5F 63 61 72 62 69 6E 65 // cert_carbine
5F 63 64 65 66                      // _cdef

20 00                                                    // string count
63 65 72 74 5F 67 72 65 6E 61 64 65 5F                   // cert_grenade_
66 72 61 67 6D 65 6E 74 61 74 69 6F 6E 5F 6C 69 67 68 74 // fragmentation_light

1E 00                                        // string count
63 65 72 74 5F 73 74 61 72 73 68 69 70 73 5F // cert_starships_
74 69 65 66 69 67 68 74 65 72 6C 69 67 68 74 // tiefighterlight 

14 00                                  // string count
63 65 72 74 5F 6F 72 64 6E 61 6E 63 65 // cert_ordnance
5F 6C 65 76 65 6C 31                   // _level1

16 00                            // string count
63 65 72 74 5F 64 72 6F 69 64 5F // cert_droid_
61 73 74 72 6F 6D 65 63 68 5F 31 //astromech_1

16 00                               // string count
64 72 6F 69 64 63 6F 6D 6D 61 6E 64 // droidcommand
5F 6D 75 74 65 64 72 6F 69 64       //_mutedroid

0D 00                                  // string count
68 61 72 76 65 73 74 43 6F 72 70 73 65 // harvestCorpse

14 00                                  // string count
70 72 69 76 61 74 65 5F 73 63 6F 75 74 // private_scout
5F 6E 6F 76 69 63 65                   // _novice

1C 00                                           // string count
70 72 69 76 61 74 65 5F 69 6D 70 65 72 69 61 6C // private_imperial
5F 6E 61 76 79 5F 6E 6F 76 69 63 65             // _navy_novice

00 00 00 00    // Experimentation Flags
00 00 00 00    // Crafting Stage Flags
00 00 00 00 00 00 00 00 // Crafting Station ID
01 00 00 00    // Draft Schematics
00 00 00 00
A7 94 A8 12    // Schematic ID
63 30 4A 0F    // Schematic CRC
00 00 00 00    // Experimentation Points
00 00 00 00    // Counter Incremented Every Prototype Creation Ack. And Every Kill. (CU/NGE)
           //PRE-CU This gets flagged as an ExperienceChanged. Old trace of experience most likely.
02 00 00 00   // Friends List
00 00 00 00
05 00          // string count
61 63 68 61 6E // achan (friend name)
06 00             // string count
66 65 72 72 69 6E // ferrin (friend name)
02 00 00 00    // Ignore List
00 00 00 00
06 00             // string count
55 6C 74 79 6D 61 // Ultyma (ignore name)
06 00             // string count
52 61 6D 73 65 79 // Ramsey (ignore name)
01 00 00 00 // Current Lanaguage
32 00 00 00 // Stomach Food Current
64 00 00 00 // Stomach Food Max
32 00 00 00 // Stomach Drink Current
64 00 00 00 // Stomach Drink Max
00 00 00 00 // Not Found (Something related/similar to Stomach)
00 00 00 00 // Not Found (Something related/similar to Stomach)
00 00 00 00 // Waypoint Objects - Not Found - Not for Datapad
00 00 00 00
00 00 00 00 // Jedi State