public static void CheckUserPrivacyData(PacketReader packet, PacketBuilder builder, ClientHandler client, EventHandler events) { //byte[] b; packet.Skip(4); var pass = packet.ReadString(32).Trim('\0'); pass = GenerateHash(pass); var database = client.Metadata["database"] as IDatabaseContracts; var server = (int)client.Metadata["server"]; bool?auth = database.VerifyPassword(server, client.AccountID, pass); builder.New(0x320); { if (auth != null) { builder += (bool)(auth) ? (byte)1 : (byte)0; } else { events.Error("world.700.CheckUserPrivacyData", "CheckUserPrivacyData: Account ID not found!"); } //b = builder.Data; } client.Send(builder, "CheckUserPrivacyData"); }
void Parse(PacketReader reader, PacketBuilder builder, ClientHandler client, EventHandler events) { ushort opcode = reader.Opcode; if (_methods.ContainsKey(opcode)) { reader.index = 10; events.ReceivedPacket(this, new PacketEventArgs(client.RemoteEndPoint.ToString(), _methods[opcode].Item1, opcode, reader.Size)); _methods[opcode].Item2(reader, builder, client, events); } else { events.Error(this, string.Format("Unknown packet ({0}) from {1}", opcode, client.RemoteEndPoint)); } }