Code:
char SMSG_UPDATE_OBJECT[] {
0x01, 0x00, 0x00, 0x00, //Block Count
//-----------------------------------------------------------
// Update Block #1
//-----------------------------------------------------------
0x03, // Update Type -> create new object
0x07, 0x01, 0x02, 0x03, // Packed GUID
0x04, // Object Type -> player
//-----------------------------------------------------------
// Movement Update Block
//-----------------------------------------------------------
0x21, 0x00, // Update Flags -> Living | Self
0x00, 0x00, 0x00, 0x00, // Movement Flags
0x00, 0x00, // Extra Movement Flags
0x00, 0x00, 0x00, 0x00, // Fake Time Stamp
0xcd, 0xd7, 0x0b, 0xc6, // x
0x35, 0x7e, 0x04, 0xc3, // y
0xf9, 0x0f, 0xa7, 0x42, // z
0x00, 0x00, 0x00, 0x00, // o
0x00, 0x00, 0x00, 0x00, // Fall Time
0x00, 0x00, 0x80, 0x3f, // Walk Speed (1.0f)
0x00, 0x00, 0x8c, 0x42, // Run Speed (70.0f -> really fast ^^)
0x00, 0x00, 0x90, 0x40, // Run Back Speed (4.5f)
0x00, 0x00, 0x00, 0x00, // Swim Speed (swimming isn't enabled so we set this speed to 0)
0x00, 0x00, 0x00, 0x00, // Swim Back Speed (see Swim Speed)
0x00, 0x00, 0x00, 0x00, // Fly Speed (flying isn't enabled so we set this speed to 0)
0x00, 0x00, 0x00, 0x00, // Fly Back Speed (see Fly Speed)
0x00, 0x0f, 0x49, 0x40, // Turn Speed - how fast a character can turn around z axis (3.1415405f)
0c00, 0x00, 0x00, 0x00, // Pitch Rate (flying is disabled, so this is set to 0)
//-----------------------------------------------------------
// Values Update Block
//-----------------------------------------------------------
0x2a, // Mask Size ((1326 + 31) / 32 = 42)
// Values Update Mask
0b00010111, 0x00, 0x80, 0x01, 0x01, 0x00, 0b11000000, 0x00, 0x18, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
// Update Values:
0x01, 0x02, 0x03, 0x00, // OBJECT_FIELD_GUID Low GUID [Required]
0x00, 0x00, 0x00, 0x00, // OBJECT_FIELD_GUID High GUID [Required]
0x19, 0x00, 0x00, 0x00, // OBJECT_FIELD_TYPE -> unit | player | object
0x00, 0x00, 0x80, 0x3f, // OBJECT_FIELD_SCALE_X
0x01, 0x01, 0x01, 0x01, // UNIT_FIELD_BYTES_0 Race(Human), Class(Warrior), Gender(Female), PowerType(Rage)
0x3c, 0x00, 0x00, 0x00, // UNIT_FIELD_HEALTH
0x3c, 0x00, 0x00, 0x00, // UNIT_FIELD_MAXHEALTH
0x01, 0x00, 0x00, 0x00, // UNIT_FIELD_LEVEL
0x01, 0x00, 0x00, 0x00, // UNIT_FIELD_FACTIONTEMPLATE [Required]
0x0c, 0x4d, 0x00, 0x00, // UNIT_FIELD_DISPLAYID (Human Female = 19724) [Required]
0x0c, 0x4d, 0x00, 0x00 // UNIT_FIELD_NATIVEDISPLAYID (Human Female = 19724) [Required]
} // size = 291 bytes + 4 bytes (header)
Let me know if you would add anything to this example and I'll happily edit it in!