CREO06

From SWGANH Wiki
Revision as of 09:22, 12 September 2011 by Rouse (Talk | contribs) (Sample Packet)

Jump to: navigation, search

Baseline - CREO 06

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

CREO Packet Type QuickNav
CREO01 - CREO03 - CREO04 - CREO06


BaseLine Struct


SHORT:			ObjOpperandCount
INT:			ServerID
INT:			CombatDefenderListSize
INT:			UpdateCounter
{
 LONG:			DefenderID
}
SHORT:			DifficultyCon
ASTRING:		CurrentAnimation
ASTRING:		MoodAnimation
LONG:			WeaponID
LONG:			GroupID
LONG:			InviteSenderID
LONG:			InviteCounter
INT:			GuildID
LONG:			TargetID
BYTE:			MoodID
INT:			PerformanceStartTime
INT:			PerformanceID
INT:			CurrentHAMListSize
INT:			UpdateCounter
{
 INT:			CurrentHAMValue
}
INT:			MaxHAMListSize
INT:			UpdateCounter
{
 INT:			MaxHAMValue
}
INT:			EquiptmentListSize
INT:			UpdateCounter
{
 CSTRING:		CustomizationString
 INT:			ContainmentType
 LONG:			ObjectID
 INT:			TemplateCRC
}
ASTRING:		SetObjectTemplateString
BYTE:			StationaryFlag

Deltas Struct


SHORT:			UpdateCount
SHORT:			UpdateType
{
  00:		
    INT:		??
  01:
    INT:		CombatDefenderListSize
    INT:		UpdateCounter
    {
      BYTE:		SubType
      {
        00:(remove)
          SHORT:	DefenderObjIndex
        01:(add)
          SHORT:        DefenderObjIndex
          LONG:	        DefenderID
        02:(change)
          SHORT:        DefenderObjIndex
          LONG:	        DefenderID
        03:(resetall)
          SHORT:        NewListSize
          {
            LONG:	DefenderID
          }
        04:(clearall)
      }
    }
  02:		
    SHORT:		DifficultyCon
  03:		
    A_STRING:		CurrentAnimation
  04:		
    A_STRING:		MoodAnimation
  05:		
    LONG:		WeaponID
  06:		
    LONG:		GroupID
  07:		
    LONG:		InviteSenderID
    LONG:		InviteCounter(incremental)
  08:		
    INT:		GuildID
  09:		
    LONG:		TargetID
  0A:		
    BYTE:		MoodID
  0B:		
    INT:		PerformanceStartTime                        
  0C:		
    INT:	        PerformanceID
  0D:
    INT:		CurrentHAMListSize
    INT:		UpdateCounter
    {
      BYTE:		SubType
      {
        00:(remove)
          SHORT:	HAMBarIndex
        01:(add)
          SHORT:	HAMBarIndex
          INT:	        HAMValue
        02:(change)
          SHORT:	HAMBarIndex
          INT:	        HAMValue
        03:(resetall)
          SHORT:	NewListSize
          {
            INT:	HAMValue
          }
        04:(clearall)
      }
    }
  0E:  
    INT:		MaxHAMListSize
    INT:		UpdateCounter
    {
      BYTE:		SubType
      {
        00:(remove)
          SHORT:	HAMBarIndex
        01:(add)
          SHORT:	HAMBarIndex
          INT:	        HAMValue
        02:(change)
          SHORT:	HAMBarIndex
          INT:	        HAMValue
        03:(resetall)
          SHORT:	NewListSize
          {
            INT:	HAMValue
          }
        04:(clearall)
      }
    }
  0F:
    INT:		EquiptmentListSize
    INT:		UpdateCounter
      BYTE:		SubType
      {
        00:(remove)
          SHORT:	EquiptmentIndex
        01:(add)
          SHORT:	EquiptmentIndex
          CSTRING:	CustomizationString
          INT:		ContainmentType
          LONG:		ObjectID
          INT:		TemplateCRC
        02:(change)
          SHORT:	EquiptmentIndex
          CSTRING:	CustomizationString
          INT:		ContainmentType
          LONG:		ObjectID
          INT:		TemplateCRC
        03:(resetall)
          SHORT:	NewListSize
          {
            CSTRING:	CustomizationString
            INT:	ContainmentType
            LONG:	ObjectID
            INT:	TemplateCRC
          }
        04:(clearall)
      }
  10:
    ASTRING:		SetObjectTemplateString
  11:
    BYTE:		StationaryFlag
}

