Page 2 of 5 FirstFirst 1234 ... LastLast
Results 26 to 50 of 104

Thread: [Color][SPS][Alpha] Ape Atoll Agility Course

  1. #26
    Join Date
    Nov 2011
    Posts
    15
    Mentioned
    0 Post(s)
    Quoted
    0 Post(s)

    Default

    Any way you could put an antiban on this?

  2. #27
    Join Date
    Nov 2011
    Posts
    95
    Mentioned
    0 Post(s)
    Quoted
    0 Post(s)

    Default

    Simba Code:
    program ApeAtolAgility;
    {$DEFINE SMART}
    {$i srl/srl.scar}
    {$i sps/sps.simba}
    {$I SRL/SRL/misc/paintsmart.scar}

     // author: [Nathan]
     // Version: 1.1 Beta
     // Runs ape atol agility course
     // Start in the course with a ninja greegree equipped
     // Does not eat currently so only run if your are 70+ agility


    //SETUP
    const
    SERVER = 114; //Replace with desired server number
    Username = 'user';
    Password = 'pass';

    //Vars
    var i,x,y,ourLoc:LongInt;
    var Spots : Array [0..5] of Integer;
    var p:TPointArray;
    var stone,passed:Integer;
    var startingExp,currentExp,laps,gainedExp:Integer;




    function mmBlack:Boolean;
    var blackSpot : Array [0..3] of TPoint;
    var color : Array [0..3] of Integer;
    var i,kk,res:Integer;
    begin
      result:= false;
      blackSpot[0]:= Point(587,43);
      blackSpot[1]:= Point(667,55);
      blackSpot[2]:= Point(577,115);
      blackSpot[3]:= Point(672,122);

      color[0]:= 512;
      color[1]:= 393990;
      color[2]:= 0;
      color[3]:= 65537;
      res:=0;
      for i:=0 to 3 do
        begin
        for kk:=0 to 3 do
          begin
            if(FindColorTolerance(x,y,color[kk],blackSpot[i].x,blackSpot[i].y,blackSpot[i].x,blackSpot[i].y,7)) then
                begin
                res:= res +1;
                end;
           end;
        end;

      if(res > 3) then
          result:= true;
    end;

    procedure antiban;
    var
      i:Integer;
    begin
      i := Random(4);
      case i of
        0: HoverSkill('att',False);
        1: RandomAngle(Random(360));
        2: BoredHuman;
        3: ExamineInv;
      end;
    end;

    begin
      SetupSRL;
      repeat
        Wait(20000+Random(60000));
        SleepAndMoveMouse;
      until(false);
    end.

    Procedure sleepWhileMMBlack();
      var t:Integer;

        begin
        t:=0;
          while( (mmBlack) and (t < 25)) do
           begin
           sleep(250+random(5))
           t:=t+1;
           writeln('SLeeping while mm is blacked');
           end;
     end;

    function distanceTo(var point:TPoint): Extended;
    var myLoc:TPoint;
    begin
        myLoc:= SPS_GetMyPos();
        Result:= Sqrt((Sqr((Abs((point.x - myLoc.x)))) + Sqr((Abs((point.y - myLoc.y))))))
    end;


      procedure FreeAll;
    begin
      ClearRSCanvas(SMART_Canvas.canvas);
      //SMART_FreeDebug; <- contains a bug, don't use this.
      writeln('free');
    end;

    procedure Paint;
    begin

      SMART_DrawBox(IntToBox(5,35,350,120));
      SMART_DrawTextEx(False,80,40,'UpChars','Ape Atoll Agility By: [Nathan]', clBlue);
      SMART_DrawTextEx(False,10,60,'UpChars','Time running: ' + TimeRunning, clBlue);
      SMART_DrawTextEx(False,10,80,'UpChars','Laps run: ' + inttostr(laps), clBlue);
      SMART_DrawTextEx(False,10,100,'UpChars','Experience gained: ' + inttostr( (currentExp-startingExp) ), clBlue);

    end;

    function checkAgility:Integer;
    begin
    currentExp:=GetXP(SKILL_AGILITY);

    if(currentExp=-1) then
      currentExp:=GetXP(SKILL_AGILITY);
      if(currentExp=-1) then
      currentExp:=GetXP(SKILL_AGILITY);
      if(currentExp=-1) then
      currentExp:=GetXP(SKILL_AGILITY);
        if(currentExp=-1) then
      currentExp:=GetXP(SKILL_AGILITY);
        if(currentExp=-1) then
      currentExp:=GetXP(SKILL_AGILITY);
        if(currentExp=-1) then
      currentExp:=GetXP(SKILL_AGILITY);

      result:=currentExp;

    end;



        //Rewrite of FindObjEx to try a max of 12 times before giving up
        //Useful in case we move and script doesn't detect it
    function FindObjEx2(var cx, cy: Integer; Text: TStringArray; Color: TIntegerArray;
        Tol, Step, xs, ys, xe, ye: Integer): Boolean;
    var
      CurX, CurY, a, b, c, i, zzz: Integer;
      Start: Boolean;
    begin
      for b := 0 to (GetArrayLength(Color)-1) do
      begin
        if (FindColorSpiralTolerance(cx, cy, color[b], xs, ys, xe, ye, Tol)) then
        begin
        zzz:= zzz+1;
          Start := True;
          Break;
        end;
      end;
      if (Start) then
      begin
        CurX := Round((xs + xe) div 2);
        CurY := Round((ys + ye) div 2) - Step;
        i := 1;
        repeat
          for c := 1 to i do
          begin
            case a of
              0: begin  //To allow for beginning offset and loop
                   a := a + 1;
                   i := 0;
                   CurY := CurY + Step;
                 end;
              1: CurX := CurX + Step;
              2: CurY := CurY - Step;
              3: CurX := CurX - Step;
              4: CurY := CurY + Step;
            end;
            if (CurX >= xs) and (CurX <= xe) and (CurY >= ys) and (CurY <= ye) then
            begin
              try
                for b := 0 to (GetArrayLength(Color)-1) do
                begin
                  if (FindColorTolerance(cx, cy, Color[b], CurX-(Step div 2), CurY-(Step div 2), CurX+(Step div 2), CurY+(Step div 2), Tol)) then
                  begin
                    MMouse(cx, cy, 3, 3);
                    zzz:= zzz+1;
                    writeln('zzz:');
                    writeln(zzz);
                    If (WaitUptextMulti(Text, 300)) then
                    begin
                      GetMousePos(cx, cy);
                      Result := True;
                      Exit;
                    end;
                  end;
                end;
              except
              end;
            end;
          end;
          a := a + 1;
          if a mod 5 = 0 then a := 1;
          if (a = 1) or (a = 3) then i := i + 1;
        until (zzz > 12) or (Result) or ((CurX > xe) and (CurY > ye))
      end;
    end;

    procedure sleepWhileMoving();
      var t:Integer;

        begin
        t:=0;
          while( (IsMoving) and (t < 12)) do
           begin
           sleep(250+random(5))
           writeln('Sleeping while moving');
           t:=t+1;
           end;
        end;

    function getLocation(): integer;
      var myPos, First, Second,Fourth, Fourth2: TPoint;
      var x,y:LongInt;
      begin
         result := 0;
         First := Point(2835, 5670); //Befoer the Stepping stone
         Second := Point(2830, 5670); //On the island, needs to climb tree
         //Third -> On top, needs to click on monkey bars
         Fourth := Point(2805,5670);  //Needs to climb skull wall
         Fourth2 := Point(2805,5675);  //Needs to climb skull wall
         //Firth -> Is player in [] area?
         //Fifth -> Area 2, slide down vine

         Spots[0]:=0;
         Spots[1]:=0;
         Spots[2]:=0;
         Spots[3]:=0;
         Spots[4]:=0;
         Spots[5]:=0;

         myPos := SPS_GetMyPos();


          if(distanceTo(First) < 15) then
            begin
              Spots[0]:=1;
              result:=1;
            end;
          if((myPos = Second) or(myPos.x=2830)) then
          begin
              Spots[1]:=1;
               result:=2;
               end;
               if(passed > 3) then
                 begin
                     Spots[1]:=1;
                     result:=2;
                 end;
          if(( (FindColorTolerance(x,y,393220,604,53,604,53,15)) or FindColorTolerance(x,y,1025,604,53,604,53,25) ) and (FindColorTolerance(x,y,1850450,617,79,635,93,15)) ) then
            begin
            if not(FindColorTolerance(x,y,11377544,572,27,687,145,30)) then
            begin
              Spots[2]:=1;
               result:=3;
               end;
               end;
          if( (myPos.x > 2777) and (myPos.x < 2824) and (myPos.y > 5667) and (myPos.y < 5732) ) then
          begin
              Spots[4]:=1;
               result:=5;
               end;
          if( (myPos = Fourth) or (myPos = Fourth2) ) then
          begin
              Spots[3]:=1;
               result:=4;
               end;
          if( (myPos.x > 2836) and (myPos.x < 2856) and (myPos.y > 5692) and (myPos.y < 5727) ) then
          begin
              Spots[5]:=1;
               result:=6;
               end;

           if(Spots[2] = 1) then
             result:=3;
      end;

    procedure handleObstacle(spot: integer);
    var monkeycolor,treecolor:Integer;
    var waste:T2DExtendedArray;
    var tree5:TPoint;
      begin


        if (spot = 0) then
          begin
            writeln('Walk to beginning Point(2835, 5670)');
            SPS_WalkToPos(Point(2835, 5670));
            sleepWhileMoving();
          end;

      if (spot = 1) then
          begin
             writeln('Click on stepping stone');
             if FindObjEx2(x, y, ['ump', 'tone'], [1783870,2774367], 5, 50, MSX1, MSY1, MSX2, MSY2) then
                begin
                passed:=passed+1;
                  Mouse(x, y, 3, 3, True);
                  sleep(2500+random(175));
                  sleepWhileMoving();
                end;
          end;

      if (spot = 2) then
        begin
           writeln('Climb tree');
           passed:=0;
             if FindObjEx2(x, y, ['Climb'], [5675969, 4684193], 5, 50, MSX1, MSY1, MSX2, MSY2) then
                begin
                  Mouse(x, y, 3, 3, True);
                  sleep(2200+random(150));
                  sleepWhileMoving();
                end;
          end;

      if (spot = 3) then
        begin
           writeln('Click on monkey bars');
           monkeycolor:= 2442074;
             if (FindObjEx2(x, y, ['wing', 'oss'], [monkeycolor], 12, 20, 189,150,296,228)) then
                begin
                  Mouse(x, y, 3, 3, True);
                  sleepWhileMoving();
                  sleepWhileMMBlack();
                end;
      end;

      if (spot = 4) then
        begin
           writeln('Climb skull wall');
             if FindObjEx2(x, y, ['kull', 'ope'], [1519155, 1849921, 2776937], 10, 20, 190,145,240,194) then
                begin
                  Mouse(x, y, 2, 2, True);
                   sleepWhileMoving();
                   sleep(100+random(50));
                end;
        end;

      if (spot = 5) then
        begin
        tree5:= Point(2820, 5710);

           if(distanceTo(tree5) > 13) then
           begin
           writeln('Walk to lower spot (2820, 5705)');

           SPS_WalkToPos(Point(2820, 5710));
           sleepWhileMoving();
           sleep(100+random(50));
            end;
           if(distanceTo(tree5) <14) then
           begin
           writeln('Click tree  (swing rope)');
             if FindObjEx2(x, y, ['ing', 'ope'], [740681, 1860447, 3439209], 5, 50, 275,32,516,290) then
                begin
                  Mouse(x, y, 2, 2, True);
                  sleep(250+random(250));
                   sleepWhileMoving();
                end;
           end;
        end;

      if (spot = 6) then
      begin
          writeln('click climb down tree');

             if FindObjEx2(x, y, ['own'], [4422296,3694463], 5, 20, 224, 3, 403, 104) then
                begin
                  Mouse(x, y, 2, 2, True);
                  laps:=laps+1;
                   sleep(1000+random(350));
                   if(Random(100) > 75) then
                        checkAgility;
                   sleepWhileMoving();
                   sleepWhileMMBlack();
                end;
                end;
      end;


    procedure DeclarePlayers;
    begin
      HowManyPlayers := 1;
      NumberOfPlayers(HowManyPlayers);
      CurrentPlayer := 0;

      Players[0].Name := Username;
      Players[0].Pass := Password;
      Players[0].Nick := 'player';
      Players[0].Active := True;

    end;

    begin

      Smart_Server := SERVER;
      Smart_Members := True;

    //Setup
    SetupSRL;
    DeclarePlayers;
    SPS_Setup(RUNESCAPE_SURFACE, ['6_14','7_14']);
    AddOnTerminate('FreeAll');

    while not(LoggedIn) do
    sleep(1000);

    startingExp:= checkAgility();
    Writeln('Starting exp: ' + inttostr(startingExp));
    while(true) do //Main loop
      begin
      gainedExp:= (currentExp-startingExp);
        FindNormalRandoms();
        ourLoc:= getLocation();
        Writeln(Spots);
        Paint;
        if(ourLoc = 0) then
          begin
            sleep(Random(300)+250);
            ourLoc:= getLocation();
          end;
        handleObstacle(ourLoc);
        sleep(10+random(90));
        sleepWhileMoving();
    end

    end.

    i think this would suffice as a Anti-banned version.


    let me know how you get on with it
    Last edited by d34th20n; 11-12-2011 at 03:59 PM.

  3. #28
    Join Date
    Nov 2011
    Posts
    255
    Mentioned
    0 Post(s)
    Quoted
    6 Post(s)

    Default

    Quote Originally Posted by d34th20n View Post
    Simba Code:
    program ApeAtolAgility;
    {$DEFINE SMART}
    {$i srl/srl.scar}
    {$i sps/sps.simba}
    {$I SRL/SRL/misc/paintsmart.scar}

     // author: [Nathan]
     // Version: 1.1 Beta
     // Runs ape atol agility course
     // Start in the course with a ninja greegree equipped
     // Does not eat currently so only run if your are 70+ agility


    //SETUP
    const
    SERVER = 114; //Replace with desired server number
    Username = 'user';
    Password = 'pass';

    //Vars
    var i,x,y,ourLoc:LongInt;
    var Spots : Array [0..5] of Integer;
    var p:TPointArray;
    var stone,passed:Integer;
    var startingExp,currentExp,laps,gainedExp:Integer;




    function mmBlack:Boolean;
    var blackSpot : Array [0..3] of TPoint;
    var color : Array [0..3] of Integer;
    var i,kk,res:Integer;
    begin
      result:= false;
      blackSpot[0]:= Point(587,43);
      blackSpot[1]:= Point(667,55);
      blackSpot[2]:= Point(577,115);
      blackSpot[3]:= Point(672,122);

      color[0]:= 512;
      color[1]:= 393990;
      color[2]:= 0;
      color[3]:= 65537;
      res:=0;
      for i:=0 to 3 do
        begin
        for kk:=0 to 3 do
          begin
            if(FindColorTolerance(x,y,color[kk],blackSpot[i].x,blackSpot[i].y,blackSpot[i].x,blackSpot[i].y,7)) then
                begin
                res:= res +1;
                end;
           end;
        end;

      if(res > 3) then
          result:= true;
    end;

    procedure antiban;
    var
      i:Integer;
    begin
      i := Random(4);
      case i of
        0: HoverSkill('att',False);
        1: RandomAngle(Random(360));
        2: BoredHuman;
        3: ExamineInv;
      end;
    end;

    begin
      SetupSRL;
      repeat
        Wait(20000+Random(60000));
        SleepAndMoveMouse;
      until(false);
    end.

    Procedure sleepWhileMMBlack();
      var t:Integer;

        begin
        t:=0;
          while( (mmBlack) and (t < 25)) do
           begin
           sleep(250+random(5))
           t:=t+1;
           writeln('SLeeping while mm is blacked');
           end;
     end;

    function distanceTo(var point:TPoint): Extended;
    var myLoc:TPoint;
    begin
        myLoc:= SPS_GetMyPos();
        Result:= Sqrt((Sqr((Abs((point.x - myLoc.x)))) + Sqr((Abs((point.y - myLoc.y))))))
    end;


      procedure FreeAll;
    begin
      ClearRSCanvas(SMART_Canvas.canvas);
      //SMART_FreeDebug; <- contains a bug, don't use this.
      writeln('free');
    end;

    procedure Paint;
    begin

      SMART_DrawBox(IntToBox(5,35,350,120));
      SMART_DrawTextEx(False,80,40,'UpChars','Ape Atoll Agility By: [Nathan]', clBlue);
      SMART_DrawTextEx(False,10,60,'UpChars','Time running: ' + TimeRunning, clBlue);
      SMART_DrawTextEx(False,10,80,'UpChars','Laps run: ' + inttostr(laps), clBlue);
      SMART_DrawTextEx(False,10,100,'UpChars','Experience gained: ' + inttostr( (currentExp-startingExp) ), clBlue);

    end;

    function checkAgility:Integer;
    begin
    currentExp:=GetXP(SKILL_AGILITY);

    if(currentExp=-1) then
      currentExp:=GetXP(SKILL_AGILITY);
      if(currentExp=-1) then
      currentExp:=GetXP(SKILL_AGILITY);
      if(currentExp=-1) then
      currentExp:=GetXP(SKILL_AGILITY);
        if(currentExp=-1) then
      currentExp:=GetXP(SKILL_AGILITY);
        if(currentExp=-1) then
      currentExp:=GetXP(SKILL_AGILITY);
        if(currentExp=-1) then
      currentExp:=GetXP(SKILL_AGILITY);

      result:=currentExp;

    end;



        //Rewrite of FindObjEx to try a max of 12 times before giving up
        //Useful in case we move and script doesn't detect it
    function FindObjEx2(var cx, cy: Integer; Text: TStringArray; Color: TIntegerArray;
        Tol, Step, xs, ys, xe, ye: Integer): Boolean;
    var
      CurX, CurY, a, b, c, i, zzz: Integer;
      Start: Boolean;
    begin
      for b := 0 to (GetArrayLength(Color)-1) do
      begin
        if (FindColorSpiralTolerance(cx, cy, color[b], xs, ys, xe, ye, Tol)) then
        begin
        zzz:= zzz+1;
          Start := True;
          Break;
        end;
      end;
      if (Start) then
      begin
        CurX := Round((xs + xe) div 2);
        CurY := Round((ys + ye) div 2) - Step;
        i := 1;
        repeat
          for c := 1 to i do
          begin
            case a of
              0: begin  //To allow for beginning offset and loop
                   a := a + 1;
                   i := 0;
                   CurY := CurY + Step;
                 end;
              1: CurX := CurX + Step;
              2: CurY := CurY - Step;
              3: CurX := CurX - Step;
              4: CurY := CurY + Step;
            end;
            if (CurX >= xs) and (CurX <= xe) and (CurY >= ys) and (CurY <= ye) then
            begin
              try
                for b := 0 to (GetArrayLength(Color)-1) do
                begin
                  if (FindColorTolerance(cx, cy, Color[b], CurX-(Step div 2), CurY-(Step div 2), CurX+(Step div 2), CurY+(Step div 2), Tol)) then
                  begin
                    MMouse(cx, cy, 3, 3);
                    zzz:= zzz+1;
                    writeln('zzz:');
                    writeln(zzz);
                    If (WaitUptextMulti(Text, 300)) then
                    begin
                      GetMousePos(cx, cy);
                      Result := True;
                      Exit;
                    end;
                  end;
                end;
              except
              end;
            end;
          end;
          a := a + 1;
          if a mod 5 = 0 then a := 1;
          if (a = 1) or (a = 3) then i := i + 1;
        until (zzz > 12) or (Result) or ((CurX > xe) and (CurY > ye))
      end;
    end;

    procedure sleepWhileMoving();
      var t:Integer;

        begin
        t:=0;
          while( (IsMoving) and (t < 12)) do
           begin
           sleep(250+random(5))
           writeln('Sleeping while moving');
           t:=t+1;
           end;
        end;

    function getLocation(): integer;
      var myPos, First, Second,Fourth, Fourth2: TPoint;
      var x,y:LongInt;
      begin
         result := 0;
         First := Point(2835, 5670); //Befoer the Stepping stone
         Second := Point(2830, 5670); //On the island, needs to climb tree
         //Third -> On top, needs to click on monkey bars
         Fourth := Point(2805,5670);  //Needs to climb skull wall
         Fourth2 := Point(2805,5675);  //Needs to climb skull wall
         //Firth -> Is player in [] area?
         //Fifth -> Area 2, slide down vine

         Spots[0]:=0;
         Spots[1]:=0;
         Spots[2]:=0;
         Spots[3]:=0;
         Spots[4]:=0;
         Spots[5]:=0;

         myPos := SPS_GetMyPos();


          if(distanceTo(First) < 15) then
            begin
              Spots[0]:=1;
              result:=1;
            end;
          if((myPos = Second) or(myPos.x=2830)) then
          begin
              Spots[1]:=1;
               result:=2;
               end;
               if(passed > 3) then
                 begin
                     Spots[1]:=1;
                     result:=2;
                 end;
          if(( (FindColorTolerance(x,y,393220,604,53,604,53,15)) or FindColorTolerance(x,y,1025,604,53,604,53,25) ) and (FindColorTolerance(x,y,1850450,617,79,635,93,15)) ) then
            begin
            if not(FindColorTolerance(x,y,11377544,572,27,687,145,30)) then
            begin
              Spots[2]:=1;
               result:=3;
               end;
               end;
          if( (myPos.x > 2777) and (myPos.x < 2824) and (myPos.y > 5667) and (myPos.y < 5732) ) then
          begin
              Spots[4]:=1;
               result:=5;
               end;
          if( (myPos = Fourth) or (myPos = Fourth2) ) then
          begin
              Spots[3]:=1;
               result:=4;
               end;
          if( (myPos.x > 2836) and (myPos.x < 2856) and (myPos.y > 5692) and (myPos.y < 5727) ) then
          begin
              Spots[5]:=1;
               result:=6;
               end;

           if(Spots[2] = 1) then
             result:=3;
      end;

    procedure handleObstacle(spot: integer);
    var monkeycolor,treecolor:Integer;
    var waste:T2DExtendedArray;
    var tree5:TPoint;
      begin


        if (spot = 0) then
          begin
            writeln('Walk to beginning Point(2835, 5670)');
            SPS_WalkToPos(Point(2835, 5670));
            sleepWhileMoving();
          end;

      if (spot = 1) then
          begin
             writeln('Click on stepping stone');
             if FindObjEx2(x, y, ['ump', 'tone'], [1783870,2774367], 5, 50, MSX1, MSY1, MSX2, MSY2) then
                begin
                passed:=passed+1;
                  Mouse(x, y, 3, 3, True);
                  sleep(2500+random(175));
                  sleepWhileMoving();
                end;
          end;

      if (spot = 2) then
        begin
           writeln('Climb tree');
           passed:=0;
             if FindObjEx2(x, y, ['Climb'], [5675969, 4684193], 5, 50, MSX1, MSY1, MSX2, MSY2) then
                begin
                  Mouse(x, y, 3, 3, True);
                  sleep(2200+random(150));
                  sleepWhileMoving();
                end;
          end;

      if (spot = 3) then
        begin
           writeln('Click on monkey bars');
           monkeycolor:= 2442074;
             if (FindObjEx2(x, y, ['wing', 'oss'], [monkeycolor], 12, 20, 189,150,296,228)) then
                begin
                  Mouse(x, y, 3, 3, True);
                  sleepWhileMoving();
                  sleepWhileMMBlack();
                end;
      end;

      if (spot = 4) then
        begin
           writeln('Climb skull wall');
             if FindObjEx2(x, y, ['kull', 'ope'], [1519155, 1849921, 2776937], 10, 20, 190,145,240,194) then
                begin
                  Mouse(x, y, 2, 2, True);
                   sleepWhileMoving();
                   sleep(100+random(50));
                end;
        end;

      if (spot = 5) then
        begin
        tree5:= Point(2820, 5710);

           if(distanceTo(tree5) > 13) then
           begin
           writeln('Walk to lower spot (2820, 5705)');

           SPS_WalkToPos(Point(2820, 5710));
           sleepWhileMoving();
           sleep(100+random(50));
            end;
           if(distanceTo(tree5) <14) then
           begin
           writeln('Click tree  (swing rope)');
             if FindObjEx2(x, y, ['ing', 'ope'], [740681, 1860447, 3439209], 5, 50, 275,32,516,290) then
                begin
                  Mouse(x, y, 2, 2, True);
                  sleep(250+random(250));
                   sleepWhileMoving();
                end;
           end;
        end;

      if (spot = 6) then
      begin
          writeln('click climb down tree');

             if FindObjEx2(x, y, ['own'], [4422296,3694463], 5, 20, 224, 3, 403, 104) then
                begin
                  Mouse(x, y, 2, 2, True);
                  laps:=laps+1;
                   sleep(1000+random(350));
                   if(Random(100) > 75) then
                        checkAgility;
                   sleepWhileMoving();
                   sleepWhileMMBlack();
                end;
                end;
      end;


    procedure DeclarePlayers;
    begin
      HowManyPlayers := 1;
      NumberOfPlayers(HowManyPlayers);
      CurrentPlayer := 0;

      Players[0].Name := Username;
      Players[0].Pass := Password;
      Players[0].Nick := 'player';
      Players[0].Active := True;

    end;

    begin

      Smart_Server := SERVER;
      Smart_Members := True;

    //Setup
    SetupSRL;
    DeclarePlayers;
    SPS_Setup(RUNESCAPE_SURFACE, ['6_14','7_14']);
    AddOnTerminate('FreeAll');

    while not(LoggedIn) do
    sleep(1000);

    startingExp:= checkAgility();
    Writeln('Starting exp: ' + inttostr(startingExp));
    while(true) do //Main loop
      begin
      gainedExp:= (currentExp-startingExp);
        FindNormalRandoms();
        ourLoc:= getLocation();
        Writeln(Spots);
        Paint;
        if(ourLoc = 0) then
          begin
            sleep(Random(300)+250);
            ourLoc:= getLocation();
          end;
        handleObstacle(ourLoc);
        sleep(10+random(90));
        sleepWhileMoving();
    end

    end.

    i think this would suffice as a Anti-banned version.


    let me know how you get on with it
    That script won't work, random angles will mess it up

    Don't worry, antiban will be the next thing I work on, my account needs ~ 30 hours of agility left and I'm not doing that without some sort of antiban.

  4. #29
    Join Date
    Nov 2011
    Posts
    95
    Mentioned
    0 Post(s)
    Quoted
    0 Post(s)

    Default

    ill modify again, ill remove random angles and change my hover skill to agil to seem more legit.

    Simba Code:
    program ApeAtolAgility;
    {$DEFINE SMART}
    {$i srl/srl.scar}
    {$i sps/sps.simba}
    {$I SRL/SRL/misc/paintsmart.scar}

     // author: [Nathan]
     // Version: 1.1 Beta
     // Runs ape atol agility course
     // Start in the course with a ninja greegree equipped
     // Does not eat currently so only run if your are 70+ agility


    //SETUP
    const
    SERVER = 114; //Replace with desired server number
    Username = 'user';
    Password = 'pass';

    //Vars
    var i,x,y,ourLoc:LongInt;
    var Spots : Array [0..5] of Integer;
    var p:TPointArray;
    var stone,passed:Integer;
    var startingExp,currentExp,laps,gainedExp:Integer;




    function mmBlack:Boolean;
    var blackSpot : Array [0..3] of TPoint;
    var color : Array [0..3] of Integer;
    var i,kk,res:Integer;
    begin
      result:= false;
      blackSpot[0]:= Point(587,43);
      blackSpot[1]:= Point(667,55);
      blackSpot[2]:= Point(577,115);
      blackSpot[3]:= Point(672,122);

      color[0]:= 512;
      color[1]:= 393990;
      color[2]:= 0;
      color[3]:= 65537;
      res:=0;
      for i:=0 to 3 do
        begin
        for kk:=0 to 3 do
          begin
            if(FindColorTolerance(x,y,color[kk],blackSpot[i].x,blackSpot[i].y,blackSpot[i].x,blackSpot[i].y,7)) then
                begin
                res:= res +1;
                end;
           end;
        end;

      if(res > 3) then
          result:= true;
    end;

    procedure antiban;
    var
      i:Integer;
    begin
      i := Random(4);
      case i of
        0: HoverSkill('agility',False);
        1: BoredHuman;
        2: ExamineInv;
      end;
    end;

    begin
      SetupSRL;
      repeat
        Wait(20000+Random(60000));
        SleepAndMoveMouse;
      until(false);
    end.

    Procedure sleepWhileMMBlack();
      var t:Integer;

        begin
        t:=0;
          while( (mmBlack) and (t < 25)) do
           begin
           sleep(250+random(5))
           t:=t+1;
           writeln('SLeeping while mm is blacked');
           end;
     end;

    function distanceTo(var point:TPoint): Extended;
    var myLoc:TPoint;
    begin
        myLoc:= SPS_GetMyPos();
        Result:= Sqrt((Sqr((Abs((point.x - myLoc.x)))) + Sqr((Abs((point.y - myLoc.y))))))
    end;


      procedure FreeAll;
    begin
      ClearRSCanvas(SMART_Canvas.canvas);
      //SMART_FreeDebug; <- contains a bug, don't use this.
      writeln('free');
    end;

    procedure Paint;
    begin

      SMART_DrawBox(IntToBox(5,35,350,120));
      SMART_DrawTextEx(False,80,40,'UpChars','Ape Atoll Agility By: [Nathan]', clBlue);
      SMART_DrawTextEx(False,10,60,'UpChars','Time running: ' + TimeRunning, clBlue);
      SMART_DrawTextEx(False,10,80,'UpChars','Laps run: ' + inttostr(laps), clBlue);
      SMART_DrawTextEx(False,10,100,'UpChars','Experience gained: ' + inttostr( (currentExp-startingExp) ), clBlue);

    end;

    function checkAgility:Integer;
    begin
    currentExp:=GetXP(SKILL_AGILITY);

    if(currentExp=-1) then
      currentExp:=GetXP(SKILL_AGILITY);
      if(currentExp=-1) then
      currentExp:=GetXP(SKILL_AGILITY);
      if(currentExp=-1) then
      currentExp:=GetXP(SKILL_AGILITY);
        if(currentExp=-1) then
      currentExp:=GetXP(SKILL_AGILITY);
        if(currentExp=-1) then
      currentExp:=GetXP(SKILL_AGILITY);
        if(currentExp=-1) then
      currentExp:=GetXP(SKILL_AGILITY);

      result:=currentExp;

    end;



        //Rewrite of FindObjEx to try a max of 12 times before giving up
        //Useful in case we move and script doesn't detect it
    function FindObjEx2(var cx, cy: Integer; Text: TStringArray; Color: TIntegerArray;
        Tol, Step, xs, ys, xe, ye: Integer): Boolean;
    var
      CurX, CurY, a, b, c, i, zzz: Integer;
      Start: Boolean;
    begin
      for b := 0 to (GetArrayLength(Color)-1) do
      begin
        if (FindColorSpiralTolerance(cx, cy, color[b], xs, ys, xe, ye, Tol)) then
        begin
        zzz:= zzz+1;
          Start := True;
          Break;
        end;
      end;
      if (Start) then
      begin
        CurX := Round((xs + xe) div 2);
        CurY := Round((ys + ye) div 2) - Step;
        i := 1;
        repeat
          for c := 1 to i do
          begin
            case a of
              0: begin  //To allow for beginning offset and loop
                   a := a + 1;
                   i := 0;
                   CurY := CurY + Step;
                 end;
              1: CurX := CurX + Step;
              2: CurY := CurY - Step;
              3: CurX := CurX - Step;
              4: CurY := CurY + Step;
            end;
            if (CurX >= xs) and (CurX <= xe) and (CurY >= ys) and (CurY <= ye) then
            begin
              try
                for b := 0 to (GetArrayLength(Color)-1) do
                begin
                  if (FindColorTolerance(cx, cy, Color[b], CurX-(Step div 2), CurY-(Step div 2), CurX+(Step div 2), CurY+(Step div 2), Tol)) then
                  begin
                    MMouse(cx, cy, 3, 3);
                    zzz:= zzz+1;
                    writeln('zzz:');
                    writeln(zzz);
                    If (WaitUptextMulti(Text, 300)) then
                    begin
                      GetMousePos(cx, cy);
                      Result := True;
                      Exit;
                    end;
                  end;
                end;
              except
              end;
            end;
          end;
          a := a + 1;
          if a mod 5 = 0 then a := 1;
          if (a = 1) or (a = 3) then i := i + 1;
        until (zzz > 12) or (Result) or ((CurX > xe) and (CurY > ye))
      end;
    end;

    procedure sleepWhileMoving();
      var t:Integer;

        begin
        t:=0;
          while( (IsMoving) and (t < 12)) do
           begin
           sleep(250+random(5))
           writeln('Sleeping while moving');
           t:=t+1;
           end;
        end;

    function getLocation(): integer;
      var myPos, First, Second,Fourth, Fourth2: TPoint;
      var x,y:LongInt;
      begin
         result := 0;
         First := Point(2835, 5670); //Befoer the Stepping stone
         Second := Point(2830, 5670); //On the island, needs to climb tree
         //Third -> On top, needs to click on monkey bars
         Fourth := Point(2805,5670);  //Needs to climb skull wall
         Fourth2 := Point(2805,5675);  //Needs to climb skull wall
         //Firth -> Is player in [] area?
         //Fifth -> Area 2, slide down vine

         Spots[0]:=0;
         Spots[1]:=0;
         Spots[2]:=0;
         Spots[3]:=0;
         Spots[4]:=0;
         Spots[5]:=0;

         myPos := SPS_GetMyPos();


          if(distanceTo(First) < 15) then
            begin
              Spots[0]:=1;
              result:=1;
            end;
          if((myPos = Second) or(myPos.x=2830)) then
          begin
              Spots[1]:=1;
               result:=2;
               end;
               if(passed > 3) then
                 begin
                     Spots[1]:=1;
                     result:=2;
                 end;
          if(( (FindColorTolerance(x,y,393220,604,53,604,53,15)) or FindColorTolerance(x,y,1025,604,53,604,53,25) ) and (FindColorTolerance(x,y,1850450,617,79,635,93,15)) ) then
            begin
            if not(FindColorTolerance(x,y,11377544,572,27,687,145,30)) then
            begin
              Spots[2]:=1;
               result:=3;
               end;
               end;
          if( (myPos.x > 2777) and (myPos.x < 2824) and (myPos.y > 5667) and (myPos.y < 5732) ) then
          begin
              Spots[4]:=1;
               result:=5;
               end;
          if( (myPos = Fourth) or (myPos = Fourth2) ) then
          begin
              Spots[3]:=1;
               result:=4;
               end;
          if( (myPos.x > 2836) and (myPos.x < 2856) and (myPos.y > 5692) and (myPos.y < 5727) ) then
          begin
              Spots[5]:=1;
               result:=6;
               end;

           if(Spots[2] = 1) then
             result:=3;
      end;

    procedure handleObstacle(spot: integer);
    var monkeycolor,treecolor:Integer;
    var waste:T2DExtendedArray;
    var tree5:TPoint;
      begin


        if (spot = 0) then
          begin
            writeln('Walk to beginning Point(2835, 5670)');
            SPS_WalkToPos(Point(2835, 5670));
            sleepWhileMoving();
          end;

      if (spot = 1) then
          begin
             writeln('Click on stepping stone');
             if FindObjEx2(x, y, ['ump', 'tone'], [1783870,2774367], 5, 50, MSX1, MSY1, MSX2, MSY2) then
                begin
                passed:=passed+1;
                  Mouse(x, y, 3, 3, True);
                  sleep(2500+random(175));
                  sleepWhileMoving();
                end;
          end;

      if (spot = 2) then
        begin
           writeln('Climb tree');
           passed:=0;
             if FindObjEx2(x, y, ['Climb'], [5675969, 4684193], 5, 50, MSX1, MSY1, MSX2, MSY2) then
                begin
                  Mouse(x, y, 3, 3, True);
                  sleep(2200+random(150));
                  sleepWhileMoving();
                end;
          end;

      if (spot = 3) then
        begin
           writeln('Click on monkey bars');
           monkeycolor:= 2442074;
             if (FindObjEx2(x, y, ['wing', 'oss'], [monkeycolor], 12, 20, 189,150,296,228)) then
                begin
                  Mouse(x, y, 3, 3, True);
                  sleepWhileMoving();
                  sleepWhileMMBlack();
                end;
      end;

      if (spot = 4) then
        begin
           writeln('Climb skull wall');
             if FindObjEx2(x, y, ['kull', 'ope'], [1519155, 1849921, 2776937], 10, 20, 190,145,240,194) then
                begin
                  Mouse(x, y, 2, 2, True);
                   sleepWhileMoving();
                   sleep(100+random(50));
                end;
        end;

      if (spot = 5) then
        begin
        tree5:= Point(2820, 5710);

           if(distanceTo(tree5) > 13) then
           begin
           writeln('Walk to lower spot (2820, 5705)');

           SPS_WalkToPos(Point(2820, 5710));
           sleepWhileMoving();
           sleep(100+random(50));
            end;
           if(distanceTo(tree5) <14) then
           begin
           writeln('Click tree  (swing rope)');
             if FindObjEx2(x, y, ['ing', 'ope'], [740681, 1860447, 3439209], 5, 50, 275,32,516,290) then
                begin
                  Mouse(x, y, 2, 2, True);
                  sleep(250+random(250));
                   sleepWhileMoving();
                end;
           end;
        end;

      if (spot = 6) then
      begin
          writeln('click climb down tree');

             if FindObjEx2(x, y, ['own'], [4422296,3694463], 5, 20, 224, 3, 403, 104) then
                begin
                  Mouse(x, y, 2, 2, True);
                  laps:=laps+1;
                   sleep(1000+random(350));
                   if(Random(100) > 75) then
                        checkAgility;
                   sleepWhileMoving();
                   sleepWhileMMBlack();
                end;
                end;
      end;


    procedure DeclarePlayers;
    begin
      HowManyPlayers := 1;
      NumberOfPlayers(HowManyPlayers);
      CurrentPlayer := 0;

      Players[0].Name := Username;
      Players[0].Pass := Password;
      Players[0].Nick := 'player';
      Players[0].Active := True;

    end;

    begin

      Smart_Server := SERVER;
      Smart_Members := True;

    //Setup
    SetupSRL;
    DeclarePlayers;
    SPS_Setup(RUNESCAPE_SURFACE, ['6_14','7_14']);
    AddOnTerminate('FreeAll');

    while not(LoggedIn) do
    sleep(1000);

    startingExp:= checkAgility();
    Writeln('Starting exp: ' + inttostr(startingExp));
    while(true) do //Main loop
      begin
      gainedExp:= (currentExp-startingExp);
        FindNormalRandoms();
        ourLoc:= getLocation();
        Writeln(Spots);
        Paint;
        if(ourLoc = 0) then
          begin
            sleep(Random(300)+250);
            ourLoc:= getLocation();
          end;
        handleObstacle(ourLoc);
        sleep(10+random(90));
        sleepWhileMoving();
    end

    end.


    that seem better, i think it should work, i cant remeber the short tag for agility lol. face palm
    Last edited by BraK; 11-13-2011 at 06:26 PM.

  5. #30
    Join Date
    Nov 2011
    Posts
    255
    Mentioned
    0 Post(s)
    Quoted
    6 Post(s)

    Default

    I dont want to be rude but I'd like the develoment of my script to be done by me. You are free to edit it for your personal use, but neither pieces of code you have posted on my thread will work. The second one is wrong as well. So please don't post versions of my script that will not work on my page, as it looks bad on my script

  6. #31
    Join Date
    Nov 2011
    Posts
    95
    Mentioned
    0 Post(s)
    Quoted
    0 Post(s)

    Default

    i was only trying to help, and i the second one does work. but ok.

    sorry for input

  7. #32
    Join Date
    Nov 2011
    Posts
    15
    Mentioned
    0 Post(s)
    Quoted
    0 Post(s)

    Default

    why do I get this?


    [Hint] C:\Simba\Includes\SRL/SRL/core/antirandoms/pinball.scar(37:3): Variable 'MA' never used at line 36
    [Error] C:\Simba\Includes\sps/sps.simba(34:17): Unknown type 'T4DIntegerArray' at line 33
    Compiling failed.

  8. #33
    Join Date
    Nov 2011
    Posts
    255
    Mentioned
    0 Post(s)
    Quoted
    6 Post(s)

    Default

    Quote Originally Posted by neley View Post
    why do I get this?


    [Hint] C:\Simba\Includes\SRL/SRL/core/antirandoms/pinball.scar(37:3): Variable 'MA' never used at line 36
    [Error] C:\Simba\Includes\sps/sps.simba(34:17): Unknown type 'T4DIntegerArray' at line 33
    Compiling failed.
    That means SRL is not correctly installed. Try updating your SRL and it should fix it.

  9. #34
    Join Date
    Sep 2010
    Posts
    72
    Mentioned
    0 Post(s)
    Quoted
    0 Post(s)

    Default

    What's the estimated exp/hour You're gaining with this script Nathan? Also what exp/hr u think i'd be gettting with 80 agility?

  10. #35
    Join Date
    Nov 2011
    Posts
    15
    Mentioned
    0 Post(s)
    Quoted
    0 Post(s)

    Default

    probably about 48k exp/hr, thats what the average is for over 75

  11. #36
    Join Date
    Nov 2011
    Posts
    194
    Mentioned
    0 Post(s)
    Quoted
    11 Post(s)

    Default

    works good, but for me it takes quite a while to click the next step, and it messes up at the monkey bars, sometimes takes couple mins ti finally click it.

  12. #37
    Join Date
    Nov 2011
    Posts
    255
    Mentioned
    0 Post(s)
    Quoted
    6 Post(s)

    Default

    Quote Originally Posted by phamxboa View Post
    works good, but for me it takes quite a while to click the next step, and it messes up at the monkey bars, sometimes takes couple mins ti finally click it.
    Yep, unfortunately, there are no unique colors up there, still working on a better solution but I'm struggling.

    Quote Originally Posted by neley View Post
    probably about 48k exp/hr, thats what the average is for over 75
    in a perfect world yes, i get about 28k / hour

  13. #38
    Join Date
    Sep 2010
    Posts
    72
    Mentioned
    0 Post(s)
    Quoted
    0 Post(s)

    Default

    Quote Originally Posted by [Nathan] View Post
    Yep, unfortunately, there are no unique colors up there, still working on a better solution but I'm struggling.


    in a perfect world yes, i get about 28k / hour
    Oh 28k per hour? Well i Guess thats fine for a colour bot ;P. I have a suggestion for improving the monkey bar clicking, perhaps set it at a specific angle and a specific mouse clicking location (defined on SMART) instea of looking for colours(maybe the colour could be the failsafe)

  14. #39
    Join Date
    Feb 2006
    Posts
    3,044
    Mentioned
    4 Post(s)
    Quoted
    21 Post(s)

    Default

    Quote Originally Posted by [Nathan] View Post
    I've spent countless hours on the monkeybars, everything is the same color up there, its pretty hard to get that aspect to work... Because to get experience you actually have to hover the stat, I wanted to make it realistic, the average person isn't going to check their exp every 10 seconds, so neither can the script :/

    Thanks for testing and commenting!
    For the xp. Check the Quick XP tab?


    ~Home

  15. #40
    Join Date
    Jan 2011
    Posts
    335
    Mentioned
    0 Post(s)
    Quoted
    23 Post(s)

    Default

    Just doesnt seem to login for me =/
    or work at all for me in general.
    Last edited by vashanddou; 11-17-2011 at 10:00 AM.
    If I see you autoing with level 3/default clothes/crap name I WILL report you. Auto Correctly.

  16. #41
    Join Date
    Nov 2011
    Posts
    15
    Mentioned
    0 Post(s)
    Quoted
    0 Post(s)

    Default

    It works really well, however, there are some problems I've found.

    It keeps logging out, usually just before the rocks or at the end of the rope you climb down.

    And... it is slow, sometimes waiting quite a few seconds in-between obstacles, if this can be sped up it will help prevent looking like a bot.

    Otherwise, is an amazing script, it works really well, well done!

  17. #42
    Join Date
    Nov 2011
    Posts
    15
    Mentioned
    0 Post(s)
    Quoted
    0 Post(s)

    Default

    ALSO, it keeps trying to go back after i goes over the stone. And, it keeps pressing tab to try and send a message or something... that needs to be sorted.

  18. #43
    Join Date
    Nov 2011
    Posts
    255
    Mentioned
    0 Post(s)
    Quoted
    6 Post(s)

    Default

    Quote Originally Posted by neley View Post
    It works really well, however, there are some problems I've found.

    It keeps logging out, usually just before the rocks or at the end of the rope you climb down.

    And... it is slow, sometimes waiting quite a few seconds in-between obstacles, if this can be sped up it will help prevent looking like a bot.

    Otherwise, is an amazing script, it works really well, well done!
    Quote Originally Posted by neley View Post
    ALSO, it keeps trying to go back after i goes over the stone. And, it keeps pressing tab to try and send a message or something... that needs to be sorted.
    Nothing in the script would press tab or logout (nor have I ever had that problem) so I really don't know what to tell you there... Are you using the latest version and using SMART? Thats how I'm using it and it works fine.

    Yes its slow (though for a color script I find it to be pretty fast...) and I know of the rock problem, i'm working on a solution.

    Thanks for the input!

  19. #44
    Join Date
    Nov 2011
    Posts
    15
    Mentioned
    0 Post(s)
    Quoted
    0 Post(s)

    Default

    Quote Originally Posted by [Nathan] View Post
    Nothing in the script would press tab or logout (nor have I ever had that problem) so I really don't know what to tell you there... Are you using the latest version and using SMART? Thats how I'm using it and it works fine.

    Yes its slow (though for a color script I find it to be pretty fast...) and I know of the rock problem, i'm working on a solution.

    Thanks for the input!
    You are very welcome, I have a feeling the logout problem is due to there being too much lag in-between the obstacles. A brilliant idea to make this tons faster would be to spam click the obstacle, maybe 3-6 times, making it random between those numbers. To click as soon as it can see the obstacle to start clicking 3-6 times until it it passes the obstacle. Or something like that, it will make it tons faster.

  20. #45
    Join Date
    Mar 2010
    Posts
    40
    Mentioned
    0 Post(s)
    Quoted
    0 Post(s)

    Default

    I dont know if you have tried out the RiD version of this script, but what they do is click on a specific part of the screen for the monkey bars instead of finding a color. Its like clicking an inventory item, once you find the area of the object you can set up a random x and y value that fit within the monkey bar click area, and woila. Youve solved your problem. Good luck.

  21. #46
    Join Date
    Nov 2011
    Posts
    13
    Mentioned
    0 Post(s)
    Quoted
    0 Post(s)

    Default

    The update to Runescape has made the script stop working. The colors have changed when you hover over your stats.

    EDIT: seems to be working now. updated SRL.

    EDIT2: gets stuck for a couple mins while searching for XP and never updates the XP. This is probably due to the change of XP colors in the stats. I play with the XP counter open so it wouldn't be a problem if not for the way it makes the script run VERY slowly. 25k/hr before update turned to 17k/hr after.
    Last edited by qwerty4ever; 11-23-2011 at 07:46 PM.

  22. #47
    Join Date
    Nov 2006
    Posts
    47
    Mentioned
    0 Post(s)
    Quoted
    0 Post(s)

    Default

    Nice script, Nathan. but it run 1 lap in nearly 2:30 - 3m, i suppose it's after rs update. Anyway it's more better of clicking with ur own hands .

    thnx for script!

  23. #48
    Join Date
    Nov 2011
    Posts
    255
    Mentioned
    0 Post(s)
    Quoted
    6 Post(s)

    Default

    Quote Originally Posted by CAPMAT View Post
    Nice script, Nathan. but it run 1 lap in nearly 2:30 - 3m, i suppose it's after rs update. Anyway it's more better of clicking with ur own hands .

    thnx for script!
    I used it to get 77 agility for ritual of the manwhatever quest so I haven't used this script in a few days, I'll have to test it out again after the update

  24. #49
    Join Date
    Nov 2011
    Posts
    15
    Mentioned
    0 Post(s)
    Quoted
    0 Post(s)

    Default

    Natan, brilliant work, is there any way of getting it to go a bit faster? Like I suggested before, spam clicking the obstical as soon as it see's it might make things faster

  25. #50
    Join Date
    Nov 2011
    Posts
    25
    Mentioned
    0 Post(s)
    Quoted
    0 Post(s)

    Default

    Could you make it to use Knife on the pineapple tree for food?
    Would be nice

    ~Eviltwin

Page 2 of 5 FirstFirst 1234 ... LastLast

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
  •