Difference between revisions of "OutOfBandPackage"

From SWGANH Wiki
Jump to: navigation, search
(Struct (Type 01))
(Struct (Type 01))
 
(2 intermediate revisions by the same user not shown)
Line 1: Line 1:
{{PageHeader|Server Packet|ChatSystemMessage (6D2A6413)}}
+
{{PageHeader|Server Packet|OutOfBandPackage}}
 
{| border="0" width="90%" cellpadding=6
 
{| border="0" width="90%" cellpadding=6
 
|-
 
|-
Line 9: Line 9:
 
||
 
||
 
<pre>
 
<pre>
USTRING:               Length = Size/2 (it is parsed out as a USTRING)
+
USTRING:           Length = Size/2 (it is parsed out as a USTRING)
SHORT:                 NumberOfPackages (Basically a list)
+
SHORT:             NumberOfPackages (Basically a list)
 
{
 
{
  BYTE: PackageType
+
  BYTE:             PackageType
  INT: NegativeInt(1-TypeID ??)
+
  INT:               NegativeInt(1-TypeID ??)
 
  [PackageType]
 
  [PackageType]
   00: Nothing         
+
   00:             Nothing         
   01: ProsePackage[Add's To End Of Body]
+
   01:             ProsePackage[Add's To End Of Body]
     ASTRING: BaseMessageSTF
+
     ASTRING:       BaseMessageSTF
     INT: ??
+
     INT:           ??
     ASTRING: BaseMessageString
+
     ASTRING:       BaseMessageString
     LONG: %TU ObjectID
+
     LONG:         %TU ObjectID
     ASTRING: %TU STFFile
+
     ASTRING:       %TU STFFile
     INT: ??
+
     INT:           ??
 
     ASTRING: %TU STFString
 
     ASTRING: %TU STFString
 
     USTRING: %TU String
 
     USTRING: %TU String
Line 63: Line 63:
 
===Variable Descriptions===
 
===Variable Descriptions===
  
Opperand_Count     = '''4'''
+
:'''ProsePackage''':
 +
::The Prose Package is used to make dynamic strings in chat/system messages. A few packets known to use this system are the ConsentMessage packets as well as NPC Dialog packets. It takes a base string with various tag options (%TU,%TT,%TO,%DI,%DF). These tags are then replaced with the data provided in the sections that follow.
  
Opcode     = '''6D2A6413'''
+
::The believed precedence is:  ObjectID - STFFile - USTRING
  
The main data carrier here is a Unicode String which consists of one or more string modules which are identically to those used in Emails. One module contains a string message (as in the stf reference in the beginning) and afterwards places for variables which will be inserted into the appropriate places in the stf text
+
::The tags are as follows:
These variables then get referenced as %DI (integer) %TO %TT as ascii (for further stf references) or (!) unicode.
+
that means that there are fixed places for the variables which can be filled by us.
+
----
+
  
*'''Display type'''
+
::TU - Text You
:A bitmask flagging where to display the system message.
+
::TT - Text Target
::0 - chatbox and screen
+
::TO - Text Object
::2 - chatbox only
+
::DI - Decimal Integer
 +
::DF - Decimal Float
  
*'''Message'''
+
:'''Waypoint''':
 +
::This is a standard waypoint object. Its data format is the same as the waypoints found in in mission objects.
 +
::It is also similar to Player Object waypoints, as well as the original waypoint objects. Reference them for more understanding if needed.
  
*'''OutOfBandPackage'''
 
A packaged format for string data that has embed tags for objects, integers, etc. Used to minimize server string processing.
 
  
 
|valign=top|
 
|valign=top|

Latest revision as of 14:28, 26 April 2009

Server Packet - OutOfBandPackage

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

Struct (Type 01)


USTRING:            Length = Size/2 (it is parsed out as a USTRING)
SHORT:              NumberOfPackages (Basically a list)
{
 BYTE:              PackageType
 INT:               NegativeInt(1-TypeID ??)
 [PackageType]
   00:              Nothing        
   01:              ProsePackage[Add's To End Of Body]
     ASTRING:       BaseMessageSTF
     INT:           ??
     ASTRING:       BaseMessageString
     LONG:          %TU ObjectID
     ASTRING:       %TU STFFile
     INT:           ??
     ASTRING:		%TU STFString
     USTRING:		%TU String
     LONG:		%TT ObjectID
     ASTRING:		%TT STFFile
     INT:			??
     ASTRING:		%TT STFString
     USTRING:		%TT String
     LONG:		%TO ObjectID
     ASTRING:		%TO STFFile
     INT: 		??
     ASTRING:		%TO STFString
     USTRING:		%TO String
     INT:			%DI Integer
     FLOAT:		%DF Float
     BYTE:		DisplayFlag?(00-Display,01-Blank)
   02:			AuctionToken[needs more work...]
     INT:			??
     SHORT:		??
     SHORT:		??
   03:			USTRING[needs more work...]
     USTRING:		??
   04:			WaypointDataBase[NegInt Must be -3]
     INT:			??
     FLOAT:		X-Coord
     FLOAT:		Y-Coord
     FLOAT:		Z-Coord
     LONG:		??
     INT:			PlanetCRC
     USTRING:		WaypointName
     LONG:		WaypointObjectID
     BYTE:		ColorByte
     BYTE:		ActivatedFlag
   06:			ASTRING[needs more work...]
     ASTRING:		??
}

Variable Descriptions

ProsePackage:
The Prose Package is used to make dynamic strings in chat/system messages. A few packets known to use this system are the ConsentMessage packets as well as NPC Dialog packets. It takes a base string with various tag options (%TU,%TT,%TO,%DI,%DF). These tags are then replaced with the data provided in the sections that follow.
The believed precedence is: ObjectID - STFFile - USTRING
The tags are as follows:
TU - Text You
TT - Text Target
TO - Text Object
DI - Decimal Integer
DF - Decimal Float
Waypoint:
This is a standard waypoint object. Its data format is the same as the waypoints found in in mission objects.
It is also similar to Player Object waypoints, as well as the original waypoint objects. Reference them for more understanding if needed.


Tags


S→C This packet originates on the server.

75% This packet has been partially reversed.

Version 1 Sample Packets

------STF Driven System Message-------
04 00 // Op Count
13 64 2A 6D  // ChatSystemMessage  
00 // makes system message only display in the chat window 00 for both and 02 for chat only
00 00  00 00 
3C 00 00 00    // Unicode Buffer Size (STFLoc.size() + StringName.size() + remaning bytes /2)
01 00          // Mystery Bool
01             // Static
FF FF FF FF    // Static
05 00          // String count 
67 75 69 6C 64 // guild
00 00 00 00    // string spacer
1E 00                          //String Count
63 72 65 61 74 65  5F 66 61 69   
6C 5F 61 62 62 72 65 76 5F 6E  
6F 74 5F 61 6C 6C 6F 77 65 64  // create_fail_abbrev_not_allowed
00 00 00 00 00 00 00 00 
00 00 00 00 
00 00 00 00 
00 00 00 00 
00 00 00 00 00 00 00 00 
00 00 00 00 
00 00 00 00 
00 00 00 00
00 00 00 00 
00 00 00 00 
00 00 00 00 
00 00 00 00 
00 00 00 00 
00 00 00 00 
00 00 00 00 
00 00 

04 00 
13 64 2A 6D // Opcode-ChatSystemMessage 
00  // makes system message only display in the chat window 00 for both and 02 for chat only
00 00 00 00
5A 00 00 00 
00 00 
01 
FF FF FF FF
0B 00                            // string count 
62 61 73 65 5F 70 6C 61 79 65 72 // base_player 
00 00 00 00                      // string spacer
15 00                                     // string count 
70 72 6F 73 65 5F 64 65 70 6F 73 69 74 5F // prose_deposit_ 
73 75 63 63 65 73 73                      // success 
00 00 00 00 00 00 00 00 
00 00 00 00 
00 00 00 00 
00 00 00 00
00 00 00 00 00 00 00 00 
00 00 00 00 
00 00 00 00 
00 00 00 00
00 00 00 00 
00 00 00 00
00 00 00 00 
00 00 00 00
00 00 00 00 
12 0E 0F 00// Amount of deposit
00 00 00 00 

04 00 
13 64 2A 6D 
00 
00 00 00 00 
42 00 00 00 
00 00 
01 
FF FF FF FF 
05 00 
67 72 6F 75 70 // group
00 00 00 00 
0D 00 
69 6E 76 69 74 65 5F 74 61 72 67 65 74   // invite_target
52 1C 81 16 0F 00 00 00 // group leader ID
00 00 00 00
00 00 00 00 
00 00 00 00 
7E F6 4B 20 12 00 00 00 // ID of person being invited
00 00 00 00 
00 00 00 00 
0F 00 00 00 
57 00 72 00                                     // W.r.
61 00 6E 00 67 00 6C 00 65 00 72 00 20 00 43 00 // a.n.g.l.e.r. .C.
6F 00 77 00 62 00 6F 00 79 00                   // o.w.b.o.y.
00 00 00 00 
00 00 00 00 
00 00 00 00 
00 00 00 00 
00 00 00 00 
00 00 00 00 
00 00 00 00 
00 1A 

04 00 
13 64 2A 6D 
00 
00 00 00 00 
46 00 00 00 
00 00 
01 
FF FF FF FF 
09 00 
63 69 74 79 2F 63 69 74 79 // city/city
00 00 00 00 
0F 00 
63 69 74 79 5F 6C 65 61 76 65 5F 63 69 74 79  // city_leave_city
00 00 00 00 00 00 00 00 
00 00 00 00 
00 00 00 00 
00 00 00 00 
00 00 00 00 00 00 00 00 
00 00 00 00 
00 00 00 00 
00 00 00 00 
00 00 00 00 
00 00 00 00 
00 00 00 00 
00 00 00 00 
10 00 00 00 
44 00 61 00 65 00 6C 00 61 00                   // D.a.e.l.a.
27 00 20 00 45 00 73 00 27 00 45 00 6D 00 62 00 // '. .E.s.'.E.m.b.
6C 00 65 00 79 00                               // l.e.y.
00 00 00 00 
00 00 00 00 

04 00 
13 64 2A 6D 
00 
00 00 00 00 
46 00 00 00 
01 00 
01 
FF FF FF FF 
0E 00 
74 65 6D 70 5F 73 63 68 65 6D 61 74 69 63 // temp_schematic
00 00 00 00 
16 00 
70 72 6F 73 65 5F 75 73 65 73 5F 64 65  // prose_uses_de
63 72 65 6D 65 6E 74 65 64              // cremented
00 00 00 00 00 00 00 00 
00 00 00 00 
00 00 00 00 
00 00 00 00 
00 00 00 00 00 00 00 00 
00 00 00 00 
00 00 00 00 
00 00 00 00 
00 00 00 00 
00 00 00 00 
05 00 
66 72 6E 5F 6E // frn_n
00 00 00 00 
0E 00 
70 61 69 6E 74 69 6E 67 5F 72 // painting_r
6F 6E 6B 61                   // onka
00 00 00 00 
00 00 00 00 
00 00 00 00  

04 00 
13 64 2A 6D 
00 
00 00 00 00 
3E 00 00 00 
00 00 
01 
FF FF FF FF 
06 00 
73 75 72 76 65 79 // surey
00 00 00 00 
0E 00 
73 74 61 72 74 5F 73 61 6D 70 6C 69 6E 67  // start_sampling
00 00 00 00 00 00 00 00 
00 00 00 00 
00 00 00 00 
00 00 00 00 
00 00 00 00 00 00 00 00 
00 00 00 00 
00 00 00 00 
00 00 00 00 
00 00 00 00 
00 00 00 00 
00 00 00 00 
00 00 00 00 
0A 00 00 00 
4F 00 6D 00 6E 00 69 00 77 00 61 00 70 00  // O.m.n.i.w.a.p
69 00 64 00 6F 00                          // i.d.o.
00 00 00 00 
00 00 00 00 

04 00 
13 64 2A 6D 
00 
00 00 00 00 
3A 00 00 00 
00 00 
01 
FF FF FF FF 
0D 00 
74 72 61 76 65 6C 2F 74 72 61 76 65 6C // travel/travel
00 00 00 00
13 00 
73 68 75 74 74 6C 65 5F 62 6F 61 72 64 5F  // shuttle_board_
64 65 6C 61 79                             // delay
00 00 00 00 00 00 00 00 
00 00 00 00 
00 00 00 00 
00 00 00 00 
00 00 00 00 00 00 00 00 
00 00 00 00 
00 00 00 00 
00 00 00 00 
00 00 00 00 
00 00 00 00 
00 00 00 00 
00 00 00 00 
00 00 00 00 
30 00 00 00 // time delay
00 00 00 00 

04 00 
13 64 2A 6D 
00 
00 00 00 00 
3F 00 00 00
00 00 
01 
FF FF FF FF 
0B 00 
62 61 73 65 5F 70 6C 61 79 65 72 // base_player
00 00 00 00 
12 00 
70 72 6F 73 65 5F // prose
74 69 70 5F 6E 73 66 5F 63 61 73 68 // _tip_nsf_cash
00 00 00 00 00 00 00 00 
00 00 00 00 
00 00 00 00 
00 00 00 00 
A1 56 89 27 00 00 00 00 // Char ID
07 00                // string count
73 70 65 63 69 65 73 // species
00 00 00 00 
06 00             // string count
74 77 69 6C 65 6B // twilek
00 00 00 00 
00 00 00 00 
00 00 00 00 
00 00 00 00 
00 00 00 00 
00 00 00 00 
E0 93 04 00 // amount
00 00 00 00 

04 00 
13 64 2A 6D 
00 
00 00 00 00 
48 00 00 00 
00 00 
01 
FF FF FF FF 
0D 00 
65 72 72 6F 72 5F 6D 65 73 73 61 67 65 // error_message
00 00 00 00
0D 00 
70 72 6F 73 65 5F 70 61 79 5F 6E 73 66 // prose_pay_nsf
A1 56 89 27 00 00 00 00 // Character ID
07 00 
73 70 65 63 69 65 73 // species
00 00 00 00 
06 00 
74 77 69 6C 65 6B // twilek
00 00 00 00
C5 9F CF FE 11 00 00 00 // id (not sure what)
0D 00 
62 75 69 6C 64 69 6E 67 5F 6E 61 6D 65 // building_name
00 00 00 00 
08 00 
63 69 74 79 68 61 6C 6C //cityhall
00 00 00 00 
00 00 00 00 
00 00 00 00 
00 00 00 00 
00 00 00 00 
00 00 00 00 

04 00
13 64 2A 6D //ChatSystemMessage
00 00 00 00
00
46 00 00 00 
01 00 
01 
FF FF FF FF 
0B 00 
70 65 72 66 6F 72 6D 61 6E 63 65 // performance
00 00 00 00 
10 00
64 61 6E 63 65 5F 73 74 61 72 74 5F 73 65 6C 66 // dance_start_sel
00 00 00 00 00 00 00 00 
00 00 00 00 
00 00 00 00 
0E 00 00 00 
45 00 73 00 27 00 45 00 6D 00 20 00              // E.s.'.E.m. 
45 00 64 00 69 00 72 00 68 00 61 00 67 00 68 00  // E.d.i.r.h.a.g.h
00 00 00 00 00 00 00 00 
00 00 00 00 
00 00 00 00 
00 00 00 00 
00 00 00 00 

Please note that all contributions to SWGANH Wiki may be edited, altered, or removed by other contributors. If you don't want your writing to be edited mercilessly, then don't submit it here.
You are also promising us that you wrote this yourself, or copied it from a public domain or similar free resource (see Project:Copyrights for details). DO NOT SUBMIT COPYRIGHTED WORK WITHOUT PERMISSION!
Summary:

 This is a minor edit  Watch this page
Cancel | Editing help (opens in new window)
Retrieved from "http://wiki2.swganh.org/index.php/OutOfBandPackage"
Views

    * Article
    * Discussion
    * Edit
    * Watch

Personal tools

    * Snow
    * My talk
    * My preferences
    * My watchlist
    * My contributions
    * Log out


00 00 00 00 
00 00 00 00
00 00 00 00 
00 00 00 00 
00 00 00 00 
00 00 00 00 

Version 2 Sample Packets

04 00 
13 64 2A 6D 
00 
1F 00 00 00 
57 00 61 00 79 00 70 00 6F 00 69 00 6E 00 74 00 3A    // W.a.y.p.o.i.n.t.:
00 20 00 4E 00 65 00 77 00 20 00 77 00 61 00 79       // . .N.e.w. .w.a.y
00 70 00 6F 00 69 00 6E 00 74 00 20 00 63 00 72       // .p.o.i.n.t. .c.r
00 65 00 61 00 74 00 65 00 64 00 2E 00 00 00 00       // .e.a.t.e.d.