public static void HandleCharCreate(ref PacketReader packet, ref WorldManager manager) { Character cha = new Character(); cha.Name = packet.ReadString(); cha.Race = packet.ReadByte(); cha.Class = packet.ReadByte(); cha.Gender = packet.ReadByte(); cha.Skin = packet.ReadByte(); cha.Face = packet.ReadByte(); cha.HairStyle = packet.ReadByte(); cha.HairColor = packet.ReadByte(); cha.FacialHair = packet.ReadByte(); packet.ReadByte(); var result = DB.Characters.Select<Character>(); PacketWriter writer = new PacketWriter(Opcodes.SMSG_CHAR_CREATE); foreach (Character c in result) { if (c.Name == cha.Name) { // Name already in use writer.WriteUInt8(0x2B); manager.Send(writer); return; } } cha.AccountId = manager.account.Id; cha.Guid = (ulong)(DB.Characters.RowCount + 1); DB.Characters.Save(cha); // Success writer.WriteUInt8(0x28); manager.Send(writer); }