public static void SubPasswordFind(PacketReader packet, PacketBuilder builder, ClientHandler client, EventHandler events) { packet.Skip(8); var answer = packet.ReadString(16).Trim('\0'); var syncServer = client.Metadata["syncServer"] as SyncReceiver; var checkAnswer = SubpassManagement.CheckSubPwAnswer(syncServer, client.AccountID, answer); var tries = 0; builder.New(0x40E); { if (checkAnswer) { builder += 1; // success builder += (byte)0x00; // failed times client.Metadata["subTries"] = 0; } else { client.Metadata["subTries"] = (int)client.Metadata["subTries"] + 1; tries = (int)client.Metadata["subTries"]; builder += 0; // failed builder += (byte)tries; // failed times } builder += 1; } client.Send(builder, "SubPasswordFind"); if ((int)client.Metadata["subTries"] > 3) { client.Disconnect(); } }