Page 21 of 42 FirstFirst ... 11192021222331 ... LastLast
Results 501 to 525 of 1043

Thread: P1nky's PestController

  1. #501
    Join Date
    Mar 2012
    Posts
    5
    Mentioned
    0 Post(s)
    Quoted
    0 Post(s)

    Default

    thanks, works great away to use over night

  2. #502
    Join Date
    Mar 2012
    Posts
    219
    Mentioned
    0 Post(s)
    Quoted
    0 Post(s)

    Default

    Guys I really need help!

    I'm confused on the "What boat" thing

    Can anyone show me what to put in there? I tried putting Novice in put it wouldnt work

  3. #503
    Join Date
    Dec 2006
    Location
    Program TEXAS home of AUTOERS
    Posts
    7,934
    Mentioned
    26 Post(s)
    Quoted
    237 Post(s)

    Default

    Quote Originally Posted by TheWord View Post
    Guys I really need help!

    I'm confused on the "What boat" thing

    Can anyone show me what to put in there? I tried putting Novice in put it wouldnt work
    Make sure it is between the
    ' '
    Here you go:
    Simba Code:
    WhatBoat = 'Novice';

  4. #504
    Join Date
    Mar 2012
    Posts
    10
    Mentioned
    0 Post(s)
    Quoted
    0 Post(s)

    Default

    Warning! You passed wrong values to a finder function: ys > ye (30,29). Swapping the values for now.

    keep getting this, mouse keeps going form one end of the board that goes to the boat from the dock to the other, it's only done 4 games in 40 minutes so somethings wrong, any clue?

  5. #505
    Join Date
    Feb 2012
    Posts
    13
    Mentioned
    0 Post(s)
    Quoted
    0 Post(s)

    Default

    I modified p1nky's script in some small areas, I have no problems with now. Always finds the gangplank, even if people put clan vexilums in the way. Sped up the clicks, because it is still slower than humans even with faster500 enabled. /shrug

    It's here if anyone wants it.

    http://dl.dropbox.com/u/65811322/P1n...5BG.1%5D.simba

    If OP wants me to remove the link I will.

  6. #506
    Join Date
    Feb 2012
    Posts
    11
    Mentioned
    0 Post(s)
    Quoted
    0 Post(s)

    Default

    Had a 6hr proggie but forgot to copy it :S now already 2h proggie, i'm trying to get 10hr =D

  7. #507
    Join Date
    Nov 2010
    Posts
    86
    Mentioned
    0 Post(s)
    Quoted
    0 Post(s)

    Default

    Using it now. Works great. You did really well on this P1nky. Good job man.
    Will post proggy in morning!

    P.s
    I got confused by all the versions on the main post. Why so many versions? What do the letters stand for? Which one should be used? Right now I'm using Beta(B) and it's working like a charm.. so eh..! Just curious.

    Thanks again p1nky.
    Cheers
    Luke

  8. #508
    Join Date
    Nov 2006
    Posts
    2,369
    Mentioned
    4 Post(s)
    Quoted
    78 Post(s)

    Default

    Quote Originally Posted by Zota View Post
    Using it now. Works great. You did really well on this P1nky. Good job man.
    Will post proggy in morning!

    P.s
    I got confused by all the versions on the main post. Why so many versions? What do the letters stand for? Which one should be used? Right now I'm using Beta(B) and it's working like a charm.. so eh..! Just curious.

    Thanks again p1nky.
    Cheers
    Luke
    I guess the higher the number the newer version. But that doesn't necessary always mean it's most stable.
    Quote Originally Posted by DeSnob View Post
    ETA's don't exist in SRL like they did in other communities. Want a faster update? Help out with updating, otherwise just gotta wait it out.

  9. #509
    Join Date
    Nov 2010
    Posts
    86
    Mentioned
    0 Post(s)
    Quoted
    0 Post(s)

    Default

    Yep, I'd think that too... but unfortunately he's using alphabetical version naming.

    it goes:

    pestControlBeta
    pestControlBeta(B)
    pestControl(C)
    pestControl(D)
    pestControl(G)

    Why isn't there an E version haha? or A ? or ... looking at it now maybe the first one counts as A?
    so A (B) C D G??

    So... *realising I'm using beta B* Oh woah. I'm 3 versions out of date... Yet it's still working perfectly fine? Great! I'll stick with (B)! Unless persuaded otherwise.

    So P1nky, which version is newest? G?


    Code:
    |====================================|
    |              ~ SRL ~               |
    |           Randoms Report           |
    |────────────────────────────────────|
    |                                    |
    |                                    |
    |────────────────────────────────────|
    |====================================|
    ||===========================||
    ||   P1nkys PestController   ||
    ||===========================||
    ||    March 26th, 2012    ||
    ||===========================||
     Worked For 4 Hours, 21 Minutes and 2 Seconds
     Games Played 88
     Won 72 Games 
     Lose 14 Games 
     Reward 7
    ||===========================||
    ||===========================||
    ||===========================||

    Edit:
    Realised it goes in order from upload. First file = First upload. Last file = Last upload (latest).
    Wasn't exactly rocket science.. Moving on swiftly!
    Last edited by Zota; 03-26-2012 at 11:06 PM.

  10. #510
    Join Date
    Dec 2006
    Location
    Program TEXAS home of AUTOERS
    Posts
    7,934
    Mentioned
    26 Post(s)
    Quoted
    237 Post(s)

    Default

    Yes, G is the newest;

    Here is a fix for [G], will release it officially soon!

    Simba Code:
    program PestControllerBETA;
    {$DEFINE SMART}
    {$i srl\srl.simba}
      {.include SRL/SRL/Skill/Fighting.simba}

      //P1nky's PestController
      //BETA Version

      //Make sure to have Auto Retiable off.
      //Set Character Outside the Boat.
      const
      SpecialAttacks = True;
      QuickPrayer = True; //Make sure to have Quick Prayer Set!
      Faster500 = True; //Having trouble getting your '500'? Well this will help you get over it!
      SRLStats_Username = '';  // Your SRL Stats Username (Optional) Register here: [url]http://stats.villavu.com/[/url]
      SRLStats_Password = '';// Your SRL Stats Password (Optional) Register here: [url]http://stats.villavu.com/[/url]
      WhatBoat = 'N';{
      Intermediate
      Advance
      Novice         }






    procedure DeclarePlayerz;
    begin
      HowManyPlayers := 1;
      NumberOfPlayers(HowManyPlayers);
      CurrentPlayer := 0;
      Players[0].Name := ''; //Your Runescape username
      Players[0].Pass := ''; //Your Runescape password
      Players[0].Active := True; //Set to true if you want to use this player. Set to False to disable this player.
      Players[0].Pin := ''; //Leave blank if the player doesn't have a Bank PIN.
     end;

    var
    Reward, games, win, lost, Rp, Pp, Yp, yellow, white, LeftGate, DTMSPOT2, DTMSPOT3, DTMSPOT, x, y, counter: integer;

    procedure FindRandoms;
    begin
      if not (LoggedIn) or not (Players[CurrentPlayer].Active) then
      NextPlayer(True);
    //  FindNormalRandoms;
      wait(Random(100) + 20);
      exit;
    end;

    function Step1: Integer;
    var
      dtmMainPoint: TDTMPointDef;
      dtmSubPoints: array [0..4] of TDTMPointDef;
      TempTDTM: TDTM;
    begin
      dtmMainPoint.x := 933;
      dtmMainPoint.y := 115;
      dtmMainPoint.AreaSize := 3;
      dtmMainPoint.AreaShape := 0;
      dtmMainPoint.Color := 1452869;
      dtmMainPoint.Tolerance := 20;
      dtmSubPoints[0].x := 933;
      dtmSubPoints[0].y := 115;
      dtmSubPoints[0].AreaSize := 3;
      dtmSubPoints[0].AreaShape := 0;
      dtmSubPoints[0].Color := 1452869;
      dtmSubPoints[0].Tolerance := 20;
      dtmSubPoints[1].x := 933;
      dtmSubPoints[1].y := 121;
      dtmSubPoints[1].AreaSize := 3;
      dtmSubPoints[1].AreaShape := 0;
      dtmSubPoints[1].Color := 4357778;
      dtmSubPoints[1].Tolerance := 20;
      dtmSubPoints[2].x := 923;
      dtmSubPoints[2].y := 114;
      dtmSubPoints[2].AreaSize := 3;
      dtmSubPoints[2].AreaShape := 0;
      dtmSubPoints[2].Color := 2844546;
      dtmSubPoints[2].Tolerance := 20;
      dtmSubPoints[3].x := 931;
      dtmSubPoints[3].y := 104;
      dtmSubPoints[3].AreaSize := 3;
      dtmSubPoints[3].AreaShape := 0;
      dtmSubPoints[3].Color := 2513523;
      dtmSubPoints[3].Tolerance := 20;
      dtmSubPoints[4].x := 941;
      dtmSubPoints[4].y := 114;
      dtmSubPoints[4].AreaSize := 3;
      dtmSubPoints[4].AreaShape := 0;
      dtmSubPoints[4].Color := 5218735;
      dtmSubPoints[4].Tolerance := 20;
      TempTDTM.MainPoint := dtmMainPoint;
      TempTDTM.SubPoints := dtmSubPoints;
      Result := AddDTM(TempTDTM);
    end;

    function step2: Integer;
    var
      dtmMainPoint: TDTMPointDef;
      dtmSubPoints: Array [0..4] of TDTMPointDef;
      TempTDTM: TDTM;
    begin
      dtmMainPoint.x := 629;
      dtmMainPoint.y := 164;
      dtmMainPoint.AreaSize := 3;
      dtmMainPoint.AreaShape := 0;
      dtmMainPoint.Color := 125670;
      dtmMainPoint.Tolerance := 21;

      dtmSubPoints[0].x := 629;
      dtmSubPoints[0].y := 164;
      dtmSubPoints[0].AreaSize := 3;
      dtmSubPoints[0].AreaShape := 0;
      dtmSubPoints[0].Color := 125670;
      dtmSubPoints[0].Tolerance := 21;

      dtmSubPoints[1].x := 627;
      dtmSubPoints[1].y := 156;
      dtmSubPoints[1].AreaSize := 3;
      dtmSubPoints[1].AreaShape := 0;
      dtmSubPoints[1].Color := 3042439;
      dtmSubPoints[1].Tolerance := 21;

      dtmSubPoints[2].x := 635;
      dtmSubPoints[2].y := 165;
      dtmSubPoints[2].AreaSize := 3;
      dtmSubPoints[2].AreaShape := 0;
      dtmSubPoints[2].Color := 3042439;
      dtmSubPoints[2].Tolerance := 21;

      dtmSubPoints[3].x := 630;
      dtmSubPoints[3].y := 171;
      dtmSubPoints[3].AreaSize := 3;
      dtmSubPoints[3].AreaShape := 0;
      dtmSubPoints[3].Color := 3042439;
      dtmSubPoints[3].Tolerance := 21;

      dtmSubPoints[4].x := 622;
      dtmSubPoints[4].y := 165;
      dtmSubPoints[4].AreaSize := 3;
      dtmSubPoints[4].AreaShape := 0;
      dtmSubPoints[4].Color := 3042439;
      dtmSubPoints[4].Tolerance := 21;

      TempTDTM.MainPoint := dtmMainPoint;
      TempTDTM.SubPoints := dtmSubPoints;
      Result := AddDTM(TempTDTM);
    end;

    function Step3: Integer;
    var
      dtmMainPoint: TDTMPointDef;
      dtmSubPoints: array [0..4] of TDTMPointDef;
      TempTDTM: TDTM;
    begin
      dtmMainPoint.x := 741;
      dtmMainPoint.y := 175;
      dtmMainPoint.AreaSize := 0;
      dtmMainPoint.AreaShape := 0;
      dtmMainPoint.Color := 863541;
      dtmMainPoint.Tolerance := 15;
      dtmSubPoints[0].x := 741;
      dtmSubPoints[0].y := 175;
      dtmSubPoints[0].AreaSize := 0;
      dtmSubPoints[0].AreaShape := 0;
      dtmSubPoints[0].Color := 863541;
      dtmSubPoints[0].Tolerance := 15;
      dtmSubPoints[1].x := 739;
      dtmSubPoints[1].y := 173;
      dtmSubPoints[1].AreaSize := 0;
      dtmSubPoints[1].AreaShape := 0;
      dtmSubPoints[1].Color := 16249839;
      dtmSubPoints[1].Tolerance := 15;
      dtmSubPoints[2].x := 744;
      dtmSubPoints[2].y := 169;
      dtmSubPoints[2].AreaSize := 0;
      dtmSubPoints[2].AreaShape := 0;
      dtmSubPoints[2].Color := 2976616;
      dtmSubPoints[2].Tolerance := 15;
      dtmSubPoints[3].x := 737;
      dtmSubPoints[3].y := 169;
      dtmSubPoints[3].AreaSize := 0;
      dtmSubPoints[3].AreaShape := 0;
      dtmSubPoints[3].Color := 2841950;
      dtmSubPoints[3].Tolerance := 15;
      dtmSubPoints[4].x := 734;
      dtmSubPoints[4].y := 173;
      dtmSubPoints[4].AreaSize := 0;
      dtmSubPoints[4].AreaShape := 0;
      dtmSubPoints[4].Color := 16249839;
      dtmSubPoints[4].Tolerance := 15;
      TempTDTM.MainPoint := dtmMainPoint;
      TempTDTM.SubPoints := dtmSubPoints;
      Result := AddDTM(TempTDTM);
    end;

    procedure ReportScreen(TP: TStringArray; Placement: TPoint; Colour: integer);
    var
      mx, my, Pic, I, B, H, TPH, Numb: Integer;
      TTP: TPointArray;
      Canvas: TCanvas;
    begin
      SmartSetDebug(True);
      GetClientDimensions(mx, my);
      Pic := BitmapFromString(mx, my, '');
      TPH := High(TP);
      for I := 0 to TPH do
      begin
        TTP := LoadTextTPA(TP[i], SmallChars, H);
        for B := 0 to High(TTP) do
        begin
          Numb := ((I + 1) * 13);
          FastSetPixel(Pic, TTP[b].x + 1, TTP[b].y + Numb + 1, 8388736);
          FastSetPixel(Pic, TTP[b].x, TTP[b].y + Numb, Colour);
        end;
      end;
      Canvas := TCANVAS.Create;
      Canvas.Handle := SmartGetDebugDC;
      DrawBitmap(Pic, Canvas, Placement.x, Placement.y);
      FreeBitmap(Pic);
    end;

    procedure ReportSmart;
    begin
      ReportScreen(['P1nkys PestController', '', 'Worked For ' + TimeRunning, '', 'Games Played ' + IntToStr(Games)], Point(350, 223), 255);
    end;

    procedure SPOT1;
    begin
      Status('Spot 1');
      SetRun(True);
      MakeCompass('S');
      DTMSPOT := Step1;
      if DTMRotated(DTMSPOT, X, Y, MMX1, MMY1, MMX2, MMY2) then
        MMouse(x, y, 0, 0);
      wait(Random(100) + 20);
      Mouse(x, y, 0, 0, True);
      FFlag(0);
      wait(Random(1000) + 500);
    end;

    procedure SPOT2;
    begin
      Status('Spot 2');
      MakeCompass('S');
      DTMSPOT2 := Step2;
      if DTMRotated(DTMSPOT2, X, Y, MMX1, MMY1, MMX2, MMY2) then
        MMouse(x, y, 0, 0);
      wait(Random(100) + 20);
      Mouse(x, y, 0, 0, True);
      FFlag(0);
      wait(1300);
    end;

    function AwayFromVoid: boolean;
    var
      C: Integer;
    begin
      C := 42342;
      if not (C > 4) then
      begin
        result := false;
        exit;
        TerminateScript;
      end
      else
        result := true;
      Spot1;
    end;

    function Clan: boolean;
    var
      X, Y: Integer;
    begin
      Result := (FindColor(X, Y, 3226804, 460, 30, 461, 29));
    end;

    function RewardBox: Boolean;
    begin
      if (Clan) then
      begin
        Mouse(475, 29, 1, 1, True);
      end;
      if FindColorTolerance(x, y, 986895, 134, 96, 435, 334, 1) then
      begin
        Result := True;
        Mouse(392, 60, 0, 0, true);
        Reward := Reward + 1;
      end
      else
        Result := False;
    end;

    procedure WinOrLose;
    begin
      Status('Checking if Win Game Or Lose');
      RewardBox;
      MakeCompass('S');
      ReportSmart;
      if FindNPCChatText('Congratulations!', True) then
      begin
        win := win + 1;
        stats_IncVariable('PC Points Earned', 2);
        exit;
      end
      else if FindNPCChatText('noticed', True) or FindNPCChatText('lost.', True) then
      begin
        lost := lost + 1;
        exit;
      end
      else
      begin
        exit;
      end;
    end;

    function InBoat: Boolean;
    begin
      result := (getColor(19, 30) = 13421772) and (getColor(19, 51) = 3265113);
    end;

    function NPC: Boolean;
    begin
      FindRandoms;
      if FindNPCChatText('ritual', True) or FindNPCChatText('Congratulations!', True) or FindNPCChatText('knights', True) or FindNPCChatText('lost.', True) or FindText(x, y, 'attle', UpChars, MCX1, MCY1, MCX2, MCY2) or FindText(x, y, 'defend the Void Knight', UpChars, MCX1, MCY1, MCX2, MCY2) then
      begin
        Result := True;
        Writeln('NPC Message Detected!');
        if (FindColorSpiralTolerance(x, y, 540186, 136, 379, 415, 470, 25)) then
          Status('NPC Message');
        MMouse(x, y, 0, 0);
        wait(Random(200) + 20);
        Mouse(x, y, 0, 0, true);
        WinOrLose;
      end
      else
        Result := False;
    end;

    procedure RandomButton;
    begin
      if not (Faster500) then
        case Random(3) of
          0:
            begin
              KeyDown(VK_Left);
              wait(Random(600) + 500);
              KeyUp(VK_Left);
            end;
          1:
            begin
              KeyDown(VK_Right);
              wait(Random(600) + 500);
              KeyUp(VK_Right);
            end;
          2:
            begin
              KeyDown(VK_Up);
              wait(Random(200) + 500);
              KeyUp(VK_Up);
            end;
        end;
      if (Faster500) then
        case Random(5) of
          0:
            begin
              KeyDown(VK_Left);
              wait(Random(200) + 20);
              KeyUp(VK_Left);
            end;
          1:
            begin
              KeyDown(VK_Right);
              wait(Random(200) + 20);
              KeyUp(VK_Right);
            end;
          2:
            begin
              wait(Random(100) + 20);
            end;
          3:
            begin
              wait(Random(100) + 20);
            end;
          4:
            begin
              wait(Random(100) + 20);
            end;
        end;
    end;

    procedure Report;
    var
      Answer, WC: Integer;
    begin
      if not (LoggedIn) or not (Players[CurrentPlayer].Active) then
        NextPlayer(True);
      cleardebug;
      SRLRandomsReport;
      Writeln('||===========================||');
      Writeln('||   P1nkys PestController   ||');
      Writeln('||===========================||');
      Writeln('||    ' + TheDate(Date_Formal) + '    ||');
      Writeln('||===========================||');
      Writeln(' Worked For ' + TimeRunning);
      Writeln(' Games Played ' + IntToStr(Games));
      Writeln('||===========================||');
      ReportSmart;
      Stats_Commit;
    end;

    procedure AntiBan;
    var
      NoBan: Integer;
    begin
      Noban := Random(18);
      case Move of
        0: MMouse(x, y, (10 + random(350)), (10 + random(200)));
        1: MMouse(x, y, (10 + random(400)), (10 + random(600)));
        2: MMouse(x, y, (10 + random(550)), (10 + random(400)));
        3: MMouse(x, y, (10 + random(500)), (10 + random(400)));
        4: MMouse(Random(MSX2), Random(MSY2), 0, 0);
        5: RandomRclick;
        6: RandomButton;
        10: setangle(1)
      end;
    end;

    function InGame: Boolean;
    begin
      result := (getColor(370, 74) = 16711935) and (getColor(404, 70) = 16737894);
    end;

    procedure BoatWait;
    begin
      if not (LoggedIn) or not (Players[CurrentPlayer].Active) then
        NextPlayer(True);
      repeat
        Status('Waiting In Boat');
        ReportSmart;
        RandomButton;
        FindRandoms;
        Report;
        wait(Random(100) + 20);
      until (NPC) or (Ingame);
      Games := Games + 1;
      exit;
    end;

    function FindBoard(x, y: Integer): Boolean;
    var
      CTS, I: Integer;
      TPA: TPointArray;
      ATPA: array of TPointArray;
    begin
      CTS := GetColorToleranceSpeed;
      ColorToleranceSpeed(1);
      SetColorSpeed2Modifiers(1, 3);
      FindColorsSpiralTolerance(MSCX, MSCY, TPA, 4942983, MSX1, MSY1, MSX2, MSY2, 3);
      ColorToleranceSpeed(CTS);
      ATPA := TPAToATPAEx(TPA, 2, 2);
      for I := 0 to High(ATPA) do
      begin
        MiddleTPAEx(ATPA[i], x, y);
        MMouse(x, y, 1, 1);
        if (IsUpTextMultiCustom(['Gangplank'])) then
        begin
          Result := True;
          GetMousePos(x, y);
          Break;
        end;
      end;
    end;

    procedure Plank;
    begin
      if not (LoggedIn) or not (Players[CurrentPlayer].Active) then
        NextPlayer(True);
      Status('Searching For Plank');
      WinOrLose;
      FindRandoms;
      case WhatBoat of
      'N','n','novice','Novice','I','inter','i','Intermediate','intermediate' :
      begin
        MakeCompass('S');
        KeyDown(VK_Down);
        wait(Random(650) + 500);
        KeyUp(VK_Down);
      end;
      'A','a','adv','advance','Advance' :
      begin
        MakeCompass('W');
        Setangle(0);
       { KeyDown(VK_Down);
        wait(Random(650) + 500);
        KeyUp(VK_Down); }

      end;
    end;
      repeat
        RewardBox;
        ReportSmart;
        if not RewardBox then
          if FindBoard(x, y) then
            Status('Looking for Plank');
        wait(200 + random(232));
        if Isuptext('angplank') then
          ClickMouse2(true);
      until (FindBlackChatMessage('You board the lander') or (ingame) or FindBlackChatMessage('reach that') or (InBoat)) Setangle(0);
      FindRandoms;
      Report;
      NPC;
      exit;
    end;

    function Range: Boolean;
    begin
      if (FindColorSpiralTolerance(x, y, 5372475, 267, 132, 292, 160, 1)) then
      begin
        Result := True;
        Writeln('TRUE');
      end
      else
        Result := False;
      Writeln('False');
    end;

    var
      qp: integer;

    procedure QPrayer;
    begin
      if QuickPrayer then
        QP := DTMFromString('mbQAAAHicY2VgYFBmZGBQAmItKC0JxGuA4kuBeB0QbwXi9UB88+1dhrVbNoAxiB1h38yADTBiwWAAAKBQDp8=');
      if FindDTM(QP, x, y, 701, 52, 733, 79) then
      begin
        MMouse(x, y, 0, 0);
        Mouse(x, y, 0, 0, true);
      end
      else
        exit;
    end;

    procedure SpecAttack;
    begin
      if SpecialAttacks then
      begin
        Writeln('Toggling Special');
        Status('Special Attack ON');
        MouseBox(528, 179, 545, 195, 1);
        begin
          if (FindColorSpiralTolerance(x, y, 3566664, 545, 208, 738, 430, 25)) then
            Status('Special');
          MMouse(x, y, 0, 0);
          wait(Random(100) + 20);
          Mouse(x, y, 0, 0, true);
        end;
      end;
    end;

    function EFindObjCustom(var cx, cy: Integer; Text: TStringArray; Color: TIntegerArray; Tol: Integer): Boolean;
    begin
      Result := FindObjEx(cx, cy, Text, Color, Tol, 50, 33, 134, 542, 465);
    end;

    procedure FightPests;
    var
      Z, R, CTS: Integer;
    begin
      Status('Fighting Pests');
      if not (EFindObjCustom(x, y, ['hifter', 'Shifte', 'Shifter', 'hift'], [2108184, 5051472, 3228504, 4942983,3162776], 3)) then
      begin
        if (counter > 1000) then
        begin
          Report;
          counter := 0;
        end;
        R := Random(4);
        case R of
          0: RandomButton;
          1: wait(Random(25) + 20);
          2: wait(Random(25) + 20);
          3: wait(Random(25) + 20);
        end;
        Exit;
      end
      else
        Mmouse(x, y, 0, 0);
      wait(Random(100) + 20);
      if isuptext('ttac') then
      begin
        if not Faster500 then
        begin
          Mouse(x, y, 0, 0, False);
          ChooseOption('ttack');
        end
        else
        begin
          Mouse(x, y, 0, 0, true);
          wait(random(500) + 100);
        end;
        if Faster500 then
        begin
          wait(Random(100) + 20);
          Report;
        end
        else
          wait(2000);
        Report;
      end;
    end;

    function Portal(Name: string): Boolean;
    begin
      case Name of
        'red':
          if (FindBlackChatMessage('south-western')) then
          begin
            Result := True;
            Writeln('Red Portal Shield Down!');
            Exit;
          end
        else
          Result := False;
        'yellow':
          if (FindBlackChatMessage('south-eastern')) then
          begin
            Result := True;
            Writeln('Yellow Portal Shield Down!');
            Exit;
          end
        else
          Result := False;
      end;
    end;


    procedure FreeMem;
    begin
      FreeDTM(step1);
      FreeDTM(step2);
      FreeDTM(step3);
    end;

    begin
      Disguise('P1nky PestController');
      ClearDebug;
      ClearReport;
      Smart_Server := 17;
      Smart_Members := false;
      Smart_Signed := true;
      Smart_SuperDetail := false;
      begin
        if (SRLStats_Username = '') then
          SetupSRLStats(654, 'Anonymous', 'anon1337')
        else
          SetupSRLStats(654, SRLStats_Username, SRLStats_Password);
        SetUpSRL;
        declareplayerz;
        ActivateClient;
        counter := 0;
        ClearDebug;
        LoginPlayer;
        Inc(counter);
        repeat
          begin
            FreeMem;
            NPC;
            Report;
            Plank;
            BoatWait;
            begin
              Spot1;
              Spot2;
              begin
                SpecAttack;
                QPrayer;
              end;
              repeat
                FightPests
              until not (Ingame);
            end;
          end;
          spot2;
        until (false);
       end;
    end.

  11. #511
    Join Date
    Feb 2012
    Posts
    202
    Mentioned
    0 Post(s)
    Quoted
    0 Post(s)

    Default

    been using it for a couple days now like 200 commendations
    thanks man

  12. #512
    Join Date
    Nov 2010
    Posts
    86
    Mentioned
    0 Post(s)
    Quoted
    0 Post(s)

    Default

    I noticed I only get 356 exp for commendation? What happened to that? I used to get 1000 per commendation... Jagex nerfed it? So pestcontrol isn't such a great EXP p/h minigame anymore.

    Great script nonetheless.
    Luke

  13. #513
    Join Date
    Dec 2006
    Location
    Program TEXAS home of AUTOERS
    Posts
    7,934
    Mentioned
    26 Post(s)
    Quoted
    237 Post(s)

    Default

    Quote Originally Posted by Zota View Post
    I noticed I only get 356 exp for commendation? What happened to that? I used to get 1000 per commendation... Jagex nerfed it? So pestcontrol isn't such a great EXP p/h minigame anymore.

    Great script nonetheless.
    Luke
    because they now give 2 points per game.

  14. #514
    Join Date
    Jan 2012
    Posts
    33
    Mentioned
    0 Post(s)
    Quoted
    0 Post(s)

    Default

    Quote Originally Posted by CrysisMK2 View Post
    I modified p1nky's script in some small areas, I have no problems with now. Always finds the gangplank, even if people put clan vexilums in the way. Sped up the clicks, because it is still slower than humans even with faster500 enabled. /shrug

    It's here if anyone wants it.

    http://dl.dropbox.com/u/65811322/P1n...5BG.1%5D.simba

    If OP wants me to remove the link I will.
    sadly , your modification is better then his script

  15. #515
    Join Date
    Feb 2012
    Posts
    107
    Mentioned
    0 Post(s)
    Quoted
    3 Post(s)

    Default

    ====================================|
    | ~ SRL ~ |
    | Randoms Report |
    |────────────────────────────────────|
    | |
    | |
    |────────────────────────────────────|
    |====================================|
    ||===========================||
    || P1nkys PestController ||
    ||===========================||
    || March 27th, 2012 ||
    ||===========================||
    Worked For 8 Minutes and 14 Seconds
    Games Played 1
    ||===========================||
    NPC Message Detected!
    Warning! You passed wrong values to a finder function: ys > ye (30,29). Swapping the values for now.


    help pls

  16. #516
    Join Date
    Jan 2012
    Location
    Texas.
    Posts
    771
    Mentioned
    4 Post(s)
    Quoted
    122 Post(s)

    Default

    Hey pinky, quick question

    I have been using your script for a long time now and i enjoy it alot.

    I was just wondering if you were ever thinking about making another script.. maybe a Cannon script?

    Been wanting to get my pures range up with cannon but its so time consuming.

    Any thoughts on it?

  17. #517
    Join Date
    Mar 2007
    Location
    Brisbane, AUS
    Posts
    305
    Mentioned
    0 Post(s)
    Quoted
    0 Post(s)

    Cool

    use range guild, very good xp and a few scripts here
    Quote Originally Posted by Usmarine View Post
    Hey pinky, quick question

    I have been using your script for a long time now and i enjoy it alot.

    I was just wondering if you were ever thinking about making another script.. maybe a Cannon script?

    Been wanting to get my pures range up with cannon but its so time consuming.

    Any thoughts on it?

  18. #518
    Join Date
    Jan 2012
    Location
    Texas.
    Posts
    771
    Mentioned
    4 Post(s)
    Quoted
    122 Post(s)

    Default

    Quote Originally Posted by il o y o il View Post
    use range guild, very good xp and a few scripts here
    True. And its cheaper.

    Only problem is the ban rate is still kind of high there.

  19. #519
    Join Date
    Mar 2012
    Posts
    6
    Mentioned
    0 Post(s)
    Quoted
    0 Post(s)

    Default

    the fix for g that you posted works like a charm. i love it. old pc(g) was a little buggy, going off of the pyramid, but this one works amazingly.

    Edit: it actually walks away from the plank, and so far thats the only problem that i've seen so far.
    Last edited by duwell; 03-28-2012 at 06:03 AM.

  20. #520
    Join Date
    Feb 2012
    Posts
    107
    Mentioned
    0 Post(s)
    Quoted
    3 Post(s)

    Default

    this doesnt work for me, it just goes to a random spot and stands there the whole time.

    i get this message "Warning! You passed wrong values to a finder function: ys > ye (30,29). Swapping the values for now."

    Can some1 help me pls???
    thanks

  21. #521
    Join Date
    Mar 2012
    Posts
    136
    Mentioned
    0 Post(s)
    Quoted
    0 Post(s)

    Default

    Currently trying this, will post proggy when done.. so far it keeps running off the boats though all the way round the island near the general store, any ideas?

  22. #522
    Join Date
    Mar 2012
    Posts
    6
    Mentioned
    0 Post(s)
    Quoted
    0 Post(s)

    Default

    i would of posted a proggy, but my girlfriend closed it, last i saw it was on 7 hours, with like 140 games played 90 won. something like that.

  23. #523
    Join Date
    Jan 2012
    Posts
    2
    Mentioned
    0 Post(s)
    Quoted
    0 Post(s)

    Default

    it misses the pyramid goes off to the side and looks for monsters it doesnt hit 1 thing

  24. #524
    Join Date
    Mar 2012
    Posts
    9
    Mentioned
    0 Post(s)
    Quoted
    0 Post(s)

    Default

    Im getting this error "[Error] (35:5): Unknown identifier 'FindLamp' at line 34
    Compiling failed." How do i fix?
    Last edited by elvenom; 03-29-2012 at 02:31 AM.

  25. #525
    Join Date
    Dec 2006
    Location
    Program TEXAS home of AUTOERS
    Posts
    7,934
    Mentioned
    26 Post(s)
    Quoted
    237 Post(s)

    Default

    Use this:
    Simba Code:
    program PestControllerBETA;
    {$DEFINE SMART}
    {$i srl\srl.simba}
      {.include SRL/SRL/Skill/Fighting.simba}

      //P1nky's PestController
      //BETA Version

      //Make sure to have Auto Retiable off.
      //Set Character Outside the Boat.
      const
      SpecialAttacks = True;
      QuickPrayer = True; //Make sure to have Quick Prayer Set!
      Faster500 = True; //Having trouble getting your '500'? Well this will help you get over it!
      SRLStats_Username = '';  // Your SRL Stats Username (Optional) Register here: [url]http://stats.villavu.com/[/url]
      SRLStats_Password = '';// Your SRL Stats Password (Optional) Register here: [url]http://stats.villavu.com/[/url]
      WhatBoat = 'N';{
      Intermediate
      Advance
      Novice         }






    procedure DeclarePlayerz;
    begin
      HowManyPlayers := 1;
      NumberOfPlayers(HowManyPlayers);
      CurrentPlayer := 0;
      Players[0].Name := ''; //Your Runescape username
      Players[0].Pass := ''; //Your Runescape password
      Players[0].Active := True; //Set to true if you want to use this player. Set to False to disable this player.
      Players[0].Pin := ''; //Leave blank if the player doesn't have a Bank PIN.
     end;

    var
    Reward, games, win, lost, Rp, Pp, Yp, yellow, white, LeftGate, DTMSPOT2, DTMSPOT3, DTMSPOT, x, y, counter: integer;

    procedure FindRandoms;
    begin
      if not (LoggedIn) or not (Players[CurrentPlayer].Active) then
      NextPlayer(True);
    //  FindNormalRandoms;
      wait(Random(100) + 20);
      exit;
    end;

    function Step1: Integer;
    var
      dtmMainPoint: TDTMPointDef;
      dtmSubPoints: array [0..4] of TDTMPointDef;
      TempTDTM: TDTM;
    begin
      dtmMainPoint.x := 933;
      dtmMainPoint.y := 115;
      dtmMainPoint.AreaSize := 3;
      dtmMainPoint.AreaShape := 0;
      dtmMainPoint.Color := 1452869;
      dtmMainPoint.Tolerance := 20;
      dtmSubPoints[0].x := 933;
      dtmSubPoints[0].y := 115;
      dtmSubPoints[0].AreaSize := 3;
      dtmSubPoints[0].AreaShape := 0;
      dtmSubPoints[0].Color := 1452869;
      dtmSubPoints[0].Tolerance := 20;
      dtmSubPoints[1].x := 933;
      dtmSubPoints[1].y := 121;
      dtmSubPoints[1].AreaSize := 3;
      dtmSubPoints[1].AreaShape := 0;
      dtmSubPoints[1].Color := 4357778;
      dtmSubPoints[1].Tolerance := 20;
      dtmSubPoints[2].x := 923;
      dtmSubPoints[2].y := 114;
      dtmSubPoints[2].AreaSize := 3;
      dtmSubPoints[2].AreaShape := 0;
      dtmSubPoints[2].Color := 2844546;
      dtmSubPoints[2].Tolerance := 20;
      dtmSubPoints[3].x := 931;
      dtmSubPoints[3].y := 104;
      dtmSubPoints[3].AreaSize := 3;
      dtmSubPoints[3].AreaShape := 0;
      dtmSubPoints[3].Color := 2513523;
      dtmSubPoints[3].Tolerance := 20;
      dtmSubPoints[4].x := 941;
      dtmSubPoints[4].y := 114;
      dtmSubPoints[4].AreaSize := 3;
      dtmSubPoints[4].AreaShape := 0;
      dtmSubPoints[4].Color := 5218735;
      dtmSubPoints[4].Tolerance := 20;
      TempTDTM.MainPoint := dtmMainPoint;
      TempTDTM.SubPoints := dtmSubPoints;
      Result := AddDTM(TempTDTM);
    end;

    function step2: Integer;
    var
      dtmMainPoint: TDTMPointDef;
      dtmSubPoints: Array [0..4] of TDTMPointDef;
      TempTDTM: TDTM;
    begin
      dtmMainPoint.x := 629;
      dtmMainPoint.y := 164;
      dtmMainPoint.AreaSize := 3;
      dtmMainPoint.AreaShape := 0;
      dtmMainPoint.Color := 125670;
      dtmMainPoint.Tolerance := 21;

      dtmSubPoints[0].x := 629;
      dtmSubPoints[0].y := 164;
      dtmSubPoints[0].AreaSize := 3;
      dtmSubPoints[0].AreaShape := 0;
      dtmSubPoints[0].Color := 125670;
      dtmSubPoints[0].Tolerance := 21;

      dtmSubPoints[1].x := 627;
      dtmSubPoints[1].y := 156;
      dtmSubPoints[1].AreaSize := 3;
      dtmSubPoints[1].AreaShape := 0;
      dtmSubPoints[1].Color := 3042439;
      dtmSubPoints[1].Tolerance := 21;

      dtmSubPoints[2].x := 635;
      dtmSubPoints[2].y := 165;
      dtmSubPoints[2].AreaSize := 3;
      dtmSubPoints[2].AreaShape := 0;
      dtmSubPoints[2].Color := 3042439;
      dtmSubPoints[2].Tolerance := 21;

      dtmSubPoints[3].x := 630;
      dtmSubPoints[3].y := 171;
      dtmSubPoints[3].AreaSize := 3;
      dtmSubPoints[3].AreaShape := 0;
      dtmSubPoints[3].Color := 3042439;
      dtmSubPoints[3].Tolerance := 21;

      dtmSubPoints[4].x := 622;
      dtmSubPoints[4].y := 165;
      dtmSubPoints[4].AreaSize := 3;
      dtmSubPoints[4].AreaShape := 0;
      dtmSubPoints[4].Color := 3042439;
      dtmSubPoints[4].Tolerance := 21;

      TempTDTM.MainPoint := dtmMainPoint;
      TempTDTM.SubPoints := dtmSubPoints;
      Result := AddDTM(TempTDTM);
    end;

    function Step3: Integer;
    var
      dtmMainPoint: TDTMPointDef;
      dtmSubPoints: array [0..4] of TDTMPointDef;
      TempTDTM: TDTM;
    begin
      dtmMainPoint.x := 741;
      dtmMainPoint.y := 175;
      dtmMainPoint.AreaSize := 0;
      dtmMainPoint.AreaShape := 0;
      dtmMainPoint.Color := 863541;
      dtmMainPoint.Tolerance := 15;
      dtmSubPoints[0].x := 741;
      dtmSubPoints[0].y := 175;
      dtmSubPoints[0].AreaSize := 0;
      dtmSubPoints[0].AreaShape := 0;
      dtmSubPoints[0].Color := 863541;
      dtmSubPoints[0].Tolerance := 15;
      dtmSubPoints[1].x := 739;
      dtmSubPoints[1].y := 173;
      dtmSubPoints[1].AreaSize := 0;
      dtmSubPoints[1].AreaShape := 0;
      dtmSubPoints[1].Color := 16249839;
      dtmSubPoints[1].Tolerance := 15;
      dtmSubPoints[2].x := 744;
      dtmSubPoints[2].y := 169;
      dtmSubPoints[2].AreaSize := 0;
      dtmSubPoints[2].AreaShape := 0;
      dtmSubPoints[2].Color := 2976616;
      dtmSubPoints[2].Tolerance := 15;
      dtmSubPoints[3].x := 737;
      dtmSubPoints[3].y := 169;
      dtmSubPoints[3].AreaSize := 0;
      dtmSubPoints[3].AreaShape := 0;
      dtmSubPoints[3].Color := 2841950;
      dtmSubPoints[3].Tolerance := 15;
      dtmSubPoints[4].x := 734;
      dtmSubPoints[4].y := 173;
      dtmSubPoints[4].AreaSize := 0;
      dtmSubPoints[4].AreaShape := 0;
      dtmSubPoints[4].Color := 16249839;
      dtmSubPoints[4].Tolerance := 15;
      TempTDTM.MainPoint := dtmMainPoint;
      TempTDTM.SubPoints := dtmSubPoints;
      Result := AddDTM(TempTDTM);
    end;

    procedure ReportScreen(TP: TStringArray; Placement: TPoint; Colour: integer);
    var
      mx, my, Pic, I, B, H, TPH, Numb: Integer;
      TTP: TPointArray;
      Canvas: TCanvas;
    begin
      SmartSetDebug(True);
      GetClientDimensions(mx, my);
      Pic := BitmapFromString(mx, my, '');
      TPH := High(TP);
      for I := 0 to TPH do
      begin
        TTP := LoadTextTPA(TP[i], SmallChars, H);
        for B := 0 to High(TTP) do
        begin
          Numb := ((I + 1) * 13);
          FastSetPixel(Pic, TTP[b].x + 1, TTP[b].y + Numb + 1, 8388736);
          FastSetPixel(Pic, TTP[b].x, TTP[b].y + Numb, Colour);
        end;
      end;
      Canvas := TCANVAS.Create;
      Canvas.Handle := SmartGetDebugDC;
      DrawBitmap(Pic, Canvas, Placement.x, Placement.y);
      FreeBitmap(Pic);
    end;

    procedure ReportSmart;
    begin
      ReportScreen(['P1nkys PestController', '', 'Worked For ' + TimeRunning, '', 'Games Played ' + IntToStr(Games)], Point(350, 223), 255);
    end;

    procedure SPOT1;
    begin
      Status('Spot 1');
      SetRun(True);
      MakeCompass('S');
      DTMSPOT := Step1;
      if DTMRotated(DTMSPOT, X, Y, MMX1, MMY1, MMX2, MMY2) then
        MMouse(x, y, 0, 0);
      wait(Random(100) + 20);
      Mouse(x, y, 0, 0, True);
      FFlag(0);
      wait(Random(1000) + 500);
    end;

    procedure SPOT2;
    begin
      Status('Spot 2');
      MakeCompass('S');
      DTMSPOT2 := Step2;
      if DTMRotated(DTMSPOT2, X, Y, MMX1, MMY1, MMX2, MMY2) then
        MMouse(x, y, 0, 0);
      wait(Random(100) + 20);
      Mouse(x, y, 0, 0, True);
      FFlag(0);
      wait(1300);
    end;

    function AwayFromVoid: boolean;
    var
      C: Integer;
    begin
      C := 42342;
      if not (C > 4) then
      begin
        result := false;
        exit;
        TerminateScript;
      end
      else
        result := true;
      Spot1;
    end;

    function Clan: boolean;
    var
      X, Y: Integer;
    begin
      Result := (FindColor(X, Y, 3226804, 460, 30, 461, 29));
    end;

    function RewardBox: Boolean;
    begin
      if (Clan) then
      begin
        Mouse(475, 29, 1, 1, True);
      end;
      if FindColorTolerance(x, y, 986895, 134, 96, 435, 334, 1) then
      begin
        Result := True;
        Mouse(392, 60, 0, 0, true);
        Reward := Reward + 1;
      end
      else
        Result := False;
    end;

    procedure WinOrLose;
    begin
      Status('Checking if Win Game Or Lose');
      RewardBox;
      MakeCompass('S');
      ReportSmart;
      if FindNPCChatText('Congratulations!', True) then
      begin
        win := win + 1;
        stats_IncVariable('PC Points Earned', 2);
        exit;
      end
      else if FindNPCChatText('noticed', True) or FindNPCChatText('lost.', True) then
      begin
        lost := lost + 1;
        exit;
      end
      else
      begin
        exit;
      end;
    end;

    function InBoat: Boolean;
    begin
      result := (getColor(19, 30) = 13421772) and (getColor(19, 51) = 3265113);
    end;

    function NPC: Boolean;
    begin
      FindRandoms;
      if FindNPCChatText('ritual', True) or FindNPCChatText('Congratulations!', True) or FindNPCChatText('knights', True) or FindNPCChatText('lost.', True) or FindText(x, y, 'attle', UpChars, MCX1, MCY1, MCX2, MCY2) or FindText(x, y, 'defend the Void Knight', UpChars, MCX1, MCY1, MCX2, MCY2) then
      begin
        Result := True;
        Writeln('NPC Message Detected!');
        if (FindColorSpiralTolerance(x, y, 540186, 136, 379, 415, 470, 25)) then
          Status('NPC Message');
        MMouse(x, y, 0, 0);
        wait(Random(200) + 20);
        Mouse(x, y, 0, 0, true);
        WinOrLose;
      end
      else
        Result := False;
    end;

    procedure RandomButton;
    begin
      if not (Faster500) then
        case Random(3) of
          0:
            begin
              KeyDown(VK_Left);
              wait(Random(600) + 500);
              KeyUp(VK_Left);
            end;
          1:
            begin
              KeyDown(VK_Right);
              wait(Random(600) + 500);
              KeyUp(VK_Right);
            end;
          2:
            begin
              KeyDown(VK_Up);
              wait(Random(200) + 500);
              KeyUp(VK_Up);
            end;
        end;
      if (Faster500) then
        case Random(5) of
          0:
            begin
              KeyDown(VK_Left);
              wait(Random(200) + 20);
              KeyUp(VK_Left);
            end;
          1:
            begin
              KeyDown(VK_Right);
              wait(Random(200) + 20);
              KeyUp(VK_Right);
            end;
          2:
            begin
              wait(Random(100) + 20);
            end;
          3:
            begin
              wait(Random(100) + 20);
            end;
          4:
            begin
              wait(Random(100) + 20);
            end;
        end;
    end;

    procedure Report;
    var
      Answer, WC: Integer;
    begin
      if not (LoggedIn) or not (Players[CurrentPlayer].Active) then
        NextPlayer(True);
      cleardebug;
      SRLRandomsReport;
      Writeln('||===========================||');
      Writeln('||   P1nkys PestController   ||');
      Writeln('||===========================||');
      Writeln('||    ' + TheDate(Date_Formal) + '    ||');
      Writeln('||===========================||');
      Writeln(' Worked For ' + TimeRunning);
      Writeln(' Games Played ' + IntToStr(Games));
      Writeln('||===========================||');
      ReportSmart;
      Stats_Commit;
    end;

    procedure AntiBan;
    var
      NoBan: Integer;
    begin
      Noban := Random(18);
      case Move of
        0: MMouse(x, y, (10 + random(350)), (10 + random(200)));
        1: MMouse(x, y, (10 + random(400)), (10 + random(600)));
        2: MMouse(x, y, (10 + random(550)), (10 + random(400)));
        3: MMouse(x, y, (10 + random(500)), (10 + random(400)));
        4: MMouse(Random(MSX2), Random(MSY2), 0, 0);
        5: RandomRclick;
        6: RandomButton;
        10: setangle(1)
      end;
    end;

    function InGame: Boolean;
    begin
      result := (getColor(370, 74) = 16711935) and (getColor(404, 70) = 16737894);
    end;

    procedure BoatWait;
    begin
      if not (LoggedIn) or not (Players[CurrentPlayer].Active) then
        NextPlayer(True);
      repeat
        Status('Waiting In Boat');
        ReportSmart;
        RandomButton;
        FindRandoms;
        Report;
        wait(Random(100) + 20);
      until (NPC) or (Ingame);
      Games := Games + 1;
      exit;
    end;

    function FindBoard(x, y: Integer): Boolean;
    var
      CTS, I: Integer;
      TPA: TPointArray;
      ATPA: array of TPointArray;
    begin
      CTS := GetColorToleranceSpeed;
      ColorToleranceSpeed(1);
      SetColorSpeed2Modifiers(1, 3);
      FindColorsSpiralTolerance(MSCX, MSCY, TPA, 4942983, MSX1, MSY1, MSX2, MSY2, 3);
      ColorToleranceSpeed(CTS);
      ATPA := TPAToATPAEx(TPA, 2, 2);
      for I := 0 to High(ATPA) do
      begin
        MiddleTPAEx(ATPA[i], x, y);
        MMouse(x, y, 1, 1);
        if (IsUpTextMultiCustom(['Gangplank'])) then
        begin
          Result := True;
          GetMousePos(x, y);
          Break;
        end;
      end;
    end;

    procedure Plank;
    begin
      if not (LoggedIn) or not (Players[CurrentPlayer].Active) then
        NextPlayer(True);
      Status('Searching For Plank');
      WinOrLose;
      FindRandoms;
      case WhatBoat of
      'N','n','novice','Novice','I','inter','i','Intermediate','intermediate' :
      begin
        MakeCompass('S');
        KeyDown(VK_Down);
        wait(Random(650) + 500);
        KeyUp(VK_Down);
      end;
      'A','a','adv','advance','Advance' :
      begin
        MakeCompass('W');
        Setangle(0);
       { KeyDown(VK_Down);
        wait(Random(650) + 500);
        KeyUp(VK_Down); }

      end;
    end;
      repeat
        RewardBox;
        ReportSmart;
        if not RewardBox then
          if FindBoard(x, y) then
            Status('Looking for Plank');
        wait(200 + random(232));
        if Isuptext('angplank') then
          ClickMouse2(true);
      until (FindBlackChatMessage('You board the lander') or (ingame) or FindBlackChatMessage('reach that') or (InBoat)) Setangle(0);
      FindRandoms;
      Report;
      NPC;
      exit;
    end;

    function Range: Boolean;
    begin
      if (FindColorSpiralTolerance(x, y, 5372475, 267, 132, 292, 160, 1)) then
      begin
        Result := True;
        Writeln('TRUE');
      end
      else
        Result := False;
      Writeln('False');
    end;

    var
      qp: integer;

    procedure QPrayer;
    begin
      if QuickPrayer then
        QP := DTMFromString('mbQAAAHicY2VgYFBmZGBQAmItKC0JxGuA4kuBeB0QbwXi9UB88+1dhrVbNoAxiB1h38yADTBiwWAAAKBQDp8=');
      if FindDTM(QP, x, y, 701, 52, 733, 79) then
      begin
        MMouse(x, y, 0, 0);
        Mouse(x, y, 0, 0, true);
      end
      else
        exit;
    end;

    procedure SpecAttack;
    begin
      if SpecialAttacks then
      begin
        Writeln('Toggling Special');
        Status('Special Attack ON');
        MouseBox(528, 179, 545, 195, 1);
        begin
          if (FindColorSpiralTolerance(x, y, 3566664, 545, 208, 738, 430, 25)) then
            Status('Special');
          MMouse(x, y, 0, 0);
          wait(Random(100) + 20);
          Mouse(x, y, 0, 0, true);
        end;
      end;
    end;

    function EFindObjCustom(var cx, cy: Integer; Text: TStringArray; Color: TIntegerArray; Tol: Integer): Boolean;
    begin
      Result := FindObjEx(cx, cy, Text, Color, Tol, 50, 33, 134, 542, 465);
    end;

    procedure FightPests;
    var
      Z, R, CTS: Integer;
    begin
      Status('Fighting Pests');
      if not (EFindObjCustom(x, y, ['hifter', 'Shifte', 'Shifter', 'hift'], [2108184, 5051472, 3228504, 4942983,3162776], 3)) then
      begin
        if (counter > 1000) then
        begin
          Report;
          counter := 0;
        end;
        R := Random(4);
        case R of
          0: RandomButton;
          1: wait(Random(25) + 20);
          2: wait(Random(25) + 20);
          3: wait(Random(25) + 20);
        end;
        Exit;
      end
      else
        Mmouse(x, y, 0, 0);
      wait(Random(100) + 20);
      if isuptext('ttac') then
      begin
        if not Faster500 then
        begin
          Mouse(x, y, 0, 0, False);
          ChooseOption('ttack');
        end
        else
        begin
          Mouse(x, y, 0, 0, true);
          wait(random(500) + 100);
        end;
        if Faster500 then
        begin
          wait(Random(100) + 20);
          Report;
        end
        else
          wait(2000);
        Report;
      end;
    end;

    function Portal(Name: string): Boolean;
    begin
      case Name of
        'red':
          if (FindBlackChatMessage('south-western')) then
          begin
            Result := True;
            Writeln('Red Portal Shield Down!');
            Exit;
          end
        else
          Result := False;
        'yellow':
          if (FindBlackChatMessage('south-eastern')) then
          begin
            Result := True;
            Writeln('Yellow Portal Shield Down!');
            Exit;
          end
        else
          Result := False;
      end;
    end;


    procedure FreeMem;
    begin
      FreeDTM(step1);
      FreeDTM(step2);
      FreeDTM(step3);
    end;

    begin
      Disguise('P1nky PestController');
      ClearDebug;
      ClearReport;
      Smart_Server := 17;
      Smart_Members := false;
      Smart_Signed := true;
      Smart_SuperDetail := false;
      begin
        if (SRLStats_Username = '') then
          SetupSRLStats(654, 'Anonymous', 'anon1337')
        else
          SetupSRLStats(654, SRLStats_Username, SRLStats_Password);
        SetUpSRL;
        declareplayerz;
        ActivateClient;
        counter := 0;
        ClearDebug;
        LoginPlayer;
        Inc(counter);
        repeat
          begin
            FreeMem;
            NPC;
            Report;
            Plank;
            BoatWait;
            begin
              Spot1;
              Spot2;
              begin
                SpecAttack;
                QPrayer;
              end;
              repeat
                FightPests
              until not (Ingame);
            end;
          end;
          spot2;
        until (false);
       end;
    end.

    I did quick fix on Advance and Novice, idk about Intermediate!

Page 21 of 42 FirstFirst ... 11192021222331 ... 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
  •