Results 1 to 12 of 12

Thread: 1 week membership bug

  1. #1
    Join Date
    Apr 2007
    Location
    Estonia
    Posts
    156
    Mentioned
    0 Post(s)
    Quoted
    10 Post(s)

    Default 1 week membership bug

    If you have 1 week membership left and logged into lobby then a message pops up:



    After some time, window disappears and it starts continuously clicking "Click here to renew"... Had over 200 tabs open in firefox

    Not sure how long will it pop that message? 1 day? Strange that anyone haven't reported that issue.
    ROCK IS NOT A DEVILS WORK, ITS MAGICAL AND RAD!

  2. #2
    Join Date
    Feb 2012
    Location
    Discord
    Posts
    3,114
    Mentioned
    37 Post(s)
    Quoted
    538 Post(s)

    Default

    Quote Originally Posted by neeger View Post
    If you have 1 week membership left and logged into lobby then a message pops up:



    After some time, window disappears and it starts continuously clicking "Click here to renew"... Had over 200 tabs open in firefox

    Not sure how long will it pop that message? 1 day? Strange that anyone haven't reported that issue.
    it comes up now and then. I have a fix I made when a while back which you can have if you want.

  3. #3
    Join Date
    Apr 2007
    Location
    Estonia
    Posts
    156
    Mentioned
    0 Post(s)
    Quoted
    10 Post(s)

    Default

    So it pops up randomly all the time in last week of membership?
    Not hard to fix it in SRL but have to do it every time then after SRL updates, one way to add it to script(etc make Loginplayer2; or LoginPlayerToLob()2; change it so that it detects that popup).

    But would be great if they added it to SRL
    ROCK IS NOT A DEVILS WORK, ITS MAGICAL AND RAD!

  4. #4
    Join Date
    Jul 2012
    Location
    London
    Posts
    1,549
    Mentioned
    0 Post(s)
    Quoted
    86 Post(s)

    Default

    Would this come up with 1 month auto-renewal rolling membership?

  5. #5
    Join Date
    Nov 2012
    Posts
    2,351
    Mentioned
    55 Post(s)
    Quoted
    603 Post(s)

    Default

    Quote Originally Posted by Mr[S] View Post
    Would this come up with 1 month auto-renewal rolling membership?
    hasn't for me ever


    Programming is like trying keep a wall of shifting sand up, you fix one thing but somewhere else starts crumbling

  6. #6
    Join Date
    Feb 2012
    Location
    Discord
    Posts
    3,114
    Mentioned
    37 Post(s)
    Quoted
    538 Post(s)

    Default

    Quote Originally Posted by Mr[S] View Post
    Would this come up with 1 month auto-renewal rolling membership?
    not with auto-renew. I had it on my main 3 weeks after a sms upgrade though :P
    @OP try to make a fix yourself, It's not hard. First make a function to close screen if it finds the lock dtm, here's a DIY for you :P :

    Simba Code:
    function ClosedScreen;
    var
      x, y, LockDtm: integer;
    begin
      LockDtm := Inset your dtm for the lock here
      if FindDtm(LockDtm, x, y, MSX1, MSY1, MSX2, MSY1) then
        if MouseBox(Put the cords of the "close" box here, 1) then
          Result := True;
      FreeDtm(LockDtm);
    end;
    You then need to edit logintolob like so:
    Simba Code:
    function LoginPlayerToLob: Boolean;
    var
      RetryLogin: Boolean;
      typtmp, t, w: integer;
      Actions: TVariantArray;
      Attempts: LongInt;
      p: TPoint;
      //ATPA: T2dPointArray;
      TPA: TPointArray;
      Boxes : TIntegerArray;
      //B: TBox;
    label
      ProcStart;
    begin
      ActivateClient;
      Wait(100);
      TypeByte(vk_Escape);
      Wait(500);

             {Check for lobby screen already open/ already logged in}

      Result := ((LobbyScreen) or (LoggedIn) or (ClosedScreen));
      if (Result) then
        Exit;

                           {Check for active player.}

      if (not (Players[CurrentPlayer].Active)) then
      begin
        WriteLn('Player is not Active...');
        if (AllPlayersInActive) then
        begin
          WriteLn('All players not active!');
          Exit;
        end;
        NextPlayer(False);
        Exit;
      end;

                   {Wait for the client to finish loading.}

      T := GetSystemTime;
      repeat
        if (RSReady) then
          Break;
        if ((GetSystemTime - T) > 180000) then
        begin
          WriteLn('It has been 3 minutes and Runescape is not yet ready... Terminating.');
          TerminateScript;
        end;
        Wait(RandomRange(1000, 2000));
      until (False);
      WriteLn('Welcome to Runescape.');


                       {New graphics have changed box}
      Case CountColor(LOGIN_TEXTCOLOUR, 198, 192, 567, 259) of
        1079: MouseBox(347, 295, 414, 303, mouse_left);
        1745: MouseBox(347, 305, 414, 312, mouse_left); { "Available graphics options have been changed..." }
        1801: MouseBox(347, 305, 414, 312, mouse_left); { "There was a problem with your current graphics settings..." }
      end;

                       {Click less info if needed.}
      {
      if (not (SimilarColors(GetColor(382, 11), 14285562, 20))) then //Runescae sword green bead
      begin
        MouseBox(212, 479, 550, 495, 1); //Less info button
        Wait(RandomRange(1000, 2000));
      end;
      }

                          {Click Members/free.}

      {Members := Players[CurrentPlayer].Member;
      if (Length(Players[CurrentPlayer].WorldInfo) > 0) then
        Members := Players[CurrentPlayer].WorldInfo[0];  }


      ProcStart:

      {if (Members) then
        I := 1;

      if (GetColor(248, 359) <> 1381653) then //Black outline on forgotten pwd button.
      begin
        FindColors(TPA, 9291999, 10, 370, 675, 475);
        ATPA := SplitTPA(TPA, 4);
        if (Length(ATPA) > 2) then
        begin
          if (I = 1) then
            I := 0
          else
            I := 1;
          B := GetTPABounds(ATPA[1 + I]); //If demo mode is still up
        end
        else
          if (Length(ATPA) = 2) then
            B := GetTPABounds(ATPA[0 + I]) //When there's no demo mode
          else
            B := IntToBox(210, 424, 367, 446);

        with B do
          MouseBox(X1 + 20, Y1 + 10, X2 - 20, Y2 + 8, 1);

        T := GetSystemTime;                  //Black outline on forgotten pwd button.
        while ((GetSystemTime - T < 3000) and (GetColor(248, 359) <> 1381653)) do
          Wait(RandomRange(100, 200));

      end;    }


                           {Type in username and pass}

      if (loggedIn) then
        exit;

      for W:= 0 to 1 do
      begin
        if W = 0 then
          Boxes:= [UBX1, UBY1, UBX2, UBY2]
        else
          Boxes:= [PBX1, PBY1, PBX2, PBY2];

        t := (getSystemTime + (60000 * 2));
        FindColors(TPA, LOGIN_TEXTCOLOUR, Boxes[0], Boxes[1], Boxes[2], Boxes[3]);
        repeat
          if (Length(TPA) > 0) then
          begin
            SortTPAFrom(TPA, Point(Boxes[2], Boxes[1] + (Boxes[3] - Boxes[2]) div 2));
            p := point(TPA[0].X + 20, TPA[0].Y);
            if (not pointInBox(p, intToBox(Boxes[0], Boxes[1], Boxes[2], Boxes[3]))) then
              p := point(UBX2 - (10 + random(10)), p.y);
            Mouse(p.x, p.y, 5, 5, mouse_left);
          end else
            MouseBox(Boxes[0], Boxes[1], Boxes[2], Boxes[3], mouse_left);

          typtmp := 0;
          while (CountColor(LOGIN_TEXTCOLOUR, Boxes[0], Boxes[1], Boxes[2], Boxes[3]) > 0) do
          begin
            Inc(typtmp);
            TypeByte(VK_BACK);
            Wait(50+Random(50));
            if (typtmp >= RandomRange(20, 24)) then
              Break;
          end;
        until(not FindColors(TPA, LOGIN_TEXTCOLOUR, Boxes[0], Boxes[1], Boxes[2], Boxes[3]) or (getSystemTime > t));

        Wait(100 + Random(200));
        if W = 0 then
        begin
          WriteLn(Capitalize(Players[CurrentPlayer].Name));
          TypeSend(Players[CurrentPlayer].Name);
        end else
          TypeSend(Players[CurrentPlayer].Pass);
        Wait(800 + Random(50)); //Should fix the Login -> Spam Recoveries bug
      end;

                            {Check responses}

      T := GetSystemTime;
      repeat
        // so the lobby appears (gets rid of black screen)
        if (countColorTolerance(clBlack, 0, 0, 500, 500, 20) > 245000) then
        begin
          wait(2000 + random(1500));
          mouseBox(0, 0, 750, 490, mouse_Move);
        end;
        SRL_ResetNavBar;
        result := validEmail;  // To handle "Validate Email" screen
        if result then
          break;

        SetLength(Actions, 0);

        if ((GetSystemTime - T) > 60000) then
          Actions :=       ['One minute has passed... Debug: ' + ToStr(CountColor(LOGIN_TEXTCOLOUR, 260, 140, 510, 400)),              0,    5,    'PlayerFalse',   'Login Failed']
        else
        case (CountColor(LOGIN_TEXTCOLOUR, 260, 140, 510, 400)) of //text colour points
                            // WriteLn Error                  Wait for   Retrys     Action      Player[CurrentPlayer].Loc
          763, 2348, 2299:
                Actions := ['Invalid Username / Password',           0,    2,    'PlayerFalse',   'Wrong User/Pass'];
          1088: Actions := ['Your account has been disabled',        0,    0,    'PlayerFalse',   'Acc Disabled'];
           951: Actions := ['Your account is already logged in',  5000,    5,    'PlayerTrue',    'Already logged in'];
          1239: Actions := ['Not a Members Account',                 0,    1,    'PlayerTrue',    ''];
           364: Actions := ['Error Connecting.',                 20000,    9,    'Terminate',     'Error Connecting'];
          1057: Actions := ['Too many incorrect logins.',    5 * 60000,    2,    'PlayerFalse',   'Too many logins'];
           732: Actions := ['Runescape has been updated.',           0,    0,    'RSUpdate',      'RS Updated'];
           591: Actions := ['Client token changed.',                 0,    0,    'RSUpdate',      'Client Token Changed'];
          1606: Actions := ['Game session expired.',                 0,    0,    'RSUpdate',      'Session Expired'];
           777: Actions := ['Login limit exceeded.',             20000,   10,    '',              'Waiting for login.'];
        end;
                                 {Respond}

        if (Length(Actions) > 0) then
        begin
          WriteLn(Actions[0]);
          if (Actions[0] <> 'Not a Members Account') then
          begin
            Wait(1000 + Random(500));
            TypeByte(vk_Escape);
          end;
          Wait(Actions[1] + Random(100));
          if (Actions[2] <> 0) then
            if (Attempts < Actions[2]) or (Actions[2] = -1) then
            begin
              if (Actions[0] = 'Not a Members Account') then
              begin
                Players[CurrentPlayer].Member := False;
                if (Length(Players[CurrentPlayer].WorldInfo) > 0) then
                  Players[CurrentPlayer].WorldInfo[0] := False;
                MouseBox(267, 321, 496, 350, mouse_left); //Play free game instead button
                Wait(3000 + Random(2000));
                Result := True;
                Exit;
              end;
              RetryLogin := True;
              Wait(2000 + Random(1000));
              Break;
            end;
          if (Actions[4] <> '') then
            Players[CurrentPlayer].Loc := Actions[4];
          case Actions[3] of
            'PlayerFalse': NextPlayer(False);

            'PlayerTrue':
              begin
                LeaveLobby();
                NextPlayer(True);
              end;

            'Terminate': TerminateScript;

            'RSUpdate':
              begin
                if SRL_HasProc(srl_OnRSUpdate) then
                begin
                  case actions[0] of
                    'Runescape has been updated.':
                      begin
                        Writeln('Runescape has been updated! Waiting 5 minutes to restart SMART!');
                        Wait(300000);
                      end;
                  end;
                  SRL_Procs[srl_OnRSUpdate]();
                  Exit;
                end;
                Writeln('Runescape has been updated! Please restart Simba.');
                TerminateScript;
              end;
          end;
          Exit;
        end;
        Wait(100);
        Result := (LobbyScreen) or (LoggedIn) or (ClosedScreen);
      until (Result);

      TakeIPScreen();

                         {Back to main screen if needed}

      if (RetryLogin) then
      begin
        RetryLogin := False;
        Inc(Attempts);
        goto ProcStart;
      end;

    end;

  7. #7
    Join Date
    Mar 2007
    Posts
    5,125
    Mentioned
    275 Post(s)
    Quoted
    901 Post(s)

    Default

    Could this be why I am getting this every morning?

    Forum account issues? Please send me a PM

  8. #8
    Join Date
    Dec 2011
    Location
    Hyrule
    Posts
    8,662
    Mentioned
    179 Post(s)
    Quoted
    1870 Post(s)

  9. #9
    Join Date
    Mar 2007
    Posts
    5,125
    Mentioned
    275 Post(s)
    Quoted
    901 Post(s)

    Default

    Quote Originally Posted by Ashaman88 View Post
    haha wow that is crazy justin
    Yeah does my head in every morning -.-

    Forum account issues? Please send me a PM

  10. #10
    Join Date
    Oct 2011
    Location
    Australia, Vic
    Posts
    1,517
    Mentioned
    2 Post(s)
    Quoted
    120 Post(s)

    Default

    Quote Originally Posted by Justin View Post
    Yeah does my head in every morning -.-
    Now imagine if you were using Internet Explorer o.o

  11. #11
    Join Date
    Mar 2007
    Posts
    5,125
    Mentioned
    275 Post(s)
    Quoted
    901 Post(s)

    Default

    I just saw it happening!
    What went down; my character 5min auto logged out from being idle, in my script I have something like (on my laptop atm) if not(LoggedIn) then LoginPlayer;

    I can only guess LoginPlayer failed to detect that I was already in the lobby and it tried to login (send username\password) to the Lobby screen


    If someone else can test it that would be good, I'll also take another look in the morning when i wake up (3am here)

    Justin.

    Forum account issues? Please send me a PM

  12. #12
    Join Date
    Apr 2007
    Location
    Estonia
    Posts
    156
    Mentioned
    0 Post(s)
    Quoted
    10 Post(s)

    Default

    Yeah seen it happen many times, but I use LoginPlayerToLob();, when it first time logs to lob, the message pops up and it waits while message is gone and then starts to click renew membership, lol:



    I use fix similar to The Killer, have to call LoginPlayerToLob(); twice but it works fine atm... hope they add this to SRL soon :P
    ROCK IS NOT A DEVILS WORK, ITS MAGICAL AND RAD!

Thread Information

Users Browsing this Thread

There are currently 1 users browsing this thread. (0 members and 1 guests)

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •