Character Component (4)

This component does not have any client database table associated with it, as it represents and manages the state of the character of some player. It holds information such as the lego score (U-Score), account information and the passport statistics.

There is a very strange struct in the serialization, notably the TransitionState in the Character Component. It is a 2 bit enum defined as the following:

[uint2_t] - TransitionState
if TransitionState == 1
[uint16_t] - lastCustomBuildParts (presumably the rocket they are arriving on)
[wchar] - wCharacterOfTheAboveString

Component Dependencies

Component Construction

Component Serialization

Relevant Game Messages

Server received

Component XML Format

char - Character Component data
attr acct - account ID
attr cc - Currency
atrr cm - Maximum Currency
attr co - Unknown, related to claim codes?
attr edit - Unknown, Maybe related to HF editor?
attr ft - FreeToPlay status?
attr gid - Guild ID
attr gm - GM level
attr gn - Guild name
attr lcbp - modular info of last used rocket
attr llog - Timestamp of last login as this character
attr lrx - Last respawn point position x
attr lry - Last respawn point position y
attr lrz - Last respawn point position z
attr lrrw - Last respawn point rotation w
attr lrrx - Last respawn point rotation x
attr lrry - Last respawn point rotation y
attr lrrz - Last respawn point rotation z
attr ls - Lego score/Universe score.
attr lzcs - Last Zone Check Sum, stored as an int32_t
attr lzid - The last zone clone ID, instance ID and zone ID concatenated into 1 64 bit number. See this footnote for more info.
attr lzrw - Last world rotation w
attr lzrx - Last world rotation x
attr lzry - Last world rotation y
attr lzrz - Last world rotation z
attr lzx - Last world position x
attr lzy - Last world position y
attr lzz - Last world position z
attr mldt - “Prop mod last display time”
attr stt - Player stats. See this footnote for more information about the format.
attr time - Total time played, in seconds.
attr ttip - “tool tip flags”
attr v - Unknown, maybe version? Always 3 in caps
attr vd - Unknown, some packet cap values are 15368, 15318, 15367
ue - Unlocked emotes
e - An unlocked emote
attr id - Emote ID
vl - Visited worlds
l - A visited world
attr cid - Clone ID (used for properties, 0 if not a property)
attr id - World ID.
zs - World Statistics
s - Statistics for a world
attr ac - Achievements collected
attr bc - Bricks collected
attr cc - Coins collected
attr es - Enemies smashed
attr map - ID of the world the statistics are for
attr qbc - Quick build count

Note

lzid a binary concatenation of world ID, world instance and world clone, e.g:
lzid = 2341502167811299
hex representation of lzid = 00 08 51 95 74 f4 04 e3
hex representation of lzid, byte reversed (= packet byte order, Little Endian) = e3 04 f4 74 95 51 08 00
World ID = e3 04
World Instance = f4 74
World Clone = 95 51 08 00

Character Statistics Format

The character statistics are formatted as follows with a semicolon delimiting each statistic, including the last one. Fill in empty statistics with a zero.
Example:
10809;543;106;43;257;3;41;0;532;236;123;32403;1;58;7;55;101;111;0;0;0;0;0;0;0;0;0;
All stats are uint64_t except where noted otherwise:
CurrencyCollected
BricksCollected (int64_t)
SmashablesSmashed
QuickBuildsCompleted
EnemiesSmashed
RocketsUsed
MissionsCompleted
PetsTamed
ImaginationPowerUpsCollected
LifePowerUpsCollected
ArmorPowerUpsCollected
MetersTraveled
TimesSmashed
TotalDamageTaken
TotalDamageHealed
TotalArmorRepaired
TotalImaginationRestored
TotalImaginationUsed
DistanceDriven
TimeAirborneInCar
RacingImaginationPowerUpsCollected
RacingImaginationCratesSmashed
RacingCarBoostsActivated
RacingTimesWrecked
RacingSmashablesSmashed
RacesFinished
FirstPlaceRaceFinishes

Tooltip flags

Todo

bitmask?