Results 1 to 18 of 18

Thread: Client Spam Opening Membership button

  1. #1
    Join Date
    Nov 2011
    Location
    United States
    Posts
    815
    Mentioned
    6 Post(s)
    Quoted
    284 Post(s)

    Default Client Spam Opening Membership button

    Fix On my last post below!
    ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
    I have been having this problem, when my guy logs out, there is a 1/10 chance it will Spam Click the Renew Membership or Membership button in the lobby. I know other people are having this problem too. Someone else made a thread in the Help section, but since the forum's rework the help section hasn't been getting as many views so i figured id post it here. Also since its not a scripts fault, its a client issue. i figure Here would be a better place.

    Two out of the last 3 nights ive woken up and had 110+ Runescape tabs open, so we need to find a fix for this. I believe its a problem When the script you are using uses the world picker. (for instance has it log into w84 each time to mine)

    http://gyazo.com/e43611ab4a732bd993cdd957b998fd14

    Thats the button ive found it just spam clicking(the blue one), It will click it 5-10 times really fast and then finally stop and go to World select screen and log in like normal.

    Im guessing it clicks it thinking its the world select button? Since there both similar colors of blue, but i Dont exactly know.

    Ive had to take out the If Not LoggedIn then Loginplayer; Part to my scripts cause the spam opening of 10-20 google tabs has killed me at nex while i was gaming :s

    Ive looked at the includes for loggin in/world choosing but my coding skills are not to the point i can edit those and find the problem yet. So if someone could take the time and look/fix it would be Much appreciated.

    Also if there is anyone i should Tell this bug to please let me Know

    Edit: heres a link to the thread made about this in help the other week: http://villavu.com/forum/showthread....70#post1172970

    And another : http://villavu.com/forum/showthread....ight=open+tabs

    Edit 2: I believe i found the problem!


    Ive found out what i believe the problem is. Its the Blue color Of the renew membership button, and the World globe it clicks on for world switcher, are similar and it gets the two confused if the mouse is in the middle of the screen when the bot lobbys.

    So i Believe its a problem with the world switcher/selecter include. If anyone could please look at it and fix it would be much appreciated! I dont really understand how the include is written :c ive tried looking at it :/ (or even which include exactly it is)

    The Problem spots ive noticed the mouse hovering over and spam clicking are circled in red in this picture

    http://gyazo.com/86d99f2c943986031e13226b2ac57497

    It mistakes the Click "here" button in blue, as the blue world globe icon.
    Last edited by Itankbots; 03-01-2013 at 12:10 PM. Reason: Fix posted :)

  2. #2
    Join Date
    Oct 2012
    Posts
    758
    Mentioned
    6 Post(s)
    Quoted
    282 Post(s)

    Default

    Sorry to hear that you died in the game!
    I've been having exactly the same problem and nothing I did so far has fixed it... (EDIT: just realised you're referring to the thread I started!)
    All my functions/procedures have checks to see if the player is logged in and it's still happening.

  3. #3
    Join Date
    Nov 2011
    Location
    United States
    Posts
    815
    Mentioned
    6 Post(s)
    Quoted
    284 Post(s)

    Default

    Yeah same here =/ Idk whats causing it. Hopefully someone can figure it out

    Another Thread about it earlier this Month:

    http://villavu.com/forum/showthread....ight=open+tabs

    Really need someone who knows how to edit the includes to find a fix for this =/ Its happening alot all a sudden to me.
    Last edited by Itankbots; 02-17-2013 at 05:57 PM.

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

    Default

    update to smart 8.0+


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

  5. #5
    Join Date
    Oct 2012
    Posts
    758
    Mentioned
    6 Post(s)
    Quoted
    282 Post(s)

    Default

    Quote Originally Posted by DannyRS View Post
    update to smart 8.0+
    I was getting this problem whilst using Smart 8.0

  6. #6
    Join Date
    Feb 2013
    Posts
    8
    Mentioned
    0 Post(s)
    Quoted
    3 Post(s)

    Default

    Wait, you had over 100 RS opened? How can your PC handle it?

  7. #7
    Join Date
    Nov 2011
    Location
    United States
    Posts
    815
    Mentioned
    6 Post(s)
    Quoted
    284 Post(s)

    Default

    Quote Originally Posted by DannyRS View Post
    update to smart 8.0+
    Im using smart 8.0

    and @Cheatg0d i have a $3600 PC, but Google Chrome crashes after 120 some odd tabs are opened.

  8. #8
    Join Date
    Nov 2011
    Location
    United States
    Posts
    815
    Mentioned
    6 Post(s)
    Quoted
    284 Post(s)

    Default

    Ughh...its doing this around 4 times a day now, not even when it hits 6hr log. Just when it accidently logs out or hits a fail safe. This is ridiculous

    Edit: Ive found out what i believe the problem is. Its the Blue color Of the renew membership button, and the World globe it clicks on for world switcher, are similar and it gets the two confused if the mouse is in the middle of the screen when the bot lobbys.

    So i Believe its a problem with the world switcher/selecter include. If anyone could please look at it and fix it would be much appreciated! I dont really understand how the include is written :c (or even the exact one it is) ive tried looking at it :/

    The Problem spots ive noticed the mouse hovering over and spam clicking are circled in red in this picture

    http://gyazo.com/86d99f2c943986031e13226b2ac57497

    It mistakes the Click "here" button in blue, as the blue world globe icon.
    Last edited by Itankbots; 02-18-2013 at 12:32 AM.

  9. #9
    Join Date
    Nov 2011
    Location
    United States
    Posts
    815
    Mentioned
    6 Post(s)
    Quoted
    284 Post(s)

    Default

    How come everyone is ignoring this post/bug? I looked through the forums and its been happening to different people for many months yet no one seems to comment on it? I even messaged the people who wrote the login includes or people who wrote other includes and they ignore my Messages :l Its getting pretty frustrating since i have this happen 4-5 times a day when running multi accounts on different scripts. Making simba barely usable for me, And Yes ive already tried looking at the include to fix it, but im fairly new to scripting and dont fully understand whats all there.

  10. #10
    Join Date
    Sep 2012
    Location
    Here.
    Posts
    2,007
    Mentioned
    88 Post(s)
    Quoted
    1014 Post(s)

    Default

    I'm sorry, but this is a long-standing issue with SIMBA and f2p accounts. The original authors aren't as active as they used to be and most other people feel that code is too deep for them to want to deal with (and many of the oldest developers don't approve of bot armies, so announcing that as part of the issue may not be beneficial).

    I can see how that issue could be fairly frustrating, but if you can't find an original developer to help you and you aren't capable of fixing it yourself directly, I recommend looking into at least adding a timer so it will shut the failing script down after 30 seconds (or 3 clicks) or something along those lines. Most methods are named to be easy to find and you should be able to follow into the portion of the code in the lobby login that this occurs for you to add the timer.

    If that fails, I recommend looking to talk to someone else who is noted to run a bot army. Read a few posts a day that may not be related to what you want directly and you should be able to find a bigger developer or two that may be able to help you in this with fixing the actual issue as opposed to the work-around I suggest.

  11. #11
    Join Date
    Nov 2011
    Location
    United States
    Posts
    815
    Mentioned
    6 Post(s)
    Quoted
    284 Post(s)

    Default

    Yeah i guess so, Thank you for replying, I just find it rude when everyone seems to ignore the post or pm's . Usually everyone is kind and helpful around here. Ill add the timer idea once i feel better, really sick atm. Didnt think to just add a timer to it. But that really doesnt fix the problem. Hopefully someone out there will post a fix , or ill just have to wait till my coding skills get that good lol.

    O yay went to bathroom and had only 1 client running and it opened 120 chrome tabs by the time i got back lol.. : http://gyazo.com/a82b2a1372e782157c20663bde3db6e4

  12. #12
    Join Date
    Dec 2011
    Location
    The Netherlands
    Posts
    1,631
    Mentioned
    47 Post(s)
    Quoted
    254 Post(s)

    Default

    Some stuff that I used to use
    Code:
    procedure InsertDetails;
    var
      i: Integer;
      UB, PB: TBox;
      Boxes: TBoxArray;
    
    begin
      UB := IntToBox(278, 202 + Y_OFFSET_LOGIN, 487, 222 + Y_OFFSET_LOGIN); // Username
      PB := IntToBox(276, 249 + Y_OFFSET_LOGIN, 486, 268 + Y_OFFSET_LOGIN); // Password
      Boxes := [UB, PB];
    
      for i:=0 to high(Boxes) do
      begin
        MouseBox(Boxes[i].X1, Boxes[i].Y1, Boxes[i].X2, Boxes[i].Y2, 1);
        Wait(RandomRange(300, 600));
        case i of
          0: TypeSendEx(Players[CurrentPlayer].Name, False);
          1: TypeSend(Players[CurrentPlayer].Pass);
        end;
        Wait(RandomRange(300, 600));
      end;
    
      //Mousebox(306, 292 + Y_OFFSET_LOGIN, 460, 308 + Y_OFFSET_LOGIN, 1); // Login
    end;
    
    procedure CloseOneWeekScreen;
    var
      Lock, X, Y, T: Integer;
    
    begin
      Lock := BitmapFromString(25, 16, 'meJzTiyiyaJ5jU9qu3rxEZsVt2RW3LTfccV96BA9Sn3lYFqwSiPQnblOrnunUNssiNM512iagXoi40OTjQNMgSJYQAiqGs4EmpJ5+AXQMUBAXQtOLR5nLhqtA5+FXA/SCdmoNfhuBCOhxPEYBvWkz/aC4giojA4O4vCp+04BGAQMcyOBv3YImBRQBhgAwRoDmABEHGwvQbbhUohmFiYC+85pyQN7QHGgUkIS4CqtKiFFAu7DKQhAwMMOnLgP6Eeg8YBrApYwYo4B+dMoq5ebmBipTmLgbj1HAUMVjFFCB5aLTcA/iMoq3YimQBKZPiFFALiYCGmXYvljLyVvO0BxIAsMKl0qIUXoRRXgUAF0CdDkQAVMXLmXIRuFSAFcG9wgeNTb9qyFG8ZTOpQQhG0UJghsFyV+UI8/elQDhcgZz');
      MarkTime(T);
      while TimeFromMark(T) < 5000 do
      begin
        if FindBitmapToleranceIn(Lock, X, Y, 258, 205 + Y_OFFSET_LOGIN, 507, 398 + Y_OFFSET_LOGIN, 20) then
        begin
          Mousebox(309, 368 + Y_OFFSET_LOGIN, 457, 383 + Y_OFFSET_LOGIN, 1);  // close coords
          Wait(RandomRange(500, 1000));
          break;
        end;
        Wait(RandomRange(250, 500));
      end;
      Wait(RandomRange(2000, 3000));
      FreeBitmap(Lock);
    end;
    
    procedure OpenWorlds;
    begin
      Mousebox(169, 76 + Y_OFFSET_LOGIN, 264, 97 + Y_OFFSET_LOGIN, 1); // Coords
      Wait(RandomRange(1000, 2000));
    end;
    
    function FindTheWorld(W: integer): Boolean;
    Var
      WPos, SPos, CurPos, i, H, CurW, TextColor: integer;
      BarHeight, WorldsOnScreen: integer;
      p: TPoint;
      TPA, TPA2, TPA3: TPointArray;
      SP, SB: TBox;
    begin
      WS_CurrentWorld(CurW);
      if (W = CurW) then
      begin
        Result := True;
        WriteLn('Already on world ' + IntToStr(W));
        Exit;
      end;
    
      if not WorldsOrdered then
      begin
        if not OrderWorlds('w', True) then
        begin
          Writeln('FindWorld: Could not order worlds properly.');
          Exit;
        end;
        WorldsOrdered := true;
        wait(400+random(200));
      end;
    
      FindColorsTolerance(TPA, SRL_WS_SCROLLCOLOR1, 680, 1, 705, 500, 0);//These coords determine the scroll bars general area, it deviates everything.
      SB := GetTPABounds(TPA);
      With SB do
      begin
        FindColorsTolerance(TPA2, SRL_WS_SCROLLCOLOR1, x1+3, y1, x1+3, y2, 0);//SRL_WS_SCROLLCOLOR1
        FindColorsTolerance(TPA3, SRL_WS_SCROLLCOLOR2, x1+3, y1, x1+3, y2, 0);//SRL_WS_SCROLLCOLOR2
      end;
      TPA2 := CombineTPA(TPA2, TPA3);
      SP := GetTPABounds(TPA2);
    
      BarHeight := (SP.Y2-SP.Y1);
      WorldsOnScreen := (SB.y2-SB.y1+32) div 42;//This is HALF of the worlds on screen. I don't use the full amount.
    
      if Length(WorldArray) < 1 then
        LoadWorldArrays;
      WPos := -1;
      H := High(WorldArray);
      for i := 0 to H do
       if (WorldArray[i].Number = W) then
       begin
         WPos := i;
         if i < (WorldsOnScreen) then
           WPos := 0;
         if i > (H+1-(WorldsOnScreen)) then
           WPos := (H+1);
         if WorldArray[i].Members then
           TextColor := SRL_WS_YELLOWCOLOR
         else
           TextColor := SRL_WS_WHITECOLOR;
         Break;
       end;
    
      if WPos = -1 then
      begin
        srl_Warn('FindWorld', 'World '+IntToStr(W)+' does not exist in worlds.ini ', warn_AllVersions);
        Exit;
      end;
    
      SPos := (SB.y1+BarHeight div 2) + (WPos)*(SB.y2-SB.y1-BarHeight) div (H+1-WorldsOnScreen);//need the 0.0 to make it extended inside ()
      CurPos := (SP.y1 + BarHeight div 2);
      Debugln('SCROLLINFO: CurPos: '+ToStr(CurPos)+' WPos: '+ToStr(WPos)+' H+1: '+ToSTr(H+1)+' SPos: '+ToStr(SPos));
      if InRange(SPos, CurPos - BarHeight, CurPos + BarHeight) then
      begin//if its too close the scroll bar won't move to correct position
        if (CurPos < ((SB.y1+BarHeight/2)+ (SB.y2-SB.y1-BarHeight)/2)) then//half point
          Mouse((SB.x1 + (SB.x2-SB.x1)div 2), SB.y2, 0, 0, mouse_left)
        else
          Mouse((SB.x1 + (SB.x2-SB.x1)div 2), SB.y1, 0, 0, mouse_left);
      end;
    
      //Writeln('SPos := '+ToStr(SPos));
      Mouse((SB.x1 + (SB.x2-SB.x1)div 2), SPos, 0, 0, mouse_left);
      wait(300+Random(100));
      Result := IsTextInAreaEx(84, 134, 134, 440, p.X, p.Y, IntToStr(W) + ' ', 0, StatChars, False, False, -1, 2, TextColor);
    end;
    
    procedure PlayWorld(W: integer);
    var
      x, y, xx, yy, CurW: integer;
      WRec: TWorld;
    
    begin
      WS_CurrentWorld(CurW);
      if (W = CurW) then
      begin
        WriteLn('Already on world ' + IntToStr(W));
        Exit;
      end;
    
      if FindTheWorld(W) then
      begin
        wait(200 + random(200));
        if GetWorldInfo(W, WRec) then
        begin
          Writeln('World: '+inttostr(WRec.Number)+', Players: '+inttostr(WRec.PlayerNo)+', Members: '+Booltostr(WRec.Members)+', PvP: '+Booltostr(WRec.PVP));
          if FindText(x, y, ' '+inttostr(W)+' ', StatChars, 84, 134, 140, 440) then
          begin
            MMouse(x, y, 400, 4);
            GetMousePos(x, y);
            wait(400+random(100));
            if FindColor(xx, yy, 6316128, x-20, y-2, x+20, y+2) then
            begin
              GetMousePos(x, y);
              Mouse(x, y, 0, 0, mouse_left);
              if FindColor(xx, yy, 19890, x-20, y-2, x+20, y+2) then
                Writeln('World '+inttostr(W)+' selected.');
            end;
          end;
        end else
          if WRec.PlayerNo = -2 then
            WriteLn('World ' + IntToStr(W) + ' is FULL.')
          else
            WriteLn('World ' + IntToStr(W) + ' is OFFLINE.')
      end else
        WriteLn('Failed to find World ' + IntToStr(W) + '!');
    end;
    
    procedure TalkFast(Text: String; PressEnter: Boolean);
    var
      i: Integer;
    
    begin
      for i:=1 to length(Text) do
        SendKeys(Text[i], 50 + Random(50), 50 + Random(50));
    
      if (PressEnter) then
        TypeByte(VK_RETURN);
    end;
    Mainloop something like
    Code:
    begin
      SetupSRL;
      Accounts := ['test123@outlook.com',
                   'test456@outlook.com',
                   'etc........'
                  ];
      Passwords := ['blue123',
                    'blue123',
                    'blue123'];
      DeclarePlayers;
      for Counter:=0 to high(Accounts) do
      begin
        if not(LoggedIn) then
        begin
          DeclarePlayers;
          InsertDetails;
          CloseOneWeekScreen;
          OpenWorldScreen;
          SelectWorld(53);
          LoginPlayer;
          Wait(3000 + Random(3000));
        end;

    Script source code available here: Github

  13. #13
    Join Date
    Nov 2011
    Location
    United States
    Posts
    815
    Mentioned
    6 Post(s)
    Quoted
    284 Post(s)

    Default

    Quote Originally Posted by J J View Post
    Some stuff that I used to use
    Code:
    procedure InsertDetails;
    var
      i: Integer;
      UB, PB: TBox;
      Boxes: TBoxArray;
    
    begin
      UB := IntToBox(278, 202 + Y_OFFSET_LOGIN, 487, 222 + Y_OFFSET_LOGIN); // Username
      PB := IntToBox(276, 249 + Y_OFFSET_LOGIN, 486, 268 + Y_OFFSET_LOGIN); // Password
      Boxes := [UB, PB];
    
      for i:=0 to high(Boxes) do
      begin
        MouseBox(Boxes[i].X1, Boxes[i].Y1, Boxes[i].X2, Boxes[i].Y2, 1);
        Wait(RandomRange(300, 600));
        case i of
          0: TypeSendEx(Players[CurrentPlayer].Name, False);
          1: TypeSend(Players[CurrentPlayer].Pass);
        end;
        Wait(RandomRange(300, 600));
      end;
    
      //Mousebox(306, 292 + Y_OFFSET_LOGIN, 460, 308 + Y_OFFSET_LOGIN, 1); // Login
    end;
    
    procedure CloseOneWeekScreen;
    var
      Lock, X, Y, T: Integer;
    
    begin
      Lock := BitmapFromString(25, 16, 'meJzTiyiyaJ5jU9qu3rxEZsVt2RW3LTfccV96BA9Sn3lYFqwSiPQnblOrnunUNssiNM512iagXoi40OTjQNMgSJYQAiqGs4EmpJ5+AXQMUBAXQtOLR5nLhqtA5+FXA/SCdmoNfhuBCOhxPEYBvWkz/aC4giojA4O4vCp+04BGAQMcyOBv3YImBRQBhgAwRoDmABEHGwvQbbhUohmFiYC+85pyQN7QHGgUkIS4CqtKiFFAu7DKQhAwMMOnLgP6Eeg8YBrApYwYo4B+dMoq5ebmBipTmLgbj1HAUMVjFFCB5aLTcA/iMoq3YimQBKZPiFFALiYCGmXYvljLyVvO0BxIAsMKl0qIUXoRRXgUAF0CdDkQAVMXLmXIRuFSAFcG9wgeNTb9qyFG8ZTOpQQhG0UJghsFyV+UI8/elQDhcgZz');
      MarkTime(T);
      while TimeFromMark(T) < 5000 do
      begin
        if FindBitmapToleranceIn(Lock, X, Y, 258, 205 + Y_OFFSET_LOGIN, 507, 398 + Y_OFFSET_LOGIN, 20) then
        begin
          Mousebox(309, 368 + Y_OFFSET_LOGIN, 457, 383 + Y_OFFSET_LOGIN, 1);  // close coords
          Wait(RandomRange(500, 1000));
          break;
        end;
        Wait(RandomRange(250, 500));
      end;
      Wait(RandomRange(2000, 3000));
      FreeBitmap(Lock);
    end;
    
    procedure OpenWorlds;
    begin
      Mousebox(169, 76 + Y_OFFSET_LOGIN, 264, 97 + Y_OFFSET_LOGIN, 1); // Coords
      Wait(RandomRange(1000, 2000));
    end;
    
    function FindTheWorld(W: integer): Boolean;
    Var
      WPos, SPos, CurPos, i, H, CurW, TextColor: integer;
      BarHeight, WorldsOnScreen: integer;
      p: TPoint;
      TPA, TPA2, TPA3: TPointArray;
      SP, SB: TBox;
    begin
      WS_CurrentWorld(CurW);
      if (W = CurW) then
      begin
        Result := True;
        WriteLn('Already on world ' + IntToStr(W));
        Exit;
      end;
    
      if not WorldsOrdered then
      begin
        if not OrderWorlds('w', True) then
        begin
          Writeln('FindWorld: Could not order worlds properly.');
          Exit;
        end;
        WorldsOrdered := true;
        wait(400+random(200));
      end;
    
      FindColorsTolerance(TPA, SRL_WS_SCROLLCOLOR1, 680, 1, 705, 500, 0);//These coords determine the scroll bars general area, it deviates everything.
      SB := GetTPABounds(TPA);
      With SB do
      begin
        FindColorsTolerance(TPA2, SRL_WS_SCROLLCOLOR1, x1+3, y1, x1+3, y2, 0);//SRL_WS_SCROLLCOLOR1
        FindColorsTolerance(TPA3, SRL_WS_SCROLLCOLOR2, x1+3, y1, x1+3, y2, 0);//SRL_WS_SCROLLCOLOR2
      end;
      TPA2 := CombineTPA(TPA2, TPA3);
      SP := GetTPABounds(TPA2);
    
      BarHeight := (SP.Y2-SP.Y1);
      WorldsOnScreen := (SB.y2-SB.y1+32) div 42;//This is HALF of the worlds on screen. I don't use the full amount.
    
      if Length(WorldArray) < 1 then
        LoadWorldArrays;
      WPos := -1;
      H := High(WorldArray);
      for i := 0 to H do
       if (WorldArray[i].Number = W) then
       begin
         WPos := i;
         if i < (WorldsOnScreen) then
           WPos := 0;
         if i > (H+1-(WorldsOnScreen)) then
           WPos := (H+1);
         if WorldArray[i].Members then
           TextColor := SRL_WS_YELLOWCOLOR
         else
           TextColor := SRL_WS_WHITECOLOR;
         Break;
       end;
    
      if WPos = -1 then
      begin
        srl_Warn('FindWorld', 'World '+IntToStr(W)+' does not exist in worlds.ini ', warn_AllVersions);
        Exit;
      end;
    
      SPos := (SB.y1+BarHeight div 2) + (WPos)*(SB.y2-SB.y1-BarHeight) div (H+1-WorldsOnScreen);//need the 0.0 to make it extended inside ()
      CurPos := (SP.y1 + BarHeight div 2);
      Debugln('SCROLLINFO: CurPos: '+ToStr(CurPos)+' WPos: '+ToStr(WPos)+' H+1: '+ToSTr(H+1)+' SPos: '+ToStr(SPos));
      if InRange(SPos, CurPos - BarHeight, CurPos + BarHeight) then
      begin//if its too close the scroll bar won't move to correct position
        if (CurPos < ((SB.y1+BarHeight/2)+ (SB.y2-SB.y1-BarHeight)/2)) then//half point
          Mouse((SB.x1 + (SB.x2-SB.x1)div 2), SB.y2, 0, 0, mouse_left)
        else
          Mouse((SB.x1 + (SB.x2-SB.x1)div 2), SB.y1, 0, 0, mouse_left);
      end;
    
      //Writeln('SPos := '+ToStr(SPos));
      Mouse((SB.x1 + (SB.x2-SB.x1)div 2), SPos, 0, 0, mouse_left);
      wait(300+Random(100));
      Result := IsTextInAreaEx(84, 134, 134, 440, p.X, p.Y, IntToStr(W) + ' ', 0, StatChars, False, False, -1, 2, TextColor);
    end;
    
    procedure PlayWorld(W: integer);
    var
      x, y, xx, yy, CurW: integer;
      WRec: TWorld;
    
    begin
      WS_CurrentWorld(CurW);
      if (W = CurW) then
      begin
        WriteLn('Already on world ' + IntToStr(W));
        Exit;
      end;
    
      if FindTheWorld(W) then
      begin
        wait(200 + random(200));
        if GetWorldInfo(W, WRec) then
        begin
          Writeln('World: '+inttostr(WRec.Number)+', Players: '+inttostr(WRec.PlayerNo)+', Members: '+Booltostr(WRec.Members)+', PvP: '+Booltostr(WRec.PVP));
          if FindText(x, y, ' '+inttostr(W)+' ', StatChars, 84, 134, 140, 440) then
          begin
            MMouse(x, y, 400, 4);
            GetMousePos(x, y);
            wait(400+random(100));
            if FindColor(xx, yy, 6316128, x-20, y-2, x+20, y+2) then
            begin
              GetMousePos(x, y);
              Mouse(x, y, 0, 0, mouse_left);
              if FindColor(xx, yy, 19890, x-20, y-2, x+20, y+2) then
                Writeln('World '+inttostr(W)+' selected.');
            end;
          end;
        end else
          if WRec.PlayerNo = -2 then
            WriteLn('World ' + IntToStr(W) + ' is FULL.')
          else
            WriteLn('World ' + IntToStr(W) + ' is OFFLINE.')
      end else
        WriteLn('Failed to find World ' + IntToStr(W) + '!');
    end;
    
    procedure TalkFast(Text: String; PressEnter: Boolean);
    var
      i: Integer;
    
    begin
      for i:=1 to length(Text) do
        SendKeys(Text[i], 50 + Random(50), 50 + Random(50));
    
      if (PressEnter) then
        TypeByte(VK_RETURN);
    end;
    Mainloop something like
    Code:
    begin
      SetupSRL;
      Accounts := ['test123@outlook.com',
                   'test456@outlook.com',
                   'etc........'
                  ];
      Passwords := ['blue123',
                    'blue123',
                    'blue123'];
      DeclarePlayers;
      for Counter:=0 to high(Accounts) do
      begin
        if not(LoggedIn) then
        begin
          DeclarePlayers;
          InsertDetails;
          CloseOneWeekScreen;
          OpenWorldScreen;
          SelectWorld(53);
          LoginPlayer;
          Wait(3000 + Random(3000));
        end;
    Awesome ty! I already had something similar for the Oneweekscreen but login was what i was looking for ^^ thank you, that helps point me in the right direction, much appreciated.

    Edit: dangit, just had this happen on a members acc for the first time, thought it only happened on trial accs welp guess i will be working on a perm fix then lol
    Last edited by Itankbots; 02-19-2013 at 10:06 PM.

  14. #14
    Join Date
    Dec 2011
    Location
    U.S.A.
    Posts
    635
    Mentioned
    5 Post(s)
    Quoted
    249 Post(s)

    Default

    I've had one with literally 400 tabs opened... my computer was dead until forced a shut down.

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

    Default

    Honestly would love to help if I could reproduce it, but I have no idea what is causing it and haven't had this happen or caught it in the act myself.

  16. #16
    Join Date
    Nov 2011
    Location
    United States
    Posts
    815
    Mentioned
    6 Post(s)
    Quoted
    284 Post(s)

    Default

    I have found the problem and got a solution! Just a warning, im not the best scripter, so im sure there are WAY better ways to do this, but this has worked for me 99% of the time for the last week straight, so i figured i would post it here so anyone else with the problem can use it.

    Basically what was causing it to spam click the membership button was when you had a little lagg or multi accounts running, it would believe its still on login screen, when in reality it is on the lobby screen. So it would try to click the Box to type your username in, but since it was on the lobby screen, the renew membership button was there instead of the username box :P

    Simba Code:
    Procedure LoginCheck;


    begin
    If LobbyScreen then
    MouseBox( 172, 28, 258, 48, Mouse_left);
    Wait(500 + Random(400));
    If WorldScreen then LoginPlayer;
    Wait(1500 + Random(400));
    If Not(LobbyScreen or Loggedin) then
    LoginPlayerToLob;
    If LobbyScreen then
    MouseBox( 172, 28, 258, 48, Mouse_left);
    Wait(500 + Random(400));
    If WorldScreen then LoginPlayer;
    end;  ]

    Just replace where you would normally call LoginPlayer, instead call LoginCheck. Like so: If not (LoggedIN) Then LoginCheck;


    Also, if your running more then one account, sometimes there is a problem where it will say "login limit exceeded" even if your not trying to log into same world, just trying to get into lobby.
    For that, change this part of the Login include. Around Line 809



    Simba Code:
    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,   4,    'RSUpdate',              'Waiting for login.'];  <---


    The last line with the arrow. This part , lower the attempts to 2-4, and change it so it does a RsUpdate after 4 trys(like i did above), which will spawn a new smart client like for the 6hr logout, which will fix the "Login limit exceeded error' , that way it will always complete the 6hr restart correctly


    I Hope that helps some people and that i explained it well enough, really tired atm lol. But for me those two changes fix it so it never clicks the membership button anymore
    Last edited by Itankbots; 03-01-2013 at 12:08 PM.

  17. #17
    Join Date
    Aug 2012
    Location
    Singapore
    Posts
    77
    Mentioned
    0 Post(s)
    Quoted
    18 Post(s)

    Default

    Quote Originally Posted by Itankbots View Post
    I have found the problem and got a solution! Just a warning, im not the best scripter, so im sure there are WAY better ways to do this, but this has worked for me 99% of the time for the last week straight, so i figured i would post it here so anyone else with the problem can use it.

    Basically what was causing it to spam click the membership button was when you had a little lagg or multi accounts running, it would believe its still on login screen, when in reality it is on the lobby screen. So it would try to click the Box to type your username in, but since it was on the lobby screen, the renew membership button was there instead of the username box :P

    Simba Code:
    Procedure LoginCheck;


    begin
    If LobbyScreen then
    MouseBox( 172, 28, 258, 48, Mouse_left);
    Wait(500 + Random(400));
    If WorldScreen then LoginPlayer;
    Wait(1500 + Random(400));
    If Not(LobbyScreen or Loggedin) then
    LoginPlayerToLob;
    If LobbyScreen then
    MouseBox( 172, 28, 258, 48, Mouse_left);
    Wait(500 + Random(400));
    If WorldScreen then LoginPlayer;
    end;  ]

    Just replace where you would normally call LoginPlayer, instead call LoginCheck. Like so: If not (LoggedIN) Then LoginCheck;


    Also, if your running more then one account, sometimes there is a problem where it will say "login limit exceeded" even if your not trying to log into same world, just trying to get into lobby.
    For that, change this part of the Login include. Around Line 809



    Simba Code:
    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,   4,    'RSUpdate',              'Waiting for login.'];  <---


    The last line with the arrow. This part , lower the attempts to 2-4, and change it so it does a RsUpdate after 4 trys(like i did above), which will spawn a new smart client like for the 6hr logout, which will fix the "Login limit exceeded error' , that way it will always complete the 6hr restart correctly


    I Hope that helps some people and that i explained it well enough, really tired atm lol. But for me those two changes fix it so it never clicks the membership button anymore
    Whoa thanks for this. Waaaay more efficient than my own fix for it HAHAHA

  18. #18
    Join Date
    Nov 2011
    Location
    United States
    Posts
    815
    Mentioned
    6 Post(s)
    Quoted
    284 Post(s)

    Default

    Quote Originally Posted by guthixboss1 View Post
    Whoa thanks for this. Waaaay more efficient than my own fix for it HAHAHA
    Your welcome! I was going for the simplest but most effective way to fix it. Im glad it helped someone else to! that defiantly made all the work worth it haha

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
  •