Results 1 to 6 of 6

Thread: error compiling again but differnt script

  1. #1
    Join Date
    Jan 2008
    Location
    inside you! :O
    Posts
    11
    Mentioned
    0 Post(s)
    Quoted
    0 Post(s)

    error compiling again but differnt script

    Line 432: [Hint] (10411:1): Variable 'OLDMS' never used in script C:\Program Files\SCAR 3.12\includes\SRL/SRL/Core/AntiRandoms/AntiRandoms.scar
    Line 80: [Error] (12544:12): Unknown identifier 'INTEGER1' in script


    SCAR Code:
    {=========================================================================]
    [                       ~ChArM's Willow Raper~                            ]
    [                           ~Version: 2.1~                                ]
    [=========================================================================]
    |~Description:                                                            |
    |   A macro that chops a full load of willows in Draynor,                 |
    |   then banks it.                                                        |
    |~Instructions:                                                           |
    |   1. Set the Runescape brightness to V-bright, and your computer's      |
    |       resolution to 32bit resolution.                                   |
    |   2. Need SCAR version 2.0.3.                                           |
    |   3. Need SRL version 3.5.                                              |
    |   5. Setup Lines 60-64, and 70+                                         |
    |   6. Start script in Draynor Bank.                                      |
    |   7. Start with a axe in your first inventory slot or wielded.          |
    |   8. Recomended to have extra axes near top of bank.                    |
    |~Features:                                                               |
    |  AutoResponder                                                          |
    |  AntiBan                                                                |
    |  Randoms (UpToDate With SRL)                                            |
    |  AutoColor                                                              |
    |  Multiple Players                                                       |
    |  Awsome Ent and Axe Head Finding                                        |
    [=========================================================================]
    |~Version Info:                                                           |
    |  v1.0 - First Release                                                   |
    |  v1.1 - Updated Walking, and fixed little things.                       |
    |  v1.2 - Fixed Lag                                                       |
    |  v1.5 - Added Forms, Little Bug Fixes, Better Walking                   |
    |  v2.0 - Completely rewrote script, removed powerchopping and forms      |
    |         UPDATED EVERYTHING!                                             |
    |  v2.1 - Fixed running from fights and Progress report, new ent finding, |
    |         improved tree finding(2 ways), walking, and banking             |
    [=========================================================================}


    Program CharmWillowRaper;
    {.Include SRL/SRL.Scar}
    {.Include SRL/SRL/Skill/Woodcutting.Scar}

    Const Ver= 'v2.1'; //Version #, DONT TOUCH!

    //----------------------------------------------------------------------------//
    //---> Variables                                                              //
    //----------------------------------------------------------------------------//

    Var
     BankDot1, BankDot2, BankDot3, AxeHandleDTM: Integer;
     LogMask, AxeHeadMask, BrokenAxeHeadMask, AxeMask: Integer;
     AxeHeadColor1, AxeHeadColor2, AxeHeadColor3: Integer;
     AxesBroke, HeadsFound: Integer;
     Chat, Name, ChatName: String;
     NoAxe, NoAxes: Boolean;
     ChopMark, CallibrateTime: LongInt;
     Loads, TotalWillows, TotalExp: Integer;

    //----------------------------------------------------------------------------//
    //---> Setup                                                                  //
    //----------------------------------------------------------------------------//

    Const WaitTime= 25; //Second to wait before clicking tree again used as a failsafe random extra 5 seconds is added on
    Const DebugMode= 2;
    Const RunDirection= 'E'; //Direction To Run Incase of a Fight?
    Const UseAutoResponder= True; //Enable The Auto Responder?
    Const MaxLoadTime= 10; //Max Time 1 Load Can Take In Minutes

    //----------------------------------------------------------------------------//
    //---> Setup Players                                                          //
    //----------------------------------------------------------------------------//

    Procedure DeclarePlayers;
    Begin

         HowManyPlayers := 3;
         CurrentPlayer:= 0;
         NumberOfPlayers(HowManyPlayers);

         Players[0].Name     := 'ts3458';
         Players[0].Pass     := '';
         Players[0].Nick     := 'ts3';     //3 Lowercase Letters of your username
         Players[0].Integer1 := 35;     //Loads For Player
         Players[0].Boolean1 := False;  //Equip Axe?
         Players[0].Active   := True;

    End;

    //----------------------------------------------------------------------------//
    //---> Debug Procedure                                                        //
    //----------------------------------------------------------------------------//

    Procedure CharmDebug(Reason: String);
    Begin
      Case (DebugMode) of
        1 : Status(Reason);
        2 : WriteLn(Reason);
        3 : DisguiseScar(Reason);
        4 : Exit;
      End;
    End;

    //----------------------------------------------------------------------------//
    //---> Load DTMs                                                              //
    //----------------------------------------------------------------------------//

    Procedure LoadDTMs;
    Begin

      BankDot1 := DTMFromString('78DA636C67626008664001FFFFFF67F80FA41' +  //By FT-Fwaki
           '921ECFF8CB54035DEA86AFEFC61621081AA0101C63A4C73B0AA09' +
           'C7AF06000153117B');

      BankDot2 := DTMFromString('78DA63EC60626008624001FFFFFF67F80FA41' +
           '921ECFF8C3540353EA86AFEFC61621081AA0101C63AA09A1022D4' +
           '44E057030001B5117D');

      BankDot3 := DTMFromString('78DA63EC60626008624001FFFFFF67F80FA41' +
           '921ECFF8CF540359EA86AFEFC61621081AA0101C63AA09A40026A' +
           '6A816A42F1AB010000781176');

      AxeHandleDTM := DTMFromString('78DA637465626078C48002CA2379191E02694' + //Stole From SRL
           '620FE0F048C0E40352F19D000231209A4ED806A3E1150E30454F3' +
           '86801A2FA09AEB04D47800D5DC23A0C616A8E61D01358E4035EF0' +
           '9A80185CF03FC6A00E1CD105C');

    End;

    //----------------------------------------------------------------------------//
    //---> Load Bitmaps                                                           //
    //----------------------------------------------------------------------------//

    Procedure LoadBitmaps;
    Begin

      LogMask := BitmapFromString(13, 10, 'z78DA33301805E40037BC8' +
           '0BAB6D0C2E5F451494998D02E5471010034299979');

      AxeMask := BitmapFromString(10, 10, 'z78DA7373230D18500028316' +
           '130E825353470A921DE3DE499409EDB480D25FCE10000B72C7CE1' +
           '');

      AxeHeadMask := BitmapFromString(12, 8, 'z78DA3330200CDC3080018900' +
           '972E62CC24D55E4C9594BB993C13C8733FB5DCE3860310AF92185' +
           'B008E3078E5');

      BrokenAxeHeadMask := BitmapFromString(9, 10, 'z78DA7373230D1890' +
           '05C8D34BAA2EE2D5E3F21131FEC56FCBE091A53C34007F307225');

    End;

    //----------------------------------------------------------------------------//
    //---> Color Finding Functions                                                //
    //----------------------------------------------------------------------------//

    Function FindMMWaterColor: Integer;
    Var
    Tol, WX, WY, MMWater: Integer;
    Begin

      MMWater := BitmapFromString(4, 4, 'z78DA3377B53474B234A7190' +
           '9002EDC1611');

     Repeat
      Begin
       If(not(LoggedIn))then Break;
       Tol:= Tol + 5;
        If(FindBitmapToleranceIn(MMWater, WX, WY, MMX1, MMY1, MMX2, MMY2, Tol))then
         Begin
          WaterColor:= GetColor(WX, WY);
          Result:= WaterColor;
         End
        End
     Until(Result > 0) or (Tol > 75);

      If(Result= 0)then
       Begin
        WriteLn('Could NOT Find MMWater Color, Please Restart Script!');
        Logout;
        //TerminateScript;
       End else
       Begin
        WriteLn('MMWaterColor - '+IntToStr(Result));
       End

     FreeBitmap(MMWater);

    End;

    //----------------------------------------------------------------------------//
    //---> AntiBan                                                                //
    //----------------------------------------------------------------------------//

    Procedure RCExamine;
    Begin
     MMouse(Random(MSX1), Random(MSY1), 3, 5);
      If(IsUpText('hop down')) or (IsUpText('alk here'))then
       Begin
        GetMousePos(x, y);
        Mouse(x, y, 2, 1, False);
        If(ChooseOption(x, y, 'Examine'))then
         Begin
          Exit;
         End else
        ChooseOption(x, y, 'Cancel');
       End
    End;

    //----------------------------------------------------------------------------//

    Procedure WoodcuttingAntiBan;
    Var
    X: Integer;
    Begin
      If(InvFull)then Exit;
      If(TimeFromMark(ChopMark) > 1000+Random(4000))then
       Begin
        Status('AntiBan');
        X:= Random(9)+1;
        ActivateClient;
        Case X of
          0 : RCExamine;
          1 : SleepAndMoveMouse(750+Random(2000));
          2 : SendArrowSilentWait(((Random(2)*2)), 1000+Random(200));
          3 : SendArrowSilentWait(((Random(2)*2) + 1), 200+Random(200));
          4 : SendArrowSilentWait(((Random(2)*2)), 200+Random(200));
          5 : SendArrowSilentWait(((Random(2)*2) + 1), 20+Random(20));
          6 : SendArrowSilentWait(((Random(2)*2)), 20+Random(20));
          7 : IdleTime(500, 500, 1.0);
          8 : begin GameTab(1+Random(7)) Wait(Random(300)) GameTab(4) end;
          9 : IdleTime(300, 200, 2.0);
        End
       //MarkTime(ChopMark);
       FindTalk;
       SendArrowSilentWait(0, 750+Random(500));
      End
    End;

    //----------------------------------------------------------------------------//
    //---> GetChatMessage Function                                                //
    //----------------------------------------------------------------------------//

    Function GetChatMessage(Text: String): Boolean;
    Var
    TX, TY: Integer;
    Chat: String;
    Begin

      If(IsTextInAreaEx(40, 415, 130, 415, TX, TY, ':', 0, SmallChars, False, True, 0, 0, 0))then
       Begin
        Chat:= Lowercase(Trim(GetTextAtEx(TX + 8, 415, 0, SmallChars, False, False, 0, 1, 16711680, 40, False, TR_AllChars)));

         If(Pos(Text, Chat) <> 0)then
          Begin
           Result:= True;
          End

       End

    End;

    //----------------------------------------------------------------------------//
    //---> GetChatName Function                                                   //
    //----------------------------------------------------------------------------//

    Function GetChatName(Name: String): Boolean;
    Var
    I: Integer;
    Begin

      ChatName:= Lowercase(Trim(GetTextAtEx(21, 415, 0, SmallChars, False, False, 0, 0, 0, 50, False, TR_AllChars)));

      I:= Pos(':', ChatName);
      If(I <> 0)then
       Begin
         Delete(ChatName, I, I);
       End

      If(Pos(Name, ChatName) <> 0)then
       Begin
         Result:= True;
       End

    End;

    //----------------------------------------------------------------------------//
    //---> AutoRespond Function                                                   //
    //----------------------------------------------------------------------------//

    Function AutoRespond: Boolean;
    Var
    Responce, Lvl: String;
    RandomReply: Integer;
    Begin

      OldLine:= TheLine;
      TheLine:= Lowercase(Trim(GetTextAtEx(20, 415, 0, SmallChars, False, False, 0, 1, 16711680, 40, False, TR_AllChars)));
      NewLine:= TheLine;

     If(GetChatName(Players[CurrentPlayer].Name))then
      Begin
       Exit;
      End

     If(OldLine=NewLine)then
      Begin
       Exit;
      End

      If(GetChatMessage(Players[CurrentPlayer].Name)) or (GetChatMessage(Players[CurrentPlayer].Nick))then
       Begin
         WriteLn(''+ChatName+': '+Chat);
         RandomReply:= Random(10)+1;
        Case (RandomReply) of
          0 : Responce:= ('?');
          1 : Responce:= ('what');
          2 : Responce:= ('yes');
          3 : Responce:= ('no');
          4 : Responce:= ('what do you want');
          5 : Responce:= ('me?');
          6 : Responce:= ('Yah?');
          7 : Responce:= ('who?');
          8 : Responce:= ('wha?');
          9 : Responce:= ('?');
          10 : Responce:= ('???');
        End
       TypeSend(Responce+' '+Name);
       Result:= True;
      End

      If(GetChatMessage('lol')) or (GetChatMessage('lmao')) or (GetChatMessage('rofl')) or (GetChatMessage('haha'))then
       Begin
        WriteLn(''+ChatName+': '+Chat);
        RandomReply:= Random(24)+1;
        Case (RandomReply) of
         0 : Responce:= ('hehe');
         1 : Responce:= ('lolol');
         2 : Responce:= ('lol');
         3 : Responce:= ('haha');
         4 : Responce:= ('hihi');
         5 : Responce:= ('ghehe');
         6 : Responce:= ('lmao');
         7 : Responce:= ('lmfao');
         8 : Responce:= ('rofls');
         9 : Responce:= ('fun');
         10 : Responce:= ('nice');
         11 : Responce:= ('lolz');
         12 : Responce:= ('yep');
         13 : Responce:= ('hola');
         14 : Responce:= ('wow');
         15 : Responce:= ('i bet');
         16 : Responce:= ('rofl');
         17 : Responce:= ('ghehehghehighhe');
         18 : Responce:= ('cool');
         19 : Responce:= ('...');
         20 : Responce:= ('???');
         21 : Responce:= ('wowzers');
         22 : Responce:= ('grrr...');
         23 : Responce:= ('rowr');
         24 : Responce:= ('lolololololol');
         25 : Responce:= ('ha ha ha!!!');
        End
       TypeSend(Responce);
       Result:= True;
      End


      If(GetChatMessage('wc')) or (GetChatMessage('woodcutting')) or (GetChatMessage('woodcuttin'))
       And
      (GetChatMessage('lvl')) or (GetChatMessage('level')) or (GetChatMessage('lvls')) or (GetChatMessage('levels'))then
       Begin
        WriteLn(''+ChatName+': '+Chat);
        Lvl:= IntToStr(GetSkillLevel('woodcutting'));
        RandomReply:= Random(5)+1;
         Case (RandomReply) of
          0 : Responce:= ('i''m lvl '+Lvl+' woodcuttin');
          1 : Responce:= ('level '+Lvl+' wc');
          2 : Responce:= ('lvl '+Lvl+' woodcut!');
          3 : Responce:= (+Lvl);
          4 : Responce:= ('i''m level '+lvl);
          5 : Responce:= (+Lvl+' here :P');
         End
        TypeSend(Responce);
        Result:= True;
       End

      If(GetChatMessage('wat')) or (GetChatMessage('what')) and (GetChatMessage('doin')) or (GetChatMessage('doing'))then
       Begin
       WriteLn(''+ChatName+': '+Chat);
       RandomReply:= Random(9)+1;
        Case RandomReply of
         0 : Responce:= ('not much');
         1 : Responce:= ('nothing');
         2 : Responce:= ('bored');
         3 : Responce:= ('aye?');
         4 : Responce:= ('emmm..nothin');
         5 : Responce:= ('nope');
         6 : Responce:= ('booo');
         7 : Responce:= ('no ty');
         8 : Responce:= ('what');
         9 : Responce:= ('....');
         10 : Responce:= ('nothin');
        End;
       TypeSend(Responce);
       Result:= True;
      End;

      If(GetChatMessage('hey')) or (GetChatMessage('hi')) or (GetChatMessage('hello')) or (GetChatMessage('wats up')) or (GetChatMessage('whats up')) or (GetChatMessage('yo'))then
       Begin
       WriteLn(''+ChatName+': '+Chat);
       RandomReply:= random(9)+1;
        Case RandomReply of
          0 : Responce:= ('ello');
          1 : Responce:= ('sup');
          2 : Responce:= ('yo');
          3 : Responce:= ('whats up everyone');
          4 : Responce:= ('whats up');
          5 : Responce:= ('welcome');
          6 : Responce:= ('allo allo');
          7 : Responce:= ('wat up');
          8 : Responce:= ('y0o');
          9 : Responce:= ('=P');
          10 : Responce:= ('what is up');
        End
       TypeSend(Responce);
       Result:= True;
      End

    End;

    //----------------------------------------------------------------------------//
    //---> FindAxeHead Colors Function                                            //
    //----------------------------------------------------------------------------//

    Function CharmFindAxeHeadColors: Boolean;
    Var
    AX, AY: Integer;
    Begin

     If(not(LoggedIn))then Exit;

     GameTab(4);

       If(FindBitmapMaskTolerance(AxeMask, AX, AY, MIX1, MIY1, MIX2, MIY2, 10, 5))then
        Begin
         AxeHeadColor1:= GetColor(AX + 5, AY + 3);
         AxeHeadColor2:= GetColor(AX + 7, AY + 2);
         AxeHeadColor3:= GetColor(AX, AY + 3);
         EquipAxe:= False;
         Result:= True;

        End else

       Begin

        GameTab(5);
        Wait(100+Random(75));

          If(FindBitmapMaskTolerance(AxeMask, AX, AY, MIX1, MIY1, MIX2, MIY2, 10, 5))then
           Begin
            AxeHeadColor1:= GetColor(AX + 5, AY + 3);
            AxeHeadColor2:= GetColor(AX + 7, AY + 2);
            AxeHeadColor3:= GetColor(AX, AY + 3);
            EquipAxe:= True;
            Result:= True;
           End
          GameTab(4);
         End

      If(Result= True)then
       Begin
        NoAxe:= False;
        WriteLn('Axe head colors - '+IntToStr(AxeHeadColor1)+', '+IntToStr(AxeHeadColor2)+ ', and '+IntToStr(AxeHeadColor3));
      End else
       Begin
        WriteLn('Could NOT Find Axe Colors!, Logging Out!');
        Players[CurrentPlayer].Loc:= 'No Axe';
        Logout;
     End

    End;

    //----------------------------------------------------------------------------//
    //---> AttachHeadToHandle Function                                            //
    //----------------------------------------------------------------------------//

    Function CharmAttachHeadToHandle: Boolean;
    Var
    AX, AY: Integer;
    Begin

     If(InvFull)then
       Begin
        If(FindBitmapMaskTolerance(LogMask, AX, AY, MIX1, MIY1, MIX2, MIY2, 20, 25))then
         Begin
          Mouse(AX, AY, 2, 3, False);
          ChooseOption(x, y, 'rop');
          Wait(500+Random(250));
         End
        End

     If(EquipAxe= True)then
      Begin
       GameTab(5);
       Wait(150+Random(75));
         If(FindDTM(AxeHandleDTM, AX, AY, MIX1, MIY1, MIX2, MIY2))then
          Begin
           Mouse(AX, AY, 3, 3, True);
           Wait(250+Random(175));
          End
       End

     GameTab(4);
     Wait(250+Random(175));

      If(FindBitmapMaskTolerance(AxeHeadMask, AX, AY, MIX1, MIY1, MIX2, MIY2, 20, 25))then
       Begin
        Mouse(AX, AY, 2, 3, True);
        Result:= True;
       End

      If(FindDTM(AxeHandleDTM, AX, AY, MIX1, MIY1, MIX2, MIY2))then
       Begin
        Mouse(AX, AY, 2, 3, True);
       End

      If(EquipAxe= True)then
       Begin
        Wait(Random(1000));
        If(FindBitmapMaskTolerance(AxeHeadMask, AX, AY, MIX1, MIY1, MIX2, MIY2, 20, 25))then
         Begin
          Mouse(AX, AY, 2, 3, True);
         End
       End

    End;

    //----------------------------------------------------------------------------//
    //---> HandleFight                                                            //
    //----------------------------------------------------------------------------//

    Procedure HandleFight;
    Begin

      RunAwayDirection(RunDirection);
      Wait(10000+Random(2000));
      RunBack;

      If(FindSymbol(x, y, 'fishing spot'))then
       Begin
        Mouse(x, y - 20, 5, 6, True);
        FindTalk;
        Flag;
       End

    End;

    //----------------------------------------------------------------------------//
    //---> Axe Finding Function                                                   //
    //----------------------------------------------------------------------------//

    Function CharmFindAxeHead: Boolean;
    Var
    C, XH, YH, Chat, AxeHeadTxt: Integer;
    Start: Boolean;
    Begin

     If(not(LoggedIn))then Exit;

     AxeHeadTxt := BitmapFromString(30, 10, 'z78DA7373B334303170' +
           '0393A62EA62626E6839374437227320901A36E1E75333124A9265' +
           '04B3DA9EE84005C2663AAA4AE7A5CBAF0BB16530D729A21559C98' +
           '10C36F0E316E26DE6DF87D4DBC1B28B197BCF0C404F8639972715' +
           'AC435A9B98954F3013DD58547');

      {Chat:= CreateBitmapMaskFromText('ou do not have an axe', SmallChars);

      If(FindBitmapMaskTolerance(Chat, x, y, MCX1, MCY1, MCX2, MCY2, 10, 85))or
         (GetChatMessage('do not')) or (GetChatMessage('have axe'))then}


        If(EquipAxe= False)then
         Begin
          GameTab(4);
          Wait(50+Random(50));
          If(not(FindBitmapMaskTolerance(AxeMask, x, y, MIX1, MIY1, MIX2, MIY2, 20, 10)))then Start:= True;
         End

        If(EquipAxe= True)then
         Begin
          GameTab(5);
          Wait(50+Random(50));
          If(not(FindBitmapMaskTolerance(AxeMask, x, y, MIX1, MIY1, MIX2, MIY2, 20, 10)))then Start:= True;
         End

      If(Start= True)then
       Begin

     CharmDebug('Lost Axe Head, Finding..');
     HighestAngle;

       // If(FindBitmapMaskTolerance(AxeMask, x, y, MIX1, MIY1, MIX2, MIY2, 20, 10))then Exit;

        If(FindBitmapMaskTolerance(BrokenAxeHeadMask, XH, YH, MIX1, MIY1, MIX2, MIY2, 20, 25))then
         Begin
          AxesBroke:= AxesBroke + 1;
          CharmDebug('ENT Got Us, Broken Axe!');
          Players[CurrentPlayer].Loc:= 'Broken Axe';
          NoAxe:= True;
          Result:= False;
          Exit;
         End

      GameTab(4);
      Wait(2000+Random(100));

       If(InvFull)then
        Begin
         If(FindBitmapMaskTolerance(LogMask, XH, YH, MIX1, MIY1, MIX2, MIY2, 20, 25))then
          Begin
           Mouse(XH, YH, 0, 0, False);
           ChooseOption(x, y, 'rop');
          End
        End

        Repeat
         If(not(LoggedIn))then Break;
           C:= C + 1;
           XH:= Random(510) + 5;
           YH:= Random(330) + 5;
           If(FindObjectMulti(XH, YH, 'ake', 'Take', 'Tak', AxeHeadColor1, AxeHeadColor2, AxeHeadColor3, 5, 5, True, True))then
              Begin
                MMouse(XH, YH, 0, 0);
                Wait(100+Random(100));
                If(IsUpTextMulti('ake', 'Take', 'Tak'))then
                 Begin
                  GetMousePos(XH, YH);
                  Mouse(XH, YH, 1, 1, False);
                  Wait(Random(50));
                  If(FindBitmapToleranceIn(AxeHeadTxt, x, y, MSX1, MSY1, MSX2, MSY2, 20))then
                   Begin
                    Mouse(x, y, 2, 2, True);
                   End else
                   Begin
                    If(not(ChooseOption(x, y, 'axe head')))then ChooseOption(x, y, 'Take');
                   End
                 End
                Flag;
               Wait(750+Random(250));
              End
        Until(FindBitmapMaskTolerance(AxeHeadMask, XH, YH, MIX1, MIY1, MIX2, MIY2, 20, 25)) or (FindBitmapMaskTolerance(AxeMask, x, y, MIX1, MIY1, MIX2, MIY2, 20, 10)) or (C= 15);

        GameTab(4);

        If(not(FindBitmapMaskTolerance(AxeHeadMask, XH, YH, MIX1, MIY1, MIX2, MIY2, 20, 25))) or (not(FindBitmapMaskTolerance(AxeMask, x, y, MIX1, MIY1, MIX2, MIY2, 20, 10)))then
         Begin
          CharmDebug('Could NOT Find Head!');
          Players[CurrentPlayer].Loc:= 'Lost AxeHead';
          NoAxe:= True;
          Result:= False;
          Exit;
         End

        CharmDebug('Found Head!');
        HeadsFound:= HeadsFound + 1;

        CharmDebug('Attaching Head To Handle.');
        CharmAttachHeadToHandle;

        NoAxe:= False;
        Result:= True;

      End

     FreeBitmap(Chat);
     FreeBitmap(AxeHeadTxt);

    End;

    //----------------------------------------------------------------------------//
    //---> Walking Procedures                                                     //
    //----------------------------------------------------------------------------//

    Procedure DraynorBankToWillowTrees;
    Var
    DX, DY: Integer;
    Begin

     If(not(LoggedIn))then Exit;

     HighestAngle;
     PerfectNorth;

     Status('Bank->Willows');

     Players[CurrentPlayer].Loc:= 'Bank';

     SymbolAccuracy:= 0.4;

     If(not(FindSymbol(DX, DY, 'bank')))then
     Begin
     If(FindColorSpiralTolerance(DX, DY, WaterColor, MMX1, MMY1, MMX2, MMY2, 5))then
      Begin
       Mouse(DX + 25+Random(8), DY + 25+Random(20), 5, 8, True);
       Flag;
      End
     End else
     Begin
     If(FindSymbol(DX, DY, 'bank'))then
     Begin
      Mouse(DX - 30+Random(10), DY + 34+Random(7), 5, 8, True);
      Flag;
     End else
     Begin
      Players[CurrentPlayer].Loc:= 'Lost';
      Logout;
      Exit;
     End
     End

     SymbolAccuracy:= 0.6;

      If(FindSymbol(DX, DY, 'fishing spot'))then
       Begin
        If(Distance(MMCX, DX, MMCY, DY) > 250)then
         Begin
          Mouse(DX + 5+Random(6), DY - 15+Random(15), 2, 3, True);
          Flag;
         End
       End

      Players[CurrentPlayer].Loc:= 'Willows';

     SymbolAccuracy:= 0.8;

    End;

    //----------------------------------------------------------------------------//

    Procedure WillowTreesToDraynorBank;
    Var
    DX, DY, F: Integer;
    See: Boolean;
    Begin

     If(not(LoggedIn))then Exit;

     PerfectNorth;

     Status('Willows->Bank');

     Players[CurrentPlayer].Loc := 'Willows';

     SymbolAccuracy:= 0.4;

     If(not(FindSymbol(DX, DY, 'bank')))then
      Begin
       If(FindSymbol(DX, DY, 'fishing spot'))then
        Begin
         Mouse(DX + 10, DY - 30+Random(6), 4, 5, True);
         FFlag(10);
        End
      End

      Repeat
        If(not(DTM3Flag(BankDot1, BankDot2, BankDot3, True)))then
         Begin
          If(not(FindSymbol(x, y, 'bank')))then
           Begin
            F:= F + 1;
           End else
           Begin
            See:= True;
            MouseFlag(x, y, 2, 4);
            DTM3Flag(BankDot1, BankDot2, BankDot3, True);
            Flag;
            Players[CurrentPlayer].Loc:= 'Bank';
          end
        End else
        Begin
          See:= True;
          Wait(500+Random(1000));
          Flag;
          Players[CurrentPlayer].Loc:= 'Bank';
        End
      Until(See= True) or (F > 3);

      If(F > 3)then
       Begin
        Players[CurrentPlayer].Loc:= 'Lost';
        Logout;
        Exit;
       End

      Players[CurrentPlayer].Loc := 'Bank';

     SymbolAccuracy:= 0.8;

    End;

    //----------------------------------------------------------------------------//
    //---> Ent Handleing Function                                                 //
    //----------------------------------------------------------------------------//

    Function CharmEnt(ex, ey: Integer): Boolean;
    Var
    Xe, Ye: Integer;
    Begin

     Status('FindEnt');

     If(FindColorSpiralTolerance(Xe, Ye, 5535856, ex - 20, ey - 20, ex + 20, ey + 20, 12))then
      Begin
       MMouse(Xe, Ye, 5, 5);
       Wait(100+Random(50));
      End else
      Begin
       Exit;
      End

     If(IsUpTextMulti('hop down Will', 'down Willow', 'own Wil')) or (IsUpTextMulti('illow', 'low', 'Will'))then
       Begin
        If(FindColorSpiralTolerance(Xe, Ye, 383705, 1, 1, 180, 39, 20))or
           (FindColorSpiralTolerance(Xe, Ye, 65535, 1, 1, 200, 40, 20))or
            (FindColorTolerance(Xe, Ye, 55769, 85, 15, 115, 15, 20))then
          Begin
            EntsAvoided:= EntsAvoided + 1;
            Result:= True;
          End else
            Result:= False;
            Exit;

      End

    End;

    //----------------------------------------------------------------------------//
    //---> CharmFindObjWillow Function                                            //
    //----------------------------------------------------------------------------//

    Function CharmFindObjWillow(var cx, cy: Integer; color1, color2, color3, tolerance: Integer): Boolean;
    Var
      x, y, a, c, i, x1, y1, x2, y2 : Integer;
    Begin
      if (FindMSColorTol(x, y, color1, tolerance)) or
        (FindMSColorTol(x, y, color2, tolerance)) or
        (FindMSColorTol(x, y, color3, tolerance)) then
     Begin
        x1 := 245;
        y1 := 165;
        x2 := 277;
        y2 := 185;
        Repeat
          If (not (Loggedin)) Then
            break;
          a := a + 1;
          If (a = 1) Then
            c := c + 1;
          If (a = 3) Then
            c := c + 1;
          for i := 1 to c do
          Begin
            If (a = 1) Then
            Begin
              x1 := x1 + 30;
              x2 := x2 + 30;
            End;
            If (a = 2) Then
            Begin
              y1 := y1 - 20;
              y2 := y2 - 20;
            End;
            If (a = 3) Then
            Begin
              x1 := x1 - 30;
              x2 := x2 - 30;
            End;
            If (a = 4) Then
            Begin
              y1 := y1 + 20;
              y2 := y2 + 20;
            End;
            If (x1 = 485) and (x2 = 517) Then
              x2 := x2 - 2;
            If (y1 = 325) and (y2 = 345) Then
              y2 := y2 - 7;
            If (x2 > 515) Then
              Break;
            if (FindColorTolerance(x, y, color1, x1, y1, x2, y2, tolerance)) or
              (FindColorTolerance(x, y, color2, x1, y1, x2, y2, tolerance)) or
              (FindColorTolerance(x, y, color3, x1, y1, x2, y2, tolerance)) then
                Begin
                  MMouse(x, y, 5, 5);
                  GetMousePos(x, y);
                  cx:= x;
                  cy:= y;
                  Wait(100+Random(50));
                  If(IsUpTextMulti('hop down Will', 'down Willow', 'own Wil')) or (IsUpTextMulti('illow', 'low', 'Will')) Then
                    Begin
                     If(FindColorTolerance(X, Y, 55769, 85, 15, 115, 15, 20))then
                      Begin
                       CharmDebug('Found Ent!');
                       Mouse(MMCX, MMCY, 5, 5, True);
                       Wait(10000+Random(5000));
                       FindNormalRandoms;
                       EntsAvoided:= EntsAvoided + 1;
                       Break;
                       Result:= False;
                      End else
                      Begin
                      Result := True;
                      Break;
                     End
                    End;
                End;
             End;
          If (a = 4) Then
            a := 0;
        Until (x2 > 515) or (Result= True);
      End;
    End;

    //----------------------------------------------------------------------------//
    //---> FindWillowDeformed Function                                            //
    //----------------------------------------------------------------------------//

    Function FindWillowDeformed(Var ObjX, ObjY: Integer): Boolean;
    Var
    Acc, Ref: Extended;
    TX, TY, Times, Tol, WillowTree: Integer;
    Begin

     WillowTree := BitmapFromString(2, 6, '18180E303016304016283' +
           '01648502C30382160682C304013585044484832485024485039');

     Ref:= 0.9;
     Tol:= 0;

      For Times := 1 to 20 do
       Begin
        FindTalk;
        Wait(50+Random(100));
        Try
         FindDeformedBitmapToleranceIn(WillowTree, TX, TY, MSX1 + 50, MSY1 + 50, MSX2 - 50, MSY2 - 50, Tol, 2, True, Acc);
        except
          Result:= False;
        End
        If(Acc >= Ref)then
         Begin
          MMouse(TX + Random(10), TY, 3, 3);
          If(IsUpTextMulti('hop down Will', 'down Willow', 'own Wil')) or (IsUpTextMulti('illow', 'low', 'Will'))then
           Begin
            If(FindColorTolerance(X, Y, 55769, 85, 15, 115, 15, 20))then
             Begin
              CharmDebug('Found Ent!');
              Result:= False;
              Mouse(MMCX, MMCY, 5, 5, True);
              Wait(Random(5000));
              FindNormalRandoms;
              EntsAvoided:= EntsAvoided + 1;
              Exit;
             End
            ObjX:= TX;
            ObjY:= TY;
            Result:= True;
            Exit;
           End
         End
      //If Times mod 2 = 0 then //5
       //Begin
        Ref:= Ref - 0.1; //Ref:= Ref - 0.05;
        Tol:= Tol + 10; //Tol:= Tol + 7;
        Wait(Random(50));
       //End
      //Wait(1);
     End
     //Wait(1);
     FreeBitmap(WillowTree);
    End;

    //----------------------------------------------------------------------------//
    //---> Chop Willows Function                                                  //
    //----------------------------------------------------------------------------//

    Function ChopWillows: Boolean;
    Var
    CX, CY, TempColor: Integer;
    Begin

     If(not(LoggedIn))then Exit;

     Status('Chopping');

      //If(FindWillowDeformed(CX, CY))then
      If(CharmFindObjWillow(CX, CY, 5535856, 6328448, 3301456, 15))then
       Begin

       TempColor:= GetColor(CX, CY);

        //If(not(CharmEnt(CX, CY)))then
        If(IsUpTextMulti('hop down Will', 'down Willow', 'own Wil')) or (IsUpTextMulti('illow', 'low', 'Will')) Then
          Begin
           If(Random(20) < 15)then
             Begin
               Mouse(CX, CY, 2, 2, True);
               Result:= True;
             End
            Else
             Begin
               Mouse(CX, CY, 2, 3, False);
               If(ChooseOption(x, y, 'hop down'))then
               Result:= True;
             End
          End

        If(FlagPresent)then
         Begin
          Flag;
         End

       Wait(200-Random(50));

       Status('CheckAxe');
       CharmFindAxeHead;

       If(Result= True)then
       Begin

       MarkTime(ChopMark);
        Repeat

         If(not(LoggedIn))then Break;

         Status('FindRandoms->Nest->Axe');
         CharmFindAxeHead;
         FindNormalRandoms;
         Wait(Random(50));
         FindBirdsNest;

         If(NoAxe)then Break;
         If(InvFull)then Break;

         WoodcuttingAntiban;

         If(UseAutoResponder)then Status('AutoRespond') AutoRespond;

          If(CharmEnt(CX, CY))then
           Begin
            CharmDebug('Found Ent!');
            Mouse(MMCX, MMCY, 5, 5, True);
            FindTalk;
            Wait(10000+Random(5000));
            FindNormalRandoms;
            Exit;
           End

          Status('FindFight');
          If(FindFight)then
           Begin
            Status('Found Fight');
            HandleFight;
            Exit;
           End

         Status('FindRandoms');
         FindTalk;

        Until(TimeFromMark(ChopMark) >= (WaitTime*1000+Random(5000))) or (not(FindColor(CX, CY, TempColor, CX - 10, CY - 10, CX + 10, CY + 10)));

      End

     End

    End;

    //----------------------------------------------------------------------------//
    //---> OpenBank Function                                                      //
    //----------------------------------------------------------------------------//

    Function CharmOpenBank: Boolean;
    Var
    BX, BY, Tries: Integer;
    Begin

     Repeat

      If(FindObjectMulti(BX, BY, 'e Bank', 'Use Ba', 'ooth', 2842230, 3421241, 605778, 10, 5, True, True))then

        MMouse(BX, BY, 2, 2);

       If(IsUpTextMulti('e Bank', 'Use Ba', 'ooth'))then
         Begin
          Mouse(BX, BY, 4, 7, False);
          Wait(10+Random(50));
          If(ChooseOption(x, y, 'uickly'))then
          Begin
           MarkTime(Mark);
            Repeat
              Wait(10+Random(5));
              If(TimeFromMark(Mark) > 20000)then
               Begin
                Result:= False;
                Exit;
               End
            Until(BankScreen);
           If(BankScreen)then
            Begin
             Result:= True;
             Exit;
            End
          End
         End
        Else
        Begin
         Wait(1);
         Tries:= Tries + 1;
        End;
      Until(Tries > 10);

    End;

    //----------------------------------------------------------------------------//
    //---> CountLogs Procedure                                                    //
    //----------------------------------------------------------------------------//

    Procedure CountLogs;
    Var
    WillowCount, WillowExp: Integer;
    Begin

     GameTab(4);

     WillowCount:= CountItemBmpMaskTol(LogMask, 20, 10);
     TotalWillows:= TotalWillows + WillowCount;

     Players[CurrentPlayer].Integer2:= Players[CurrentPlayer].Integer2 + WillowCount;

     WillowExp:= (WillowCount*(125/2));

     Players[CurrentPlayer].Integer3:= Players[CurrentPlayer].Integer3 + Round(WillowExp);

     TotalExp:= TotalExp + Round(WillowExp);

    End;

    //----------------------------------------------------------------------------//
    //---> Banking Procedure                                                      //
    //----------------------------------------------------------------------------//

    Procedure BankWillows;
    Begin

     If(not(LoggedIn))then Exit;

     Status('Banking');

     CountLogs;

     If(FlagPresent)then Wait(500+Random(2000));

     HighestAngle;

     MarkTime(Mark);
     Repeat

      If(CharmOpenBank)then Break;
      If(OpenBankQuiet('db'))then Break;

     Until(BankScreen) or (TimeFromMark(Mark) > 90000);

     If(TimeFromMark(Mark) > 90000)then
      Begin
       Players[CurrentPlayer].Loc:= 'Lost';
       Logout;
       Exit;
      End

     If(BankScreen)then
      Begin
       If(NoAxe= True)then
         Begin
          ClickAllItemsColorWait('All', 65536, 500+Random(100));
          FixBank;
          Wait(Random(250)+300);

         If(FindBitmapMaskTolerance(AxeMask, x, y, MSX1, MSY1, MSX2, MSY2, 20, 10))then
           Begin
            Mouse(x, y, 1, 1, True);
           End else
           Begin
            Players[CurrentPlayer].Loc:= 'No Axes';
            NoAxes:= True;
           End

         Wait(Random(250)+50);

         End else
         Begin
           If(EquipAxe= False)then
            Begin
             Deposit(2, 28, 2);
             Wait(100+Random(50));
             Deposit(3, 28, 2);
            End else
           If(EquipAxe= True)then
            Begin
             ClickAllItemsColorWait('All', 65536, 500+Random(100));
             Wait(Random(250)+300);
            End
         End

         Repeat
          If(not(LoggedIn))then Break;
          CloseBank;
         Until(not(BankScreen));

         If(NoAxe= True)then
          Begin
           CharmFindAxeHeadColors;
           Wait(Random(300)+250);
          If(EquipAxe= True)then
           GameTab(4);
           If(FindBitmapMaskTolerance(AxeMask, x, y, MIX1, MIY1, MIX2, MIY2, 20, 10))then
            Begin
             Mouse(x, y, 5, 5, True);
            End
           NoAxe:= False;
          End

         Loads:= Loads + 1;
         Banks:= Banks + 1;
         Players[CurrentPlayer].Banked:= Players[CurrentPlayer].Banked + 1;

       End

    End;

    //----------------------------------------------------------------------------//
    //---> Progress Report                                                        //
    //----------------------------------------------------------------------------//

    Procedure PlayerStats;
    Var
    Active: String;
    I: Integer;
    Begin

      If(Players[CurrentPlayer].Active= True)then
       Begin
        Active:= 'True';
       End else
       Begin
        Active:= 'False';
       End

      WriteLn('|-----------------------------------------------------|');
      Writeln('  Name         : '+Players[CurrentPlayer].Name);
      Writeln('  Number       : '+IntToStr(CurrentPlayer));
      Writeln('  Active       : '+Active);
      Writeln('  Location     : '+Players[CurrentPlayer].Loc);
      Writeln('  Chopped      : '+IntToStr(Players[CurrentPlayer].Integer2)+' willow[s].');
      Writeln('  Gained       : '+IntToStr(Players[CurrentPlayer].Integer3)+' exp.');
      Writeln('  Worked       : '+IntToStr(Players[CurrentPlayer].Worked)+' mins.');
      WriteLn('|-----------------------------------------------------|');

      For I:= 0 to HowManyPlayers - 1 do
       Begin

        If(Players[i].Active= True)then Active:= 'T' else Active:= 'F';

        WriteLn(' '+IntToStr(I)+' : '+Players[i].Name+' = '+Active+' - '
        +'B '+IntToStr(Players[i].Banked)+' time[s], '
        +'C '+IntToStr(Players[i].Integer2)+' log[s], '
        +'G '+IntToStr(Players[i].Integer3)+' exp., '
        +'L '+Players[i].Loc);
       End

      WriteLn('\<--------------------------------------------------->/');

    End;

    //----------------------------------------------------------------------------//

    Procedure ProgressReport;
    Begin
      ClearDebug;
      WriteLn('/<--------------------------------------------------->\');
      WriteLn('| -> Willow Raper '+Ver+' > Prog Report < By - ChArMz <- |');
      Writeln('\<--------------------------------------------------->/');
      WriteLn('  Worked for '+TimeRunning+'.');
      WriteLn('  Banked '+IntToStr(Banks)+' Total Load[s].');
      WriteLn('  Chopped '+IntToStr(TotalWillows)+' Total Willow[s].');
      WriteLn('  Gained '+IntToStr(TotalExp)+' Total Exp.');
      If(HeadsFound > 0)then
        WriteLn('  Found Axe Head '+IntToStr(HeadsFound)+' Time[s].');
      If(AxesBroke > 0)then
        WriteLn('  Broke '+IntToStr(AxesBroke)+' Axe[s].');
      SRLRandomsReport;
      PlayerStats;
    End;

    //----------------------------------------------------------------------------//
    //--->  Callibration Procedure                                                //
    //----------------------------------------------------------------------------//

    Procedure Callibrate;
    Var
    CX, CY: Integer;
    Begin

     If(not(LoggedIn))then Exit;

     Status('Callibrating');

       If(FindSymbol(CX, CY, 'fishing spot'))then
         Begin
          If(Distance(MMCX, CX, MMCY, CY) > 45)then
           Begin
            Mouse(CX +Random(5), CY - 10+Random(10), 4, 6, True);
            Flag;
            CharmDebug('Callibrated by Fishing Symbol.');
           End
         End

      If(WeAreDead) or (FindSymbol(CX, CY, 'water source'))then
       Begin
        Players[CurrentPlayer].Loc:= 'Lumbridge';
        Logout;
       End

    End;

    //----------------------------------------------------------------------------//
    //---> Setup Procedure                                                        //
    //----------------------------------------------------------------------------//

    Procedure Setup;
    Begin

      SetupSRL;
      LoadBitmaps;
      LoadDTMs;
      DeclarePlayers;

      MouseSpeed:= 10-Random(5);

      ActivateClient;

     If(not(LoggedIn))then LoginPlayer;

     If(LoggedIn)then
      Begin
       EquipAxe:= Players[CurrentPlayer].Boolean1;
       NickNameBMP:= CreateBitmapMaskFromText(Players[CurrentPlayer].Nick, UpChars);
       CharmFindAxeHeadColors;
       FindMMWaterColor;
       FindTalk;
      End

    End;

    //----------------------------------------------------------------------------//
    //---> Main Loop                                                              //
    //----------------------------------------------------------------------------//

    Begin

     Setup;

     Repeat

       SetRun(True);

       DraynorBankToWillowTrees;

       MarkTime(CallibrateTime);
       MarkTime(Mark);
        Repeat
         If(not(LoggedIn))then Break;
         If(TimeFromMark(CallibrateTime) >= (240000+Random(60000)))then
          Begin
           Callibrate;
           MarkTime(CallibrateTime);
          End
          Wait(Random(50));
         ChopWillows;
        Until(InvFull) or (InvCount= 28) or (NoAxe) or (TimeFromMark(Mark) >= MaxLoadTime*60000);

       Wait(Random(50));

       SetRun(False);

       WillowTreesToDraynorBank;

       BankWillows;
       Wait(Random(50));
       ProgressReport;

      If(LoggedIn) and (Loads >= Players[CurrentPlayer].Integer1) or (NoAxes)then
       Begin
        Logout;
         If(Random(5)= 1)then
          Begin
           Wait(1 * 60000 +Random(5 * 60000));
           End else
          Begin
           Wait(1 * 60000 +Random(2 * 60000));
          End
          NextPlayer(True);
          EquipAxe:= Players[CurrentPlayer].Boolean1;
          NickNameBMP:= CreateBitmapMaskFromText(Players[CurrentPlayer].Nick, UpChars);
          CharmFindAxeHeadColors;
          FindMMWaterColor;
          FindTalk;
          Loads:= 0;
        End
      If(not(LoggedIn))then
       Begin
        If(Random(5)= 1)then
          Begin
           Wait(1 * 60000 +Random(5 * 60000));
           End else
          Begin
           Wait(1 * 60000 +Random(2 * 60000));
          End
          NextPlayer(False);
          EquipAxe:= Players[CurrentPlayer].Boolean1;
          NickNameBMP:= CreateBitmapMaskFromText(Players[CurrentPlayer].Nick, UpChars);
          CharmFindAxeHeadColors;
          FindMMWaterColor;
          FindTalk;
          Loads:= 0;
       End

      Until(False);

    End.

  2. #2
    Join Date
    Jun 2006
    Posts
    3,861
    Mentioned
    3 Post(s)
    Quoted
    1 Post(s)

    Default

    This is a very old script. It won't work anymore.

  3. #3
    Join Date
    Jan 2008
    Location
    inside you! :O
    Posts
    11
    Mentioned
    0 Post(s)
    Quoted
    0 Post(s)

    Default

    is there any other scripts?

  4. #4
    Join Date
    Feb 2007
    Location
    Estonia.
    Posts
    1,938
    Mentioned
    0 Post(s)
    Quoted
    2 Post(s)

  5. #5
    Join Date
    Jan 2007
    Location
    Skaville, Jamaica
    Posts
    1,117
    Mentioned
    0 Post(s)
    Quoted
    0 Post(s)

    Default

    | 2. Need SCAR version 2.0.3. |
    | 3. Need SRL version 3.5. |
    Stop leeching and READ.

  6. #6
    Join Date
    Sep 2006
    Posts
    6,089
    Mentioned
    77 Post(s)
    Quoted
    43 Post(s)

    Default

    Closed.
    Hup Holland Hup!

Thread Information

Users Browsing this Thread

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

Similar Threads

  1. Compiling Error
    By kevin0095 in forum OSR Help
    Replies: 4
    Last Post: 03-07-2009, 04:06 AM
  2. Compiling error?
    By Jimmy5410 in forum OSR Help
    Replies: 6
    Last Post: 11-27-2008, 06:10 AM

Posting Permissions

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