public static void SubPasswordDelRequest(PacketReader packet, PacketBuilder builder, ClientHandler client, EventHandler events) { packet.Skip(4); var pass = packet.ReadString(10).Trim('\0'); var syncServer = client.Metadata["syncServer"] as SyncReceiver; var checksub = SubpassManagement.CheckSubPw(syncServer, client.AccountID, pass); var tries = 0; builder.New(0x410); { if (checksub) { client.Metadata["subTries"] = 0; builder += 1; // success builder += (byte)0x00; // failed times } 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, "SubPasswordDelRequest"); if ((int)client.Metadata["subTries"] > 3) { client.Disconnect(); } }
public static void CharacterDeleteCheckSubPassword(PacketReader packet, PacketBuilder builder, ClientHandler client, EventHandler events) { var subpw = packet.ReadString(10).Trim('\0'); var syncServer = client.Metadata["syncServer"] as SyncReceiver; var verify = SubpassManagement.CheckSubPw(syncServer, client.AccountID, subpw); var tries = 0; builder.New(0x870); { if (verify) { client.Metadata["subTries"] = 0; builder += 1; // success builder += (byte)0; // failed times } else { client.Metadata["subTries"] = (int)client.Metadata["subTries"] + 1; tries = (int)client.Metadata["subTries"]; builder += 0; // failed builder += (byte)tries; // failed times } } client.Send(builder, "CharacterDeleteCheckSubPassword"); if ((int)client.Metadata["subTries"] > 3) { client.Disconnect(); } }