Page 1 of 10 123 ... LastLast
Results 1 to 25 of 243

Thread: [AeroLib] HoodzFletcher - Color

  1. #1
    Join Date
    Sep 2012
    Location
    Netherlands
    Posts
    2,752
    Mentioned
    193 Post(s)
    Quoted
    1468 Post(s)

    Default [AeroLib] HoodzFletcher - Color

    HoodzFletcher

    Features:
    • Fast
    • Reliable
    • All logs supported (except normal logs)
    • Strings + cuts
    • longbows only
    • Antiban
    • Stats
    • Auto updater
    • Break handler
    • Does NOT check if you have enough items in bank.



    Requirements
    • AeroLib include
    • Place with a bank chest, i recommend these: Blast furnace, Motherlode mine and Clanwars bank chest
    • Place your knife in your first inventory spot
    • If stringing, manually withdraw 14 the first time
    • Make sure your logs and knife, or longbow(u) and bowstring, are visible at the top of your bank
    • If the script withdraws items that are not correct from your bank, move them down in your bank.
    • In-game Brightness all the way up
    • Fixed game screen (NOT resizable)



    Stats



    Progress reports


    Source code (if updater does NOT work) http://pastebin.com/gktWX9u8
    Attached Files Attached Files
    Last edited by Hoodz; 01-31-2016 at 08:11 PM.

  2. #2
    Join Date
    Nov 2011
    Location
    root@fsociety:~#
    Posts
    106
    Mentioned
    1 Post(s)
    Quoted
    44 Post(s)

    Default

    Hoodz, perfect timing as always! Gratz on release.

    Edit:
    After lvl'ing up (still bow strings and longbow (u)'s left in inventory) it gets stuck and tries to use a stringed bow on a bow string. Maybe you can implement a failsafe for this. Script looks really nice and clean too.
    Home sweet home.

  3. #3
    Join Date
    Oct 2011
    Location
    England
    Posts
    401
    Mentioned
    10 Post(s)
    Quoted
    176 Post(s)

    Default

    Damn mate, you beat me to it! I still have your old fletcher from 3 years ago :P
    (Thank you)
    Yer a wizard, 'oopi

  4. #4
    Join Date
    Dec 2011
    Location
    East Coast, USA
    Posts
    4,231
    Mentioned
    112 Post(s)
    Quoted
    1869 Post(s)

    Default

    Gratz on the release. Are those proggies yours or OSBuddy's? Regardless it'd be super cool if a Simba script could emulate those, they're sexy.
    GitLab projects | Simba 1.4 | Find me on IRC or Discord | ScapeRune scripts | Come play bot ScapeRune!

    <BenLand100> we're just in the transitional phase where society reclassifies guns as Badâ„¢ before everyone gets laser pistols

  5. #5
    Join Date
    Aug 2014
    Posts
    167
    Mentioned
    2 Post(s)
    Quoted
    73 Post(s)

    Default

    Quote Originally Posted by KeepBotting View Post
    Gratz on the release. Are those proggies yours or OSBuddy's? Regardless it'd be super cool if a Simba script could emulate those, they're sexy.
    He uses the script on the OSBuddy client, so the info shows up there. It's an easier way than making your own proggy, but it works just as well.
    Those proggies though, god damn. Sexy stuff, man.

  6. #6
    Join Date
    Dec 2011
    Posts
    52
    Mentioned
    0 Post(s)
    Quoted
    18 Post(s)

    Default

    You are awesome

  7. #7
    Join Date
    Sep 2012
    Location
    Netherlands
    Posts
    2,752
    Mentioned
    193 Post(s)
    Quoted
    1468 Post(s)

    Default

    Quote Originally Posted by Jeroen View Post
    Hoodz, perfect timing as always! Gratz on release.
    Edit:
    After lvl'ing up (still bow strings and longbow (u)'s left in inventory) it gets stuck and tries to use a stringed bow on a bow string. Maybe you can implement a failsafe for this. Script looks really nice and clean too.
    oh ill fix it.
    Quote Originally Posted by anth_ View Post
    Damn mate, you beat me too it! I still have your old fletcher from 3 years ago :P
    (Thank you)
    really? even i dont have that one anymore!
    Quote Originally Posted by KeepBotting View Post
    Gratz on the release. Are those proggies yours or OSBuddy's? Regardless it'd be super cool if a Simba script could emulate those, they're sexy.
    osbuddy, although i added a simple progress report in simba for this version.
    Quote Originally Posted by dutchp0wner View Post
    You are awesome
    thank you

  8. #8
    Join Date
    Oct 2011
    Location
    England
    Posts
    401
    Mentioned
    10 Post(s)
    Quoted
    176 Post(s)

    Default

    Quote Originally Posted by hoodz View Post

    really? even i dont have that one anymore!
    Code:
    program HoodzFletcher;
    {$DEFINE SMART8}
    {$I SRL-OSR/SRL.simba}
    {$I SRL-OSR/SRL/misc/SmartGraphics.simba}
    {$I SRL-OSR/SRL/misc/al_functions.simba}
    {$i SRL-OSR/SRL/misc/MiniReflection.simba}
    {$I SRL-OSR/SRL/core/antirandoms/C_AntiRandoms.simba}
    
    var
      x, y, Count1, LogXp, FinBowDTM, BowUDTM, BowStringDTM, StartXp, FletchTimer, LogDTM, BankTimer, FindBankCounter, KnifeDTM, GainedXp, GainedXpHour, Catched, CatchedHour: Integer;
    
    const
      NICKNAME = '';
      USERNAME = '';
      PASSWORD = '';
      BANKPIN = '';
      TRAININGSKILL = Skill_Fletching;
      WORLD = 20;
      VERSION = '1';
      LOG = 'yew';  {maple, yew}
      MODE = 'cut';  {cut, string}
    
    procedure DeclarePlayers;
    begin
      HowManyPlayers := 1;
      NumberOfPlayers(HowManyPlayers);
      CurrentPlayer := 0;
      with Players[0] do
      begin
        Name := USERNAME;
        Pass := PASSWORD;
        nick := NICKNAME;
        Active := True;
        lampskill := TRAININGSKILL;
      end;
    end;
    
    procedure SetupUpdater;
    var
      NewFile: integer;
      OnlineVersion, NewScript, NewFileName: string;
    begin
      writeln('Checking for script updates...');
      OnlineVersion := GetPage('http://pastebin.com/raw.php?i=8P8LnCXz');
      if (trim(OnlineVersion) > VERSION) then
      begin
        writeLn('Script update available!');
        writeLn('Updating script to v' + OnlineVersion);
        NewScript := GetPage('http://pastebin.com/raw.php?i=NvPQQej9');
        NewFileName := 'C:\Simba\Scripts\' + 'HoodzFletcher.simba';
        NewFile := Rewritefile(NewFileName, true);
        try
          WriteFileString(NewFile, NewScript);
        except
          begin
            writeLn('Fatal error writing to ' + NewFileName + '!!');
            terminatescript;
          end;
        end;
        CloseFile(NewFile);
        writeLn('New script downloaded to ' + NewFileName + '. Please restart Simba.');
        TerminateScript;
      end
      else
        writeLn('You have the latest version of the script!');
    end;
    
    procedure LoadTheDTMs;
    begin
      case LOG of
        'maple':
          begin
            LogXP := 58;
            KnifeDTM := DTMFromString('mlwAAAHicY2dgYHjAzMBwA4gfA/FzIH4ExLeA+DoQOzEyMAQCsSMQmwOxBRC7AbEPEOelpQF1M2LF/Ay4AXYdEAwFAIDWCWQ=');
            LogDTM := DTMFromString('mlwAAAHicY2dgYLjHzMBwA4hfAPEFIH4OxSC2BCMDgwYQS0GxMhCLAbEKEOd58QJ1M2LF/Ay4AXYdEAwFAOY/B+I=');
            BowUDTM := DTMFromString('mggAAAHicY2NgYOBgYWDgBWIhIBYB4r/MDAxsQNqKkYHBBYi9gDgAiM2A2AaIt83sB+pixMD8DNgBpkoIhgAAvT0E5A==');
            BowStringDTM := DTMFromString('mWAAAAHicY2FgYHgJxJ+B+B4Q3wbiYCAOgdKxQNxcHgkkGeFYhAEVMKJhEAAAs7wGXw==');
    {finbow = finished bow, but this dtm is not correct!}      FinBowDTM := DTMFromString('mggAAAHicY2NgYOBgYWDgBWIhIBYB4r/MDAxsQNqKkYHBBYi9gDgAiM2A2AaIt83sB+pixMD8DNgBpkoIhgAAvT0E5A==');
          end;
        'yew':
          begin
            LogXP := 75;
            KnifeDTM := DTMFromString('mlwAAAHicY2dgYHjAzMBwA4gfA/FzIH4ExLeA+DoQOzEyMAQCsSMQmwOxBRC7AbEPEOelpQF1M2LF/Ay4AXYdEAwFAIDWCWQ=');
            LogDTM := DTMFromString('mlwAAAHicY2dgYKhkZGCoAeJWIM4E4hIgbgPiHCCeA5RfAsSzgHgeEC8H4oVAPBOI/W04gCQjVszFgBtg1wHBUAAAzqcIWw==');
            BowUDTM := DTMFromString('mlwAAAHicY2dgYHBlYmCwAWJHIPYEYl8o7QTEj4DyN4D4ARC/AuKPQPwMiG8D8b5lYkCSESvmYsANsOuAYCgAAC0gCcA=');
            BowStringDTM := DTMFromString('mWAAAAHicY2FgYHgJxJ+B+B4Q3wbiYCAOgdKxQNxcHgkkGeFYhAEVMKJhEAAAs7wGXw==');
            FinBowDTM := DTMFromString('mlwAAAHicY2dgYHjGzMDwAog/APFHIH4M5b8C4itA+etA/ACIn0LZd4D4GhCXZfACSUasmJsBN8CuA4KhAABF5g19');
          end;
      end;
      addonterminate('cleartheDTMs');
    end;
    
    procedure ClearTheDTMs;
    begin
      FreeDTM(KnifeDTM);
      FreeDTM(LogDTM);
      FreeDTM(BowUDTM);
      FreeDTM(BowStringDTM);
      FreeDTM(FinBowDTM);
    end;
    
    function IsItemActivated: Boolean;
    var
      i: Integer;
    begin
      for i := 1 to 28 do
      begin
        Result := ItemActivated(i);
        if Result then
          Exit;
      end;
    end;
    
    procedure WriteStatus(Status: string);
    begin
      GainedXp := Round(R_GetSkillExp(Skill_Fletching) - StartXp);
      GainedXpHour := Round((GainedXp) / (GetTimeRunning / 3600000.0));
      Catched := Round(GainedXp / LogXP);
      CatchedHour := Round(Catched / (GetTimeRunning / 3600000.0));
      ClearDebug;
      Writeln('time running: ' + MsToTime(GetTimeRunning, 3));
      Writeln('status: ' + Status);
      Writeln('gained xp: ' + IntToStr(GainedXp));
      Writeln('gained xp/hour: ' + IntToStr(GainedXpHour));
      Writeln('fletched: ' + IntToStr(Catched));
      Writeln('fletched/hour: ' + IntToStr(CatchedHour));
    end;
    
    procedure AntiBan;
    begin
      case random(2800) of
        0..1:
          begin
            Al_hoverSkill(TRAININGSKILL, False);
            Sleep(800 + Random(500));
            Exit;
          end;
        4..10:
          begin
            MakeCompass(180 + Randomrange( - 8, 8));
            Sleep(800 + Random(500));
            Exit;
          end;
        11..26:
          begin
            Al_HumanRandomMouse;
            Sleep(800 + random(500));
            Exit;
          end;
        18:
          begin
            AdjustMouseSpeed(2, 10, 20);
            Sleep(800 + Random(500));
            Exit;
          end;
        19:
          begin
            RandomRClick;
            Sleep(800 + Random(500));
            Exit;
          end;
        20:
          begin
            HoverMovingObject;
            Sleep(800 + Random(500));
            Exit;
          end;
        21..24:
          begin
            MMouseOffClient('top');
            Sleep(800 + Random(500));
            Exit;
          end;
        25:
          begin
            MMouseOffClient('left');
            Sleep(800 + Random(500));
            Exit;
          end;
        26:
          begin
            MMouseOffClient('right');
            Sleep(800 + Random(500));
            Exit;
          end;
        27:
          begin
            MMouseOffClient('bottom');
            Sleep(800 + Random(500));
            Exit;
          end;
      end;
      Exit;
    end;
    
    procedure Banking;
    begin
      MarkTime(BankTimer);
      WriteStatus('banking');
      if (not LoggedIn) then
      begin
      LogInPlayer;
      exit;
      end;
      if (PinScreen) then
      begin
        InPin(BANKPIN);
        Banking;
      end
      else
      begin
        if (not BankScreen) then
          exit;
        if MODE = 'cut' then
        begin
          if FindDTM(BowUDTM, x, y, MIX1, MIY1, MIX2, MIY2) then
          begin
            case random(25) of
              0..22:
                begin
                  Al_MissMouse(Point(x, y), Randomrange( - 10, 10), Randomrange( - 10, 10));
                  Sleep(100 + Random(76));
                  Al_FastClick(Mouse_Right);
                  Sleep(100 + Random(150));
                  Al_ChooseOption('Deposit-All');
                  Sleep(900 + Random(150));
                  Banking;
                  Exit;
                end;
              23..24:
                begin
                  Al_MissMouse(Point(x, y), Randomrange( - 10, 10), Randomrange( - 10, 10));
                  Sleep(100 + Random(76));
                  Al_FastClick(Mouse_Right);
                  Sleep(100 + Random(150));
                  Al_ChooseOption('Deposit-X');
                  Sleep(900 + Random(150));
                  Banking;
                  Exit;
                end;
            end;
          end;
          if (FindDTM(LogDTM, x, y, MSX1, MSY1, MSX2, MSY2)) then
          begin
            case random(35) of
              0..32:
                begin
                  Al_MissMouse(Point(x, y), Randomrange( - 10, 10), Randomrange( - 10, 10));
                  Sleep(100 + Random(76));
                  Al_FastClick(Mouse_Right);
                  Sleep(100 + Random(150));
                  Al_ChooseOption('Withdraw-All');
                  Sleep(100 + Random(150));
                  CloseBank;
                  Sleep(100 + Random(100));
                  Exit;
                end;
              33..34:
                begin
                  Al_MissMouse(Point(x, y), Randomrange( - 10, 10), Randomrange( - 10, 10));
                  Sleep(100 + Random(76));
                  Al_FastClick(Mouse_Right);
                  Sleep(100 + Random(150));
                  Al_ChooseOption('Withdraw-X');
                  Sleep(600 + Random(150));
                  Banking;
                  Sleep(100 + Random(100));
                  Exit;
                end;
            end;
          end
          else
          begin
            WriteStatus('Out of logs, logging off');
            CloseBank;
            Logout;
            TerminateScript;
          end;
        end;
        if MODE = 'string' then
        begin
          QuickDeposit('inv');
          if (FindDTM(BowUDTM, x, y, MSX1, MSY1, MSX2, MSY2)) then
          begin
            case random(35) of
              0..32:
                begin
                  Al_MissMouse(Point(x, y), Randomrange( - 10, 10), Randomrange( - 10, 10));
                  Sleep(100 + Random(76));
                  Al_FastClick(Mouse_Right);
                  Sleep(100 + Random(150));
                  if (not OptionsExist(['Withdraw-14'], False)) then
                  begin
                    Al_ChooseOption('Withdraw-X');
                    Sleep(1000 + Random(1000));
                    TypeSendEx('14', True);
                    Sleep(400 + Random(200));
                  end
                  else
                  begin
                    Al_ChooseOption('Withdraw-14');
                    Sleep(200 + Random(250));
                  end;
                end;
              33..34:
                begin
                  Al_MissMouse(Point(x, y), Randomrange( - 10, 10), Randomrange( - 10, 10));
                  Sleep(100 + Random(76));
                  Al_FastClick(Mouse_Right);
                  Sleep(100 + Random(150));
                  Al_ChooseOption('Withdraw-X');
                  Sleep(600 + Random(150));
                  Al_MissMouse(Point(x, y), Randomrange( - 10, 10), Randomrange( - 10, 10));
                  Sleep(100 + Random(76));
                  Al_FastClick(Mouse_Right);
                  Sleep(100 + Random(150));
                  AL_ChooseOption('Withdraw-14');
                  Sleep(100 + Random(100));
                end;
            end;
            if (FindDTM(BowStringDTM, x, y, MSX1, MSY1, MSX2, MSY2)) then
            begin
              case random(35) of
                0..25:
                  begin
                    Al_MissMouse(Point(x, y), Randomrange( - 7, 8), Randomrange( - 1, 12));
                    Sleep(100 + Random(76));
                    Al_FastClick(Mouse_Right);
                    Sleep(100 + Random(150));
                    Al_ChooseOption('Withdraw-14');
                    Sleep(100 + Random(150));
                    CloseBank;
                    Sleep(500 + Random(100));
                    Exit;
                  end;
                26..34:
                  begin
                    Al_MissMouse(Point(x, y), Randomrange( - 7, 7), Randomrange( - 1, 12));
                    Sleep(100 + Random(76));
                    Al_FastClick(Mouse_Right);
                    Sleep(100 + Random(150));
                    Al_ChooseOption('Withdraw-All');
                    Sleep(300 + Random(150));
                    CloseBank;
                    Sleep(500 + Random(100));
                    Exit;
                  end;
              end;
            end
            else
            begin
              WriteStatus('Out of bow strings, logging off');
              CloseBank;
              LogOut;
              TerminateScript;
            end;
          end
          else
          begin
            WriteStatus('Out of (U) bows, logging off');
            CloseBank;
            LogOut;
            TerminateScript;
          end;
        end;
      end;
      if TimeFromMark(BankTimer) > 20000 then
      begin
        MakeCompass(180 + Randomrange( - 8, 8));
        Exit;
      end;
    end;
    
    function Banker: boolean;
    var
      TPAA: T2DPointArray;
      TPA: TPointArray;
      CTS, I: Integer;
      Mp: TPoint;
      Box: TBox;
    begin
      if (IsItemActivated) then
      begin
        case random(2) of
          0:
            begin
              Al_MouseBoxEx(520, 211, 555, 383, 5, Mouse_Left);
              Sleep(30 + Random(50));
            end;
          1:
            begin
              Al_MouseBoxEx(524, 128, 568, 164, 5, Mouse_Left);
              Sleep(30 + Random(50));
            end;
        end;
        Banker;
      end
      else
      begin
        CTS := GetColorToleranceSpeed;
        ColorToleranceSpeed(2);
        SetColorSpeed2Modifiers(0.02, 0.06);
        FindColorsSpiralTolerance(MSCX, MSCY, TPA, 4743787, 238, 109, 270, 155, 17);
        ColorToleranceSpeed(CTS);
        TPAA := TPAToATPAEx(TPA, 25, 20);
        SortATPASize(TPAA, True);
        for I := 0 to High(TPAA) do
          if GetArraylength(TPAA[i]) > 40 then
          begin
            Result := True;
            MiddleTPAEx(TPAA[i], x, y);
            Mp := MiddleTPA(TPAA[i]);
            Box := IntToBox(Mp.x - 16, Mp.y - 16, Mp.x + 16, Mp.y + 16);
            Al_MissMouse(Point(x, y), RandomRange( - 10, 10), RandomRange( - 10, 10));
            Sleep(120 + Random(50));
            if IsUpText('an') then
            begin
              case random(8) of
                0:
                  begin
                    FindBankCounter := 0;
                    Al_FastClick(Mouse_Right);
                    WriteStatus('banker found!');
                    Sleep(200 + Random(200));
                    Al_Chooseoption('Bank');
                    Sleep(200 + Random(100));
                    Flag;
                    Sleep(500 + Random(30));
                    Banking;
                  end;
                1..7:
                  begin
                    FindBankCounter := 0;
                    Al_FastClick(Mouse_Left);
                    WriteStatus('banker found!');
                    Sleep(1000 + Random(200));
                    Flag;
                    Banking;
                  end;
              end;
            end
            else
            begin
              if (PinScreen) or (BankScreen) then
              begin
                Banking;
              end
              else
              begin
                MakeCompass(180 + Randomrange( - 8, 8));
                Banker;
              end;
            end;
            Exit;
          end
        else
        begin
          MakeCompass(180 + Randomrange( - 6, 6));
          Banker;
        end;
      end;
    end;
    
    procedure RecoverKnife;
    var
      TPAA: T2DPointArray;
      TPA: TPointArray;
      CTS, I: Integer;
      Mp: TPoint;
      Box: TBox;
    begin
      if (IsItemActivated) then
      begin
        case random(2) of
          0:
            begin
              Al_MouseBoxEx(520, 211, 555, 383, 5, Mouse_Left);
              Sleep(30 + Random(50));
            end;
          1:
            begin
              Al_MouseBoxEx(524, 128, 568, 164, 5, Mouse_Left);
              Sleep(30 + Random(50));
            end;
        end;
        RecoverKnife;
      end
      else
      begin
        CTS := GetColorToleranceSpeed;
        ColorToleranceSpeed(2);
        SetColorSpeed2Modifiers(0.02, 0.06);
        FindColorsSpiralTolerance(MSCX, MSCY, TPA, 4743787, 238, 109, 270, 155, 17);
        ColorToleranceSpeed(CTS);
        TPAA := TPAToATPAEx(TPA, 25, 20);
        SortATPASize(TPAA, True);
        for I := 0 to High(TPAA) do
          if GetArraylength(TPAA[i]) > 40 then
          begin
            MiddleTPAEx(TPAA[i], x, y);
            Mp := MiddleTPA(TPAA[i]);
            Box := IntToBox(Mp.x - 16, Mp.y - 16, Mp.x + 16, Mp.y + 16);
            Al_MissMouse(Point(x, y), RandomRange( - 10, 10), RandomRange( - 10, 10));
            Sleep(120 + Random(50));
            if IsUpText('an') then
            begin
              case random(8) of
                0:
                  begin
                    FindBankCounter := 0;
                    Al_FastClick(Mouse_Right);
                    WriteStatus('banker found!');
                    Sleep(200 + Random(200));
                    Al_Chooseoption('Bank');
                    Sleep(200 + Random(100));
                    Flag;
                    Sleep(500 + Random(30));
                    QuickDeposit('inv');
                    Sleep(300 + Random(200));
                    if FindDTM(KnifeDTM, x, y, MSX1, MSY1, MSX2, MSY2) then
                    begin
                      case random(2) of
                        0:
                          begin
                            Al_MissMouse(Point(x, y), Randomrange( - 6, 6), Randomrange( - 6, 6));
                            Sleep(100 + Random(76));
                            Al_FastClick(Mouse_Right);
                            Sleep(100 + Random(150));
                            Al_ChooseOption('Withdraw-1');
                            Sleep(200 + Random(250));
                            Banking;
                            CloseBank;
                            exit;
                          end;
                        1:
                          begin
                            Al_MissMouse(Point(x, y), Randomrange( - 5, 5), Randomrange( - 5, 5));
                            Sleep(100 + Random(76));
                            Al_FastClick(Mouse_Left);
                            Sleep(100 + Random(150));
                            Banking;
                            CloseBank;
                            exit;
                          end;
                      end;
                    end;
                  end;
                1..7:
                  begin
                    FindBankCounter := 0;
                    Al_FastClick(Mouse_Left);
                    WriteStatus('banker found!');
                    Sleep(1000 + Random(200));
                    Flag;
                    QuickDeposit('inv');
                    Sleep(300 + Random(200));
                    if FindDTM(KnifeDTM, x, y, MSX1, MSY1, MSX2, MSY2) then
                    begin
                      case random(2) of
                        0:
                          begin
                            Al_MissMouse(Point(x, y), Randomrange( - 6, 6), Randomrange( - 6, 6));
                            Sleep(100 + Random(76));
                            Al_FastClick(Mouse_Right);
                            Sleep(100 + Random(150));
                            Al_ChooseOption('Withdraw-1');
                            Sleep(200 + Random(250));
                            Banking;
                            CloseBank;
                            exit;
                          end;
                        1:
                          begin
                            Al_MissMouse(Point(x, y), Randomrange( - 5, 5), Randomrange( - 5, 5));
                            Sleep(100 + Random(76));
                            Al_FastClick(Mouse_Left);
                            Sleep(100 + Random(150));
                            Banking;
                            CloseBank;
                            exit;
                          end;
                      end;
                    end;
                  end;
              end;
            end
            else
            begin
              if (PinScreen) or (BankScreen) then
              begin
               QuickDeposit('inv');
               Sleep(200 + Random(200));
                if FindDTM(KnifeDTM, x, y, MSX1, MSY1, MSX2, MSY2) then
                begin
                  case random(2) of
                    0:
                      begin
                        Al_MissMouse(Point(x, y), Randomrange( - 6, 6), Randomrange( - 6, 6));
                        Sleep(100 + Random(76));
                        Al_FastClick(Mouse_Right);
                        Sleep(100 + Random(150));
                        Al_ChooseOption('Withdraw-1');
                        Sleep(200 + Random(250));
                        Banking;
                        CloseBank;
                        exit;
                      end;
                    1:
                      begin
                        Al_MissMouse(Point(x, y), Randomrange( - 5, 5), Randomrange( - 5, 5));
                        Sleep(100 + Random(76));
                        Al_FastClick(Mouse_Left);
                        Sleep(100 + Random(150));
                        Banking;
                        CloseBank;
                        exit;
                      end;
                  end;
                end;
              end
              else
              begin
                MakeCompass(180 + Randomrange( - 8, 8));
                RecoverKnife;
              end;
            end;
            Exit;
          end
        else
        begin
          MakeCompass(180 + Randomrange( - 6, 6));
          RecoverKnife;
        end;
      end;
    end;
    
    function FindLog: Boolean;
    begin
      if (BankScreen) then
      begin
        CloseBank;
        FindLog;
        Exit;
      end
      else
      begin
        if MODE = 'cut' then
        begin
          if FindDTM(LogDTM, x, y, MIX1, MIY1, MIX2, MIY2) then
          begin
            Result := True;
            Al_MissMouse(Point(x, y), Randomrange( - 5, 10), Randomrange( - 10, 10));
            Sleep(120 + Random(50));
            case Random(15) of
              0:
                begin
                  Al_FastClick(Mouse_Right);
                  Sleep(200 + Random(100));
                  Al_ChooseOption('Use');
                end;
              1..14: Al_FastClick(Mouse_Left);
            end;
            Sleep(250 + Random(200));
            if FindDTM(KnifeDTM, x, y, MIX1, MIY1, MIX2, MIY2) then
            begin
              Al_MissMouse(Point(x, y), Randomrange( - 10, 10), Randomrange( - 10, 10));
              Sleep(120 + Random(50));
              case Random(6) of
                0:
                  begin
                    Al_FastClick(Mouse_Right);
                    Sleep(150 + Random(150));
                    Al_ChooseOption('Use');
                  end;
                1..5: Al_FastClick(Mouse_left);
              end;
              WriteStatus('log found!');
              Flag;
              Sleep(200 + Random(90));
              Al_MouseBoxEx(230, 392, 285, 447, Randomrange(- 5, 25), 3);
              Sleep(500 + Random(120));
              MarkTime(FletchTimer);
              if (WaitUpText('ke', 300)) then
              begin
                Al_FastClick(Mouse_Right);
                Sleep(200 + Random(90));
                case random(32) of
                  0..2:
                    begin
                      Al_ChooseOption('Cancel');
                      Sleep(300 + Random(200));
                      Al_MouseBoxEx(230, 392, 285, 447, Randomrange(-5, 15), 3);
                      Al_FastClick(Mouse_Right);
                      Sleep(200 + Random(90));
                      Al_ChooseOption('Make X');
                      Sleep(800 + Random(200));
                      TypeSendEx(IntToStr(Randomrange(28, 99)), True);
                      Sleep(2200 + Random(200));
                      Exit;
                    end;
                  3..31:
                    begin
                      Al_ChooseOption('Make X');
                      Sleep(800 + Random(200));
                      TypeSendEx(IntToStr(Randomrange(28, 99)), True);
                      Sleep(2200 + Random(200));
                      Exit;
                    end;
                end;
              end;
            end
            else
            begin
              RecoverKnife;
              Exit;
            end;
            if (TimeFromMark(FletchTimer) > 3000) then
              Exit;
          end
          else
          begin
            Banker;
            Sleep(100 + Random(100));
            FindLog;
          end;
        end;
      end;
      if MODE = 'string' then
      begin
        if FindDTM(BowStringDTM, x, y, MIX1, MIY1, MIX2, MIY2) then
        begin
          Result := True;
          Al_MissMouse(Point(x, y), Randomrange( - 10, 10), Randomrange( - 10, 10));
          Sleep(120 + Random(50));
          case Random(15) of
            0:
              begin
                Al_FastClick(Mouse_Right);
                Sleep(200 + Random(100));
                WriteStatus('Bowstring found');
                Al_ChooseOption('Use');
              end;
            1..14: Al_FastClick(Mouse_Left);
          end;
          Sleep(250 + Random(200));
          if FindDTM(BowUDTM, x, y, 604, 317, 641, 357) then
          begin
            Al_MissMouse(Point(x, y), Randomrange( - 10, 10), Randomrange( - 10, 10));
            Sleep(120 + Random(50));
            case Random(6) of
              0:
                begin
                  Al_FastClick(Mouse_Right);
                  Sleep(150 + Random(150));
                  Al_ChooseOption('Use');
                end;
              1..5: Al_FastClick(Mouse_left);
            end;
            WriteStatus('Bow (u) found!');
            Smart_ClearCanvas;
            Flag;
            Sleep(200 + Random(90));
            Al_MouseBoxEx(230, 392, 285, 447, Randomrange(-5, 25), 3);
            Sleep(300 + Random(120));
            MarkTime(FletchTimer);
            if (WaitUpText('ke', 300)) then
            begin
              Al_FastClick(Mouse_Right);
              Sleep(200 + Random(90));
              case random(32) of
                0..29:
                  begin
                    Sleep(60 + Random(90));
                    Al_ChooseOption('Make All');
                    Sleep(2200 + Random(200));
                    Exit;
                  end;
                30..31:
                  begin
                    Al_ChooseOption('Make X');
                    Sleep(800 + Random(200));
                    TypeSendEx(IntToStr(Randomrange(28, 99)), True);
                    Sleep(2200 + Random(200));
                    Exit;
                  end;
              end;
            end;
          end;
          if (TimeFromMark(FletchTimer) > 3000) then
            Exit;
        end
        else
        begin
          Banker;
          Sleep(100 + Random(100));
          FindLog;
        end;
      end;
    end;
    
    procedure GoFletching;
    begin
      if MODE = 'cut' then
      begin
        if (not FindDTM(LogDTM, x, y, MIX1, MIY1, MIX2, MIY2)) then
          banker;
          if MODE = 'cut'then
          begin
            if (not FindDTM(KnifeDTM, x, y, MIX1, MIY1, MIX2, MIY2)) then
              RecoverKnife;
              end;
      end;
      if MODE = 'string' then
      begin
        if (not FindDTM(BowUDTM, x, y, MIX1, MIY1, MIX2, MIY2)) or (not FindDTM(BowStringDTM, x, y, MIX1, MIY1, MIX2, MIY2)) then
          banker;
      end;
      if (not IsItemActivated) then
      begin
        FindLog;
      end
      else
      begin
        if MODE = 'cut' then
        begin
          if (FindDTM(LogDTM, x, y, MIX1, MIY1, MIX2, MIY2)) or (FindDTM(KnifeDTM, x, y, MIX1, MIY1, MIX2, MIY2)) then
          begin
            Sleep(100 + Random(200));
            WriteStatus('going to Fletch');
            FindLog;
          end
          else
          begin
            case random(2) of
              0:
                begin
                  Al_MouseBoxEx(520, 211, 555, 383, 5, Mouse_Left);
                  Sleep(30 + Random(50));
                end;
              1:
                begin
                  Al_MouseBoxEx(524, 128, 568, 164, 5, Mouse_Left);
                  Sleep(30 + Random(50));
                end;
            end;
            Banker;
          end;
        end;
        if MODE = 'string' then
        begin
          if (FindDTM(BowUDTM, x, y, MIX1, MIY1, MIX2, MIY2)) and (FindDTM(BowStringDTM, x, y, MIX1, MIY1, MIX2, MIY2)) then
          begin
            Sleep(100 + Random(200));
            WriteStatus('going to Fletch');
            FindLog;
          end
          else
          begin
            case random(2) of
              0:
                begin
                  Al_MouseBoxEx(520, 211, 555, 383, 5, Mouse_Left);
                  Sleep(30 + Random(50));
                end;
              1:
                begin
                  Al_MouseBoxEx(524, 128, 568, 164, 5, Mouse_Left);
                  Sleep(30 + Random(50));
                end;
            end;
            Banker;
          end;
        end;
      end;
    end;
    
    procedure MainLoop;
    begin
      if (not LoggedIn) then
      begin
        LogInPlayer;
        SetAngle(0);
        AL_gametab(tab_inv);
        SetRun(True);
        MakeCompass(180 + Randomrange(-5, 5));
      end;
      if (LoggedIn) then
      begin
        if MODE = 'cut' then
        begin
          if (WaitForAnimation(2050)) and (FindDTM(LogDTM, x, y, MIX1, MIY1, MIX2, MIY2)) then
          begin
            WriteStatus('Fletching (' + LOG + ')');
            Sleep(150 + Random(25));
            AntiBan;
            Exit;
          end
          else
            GoFletching;
        end;
        if MODE = 'string' then
        begin
          if (WaitForAnimation(2050)) and (FindDTM(BowStringDTM, x, y, MIX1, MIY1, MIX2, MIY2)) and (FindDTM(BowUDTM, x, y, MIX1, MIY1, MIX2, MIY2)) then
          begin
            WriteStatus('Fletching (' + LOG + ')');
            Sleep(150 + Random(25));
            AntiBan;
            Exit;
          end
          else
            GoFletching;
        end;
      end;
    end;
    
    begin
      DeclarePlayers;
      Smart_World := WORLD;
      SetupUptext;
      SetupReflection;
      SetupSRL();
      SRL_CombatRandoms := False;
      SetupCustomRandoms;
      LoadTheDTMs;
      ActivateClient;
      ClearDebug;
      WriteStatus('HoodzFletcher, start the gains!');
      repeat
        if Count1 = 0 then
        begin
          Inc(Count1);
          LogInPlayer;
          SetAngle(0);
          Al_GameTab(Tab_Inv);
          StartXp := Round(R_GetSkillExp(TRAININGSKILL));
          Writeln('start xp = ' + IntTostr(StartXp));
          MakeCompass(180 + Randomrange( - 5, 5));
        end
        else
        begin
          MainLoop;
        end;
      until (False)
    end.
    It's from November 2013 :P
    Yer a wizard, 'oopi

  9. #9
    Join Date
    Sep 2012
    Location
    Netherlands
    Posts
    2,752
    Mentioned
    193 Post(s)
    Quoted
    1468 Post(s)

    Default

    Quote Originally Posted by anth_ View Post
    It's from November 2013 :P
    pfft, not my best work..

    another thing, fixed the bug where it tries to add a string to a finished bow ( @Jeroen; ) and added a xp tracker too.

    edit: and some other small changes.

  10. #10
    Join Date
    Oct 2011
    Location
    England
    Posts
    401
    Mentioned
    10 Post(s)
    Quoted
    176 Post(s)

    Default

    Quote Originally Posted by hoodz View Post
    pfft, not my best work..

    another thing, fixed the bug where it tries to add a string to a finished bow ( @Jeroen; ) and added a xp tracker too.

    edit: and some other small changes.
    Wicked mate, I had that problem

    Thanks!
    Yer a wizard, 'oopi

  11. #11
    Join Date
    Sep 2012
    Location
    Netherlands
    Posts
    2,752
    Mentioned
    193 Post(s)
    Quoted
    1468 Post(s)

    Default

    Quote Originally Posted by anth_ View Post
    Wicked mate, I had that problem

    Thanks!
    let me know if it works, could only afford 200 logs to test it.

  12. #12
    Join Date
    Dec 2011
    Posts
    52
    Mentioned
    0 Post(s)
    Quoted
    18 Post(s)

    Default

    I changed line 287 of version 2: customMouse(point(260 + random(-22, 22), 400 + random(-17, 30)));
    to customMouse(point(360 + random(-22, 22), 400 + random(-17, 30)));, so it will always make long bows. When it was 260 it made sometimes shortbows which made the script crash because it doesnt recognise short bows.

  13. #13
    Join Date
    Sep 2012
    Location
    Netherlands
    Posts
    2,752
    Mentioned
    193 Post(s)
    Quoted
    1468 Post(s)

    Default

    Quote Originally Posted by dutchp0wner View Post
    I changed line 287 of version 2: customMouse(point(260 + random(-22, 22), 400 + random(-17, 30)));
    to customMouse(point(360 + random(-22, 22), 400 + random(-17, 30)));, so it will always make long bows. When it was 260 it made sometimes shortbows which made the script crash because it doesnt recognise short bows.
    oh good one! i only cut the logs so didnt know this

  14. #14
    Join Date
    Oct 2011
    Location
    England
    Posts
    401
    Mentioned
    10 Post(s)
    Quoted
    176 Post(s)

    Default

    Quote Originally Posted by hoodz View Post
    let me know if it works, could only afford 200 logs to test it.
    Yeah man, it's brilliant I've strung about 20-30k bows so far!
    Yer a wizard, 'oopi

  15. #15
    Join Date
    Jun 2007
    Posts
    310
    Mentioned
    0 Post(s)
    Quoted
    84 Post(s)

    Default

    Thank you very much, will test. looking through it now

  16. #16
    Join Date
    Oct 2011
    Location
    England
    Posts
    401
    Mentioned
    10 Post(s)
    Quoted
    176 Post(s)

    Default

    Hoodz,

    It keeps on running when you've run out of materials. Otherwise it's excellent; I'm running it on 3 accounts.

    Just a heads up
    Yer a wizard, 'oopi

  17. #17
    Join Date
    Jun 2007
    Posts
    310
    Mentioned
    0 Post(s)
    Quoted
    84 Post(s)

    Default

    works great. accidentally deleted a two hour prog will post another when i get it. Lacks a few failsafes as someone pointed out

  18. #18
    Join Date
    Sep 2012
    Location
    Netherlands
    Posts
    2,752
    Mentioned
    193 Post(s)
    Quoted
    1468 Post(s)

    Default

    Quote Originally Posted by anth_ View Post
    Hoodz,

    It keeps on running when you've run out of materials. Otherwise it's excellent; I'm running it on 3 accounts.

    Just a heads up
    aware of it, added a note at OP
    Quote Originally Posted by lolskilla View Post
    works great. accidentally deleted a two hour prog will post another when i get it. Lacks a few failsafes as someone pointed out
    like what?

  19. #19
    Join Date
    Jun 2007
    Posts
    310
    Mentioned
    0 Post(s)
    Quoted
    84 Post(s)

    Default

    Quote Originally Posted by hoodz View Post
    aware of it, added a note at OP

    like what?
    pmed ya

  20. #20
    Join Date
    Jun 2015
    Posts
    5
    Mentioned
    0 Post(s)
    Quoted
    4 Post(s)

    Default

    When doing magic logs it makes shortbows instead of longbows
    Am i the only one with this problem?
    Last edited by pogoria; 07-06-2015 at 06:15 PM.

  21. #21
    Join Date
    Jun 2015
    Posts
    10
    Mentioned
    0 Post(s)
    Quoted
    6 Post(s)

    Default

    I log in and it logs in fine, but once it's is logged in it does not do anything for me. just sits.

  22. #22
    Join Date
    Sep 2012
    Location
    Netherlands
    Posts
    2,752
    Mentioned
    193 Post(s)
    Quoted
    1468 Post(s)

    Default

    Quote Originally Posted by pogoria View Post
    When doing magic logs it makes shortbows instead of longbows
    Am i the only one with this problem?
    ill fix it
    Quote Originally Posted by sinnerog View Post
    I log in and it logs in fine, but once it's is logged in it does not do anything for me. just sits.
    more information please.

  23. #23
    Join Date
    Oct 2011
    Location
    England
    Posts
    401
    Mentioned
    10 Post(s)
    Quoted
    176 Post(s)

    Default

    Hoodz,

    Is there any chance you could implement a failsafe to check if it's out of materials? If you're stocked up it's okay but if not then it looks really ban-able!

    Thanks
    Yer a wizard, 'oopi

  24. #24
    Join Date
    Jun 2015
    Posts
    10
    Mentioned
    0 Post(s)
    Quoted
    6 Post(s)

    Default

    Quote Originally Posted by hoodz View Post
    ill fix it

    more information please.
    I don't understand how to explain it further. I start the script. It logs in with my information. Once logged in near the Clan Wars bank chest, the camera pans up a little bit and then the bot just sits there and doesn't do anything. It doesn't attempt to click the bank or anything. The script doesn't finish executing on Simba, it continues executing, it just isn't doing anything.

    edit: Oh, btw, I'm trying to cut yew logs. I start the script with the knife in my inventory.
    Last edited by sinnerog; 07-06-2015 at 11:17 PM.

  25. #25
    Join Date
    Sep 2012
    Location
    Netherlands
    Posts
    2,752
    Mentioned
    193 Post(s)
    Quoted
    1468 Post(s)

    Default

    Quote Originally Posted by sinnerog View Post
    I don't understand how to explain it further. I start the script. It logs in with my information. Once logged in near the Clan Wars bank chest, the camera pans up a little bit and then the bot just sits there and doesn't do anything. It doesn't attempt to click the bank or anything. The script doesn't finish executing on Simba, it continues executing, it just isn't doing anything.

    edit: Oh, btw, I'm trying to cut yew logs. I start the script with the knife in my inventory.
    use another bankchest (check OP) and make sure your brightness is all the way up.

Page 1 of 10 123 ... LastLast

Thread Information

Users Browsing this Thread

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

Tags for this Thread

Posting Permissions

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