Need Auto Draynor Willow Cutter And Banker!!!

Discussion in 'Script Requests' started by i am da master, Jul 23, 2007.

Need Auto Draynor Willow Cutter And Banker!!!
  1. Unread #1 - Jul 23, 2007 at 2:20 AM
  2. i am da master
    Joined:
    Jul 22, 2007
    Posts:
    25
    Referrals:
    0
    Sythe Gold:
    0

    i am da master Member

    Need Auto Draynor Willow Cutter And Banker!!!

    i really need a working auto willow cutter and banker for draynor and a yew one (mostly woried about willow can some 1 plz give me a link or something to a working willow cutter and banker
     
  3. Unread #2 - Jul 23, 2007 at 10:31 AM
  4. dougiek
    Joined:
    Jul 21, 2007
    Posts:
    106
    Referrals:
    1
    Sythe Gold:
    0

    dougiek Active Member

    Need Auto Draynor Willow Cutter And Banker!!!

    well i dont really know how to work with these things haha but here is one that is a draynor willow cutter and banker


    {.Script Info:

    # ScriptName = Draynor Willow Smasher and Banker
    # Author = Surajd
    # Description = Smashes Willows and Banks them in Draynor =D
    # Version = v1.01 [ SRL Include ]
    # Date = Published on the 5/07/06
    # Comments = Please post all Bugs/Corrections in this script's thread, What are you waiting for! =D

    # Setup lines are from lines 29-35!
    # Have Axe in the FIRST Inventory Slot!
    # 06/06/06 : Added a Progress Report! As commented by a few people =D
    # 06/06/06 : Fixed some bugs in the Counters =/

    /Script Info}


    program DWSBanker_SRL_Remade;
    {.include SRL/SRL.scar}
    {.include SRL/SRL/Skill/Woodcutting.scar}


    var
    a5, b1: Integer;
    A1, A2, A3, H: Integer;
    BTimes, STimes, FTimes, ETimes: Integer;

    const
    HowManyTrips = 100; // How many trips do you want the script to do?
    WaitTime = 3501; // Time between Smashing the Willow Tree (Milliseconds)
    MMBankSymbol = 5103346; // Put in the Color of the Bank Symbol (Yellow)

    WTreeColor1 = 2658424; //Color of Willow Tree (1)
    WTreeColor2 = 1332819; //Color of Willow Tree (2)
    WTreeColor3 = 5535856; //Color of Willow Tree (3)


    VersionNumber = 'v1.01 by Surajd'; // Do not change!



    procedure ProgressReport;
    begin
    begin
    WriteLn(' ');
    WriteLn('<============== -' + VersionNumber + '- Progress Report ===============>');
    WriteLn(' Smashed: ' + inttostr(STimes) + ' Willow Log(s)! ');
    WriteLn(' Banked: ' + inttostr(BTimes) + ' Loads of Willows! ');
    WriteLn(' Fixed: ' + inttostr(FTimes) + ' Axe(s)! ');
    WriteLn(' Found: ' + inttostr(ETimes) + ' Ent(s)! ');
    SRLRandomsReport;
    {Writeln(' This Script has been running for: ' + TimeRunning + ' Minutes! ');} // Displays wrong time >.< (Not sure why?)
    end;
    end;

    procedure SetupScript;
    begin
    MakeCompass('N');
    SetChat('Hide', 1);
    SetChat('Off', 2);
    SetChat('Off', 3);
    SetRun(true);
    GameTab(4);
    end;

    procedure AxeColors;
    begin
    Writeln('Getting Axe and Handle colors...')
    A1 := Getcolor(593, 220)
    A2 := Getcolor(590, 219)
    A3 := Getcolor(588, 220)
    H := Getcolor(582, 220)
    Writeln('Axe colors: ' + inttostr(A1) + ' ' + inttostr(A2) + ' ' + inttostr(A3))
    Writeln('Handle color: ' + inttostr(H))
    end;

    procedure AntiRandomsAR;
    begin
    Findnormalrandoms;
    AntiBan;
    if (FindFight) then
    begin
    Writeln('We are in a fight! Not to worry... .. SCRAMBLE!!!');
    RunAwayDirection('E');
    RunBack;
    Writeln('Phew, that was a close one.. Lets continue smashing! =D');
    end;
    FindEnt(WTreeColor1);
    FindEnt(WTreeColor2);
    FindEnt(WTreeColor3);
    if(FindEnt(WTreeColor1))then
    ETimes := ETimes + 1
    if (not (ExistsItem(1))) then
    begin
    Writeln('Axe head missing! Looking very carefully to find it =/');
    FindHead;
    FTimes := FTimes + 1
    end;
    end;

    procedure GoSmashWillows;
    begin
    if (FindMMColorTol(a, b, MMBankSymbol, 5)) then
    wait(1001 + random(203 * 2 / 1 - 1 + 2));
    Mouse(a - 29, b + 41, 1, 2, true);
    Flag;
    end;

    procedure GoBank;
    begin
    if (InvFull) then
    Writeln('Going to deposit this heavy load of bull! *Sigh*');
    FindBank('db');
    Flag;
    wait(2000 + random(500 * 2 / 3 + 100));
    if (BankScreen) then
    begin
    Deposit(2, 28, 2);
    wait(1001 + random(30 * 8 / 2 - 7 + 10));
    BTimes := BTimes + 1
    CloseBank;
    Writeln('Successfully deposited the heap of goods!');
    wait(1500 + random(709 * 2 / 2 + 200 - 2));
    ProgressReport;
    end;
    end;


    procedure ChopDownWillows;
    begin
    if (FindMainColor(a, b, WTreeColor1, 3, true)) or
    FindMainColor(a, b, WTreeColor2, 2, true) or
    FindMainColor(a, b, WTreeColor3, 3, true) then
    begin
    repeat
    STimes := STimes + 1
    wait(1023 + random(323 * 5 / 2));
    if (IsUpText('Chop Down')) then
    MMouse(a, b, 1, 2);
    GetMousePos(a, b);
    Mouse(a, b, 1, 2, true);
    wait(WaitTime + Random(329 * 8 / 2 + 3 - 1));
    AntiRandomsAR;
    until (InvFull);
    ProgressReport;
    end;
    end;

    procedure MainLoop;
    begin
    repeat
    SetupScript;
    AxeColors;
    AntiRandomsAR;
    ChopDownWillows;
    GoBank;
    GoSmashWillows;
    until (HowManyTrips = BTimes);
    Logout;
    Writeln('Thanks for using the beefy Draynor Willow Smasher and Banker Script created by Surajd =D');
    end;


    begin
    BTimes := 0
    STimes := 0
    FTimes := 0
    ETimes := 0
    ProgressReport;
    Writeln('You are using the Draynor Willow SMASHER and Banker script!');
    Writeln('... Created by Surajd =)');
    SetupSRL;
    DisguiseScar('Notepad');
    MainLoop;
    end.


    i dont know if thats all you need but thats a script for it =]
     
  5. Unread #3 - Jul 23, 2007 at 2:48 PM
  6. i am da master
    Joined:
    Jul 22, 2007
    Posts:
    25
    Referrals:
    0
    Sythe Gold:
    0

    i am da master Member

    Need Auto Draynor Willow Cutter And Banker!!!

    ty sm but i dont know if it will work
     
  7. Unread #4 - Jul 23, 2007 at 5:33 PM
  8. i am da master
    Joined:
    Jul 22, 2007
    Posts:
    25
    Referrals:
    0
    Sythe Gold:
    0

    i am da master Member

    Need Auto Draynor Willow Cutter And Banker!!!

    did not work most of em dont they say something about line 395 unkown identfier
     
  9. Unread #5 - Jul 24, 2007 at 11:07 AM
  10. Lordevan134
    Referrals:
    0

    Lordevan134 Guest

    Need Auto Draynor Willow Cutter And Banker!!!

    i have one for you.......

    {=========================================================================]
    [ ~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 := '';
    Players[0].Pass := '';
    Players[0].Nick := ''; //3 Lowercase Letters of your username
    Players[0].Integer1 := 35; //Loads For Player
    Players[0].Boolean1 := False; //Equip Axe?
    Players[0].Active := True;

    Players[1].Name := '';
    Players[1].Pass := '';
    Players[1].Nick := '';
    Players[1].Integer1 := 35;
    Players[1].Boolean1 := True;
    Players[1].Active := True;

    Players[2].Name := '';
    Players[2].Pass := '';
    Players[2].Nick := '';
    Players[2].Integer1 := 35;
    Players[2].Boolean1 := False;
    Players[2].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.');
    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.Active= True)then Active:= 'T' else Active:= 'F';

    WriteLn(' '+IntToStr(I)+' : '+Players.Name+' = '+Active+' - '
    +'B '+IntToStr(Players.Banked)+' time, '
    +'C '+IntToStr(Players.Integer2)+' log, '
    +'G '+IntToStr(Players.Integer3)+' exp., '
    +'L '+Players.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.');
    WriteLn(' Chopped '+IntToStr(TotalWillows)+' Total Willow.');
    WriteLn(' Gained '+IntToStr(TotalExp)+' Total Exp.');
    If(HeadsFound > 0)then
    WriteLn(' Found Axe Head '+IntToStr(HeadsFound)+' Time.');
    If(AxesBroke > 0)then
    WriteLn(' Broke '+IntToStr(AxesBroke)+' Axe.');
    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.
     
  11. Unread #6 - Jul 25, 2007 at 2:53 PM
  12. †TheLegend†
    Joined:
    Apr 29, 2007
    Posts:
    521
    Referrals:
    1
    Sythe Gold:
    0

    †TheLegend† Forum Addict
    Banned

    Need Auto Draynor Willow Cutter And Banker!!!

    hey how can i download the thing to put the script in
     
  13. Unread #7 - Aug 1, 2007 at 2:48 PM
  14. CHRIS999
    Referrals:
    0

    CHRIS999 Guest

    Need Auto Draynor Willow Cutter And Banker!!!

    yo even i did tht 1 it dint even work or its just i dont no how 2 work it
     
  15. Unread #8 - Aug 3, 2007 at 7:20 PM
  16. goty
    Referrals:
    0

    goty Guest

    Need Auto Draynor Willow Cutter And Banker!!!

    hey im new and i just wanted to no how to run the script plz giv me tips! im desperate /\
     
< Need ess miner - water rune crafter. | Would like a Willow Chopper that uses SCAR 3.11 >

Users viewing this thread
1 guest


 
 
Adblock breaks this site