PLAY03

From SWGANH Wiki
Revision as of 17:04, 11 January 2008 by Rouse (Talk | contribs) (Variable Descriptions)

Jump to: navigation, search

Baseline - PLAY03

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:          ObjectOpperandCount
FLOAT:          Complexity
ASTRING:        STFName(Table)
INT:            String Spacer
ASTRING:        STFName(ID)
USTRING:        CustomName
INT:            Volume
INT:            GenericInt(NotUsed)
INT:            MyFlagsList
 {
 INT:           FlagBitmask
}
INT:            MyProfileList
{
 INT:           ProfileBitmask
}
ASTRING:        ProfessionTag
INT:            BornDate
INT:            TotalPlayTime

Deltas Struct


SHORT:                  UpdateCount
SHORT:                  UpdateType
{
  00:
    FLOAT:              Complexity
  01:
    ASTRING:            STFName(Table)
    INT:                ??
    ASTRING:            STFName(ID)
  02:
    USTRING:            CustomName
  03:
    INT:                Volume
  04:
    INT:                GenericInt(NotUsed)
  05:
    INT:                MyFlagsList
    {
      INT:              FlagBitmask
    }
  06:
    INT:                MyProfileList
    {
      INT:              ProfileBitmask
    }
  07:
    ASTRING:            ProfessionTag
  08:
    INT:                BornDate
  09:
    INT:                TotalPlayTime
}

Variable Descriptions


ObjectOpperandCount = 10

Complexity:

The Complexity of the Object or Schematic to create an object.

STFName:

The Name of the Object taken from an STF File Reference.

CustomName:

A custom specified name for the object. (User created).

Volume:

The volume of space the object takes up.

GenericInt: Not Used in PLAY

FlagBitmask:

Miscellaneous player flags including AFK/LFG/Etc
[INT1]
1 - LFG(can combine with HELPER)
2 - HELPER(can combine with LFG)
4 - ROLEPLAYER (no tag)
80 - AFK (overrides previous tags)
100 - LD (overrides other tags)
200 - Faction Rank(seperate tag)

[INT4]
80000000 - Anonymous (no tag) 

ProfileBitmask:

A bitmask containing all the options selected for your profile (likes, dislikes, compatibility).

Note: The 4 integers get sent from the client when a change is made to their profile.

ProfessionTag:

The string of the skill name to be used for the title. Note the skill must be marked that it can be a title to work. (See the Skill Table).

BornDate:

The integer of the time when the character was created to be used as born date. This has been implemented by simply using yyyymmdd. Client ignores - / (spaces) in this, so a simple date without any characters makes this work. Example 20080110

TotalPlayTime:

The number of seconds you have played this character. Incremented by the server every 30 seconds. No idea how to convert to minutes/hours/days. Can be changed to a counter or something and displayed in the character sheet with a mod.

Tags


50% This packet has been partially reversed.

Sample Packet


======================Xenos break======================================
0A 00
00 00 80 3F //Complexity

0F 00 // string count
73 74 72 69 6E 67 5F 69 64 5F 74 61 62 6C 65 // string_id_table
00 00 00 00 // string spacer
00 00
00 00 00 00 //CustomName
00 00 00 00 //Volume
00 00 00 00 //GenericINT(not used with PLAY)
04 00 00 00 //MyFlags (find possible values!)
00 00 00 00
00 00 00 00
00 00 00 00
00 00 00 00
04 00 00 00 //MyProfile (make chart of values!)
07 07 04 00
01 00 00 20
00 08 00 00
00 10 02 00
00 00 //Profession Tag
00 00 00 00 //BornDate (single integer.. not processed. might need to add xx/yy/zz format in .exe)
00 00 00 00 //TotalPlayTime (update every 30 seconds, count in seconds, displayed in seconds, client updates itself too).

MyFlags
[INT1]
1 - LFG(can combine with HELPER)
2 - HELPER(can combine with LFG)
4 - ROLEPLAYER (no tag)
80 - AFK (overrides previous tags)
100 - LD (overrides other tags)
200 - Faction Rank(seperate tag)

[INT4]
80000000 - Anonymous (no tag)

MyProfile
Large List.. you will need to clear your players cache from the client to get this to display.
It saves based on what the client sets, and then caches it only sending the values to the server.
Even if the server sends new ones, the client wont display (because it is relying on the cache)

===========Rouse breaks of nge packets
05 00 
53 21 86 12 // DeltaMessage
9C 97 9A 8F 25 00 00 00  // ID
59 41 4C 50 03 //  YALP 3
08 00 00 00 
01 00 09 00 
4A 01 00 
00 1C
=======================================

05 00 
0C 5F A7 68  // BaselineMessage
EB 28 50 B0 24 00 00 00 // ID
59 41 4C 50 03 // YALP 3
87 00 00 00 
10 00 00 00 
80 3F 
0F 00 // string count
73 74 72 69 6E 67 5F 69 64 5F 74 61 62 6C 65 // string_id_table
00 00 00 00 // string spacer
00 00
00 00 00 00 //CustomName
00 00 00 00 //Volume
00 00 00 00 //GenericINT(not used with PLAY)
04 00 00 00 //MyFlags (see above chart)
00 00 00 00 
00 00 00 00
00 00 00 00 
00 00 00 00 
04 00 00 00 //MyProfile 
00 00 00 00 
00 00 00 00 
00 00 00 00 
00 00 00 00 
00 00 
92 08 00 00   
D6 70 04 00 
4B 00 00 00 
12 00               // string count
66 6F 72 63 65 5F   // force_
73 65 6E 73 69 74 69 76 65 5F 31 61 // sensitive_1a
5D 82 00 00
00 00 00 00 
88 C2 01 00 
00 00 00 00 
01 00 00 00      
49