Difference between revisions of "CREO06"

From SWGANH Wiki
Jump to: navigation, search
(Variable Descriptions)
(Tags)
 
(18 intermediate revisions by 3 users not shown)
Line 1: Line 1:
__NOTOC__
+
{{PageHeader|Baseline|CREO 06}}
 
{|align="center"
 
{|align="center"
 
|-  
 
|-  
Line 13: Line 13:
  
 
<pre>
 
<pre>
SHORT: ObjOpperandCount
+
SHORT: ObjOpperandCount
INT: ??
+
INT: ServerID
INT: CombatDefenderListSize
+
INT: CombatDefenderListSize
INT: UpdateCounter
+
INT: UpdateCounter
 
{
 
{
  LONG: DefenderID
+
  LONG: DefenderID
 
}
 
}
SHORT: DifficultyCon
+
SHORT: DifficultyCon
ASTRING: CurrentAnimation
+
ASTRING: CurrentAnimation
ASTRING: MoodAnimation
+
ASTRING: MoodAnimation
LONG: WeaponID
+
LONG: WeaponID
LONG: GroupID
+
LONG: GroupID
LONG: InviteSenderID
+
LONG: InviteSenderID
LONG: InviteCounter(Incremental)
+
LONG: InviteCounter
INT: GuildID
+
INT: GuildID
LONG: TargetID
+
LONG: TargetID
BYTE: MoodID
+
BYTE: MoodID
INT: ??(UnknownPurpose,Set with Entertainer)
+
INT: PerformanceStartTime
INT: PerformanceID
+
INT: PerformanceID
INT: CurrentHAMListSize
+
INT: CurrentHAMListSize
INT: UpdateCounter
+
INT: UpdateCounter
 
{
 
{
  INT: CurrentHAMValue
+
  INT: CurrentHAMValue
 
}
 
}
INT: MaxHAMListSize
+
INT: MaxHAMListSize
INT: UpdateCounter
+
INT: UpdateCounter
 
{
 
{
  INT: MaxHAMValue
+
  INT: MaxHAMValue
 
}
 
}
INT: EquiptmentListSize
+
INT: EquiptmentListSize
INT: UpdateCounter
+
INT: UpdateCounter
 
{
 
{
  CSTRING: CustomizationString
+
  CSTRING: CustomizationString
  INT: ??(ContainmentLayer?)
+
  INT: ContainmentType
  LONG: ObjectID
+
  LONG: ObjectID
  INT: TemplateCRC
+
  INT: TemplateCRC
 
}
 
}
ASTRING: SetObjectTemplateString
+
ASTRING: SetObjectTemplateString
BYTE: ??
+
BYTE: StationaryFlag
 
</pre>
 
</pre>
  
Line 62: Line 62:
 
{
 
{
 
   00:
 
   00:
     INT: ??(unknown purpose)
+
     INT: ??
 
   01:
 
   01:
 
     INT: CombatDefenderListSize
 
     INT: CombatDefenderListSize
Line 74: Line 74:
 
           SHORT:        DefenderObjIndex
 
           SHORT:        DefenderObjIndex
 
           LONG:         DefenderID
 
           LONG:         DefenderID
 +
        02:(change)
 +
          SHORT:        DefenderObjIndex
 +
          LONG:         DefenderID
 +
        03:(resetall)
 +
          SHORT:        NewListSize
 +
          {
 +
            LONG: DefenderID
 +
          }
 +
        04:(clearall)
 
       }
 
       }
 
     }
 
     }
Line 96: Line 105:
 
     BYTE: MoodID
 
     BYTE: MoodID
 
   0B:
 
   0B:
     INT: ??(unknown purpose, set with entertainer)
+
     INT: PerformanceStartTime                       
 
   0C:
 
   0C:
 
     INT:         PerformanceID
 
     INT:         PerformanceID
Line 105: Line 114:
 
       BYTE: SubType
 
       BYTE: SubType
 
       {
 
       {
         00:
+
         00:(remove)
           SHORT: ??
+
           SHORT: HAMBarIndex
         01:
+
         01:(add)
           SHORT: CurrentHAMBar
+
           SHORT: HAMBarIndex
           INT:         CurrentHAMValue
+
           INT:         HAMValue
         02:
+
         02:(change)
           SHORT: CurrentHAMBar
+
           SHORT: HAMBarIndex
           INT:         CurrentHAMValue
+
           INT:         HAMValue
         03:
+
         03:(resetall)
           SHORT: ListSize
+
           SHORT: NewListSize
 
           {
 
           {
             INT: CurrentHAMValue
+
             INT: HAMValue
 
           }
 
           }
 +
        04:(clearall)
 
       }
 
       }
 
     }
 
     }
Line 126: Line 136:
 
       BYTE: SubType
 
       BYTE: SubType
 
       {
 
       {
         00:
+
         00:(remove)
           SHORT: ??
+
           SHORT: HAMBarIndex
         01:
+
         01:(add)
           SHORT: MaxHAMBar
+
           SHORT: HAMBarIndex
           INT:         MaxHAMValue
+
           INT:         HAMValue
         02:
+
         02:(change)
           SHORT: MaxHAMBar
+
           SHORT: HAMBarIndex
           INT:         MaxHAMValue
+
           INT:         HAMValue
         03:
+
         03:(resetall)
           SHORT: ListSize
+
           SHORT: NewListSize
 
           {
 
           {
             INT: MaxHAMValue
+
             INT: HAMValue
 
           }
 
           }
 +
        04:(clearall)
 
       }
 
       }
 
     }
 
     }
 
   0F:
 
   0F:
     ASTRING: SetObjectTemplateString
+
     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:
 
   10:
     BYTE: ??
+
    ASTRING: SetObjectTemplateString
 +
  11:
 +
     BYTE: StationaryFlag
 
}
 
}
 
</pre>
 
</pre>
 +
 
|valign=top|
 
|valign=top|
  
Line 214: Line 255:
 
:This is a string of a CRC Template found in the object/ folder. It can be used to turn
 
: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!
 
:your object into another object for events, fun, CSR stuffs!
 +
 +
<pre>
 +
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
 +
</pre>
  
 
===Tags===
 
===Tags===
Line 219: Line 334:
 
{| align="center"
 
{| align="center"
 
|-  
 
|-  
||{{75%}}
+
||{{100%}}
 
|-
 
|-
 
|}
 
|}
Line 236: Line 351:
 
|}
 
|}
  
 +
===Delta Packet===
 
----
 
----
 +
<pre>
 +
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
 +
</pre>
 +
 +
===Baseline Packet===
 +
----
 +
<pre>
 +
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
 +
</pre>

Latest revision as of 09:25, 12 September 2011

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


100% This packet has been completely 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 

Baseline 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