コード例 #1
0
        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();
            }
        }
コード例 #2
0
        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();
            }
        }