Variable Descriptions


Obj_OperandCount = 16


  • CombatDefender:
This list stores a list of all the objects you are in combat with.
It also initiates default combat animation used between combat animations.
(it keeps the consistancy of combat going).
  • DefenderObjIndex:
This is the index value of the defenderID in the list. IE. Position in the list.
4 Objects. List is 00 01 02 03
Remove 3rd Object. Index = 02.
  • DifficultyCon:
This is the ID number of what color difficulty CON to display for the target.
  • CurrentAnimation:
This is a string of what animation this object is doing.
Set for entertainer, as well as misc types of animation.
  • MoodAnimation:
This is a string for what type of facial/mood animation to set on the object.
  • WeaponID:
The ObjectID of the currently equipped weapon.
  • GroupID:
The ObjectID of the GROUP Object if this object is in a group.
  • InviteSenderID:
This is the ID of the Object that sent a group invite to you.
  • InviteCounter:
This is a counter or an InviteID to differentiate invites and allow multiple invites.
SWG seems to have only allowed 1 invite at a time (Counter set to 0).
But by changing the counter we got multiple Invites sent.
  • GuildID:
The ID number from the GUILD Object that corresponds to your GUILD Tag.
  • TargetID:
The Object ID number of the current Object in your target.
  • MoodID:
The numeric ID number for your current Mood used in text and /mood.
  • PerformanceID:
The ID number of what song+instrument/dance is being done by this object.
For entertainers, obviously.
  • CurrentHAM:
A list of the 9 values for how much HAM is current in the pool.
  • MaxHAM:
A list of the 9 values for how much HAM the pool can hold.
  • EquiptmentList:
A list of Objects that are equipped on this Object. (Weapons, Clothes, Inventory/Bank etc).
  • SetObjectTemplateString:
This is a string of a CRC Template found in the object/ folder. It can be used to turn
your object into another object for events, fun, CSR stuffs!
CombatDefender:
This list stores a list of all the objects you are in combat with.
It also initiates default combat animation used between combat animations.
(it keeps the consistancy of combat going).

DefenderObjIndex:
This is the index value of the defenderID in the list. IE. Position in the list.
4 Objects. List is 00 01 02 03
Remove 3rd Object. Index = 02.

DifficultyCon:
This is the ID number of what color difficulty CON to display for the target.

CurrentAnimation:
This is a string of what animation this object is doing.
Set for entertainer, as well as misc types of animation.

MoodAnimation:
This is a string for what type of facial/mood animation to set on the object.

WeaponID:
The ObjectID of the currently equipped weapon.

GroupID:
The ObjectID of the GROUP Object if this object is in a group.

InviteSenderID:
This is the ID of the Object that sent a group invite to you.

InviteCounter:
This is a counter or an InviteID to differentiate invites and allow multiple invites.
SWG seems to have only allowed 1 invite at a time (Counter set to 0).
But by changing the counter we got multiple Invites sent.

GuildID:
The ID number from the GUILD Object that corresponds to your GUILD Tag.

TargetID:
The Object ID number of the current Object in your target.

MoodID:
The numeric ID number for your current Mood used in text and /mood.

PerformanceStartTime:
A timestamp used to mark the start of a performance. It is in number of seconds.
Also appears to be from the server start time, tested on TC Prime with 278.91 days.

PerformanceID:
The ID number of what song+instrument/dance is being done by this object.
For entertainers, obviously.

