Results 1 to 6 of 6

Thread: Need some testers

  1. #1
    Join Date
    Sep 2010
    Posts
    5,762
    Mentioned
    136 Post(s)
    Quoted
    2739 Post(s)

    Default Need some testers

    Currently working on fletcher for project 2007. Need some testers for the script.

    So far it shafts normal logs, start at draynor

    Simba Code:
    {$I SRL/SRL.Simba}
    {$I SRL/SRL/Misc/Debug.Simba}
    {$I P07Include.Simba}
    var
      DsgnForm:TForm;
      TLabel0,TLabel1,TLabel2,TLabel3,TLabel4,TLabel5: TLabel;
      InfoLabel,ObjectLabel,AreaLabel,FletchLabel,FailsafeLabel,OtherLabel: TLabel;
      SpeedLabel:TLabel;
      Username,Password: TEdit;
      LogCombo,CompassCombo,ObjectCombo,FailsafeCombo,SpeedCombo: TComboBox;
      MethodCombo:TComboBox;
      StartButton,UpdateButton: TButton;
      DTM_Fail,Col_Fail_1,Col_Fail_2,DTM_Log,Col_Count_1,Col_Count_2:Integer;
      ClickMethod,BankUptext_1,BankUptext_2,BankUptext_3:String;
      BankCol_1,BankTol_1,CompassDegree,MouseSpeed_Fix:Integer;
      BankHue_1,BankSat_1:Extended;
      BankCol_2,BankTol_2:Integer;
      BankHue_2,BankSat_2:Extended;
      X,Y:Integer;
      Method,Make:String;
      DX1,DY1,DX2,DY2:Integer;
      MakeLabel:Tlabel;
      MakeCombo:TComboBox;
      DTM_Make,Knife:Integer;
    const
      default = 'Times New Roman';
    Procedure FreeTheDTMs;
    Begin
      FreeDTM(DTM_Fail);
      FreeDTM(DTM_Log);
      FreeDTM(Knife);
    End;
    Procedure BrakeWindMouse(xs, ys, xe, ye, gravity, wind, minWait, maxWait, targetArea: extended);
    var
      veloX,veloY,windX,windY,veloMag,dist,randomDist,lastDist,D: extended;
      lastX,lastY,MSP,W,TDist,T: integer;
      sqrt2,sqrt3,sqrt5,PDist,maxStep: extended;
    begin
      MSP  := MouseSpeed;
      sqrt2:= sqrt(2);
      sqrt3:= sqrt(3);
      sqrt5:= sqrt(5);

      TDist := Distance(Round(xs), Round(ys), Round(xe), Round(ye));
      if (TDist < 1) then
        TDist := 1;
      MarkTime(T);
      repeat
        if (TimeFromMark(T)>5000) then
          break;

        dist:= hypot(xs - xe, ys - ye);
        wind:= minE(wind, dist);
        if (dist < 1) then
          dist := 1;
        PDist := (dist/TDist);
        if (PDist < 0.01) then
          PDist := 0.01;
        if (PDist >= 0.15) then
        begin
          D := (Round((Round(dist)*0.3))/5);
          if (D < 20) then
            D := 20;
        end else if (PDist < 0.15) then
        begin
          if ((PDist <= 0.15) and (PDist >= 0.10)) then
            D := RandomRange(8, 13)
          else if (PDist < 0.10) then
            D := RandomRange(4, 7);
        end;

        if (D <= Round(dist)) then
          maxStep := D
        else
          maxStep := Round(dist);

        if dist >= targetArea then
        begin
          windX:= windX / sqrt3 + (random(round(wind) * 2 + 1) - wind) / sqrt5;
          windY:= windY / sqrt3 + (random(round(wind) * 2 + 1) - wind) / sqrt5;
        end else
        begin
          windX:= windX / sqrt2;
          windY:= windY / sqrt2;
        end;

        veloX:= veloX + windX;
        veloY:= veloY + windY;
        veloX:= veloX + gravity * (xe - xs) / dist;
        veloY:= veloY + gravity * (ye - ys) / dist;

        if (hypot(veloX, veloY) > maxStep) then
        begin
          randomDist:= maxStep / 2.0 + random(round(maxStep) div 2);
          veloMag:= sqrt(veloX * veloX + veloY * veloY);
          veloX:= (veloX / veloMag) * randomDist;
          veloY:= (veloY / veloMag) * randomDist;
        end;

        lastX:= Round(xs);
        lastY:= Round(ys);
        xs:= xs + veloX;
        ys:= ys + veloY;

        if (lastX <> Round(xs)) or (lastY <> Round(ys)) then
          MoveMouse(Round(xs), Round(ys));

        W := (Random((Round(100/MSP)))*6);
        if (W < 5) then
          W := 5;
        W := Round(W*1.2);
        wait(W);
        lastdist:= dist;
      until(hypot(xs - xe, ys - ye) < 1)

      if (Round(xe) <> Round(xs)) or (Round(ye) <> Round(ys)) then
        MMouse(Round(xe), Round(ye), 0, 0);

      MouseSpeed := MSP;
    end;
    Procedure BrakeMMouse(eX, eY, ranX, ranY: Integer);
      var
        randSpeed: extended;
        X,Y,MS: integer;
      begin
        MS := MouseSpeed;
        randSpeed := (random(MouseSpeed) / 2.0 + MouseSpeed) / 10.0;
        GetMousePos(X, Y);
        BrakeWindMouse(X, Y, RandomRange(eX-ranX, eX+ranX), RandomRange(eY-ranY,eY+ranY), 8, 5, 10.0 / randSpeed, 15.0 / randSpeed, 10.0 * randSpeed);
        MouseSpeed := MS;
      end;
    Procedure SuperWindMouse(xs, ys, xe, ye, gravity, wind, minWait, maxWait, maxStep, targetArea: extended);
    Var
      veloX,veloY,windX,windY,veloMag,dist,randomDist,lastDist,step: extended;
      lastX,lastY,MSP,W: integer;
      sqrt2,sqrt3,sqrt5: extended;
    Begin
      MSP  := MouseSpeed;
      sqrt2:= sqrt(2);
      sqrt3:= sqrt(3);
      sqrt5:= sqrt(5);
      While hypot(xs - xe, ys - ye) > 1 Do
      Begin
        dist:= hypot(xs - xe, ys - ye);
        wind:= minE(wind, dist);
        If dist >= targetArea Then
        Begin
          windX:= windX / sqrt3 + (random(round(wind) * 2 + 1) - wind) / sqrt5;
          windY:= windY / sqrt3 + (random(round(wind) * 2 + 1) - wind) / sqrt5;
        End Else
        Begin
          windX:= windX / sqrt2;
          windY:= windY / sqrt2;
          If (maxStep < 3) Then
          Begin
            maxStep:= random(3) + 3.0;
          End Else
          Begin
            maxStep:= maxStep / sqrt5;
          End;
        End;
        veloX:= veloX + windX;
        veloY:= veloY + windY;
        veloX:= veloX + gravity * (xe - xs) / dist;
        veloY:= veloY + gravity * (ye - ys) / dist;
        if hypot(veloX, veloY) > maxStep then
        Begin
          randomDist:= maxStep / 2.0 + random(round(maxStep) div 2);
          veloMag:= sqrt(veloX * veloX + veloY * veloY);
          veloX:= (veloX / veloMag) * randomDist;
          veloY:= (veloY / veloMag) * randomDist;
        End;
        lastX:= Round(xs);
        lastY:= Round(ys);
        xs:= xs + veloX;
        ys:= ys + veloY;

        Case Random(50) Of
          1..25: W := (MSP + (Random((MSP/4))));
          26..50: W := (MSP - (RandomRange((MSP/2), MSP-1)));
        End;
        If (W < 1) Then
          W := 1;

        If (lastX <> Round(xs)) Or (lastY <> Round(ys)) Then
          MoveMouse(Round(xs), Round(ys));

        step:= hypot(xs - lastX, ys - lastY);
        wait(W);
        lastdist:= dist;
      end;

      If (Round(xe) <> Round(xs)) or (Round(ye) <> Round(ys)) Then
        MoveMouse(Round(xe), Round(ye));

      MouseSpeed := MSP;
    End;

    Procedure HumanMMouse(eX, eY, ranX, ranY: Integer);
    Var
      randSpeed: extended;
      X,Y,X2,Y2,j,Dist,MP: integer;
    Begin
      j := MouseSpeed;
      GetMousePos(X, Y);
      Dist := Distance(X, Y, eX, eY);
      MP := Round(Dist/150);
      If MP < 0 Then
        MP := 1;

      randSpeed := (random(MouseSpeed) / 2.0 + MouseSpeed) / 10.0;
      X2 := RandomRange(eX-(j*MP), eX+(j*MP));
      Y2 := RandomRange(eY-(j*MP), eY+(j*MP));
    SuperWindMouse(X, Y, X2, Y2, 11, 8, 10.0 / randSpeed, 12.0 / randSpeed, 10.0 * randSpeed, 10.0 * randSpeed);
      GetMousePos(X, Y);
      MMouse(eX, eY, ranX, ranY);
      MouseSpeed := j;
    End;
    Procedure HumanMoveSlowOff;
    Begin
      case random(200) of
        1..160:   BrakeMMouse(RandomRange(X - 8, X + 8), RandomRange(y - 8, y + 8), 0, 0);
        161..190: BrakeMMouse(RandomRange(X - 10, X + 10), RandomRange(y - 10, y + 10), 0, 0);
        191..200: BrakeMMouse(RandomRange(X - 12, X + 12), RandomRange(y - 12, y + 12), 0, 0);
      End;
    End;
    Procedure HumanMoveOff;
    Begin
      case random(200) of
        1..160:   HumanMMouse(RandomRange(X - 8, X + 8), RandomRange(y - 8, y + 8), 0, 0);
        161..190: HumanMMouse(RandomRange(X - 10, X + 10), RandomRange(y - 10, y + 10), 0, 0);
        191..200: HumanMMouse(RandomRange(X - 12, X + 12), RandomRange(y - 12, y + 12), 0, 0);
      End;
    End;
    Procedure HumanMoveSlow;
    Begin
      case random(200) of
        1..160:   BrakeMMouse(RandomRange(X - 6, X + 6), RandomRange(y - 5, y + 5), 0, 0);
        161..190: BrakeMMouse(RandomRange(X - 8, X + 8), RandomRange(y - 7, y + 7), 0, 0);
        191..200: BrakeMMouse(RandomRange(X - 10, X + 10), RandomRange(y - 10, y + 10), 0, 0);
      End;
    End;
    Procedure HumanMove;
    Begin
      case random(200) of
        1..160:   HumanMMouse(RandomRange(X - 5, X + 5), RandomRange(y - 5, y + 5), 0, 0);
        161..190: HumanMMouse(RandomRange(X - 7, X + 7), RandomRange(y - 7, y + 7), 0, 0);
        191..200: HumanMMouse(RandomRange(X - 10, X + 10), RandomRange(y - 10, y + 10), 0, 0);
      End;
    End;
    Procedure SlowWait;
    Begin
      case random(1000) of
        1..860:    Wait(RandomRange(500, 800));
        861..975:  Wait(RandomRange(600, 900));
        976..1000: Wait(RandomRange(700, 1500));
      End;
    End;
    Procedure FastWait;
    Begin
      case random(1000) of
        1..860:    Wait(RandomRange(200, 400));
        861..975:  Wait(RandomRange(300, 600));
        976..1000: Wait(RandomRange(100, 800));
      End;
    End;
    Procedure RandomBankWait;
    Begin
      case random(1000) of
        1..700:    Wait(RandomRange(300, 1000));
        701..900:  Wait(RandomRange(400, 1500));
        901..1000: Wait(RandomRange(500, 3000));
      End;
    End;
    Procedure RandomChooseWait;
    Begin
      case random(1000) of
        1..860:    Wait(RandomRange(200, 450));
        861..975:  Wait(RandomRange(300, 550));
        976..1000: Wait(RandomRange(400, 1000));
      End;
    End;
    Procedure RandomRightClick;
    Begin
      case random(150) of
        1: clickmouse2(mouse_Right);
      End;
    End;
    Procedure RandomLeftClick;
    Begin
      case random(150) of
        1: clickmouse2(mouse_Left);
      End;
    End;
    Procedure RandomMouseOff;
    Begin
      case random(101) of
        1..95:  HumanMoveOff;
        96..101: HumanMoveSlowOff;
      End;
    End;
    Procedure RandomMouse;
    Begin
      case random(101) of
        1..95:  HumanMove;
        96..101: HumanMoveSlow;
      End;
    End;
    Function P07_ChooseOptionMultiHuman(Text: TStringArray): Boolean;
    Var
      WhiteBoxT,BlueBoxT,YellowBoxT,OrangeBoxT,FoundText: String;
      OptionTB:TBox;
      OptionBoxTPA1: TPointArray;
      NumberOfOptions,C,X,Y: Integer;
    Begin
      FindColors(OptionBoxTPA1, 4674653, P07_MSX1, P07_MSY1, P07_ClientWidth-1, P07_ClientHeight-1);
      OptionTB:=getTPABounds(OptionBoxTPA1);
      If (Length(OptionBoxTPA1) < 10) Then
      Begin
        Result:=False;
        Exit;
      End;
      NumberOfOptions:=((OptionTB.Y2-2) - (OptionTB.Y1+21)) / 14;
      For C:=0 To (NumberOfOptions-1) Do
      Begin
        If (OptionTB.Y1+21+(C*15)) > OptionTB.Y1+21+((C+1)*14) Then
        Begin
          Result:=False;
          Break;
        End;
        WhiteBoxT:=GetTextAtExWrap(OptionTB.X1+2, OptionTB.Y1+21+(C*15), OptionTB.X2-2, OptionTB.Y1+21+((C+1)*14), 0, 5, 1, 16777215, 5, 'P07UpChars');
        BlueBoxT:=GetTextAtExWrap(OptionTB.X1+2, OptionTB.Y1+21+(C*15), OptionTB.X2-2, OptionTB.Y1+21+((C+1)*14), 0, 5, 1, 16776960, 5, 'P07UpChars');
        YellowBoxT:=GetTextAtExWrap(OptionTB.X1+2, OptionTB.Y1+21+(C*15), OptionTB.X2-2, OptionTB.Y1+21+((C+1)*14), 0, 5, 1, 65535, 5, 'P07UpChars');
        OrangeBoxT:=GetTextAtExWrap(OptionTB.X1+2, OptionTB.Y1+21+(C*15), OptionTB.X2-2, OptionTB.Y1+21+((C+1)*14), 0, 5, 1, 4231423, 5, 'P07UpChars');
        FoundText:=WhiteBoxT+' '+BlueBoxT+YellowBoxT+OrangeBoxT;
        If (P07_ContainsText(FoundText,Text)) Then
        Begin
          HumanMMouse(RandomRange(OptionTB.X1+2,OptionTB.X2-2),RandomRange(OptionTB.Y1+21+(C*14),OptionTB.Y1+21+((C+1)*14)),0,0);
          ClickMouse2(mouse_left);
          Result:=True;
          Exit;
        End;
      End;
      GetMousePos(X,Y);
      If Y > 21 Then
        HumanMMouse(RandomRange(OptionTB.X1+2,OptionTB.X2-2),RandomRange(Y-10,Y-20),0,0)
      Else
        HumanMMouse(RandomRange(5,535),RandomRange(350,490),0,0);
      Result:=False;
    End;
    function Bank: Boolean;
    var
      i, CTS, c, Timeout: Integer;
      TPA, TPA1, TPA2: TPointArray;
      ATPA: T2DPointArray;
      P: TPoint;
    begin
      Result := False;
      CTS := GetColorToleranceSpeed;
      ColorToleranceSpeed(2);
      Timeout := 5000 + Random(1000);
      SetColorSpeed2Modifiers(BankHue_1, BankSat_1);
      FindColorsTolerance(TPA1, BankCol_1, MSX1, MSY1, MSX2, MSY2, BankTol_1);
      SetColorSpeed2Modifiers(BankHue_2, BankSat_2);
      FindColorsTolerance(TPA2, BankCol_2, MSX1, MSY1, MSX2, MSY2, BankTol_2);
      SetColorSpeed2Modifiers(0.2, 0.2);
      ColorToleranceSpeed(CTS);
      CombineTPAWrap(TPA1, TPA2, TPA);
      SplitTPAWrap(TPA, 5, ATPA);
      SortATPASize(ATPA, True);
      if Length(TPA) < 1 then
        Exit;
      for i := 0 to High(ATPA) do
        if Length(ATPA[i]) > 30 then
        begin
          P := MiddleTPA(ATPA[i]);
          HumanMMouse(P.X, P.Y, RandomRange( - 5, 5), RandomRange( - 5, 5));
          if (P07_IsUpTextMultiCustom(['Use', 'Bank', 'ooth'])) then
          begin
            case LowerCase(ClickMethod) of
              'booth':
                Begin
                  RandomLeftClick;
                  clickmouse2(mouse_Right);
                  RandomChooseWait;
                  P07_ChooseOptionMultiHuman(['Use-q']);
                  RandomBankWait;
                  If Not P07_BankScreen Then
                  Begin
                    Bank;
                  End;
                 Exit;
                End;
              'chest':
                Begin
                  RandomRightClick;
                  clickmouse2(mouse_Left);
                  Wait(RandomRange(100, 700));
                  RandomBankWait;
                  If Not P07_BankScreen Then
                  Begin
                    Bank;
                  End;
                 Exit;
                End;
            End;
            Exit;
        End;
      End;
    End;
    function HasLogs(): boolean;
    var
       X, Y: Integer;
    begin
      Result := false;
       if FindDTM(DTM_Log, x, y, 549, 202, 741, 467) then
      begin
        Result := true;
      end;
    end;
    Procedure LoadDTMS;
    Begin
      Knife := DTMFromString('mQwAAAHicY2ZgYHBiYmBwA2JbIH4K5N8B4ldAnJ+ezlCUlcUQasnBIAjkwzAjEgYCAB5EBsk=');
    End;
    Procedure ChooseMethod;
    Var
      RandIHigh,RandILow:Integer;
      HighR,LowR:String;
    Begin
      case LowerCase(Make) of
        'arrows':
         Begin
          if FindDTM(DTM_Make, x, y, 17, 364, 134, 456) then
            Begin
              RandomMouseOff;
              clickmouse2(mouse_Right);
              RandomChooseWait;
              P07_ChooseOptionMultiHuman(['ake x','Make X']);
              SlowWait;
              RandIHigh := RandomRange(347,84372)
              RandILow := RandomRange(28,100)
              HighR := IntToStr(RandIHigh)
              LowR := IntToStr(RandILow)
                case random(100) of
                  1:       TypeSend(''+HighR+'');
                  2:       TypeSend(''+LowR);
                  3..98:   TypeSend('27');
                  99..100: TypeSend('54');
                End;
              End;
            End;
        'shorts':
         Begin
         if FindDTM(DTM_Make, x, y, 151, 373, 235, 454) then
            Begin
              RandomMouseOff;
              clickmouse2(mouse_Right);
              RandomChooseWait;
              P07_ChooseOptionMultiHuman(['ake x','Make']);
              SlowWait;
              RandIHigh := RandomRange(347,84372)
              RandILow := RandomRange(28,100)
              HighR := IntToStr(RandIHigh)
              LowR := IntToStr(RandILow)
                case random(100) of
                  1:       TypeSend(''+HighR+'');
                  2:       TypeSend(''+LowR);
                  3..98:   TypeSend('27');
                  99..100: TypeSend('54');
                End;
              End;
            End;
         'longs':
         Begin
           if FindDTM(DTM_Make, x, y, 274, 372, 352, 455) then
            Begin
              RandomMouseOff;
              clickmouse2(mouse_Right);
              RandomChooseWait;
              P07_ChooseOptionMultiHuman(['ake x','Make']);
              SlowWait;
              RandIHigh := RandomRange(347,84372)
              RandILow := RandomRange(28,100)
              HighR := IntToStr(RandIHigh)
              LowR := IntToStr(RandILow)
                case random(100) of
                  1:       TypeSend(''+HighR+'');
                  2:       TypeSend(''+LowR);
                  3..98:   TypeSend('27');
                  99..100: TypeSend('54');
                End;
              End;
            End;
         End;
      End;
    Procedure RandomFletch;
    Begin
      case random(50) of
        1..3:
        Begin
          if FindDTM(DTM_Log, X, Y, 549, 202, 741, 467) then
          Begin
            RandomMouse;
            FastWait;
            clickmouse2(mouse_Left);
            FastWait;
            if FindDTM(Knife, X, Y, 549, 202, 741, 467) then
            Begin
              RandomMouse;
              FastWait;
              clickmouse2(mouse_Left);
              FastWait;
            End;
          End;
        End;
        4..50:
        Begin
          if FindDTM(Knife, X, Y, P07_MIX1, P07_MIY1, P07_MIX2, P07_MIY2) then
          Begin
            RandomMouse;
            FastWait;
            clickmouse2(mouse_Left);
            FastWait;
            if FindDTM(DTM_Log, x, y, P07_MIX1, P07_MIY1, P07_MIX2, P07_MIY2) then
            Begin
              RandomMouse;
              FastWait;
              clickmouse2(mouse_Left);
              FastWait;
            End;
          End;
        End;
      End;
    End;
    Procedure ConductBot;
    Var
      TimeOut:Integer;
    begin
      case LowerCase(Method) of
        'shaft':
         Begin
           RandomFletch;
           FastWait;
           ChooseMethod;
           RandomBankWait;
           Wait(RandomRange(500, 2000));
           if FindDTM(DTM_Log, x, y, 557, 206, 684, 249) then
            Begin
              ConductBot;
              Exit;
            End;
            MarkTime(TimeOut)
            Repeat
           RandomBankWait;
           Until Not HasLogs or (TimeFromMark(TimeOut) > 90000)
           Bank;
         End;
        'fletch':
         Begin
         End;
         'string':
         Begin
         End;
      End;
    End;
    procedure SetSpeed;
    begin
      case CompassCombo.ITEMINDEX of
        0:
        Begin
          Writeln('Fletching Speed:Slow');
          MouseSpeed_Fix := RandomRange(12,14);
        End;
        1:
        Begin
          Writeln('Fletching Speed:Medium');
          MouseSpeed_Fix := RandomRange(15,16);
        End;
        2:
        Begin
          Writeln('Fletching Speed:Fast');
          MouseSpeed_Fix := RandomRange(17,20);
        End;
      End;
    End;
    procedure SetFailSafeArea;
    begin
      case FailSafeCombo.ITEMINDEX of
        0:
        Begin
          Writeln('and failsafing at Lumberidge Bank');
          DTM_Fail := DTMFromString('');
          Col_Fail_1 := 0;
          Col_Fail_2 := 0;
          Col_Count_1 := 0;
          Col_Count_2 := 0;
        End;
        1:
        Begin
          Writeln('and failsafing at Lumberidge Cellar');
          DTM_Fail := DTMFromString('');
          Col_Fail_1 := 0;
          Col_Fail_2 := 0;
          Col_Count_1 := 0;
          Col_Count_2 := 0;
        End;
        2:
        Begin
          Writeln('and failsafing at Draynor Bank');
          DTM_Fail := DTMFromString('');
          Col_Fail_1 := 0;
          Col_Fail_2 := 0;
          Col_Count_1 := 0;
          Col_Count_2 := 0;
        End;
        3:
        Begin
          Writeln('and failsafing at Varrock East Bank');
          DTM_Fail := DTMFromString('');
          Col_Fail_1 := 0;
          Col_Fail_2 := 0;
          Col_Count_1 := 0;
          Col_Count_2 := 0;
        End;
        4:
        Begin
          Writeln('and failsafing at Varrock West Bank');
          DTM_Fail := DTMFromString('');
          Col_Fail_1 := 0;
          Col_Fail_2 := 0;
          Col_Count_1 := 0;
          Col_Count_2 := 0;
        End;
        5:
        Begin
          Writeln('and failsafing at Edgeville Bank');
          DTM_Fail := DTMFromString('');
          Col_Fail_1 := 0;
          Col_Fail_2 := 0;
          Col_Count_1 := 0;
          Col_Count_2 := 0;
        End;
        6:
        Begin
          Writeln('and failsafing at Duel Arena');
          DTM_Fail := DTMFromString('');
          Col_Fail_1 := 0;
          Col_Fail_2 := 0;
          Col_Count_1 := 0;
          Col_Count_2 := 0;
        End;
        7:
        Begin
          Writeln('and failsafing at Castle Wars');
          DTM_Fail := DTMFromString('');
          Col_Fail_1 := 0;
          Col_Fail_2 := 0;
          Col_Count_1 := 0;
          Col_Count_2 := 0;
        End;
        8:
        Begin
          Writeln('and failsafing at Falador East');
          DTM_Fail := DTMFromString('');
          Col_Fail_1 := 0;
          Col_Fail_2 := 0;
          Col_Count_1 := 0;
          Col_Count_2 := 0;
        End;
        9:
        Begin
          Writeln('and failsafing at Falador West');
          DTM_Fail := DTMFromString('');
          Col_Fail_1 := 0;
          Col_Fail_2 := 0;
          Col_Count_1 := 0;
          Col_Count_2 := 0;
        End;
        10:
        Begin
          Writeln('and failsafing at Catherby Bank');
          DTM_Fail := DTMFromString('');
          Col_Fail_1 := 0;
          Col_Fail_2 := 0;
          Col_Count_1 := 0;
          Col_Count_2 := 0;
        End;
        11:
        Begin
          Writeln('and failsafing at Seers Village Bank');
          DTM_Fail := DTMFromString('');
          Col_Fail_1 := 0;
          Col_Fail_2 := 0;
          Col_Count_1 := 0;
          Col_Count_2 := 0;
        End;
        12:
        Begin
          Writeln('and failsafing at Nowere');
          DTM_Fail := DTMFromString('');
          Col_Fail_1 := 0;
          Col_Fail_2 := 0;
          Col_Count_1 := 0;
          Col_Count_2 := 0;
        End;
      End;
    End;
    procedure SetMake;
    begin
      case MakeCombo.ITEMINDEX of
        0:
        Begin
          Writeln('We are going to Shaft');
          Make := 'Arrows';
          DTM_Make := DTMFromString('mWAAAAHicY2FgYAgEYkcgjgfiCCCewMjAsByIVwJxAxCHGHEwbFrcwrBtRSuYLQJUg4wZ0TAIAADeogje');
        End;
        1:
        Begin
          Writeln('We are going to Fletch short bows');
          Make := 'Shorts';
          DTM_Make := DTMFromString('mWAAAAHicY2FgYDgDxAeB+AoQ3wTiGYwMDMuBeBkQtwFxtjsvw+ldUxnO7J7FEGfPwSACVIOMGdEwCAAAnI8LoQ==');
        End;
        2:
        Begin
          Writeln('We are going to fletch LongBows');
          Make := 'Longs';
          DTM_Make := DTMFromString('mQwAAAHicY2ZgYLBlZGDwZITQ04F4ChC3AfGFvbMZrNQZGEIsORgkgepgmBEJAwEA9tkF6g==');
        End;
      End;
    End;
    procedure SetCompass;
    begin
      case CompassCombo.ITEMINDEX of
        0:
        Begin
          Writeln('facing North');
          CompassDegree := 90;   //P07_MakeCompass(CompassDegree + Random(10));
          DX1 := 193;
          DY1 := 92;
          DX2 := 361;
          DY2 := 142;
        End;
        1:
        Begin
          Writeln('facing East');
          CompassDegree := 180;
          DX1 := 265;
          DY1 := 107;
          DX2 := 316;
          DY2 := 262;
        End;
        2:
        Begin
          Writeln('facing South');
          CompassDegree := 270;
          DX1 := 290;
          DY1 := 114;
          DX2 := 331;
          DY2 := 240;
        End;
        3:
        Begin
          Writeln('facing West');
          CompassDegree := 1;
          DX1 := 170;
          DY1 := 75;
          DX2 := 248;
          DY2 := 214;
        End;
      End;
    End;
    procedure SetObject;
    begin
      case ObjectCombo.ITEMINDEX of
        0:
        Begin
          Writeln('Draynor Booth');
          ClickMethod := 'booth';
          BankCol_1 := 605006;
          BankTol_1 := 2;
          BankHue_1 := 0.13;
          BankSat_1 := 0.91;
          BankCol_2 := 5725538;
          BankTol_2 := 6;
          BankHue_2 := 0.65;
          BankSat_2 := 0.52;
          BankUpText_1 := 'Use';
          BankUpText_2 := 'Bank';
          BankUpText_3 := 'ooth';
        End;
        1:
        Begin
          Writeln('at Light Brown Booth');
          ClickMethod := 'booth';
          BankCol_1 := 0;
          BankTol_1 := 0;
          BankHue_1 := 0.00;
          BankSat_1 := 0.00;
          BankCol_2 := 0;
          BankTol_2 := 0;
          BankHue_2 := 0.00;
          BankSat_2 := 0.00;
          BankUpText_1 := '';
          BankUpText_2 := '';
          BankUpText_3 := '';
        End;
        2:
        Begin
          Writeln('at Lumberidge Chest');
          ClickMethod := 'chest';
          BankCol_1 := 0;
          BankTol_1 := 0;
          BankHue_1 := 0.00;
          BankSat_1 := 0.00;
          BankCol_2 := 0;
          BankTol_2 := 0;
          BankHue_2 := 0.00;
          BankSat_2 := 0.00;
          BankUpText_1 := '';
          BankUpText_2 := '';
          BankUpText_3 := '';
        End;
        3:
        Begin
          Writeln('at CastleWars Chest');
          ClickMethod := 'chest';
          BankCol_1 := 0;
          BankTol_1 := 0;
          BankHue_1 := 0.00;
          BankSat_1 := 0.00;
          BankCol_2 := 0;
          BankTol_2 := 0;
          BankHue_2 := 0.00;
          BankSat_2 := 0.00;
          BankUpText_1 := '';
          BankUpText_2 := '';
          BankUpText_3 := '';
        End;
      End;
    End;
    procedure SetLog;
    begin
      case LogCombo.ITEMINDEX of
        0:
        Begin
          Writeln('Logs');
          DTM_Log := DTMFromString('mbQAAAHicY2VgYMhjYmAoAeJUKC4F4iBGBgZPIPYB4nAgDgXionAThvxQY4amZGuG9X0BDC2pNgz8QP3omBELBgMAm6AJ3w==');
        End;
        1:
        Begin
          Writeln('Oaks');
          DTM_Log := DTMFromString('');
        End;
        2:
        Begin
          Writeln('Willows');
          DTM_Log := DTMFromString('');
        End;
        3:
        Begin
          Writeln('Maples');
          DTM_Log := DTMFromString('');
        End;
        4:
        Begin
          Writeln('Yews');
          DTM_Log := DTMFromString('');
        End;
        5:
        Begin
          Writeln('Magics');
          DTM_Log := DTMFromString('');
        End;
      End;
    End;
    procedure SetMethod;
    begin
      case MethodCombo.ITEMINDEX of
        0:
        Begin
          Writeln('We are going to Shaft');
          Method := 'shaft';
        End;
        1:
        Begin
          Writeln('We are going to Fletch');
          Method := 'fletch';
        End;
        2:
        Begin
          Writeln('We are going to String');
          Method := 'string';
        End;
      End;
    End;
    procedure YourClickProcedure(Sender: TObject);
    begin
      //ShowMessage('click');
    end;
    procedure SaveFormInfo(Sender: TObject);
    begin
      DsgnForm.ModalResult := mrOk;
      P07_PlayerName := Username.TEXT
      P07_PlayerPass := Password.TEXT
      SetMethod;
      SetLog;
      SetObject;
      SetCompass;
      SetMake;
      SetFailSafeArea;
      SetSpeed;
      DsgnForm.CLOSE;
      //Bank;
    end;

    procedure InitForm;
    begin
    //DsgnForm\\
     DsgnForm:=TForm.Create(nil);
      with DsgnForm do
        begin
          Caption:='Fast Fletcher 1.0';
          Left:=377;
          Top:=380;
          Width:=280;
          Height:=480;
          Font.Name:=default;
          Font.Color:=clDefault;
          Font.Size:=0;
      end;
    //TLabel0\\
     TLabel0:=TLabel.Create(DsgnForm);
      with TLabel0 do
        begin
          Parent:=DsgnForm;
          Caption:='RJJ95 2007 Fletcher';
          Left:=90;
          Top:=15;
          Width:=99;
          Height:=14;
          Font.Name:=default;
          Font.Color:=clDefault;
          Font.Size:=9;
      end;
      FletchLabel:=TLabel.Create(DsgnForm);
      with FletchLabel do
        begin
          Parent:=DsgnForm;
          Caption:='Fletching settings';
          Left:=100;
          Top:=110;
          Width:=99;
          Height:=14;
          Font.Name:=default;
          Font.Color:=clDefault;
          Font.Size:=9;
      end;
      MakeLabel:=TLabel.Create(DsgnForm);
      with MakeLabel do
        begin
          Parent:=DsgnForm;
          Caption:='Make';
          Left:=55;
          Top:=180;
          Width:=99;
          Height:=14;
          Font.Name:=default;
          Font.Color:=clDefault;
          Font.Size:=9;
      end;
      MakeCombo:=TComboBox.Create(DsgnForm);
      with MakeCombo do
        begin
          Parent:=DsgnForm;
          Left:=95;
          Top:=178;
          Width:=120;
          Height:=15;
          Items.Add('Shafts');
          Items.Add('Short Bows');
          Items.Add('Long Bows');
          Text := Items[0];
          OnClick:=@YourClickProcedure;
          Font.Name:=default;
          Font.Color:=clDefault;
          Font.Size:=8;
      end;
    //TLabel1\\
     TLabel1:=TLabel.Create(DsgnForm);
      with TLabel1 do
        begin
          Parent:=DsgnForm;
          Caption:='Username';
          Left:=3;
          Top:=65;
          Width:=49;
          Height:=14;
          Font.Name:=default;
          Font.Color:=clDefault;
          Font.Size:=9;
      end;
    //TLabel2\\
     TLabel2:=TLabel.Create(DsgnForm);
      with TLabel2 do
        begin
          Parent:=DsgnForm;
          Caption:='Password';
          Left:=140;
          Top:=65;
          Width:=47;
          Height:=14;
          Font.Name:=default;
          Font.Color:=clDefault;
          Font.Size:=9;
      end;
    //TLabel3\\
     TLabel3:=TLabel.Create(DsgnForm);
      with TLabel3 do
        begin
          Parent:=DsgnForm;
          Caption:='Method';
          Left:=5;
          Top:=140;
          Width:=37;
          Height:=14;
          Font.Name:=default;
          Font.Color:=clDefault;
          Font.Size:=9;
      end;
    //TLabel4\\
     TLabel4:=TLabel.Create(DsgnForm);
      with TLabel4 do
        begin
          Parent:=DsgnForm;
          Caption:='Logs to use';
          Left:=135;
          Top:=140;
          Width:=18;
          Height:=14;
          Font.Name:=default;
          Font.Color:=clDefault;
          Font.Size:=9;
      end;
      AreaLabel:=TLabel.Create(DsgnForm);
      with AreaLabel do
        begin
          Parent:=DsgnForm;
          Caption:='Location settings';
          Left:=100;
          Top:=225;
          Width:=18;
          Height:=14;
          Font.Name:=default;
          Font.Color:=clDefault;
          Font.Size:=9;
      end;
      FailsafeLabel:=TLabel.Create(DsgnForm);
      with FailsafeLabel do
        begin
          Parent:=DsgnForm;
          Caption:='Location failsafe';
          Left:=25;
          Top:=295;
          Width:=18;
          Height:=14;
          Font.Name:=default;
          Font.Color:=clDefault;
          Font.Size:=9;
      end;
      FailsafeCombo:=TComboBox.Create(DsgnForm);
      with FailSafeCombo do
        begin
          Parent:=DsgnForm;
          Left:=110;
          Top:=293;
          Width:=150;
          Height:=15;
          //add your items here
          Items.Add('Lumberidge Bank');
          Items.Add('Lumberidge Cellar');
          Items.Add('Draynor Bank');
          Items.Add('Varrock East Bank');
          Items.Add('Varrock West Bank');
          Items.Add('Edgeville Bank');
          Items.Add('Duel Arena');
          Items.Add('Castle Wars');
          Items.Add('Falador East');
          Items.Add('Falador West');
          Items.Add('Catherby Bank');
          Items.Add('Seers Village Bank');
          Items.Add('None');
          Text := Items[0];
          //End items
          OnClick:=@YourClickProcedure;
          Font.Name:=default;
          Font.Color:=clDefault;
          Font.Size:=8;
      end;
    //TLabel5\\
     TLabel5:=TLabel.Create(DsgnForm);
      with TLabel5 do
        begin
          Parent:=DsgnForm;
          Caption:='Direction';
          Left:=155;
          Top:=260;
          Width:=43;
          Height:=14;
          Font.Name:=default;
          Font.Color:=clDefault;
          Font.Size:=9;
      end;
    //TEdit7\\
     Username:=TEdit.Create(DsgnForm);
      with Username do
        begin
          Parent:=DsgnForm;
          Text:='Username';
          Left:=53;
          Top:=63;
          Width:=80;
          Height:=21;
          Font.Name:=default;
          Font.Color:=clDefault;
          Font.Size:=9;
      end;
    //TEdit8\\
     Password:=TEdit.Create(DsgnForm);
      with Password do
        begin
          Parent:=DsgnForm;
          Text:='Password';
          Left:=190;
          Top:=63;
          Width:=80;
          Height:=21;
          Font.Name:=default;
          Font.Color:=clDefault;
          Font.Size:=9;
          Password.MaxLength:=21;
          Password.PasswordChar:=#;
      end;
      OtherLabel:=TLabel.Create(DsgnForm);
      with OtherLabel do
        begin
          Parent:=DsgnForm;
          Caption:='Other Settings';
          Left:=100;
          Top:=335;
          Width:=99;
          Height:=14;
          Font.Name:=default;
          Font.Color:=clDefault;
          Font.Size:=9;
      end;
      SpeedLabel:=TLabel.Create(DsgnForm);
      with SpeedLabel do
        begin
          Parent:=DsgnForm;
          Caption:='Fletching Speed';
          Left:=70;
          Top:=360;
          Width:=99;
          Height:=14;
          Font.Name:=default;
          Font.Color:=clDefault;
          Font.Size:=9;
      end;
      SpeedCombo:=TComboBox.Create(DsgnForm);
      with SpeedCombo do
        begin
          Parent:=DsgnForm;
          Left:=150;
          Top:=358;
          Width:=60;
          Height:=15;
          //add your items here
          Items.Add('Slow');
          Items.Add('Normal');
          Items.Add('Fast');
          Text := Items[0];
          //End items
          OnClick:=@YourClickProcedure;
          Font.Name:=default;
          Font.Color:=clDefault;
          Font.Size:=8;
      end;
    //Method\\
     MethodCombo:=TComboBox.Create(DsgnForm);
      with MethodCombo do
        begin
          Parent:=DsgnForm;
          Left:=47;
          Top:=138;
          Width:=80;
          Height:=15;
          //add your items here
          Items.Add('Shaft');
          Items.Add('String');
          Items.Add('Fletch');
          Text := Items[0];
          //End items
          OnClick:=@YourClickProcedure;
          Font.Name:=default;
          Font.Color:=clDefault;
          Font.Size:=8;
      end;
      ObjectLabel:=TLabel.Create(DsgnForm);
      with ObjectLabel do
        begin
          Parent:=DsgnForm;
          Caption:='Object';
          Left:=0;
          Top:=260;
          Width:=99;
          Height:=14;
          Font.Name:=default;
          Font.Color:=clDefault;
          Font.Size:=9;
      end;
      ObjectCombo:=TComboBox.Create(DsgnForm);
      with ObjectCombo do
        begin
          Parent:=DsgnForm;
          Left:=35;
          Top:=258;
          Width:=115;
          Height:=15;
          Items.Add('Booth(DarkBrown)');
          Items.Add('Booth(LightBrown)');
          Items.Add('Chest(Lumberidge)');
          Items.Add('Chest(CastleWars)');
          Text := Items[0];
          OnClick:=@YourClickProcedure;
          Font.Name:=default;
          Font.Color:=clDefault;
          Font.Size:=8;
      end;
    //Log\\
     LogCombo:=TComboBox.Create(DsgnForm);
      with LogCombo do
        begin
          Parent:=DsgnForm;
          Left:=195;
          Top:=138;
          Width:=80;
          Height:=15;
          Items.Add('Logs');
          Items.Add('Oak');
          Items.Add('Willow');
          Items.Add('Maple');
          Items.Add('Yew');
          Items.Add('Magic');
          Text := Items[0];
          OnClick:=@YourClickProcedure;
          Font.Name:=default;
          Font.Color:=clDefault;
          Font.Size:=9;
      end;
     StartButton:=TButton.Create(DsgnForm);
      with StartButton do
        begin
          Parent:=DsgnForm;
          Caption:='Start';
          Left:=45;
          Top:=400;
          Width:=200;  //75
          Height:=20;
          OnClick:=@SaveFormInfo
          Font.Size:=8;
      end;
      UpdateButton:=TButton.Create(DsgnForm);
      with UpdateButton do
        begin
          Parent:=DsgnForm;
          Caption:='Update';
          Left:=45;
          Top:=420;
          Width:=200; //75
          Height:=20;
          Font.Size:=8;
          //OnClick:=@SaveFormInfo
      end;
    //TComboBox12\\
     CompassCombo:=TComboBox.Create(DsgnForm);
      with CompassCombo do
        begin
          Parent:=DsgnForm;
          Left:=205;
          Top:=258;
          Width:=70;
          Height:=21;
          Items.Add('North');
          Items.Add('East');
          Items.Add('South');
          Items.Add('West');
          Text := Items[0];
          OnClick:=@YourClickProcedure;
          Font.Name:=default;
          Font.Color:=clDefault;
          Font.Size:=9;
      end;
    end;

    procedure SafeInitForm;
    var
      v: TVariantArray;
    begin
      setarraylength(V, 0);
      ThreadSafeCall('InitForm', v);
    end;


    procedure ShowFormModal;
    begin
      DsgnForm.ShowModal;
    end;


    procedure SafeShowFormModal;
    var
      v: TVariantArray;
    begin
      SetArrayLength(V, 0);
      ThreadSafeCall('ShowFormModal', v);
    end;


    begin
      MouseSpeed :=5;
      SetupP07Include;
      SafeInitForm;
      SafeShowFormModal;
      MouseSpeed := MouseSpeed_Fix;
      ActivateClient;
      Wait(1000);
      //P07_MakeCameraAngleHigh;
      //P07_MakeCompassDegree(CompassDegree + Random(10));
      LoadDTMS;
      ConductBot;
      AddOnTerminate('FreeTheDTMs');
      Repeat
      ConductBot;
      Until False;
    end.

    I gotta clean the script when I'm finished, Please tell me any bugs

  2. #2
    Join Date
    Jan 2012
    Posts
    42
    Mentioned
    0 Post(s)
    Quoted
    3 Post(s)

    Default

    Would love too test, but dont know where to start with opening S.M.A.R.T in 07 Scape.

  3. #3
    Join Date
    Sep 2010
    Posts
    5,762
    Mentioned
    136 Post(s)
    Quoted
    2739 Post(s)

    Default

    You don't need smart..

  4. #4
    Join Date
    May 2012
    Posts
    60
    Mentioned
    0 Post(s)
    Quoted
    14 Post(s)

    Default

    I will test this out when I have cut some trees

  5. #5
    Join Date
    Sep 2010
    Posts
    5,762
    Mentioned
    136 Post(s)
    Quoted
    2739 Post(s)

    Default

    Xtrapsp GTFO

  6. #6
    Join Date
    May 2012
    Posts
    60
    Mentioned
    0 Post(s)
    Quoted
    14 Post(s)

    Default

    It opens my bank perfectly, but then it just moves the mouse to my iron kite and nothing else.

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
  •