====== UO Protocol 0x00 ====== ===== Create Character (104 bytes) ===== This message is sent from UO client when user selects to create a new character. Since this packet comes with character's initial attributes, it's important to check for consistency before using information contained in there. Offset Type Name Description ------ -------- ---------------- ------------------------------ 0000 BYTE cmd 0001 UINT pattern1 always 0xedededed? 0005 UINT pattern2 always 0xffffffff? 0009 BYTE pattern3 always 0x00? 0010 CHAR[[30]] char_name 0040 CHAR[[30]] char password 0070 BYTE gender 0=male, 1=female 0071 BYTE str 0072 BYTE dex 0073 BYTE int 0074 BYTE skill1 0075 BYTE skill1value 0076 BYTE skill2 0077 BYTE skill2value 0078 BYTE skill3 0079 BYTE skill3value 0080 BYTE[[2]] skinColor 0082 BYTE[[2]] hairStyle 0084 BYTE[[2]] hairColor 0086 BYTE[[2]] facialhairStyle 0088 BYTE[[2]] facialhairColor 0090 BYTE[[2]] location from starting list 0092 BYTE[[2]] unknown1 0094 BYTE[[2]] slot max. 6 slots? 0096 BYTE[[4]] clientIP 0100 BYTE[[2]] shirtColor 0102 BYTE[[2]] pantsColor Notes: * Str, dex and int should always sum to 65. * Str, dex and int should always be between 10 and 45, inclusive. * Skill1, skill2, and skill3 should never be the same value. * Skill1, skill2, and skill3 should always be between 0 and 45, inclusive. * Skill1value, skill2value, and skill3value should always sum to 100. * Skill1value, skill2value, and skill3value should always be between 0 and 50, inclusive. * SkinColor should always be between 0x3EA and 0x422, exclusive. * HairColor and facialHairColor should always be between 0x44E and 0x4AD, exclusive. * HairStyle should be between 0x203B and 0x204A, exclusive, and it should also exclude 0x203D to 0x2044, exclusive. * FacialHairStyle should be between 0x203E and 0x204D Shirt color and Pants color need bounds checking too. [[UO_Protocol]]