CurrentHAM:
A list of the 9 values for how much HAM is current in the pool.

MaxHAM:
A list of the 9 values for how much HAM the pool can hold.

EquiptmentList:
A list of Objects that are equipped on this Object. (Weapons, Clothes, Inventory/Bank etc).
ContainmentType is the same type of integer found in UpdateContainmentMessage

SetObjectTemplateString:
This is a string of a CRC Template found in the object/ folder. It can be used to turn
your object into another object for events, fun, CSR stuffs!

StationaryFlag:
This flag when set to 1 freezes the creature object in place. UpdateTransforms no longer work
affect the object. However, if a transform was sent, once it unfreezes (set to 0), the object will update
itself.
0 = Moveable
1 = Stationary

Tags


75% This packet has been partially reversed.

To Do


  • List PerformanceID
  • List MoodID
  • List Difficulty Cons Color
  • List Regular Animation Types
  • List Mood Animation Types
  • Test Defender List again
  • Test Invite Counter again

Delta Packet


05 00 
53 21 86 12 // Delta message
82 93 8E 39 00 00 00 00
4F 45 52 43 06 // OERC 6
01 00 0D 00 
01 00 00 00 
92 66 00 00 
02 06 00 D8 
02 00 
AB 5D 

Sample Packet


05 00 
0C 5F A7 68 // BaselinesMessage 
ED 93 FC FB 1A 00 00 00 // swoop ID
4F 45 52 43 06 // OERC 6
B5 01 00 00    // creoByteCount
17 00 
59 00 00 00 
0E 00                                     // string count
6D 6F 6E 73 74 65 72 5F 64 65 74 61 69 6C // monster_detail
00 00 00 00                                         // string spacer
11 00                                               // string count
73 70 65 65 64 65 72 62 69 6B 65 5F 73 77 6F 6F 70  // speederbike_swoop
FF FF 00 00 // CL????
00 00 00 00 
07 00                // string count
6E 65 75 74 72 61 6C // neutral
F2 93 FC FB 1A 00 00 00 // swoops weapon ID
00 00 00 00 00 00 00 00 // group ID
00 00 00 00 00 00 00 00 // invite sender ID
00 00 00 00 00 00 00 00 
00 00 00 00 // guild ID
00 00 00 00 // target ID
00 00 00 00 
00          // mood ID
00 00 00 00 // 
00 00 00 00 //
00 00 00 00 // 
00 00 00 00 // PerformanceID
06 00 00 00 // CurrentHAMListSize
03 00 00 00 // CurrentHitpointsUpdateCounter
F4 01 00 00 // Health.getCurrentHitPoints
00 00 00 00 // Strength.getCurrentHitPoints
F4 01 00 00 // Constitution.getCurrentHitPoints
00 00 00 00 // Action.getCurrentHitPoints
F4 01 00 00 // Quickness.getCurrentHitPoints
00 00 00 00 // Stamina.getCurrentHitPoints
06 00 00 00 // ModifiedHAMListSize
03 00 00 00 // ModifiedHitpointsUpdateCounter
F4 01 00 00 // Health.getModifiedHitPoints
00 00 00 00 // Strength.getModifiedHitPoints
F4 01 00 00 // Constitution.getModifiedHitPoints
00 00 00 00 // Action.getModifiedHitPoints
F4 01 00 00 // Quickness.getModifiedHitPoints
00 00 00 00 // Stamina.getModifiedHitPoints
02 00 00 00 // EquiptmentListSize
02 00 00 00 // equippedObjects
00 00 
04 00 00 00 
EE 93 FC FB 1A 00 00 00 // swoop inventory ID
1C 79 10 21 // object/tangible/inventory/shared_creature_inventory.iff
00 00 00 
04 00 00 00 
F2 93 FC FB 1A 00 00 00 // swoops weapon ID 
42 E7 D0 7D // object/weapon/creature/shared_creature_default_weapon.iff