eed willow/banker draynor for scar 3.12 please =]

Discussion in 'Script Requests' started by altctrldel, Nov 9, 2007.

eed willow/banker draynor for scar 3.12 please =]
  1. Unread #1 - Nov 9, 2007 at 11:49 PM
  2. altctrldel
    Joined:
    Nov 8, 2007
    Posts:
    6
    Referrals:
    0
    Sythe Gold:
    0

    altctrldel Newcomer

    eed willow/banker draynor for scar 3.12 please =]

    need willow/banker draynor for scar 3.12

    and if its possible with anti ban and anti random.


    if that cant be done can some one send me a script with draynor wc and banking and tell me the scar version i need to use.

    thanks. :p
     
  3. Unread #2 - Nov 10, 2007 at 10:18 PM
  4. blood_dealer
    Referrals:
    0

    blood_dealer Guest

    eed willow/banker draynor for scar 3.12 please =]

    try this but idk if it works on 3.12 if not with 3.12 then with scar 2.03 if u get it working please tell me =D

    {=========================================================================]
    [ ~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.
     
  5. Unread #3 - Nov 10, 2007 at 10:25 PM
  6. blood_dealer
    Referrals:
    0

    blood_dealer Guest

    eed willow/banker draynor for scar 3.12 please =]

  7. Unread #4 - Nov 11, 2007 at 8:26 PM
  8. altctrldel
    Joined:
    Nov 8, 2007
    Posts:
    6
    Referrals:
    0
    Sythe Gold:
    0

    altctrldel Newcomer

    eed willow/banker draynor for scar 3.12 please =]

    ok i will msg u if it works and ty for post:D .
     
  9. Unread #5 - Nov 11, 2007 at 9:33 PM
  10. altctrldel
    Joined:
    Nov 8, 2007
    Posts:
    6
    Referrals:
    0
    Sythe Gold:
    0

    altctrldel Newcomer

    eed willow/banker draynor for scar 3.12 please =]

    no they did'nt work said some error code about a bitmap or somthing =[ thanks any way.
     
  11. Unread #6 - Nov 12, 2007 at 9:07 PM
  12. shadonic96
    Referrals:
    0

    shadonic96 Guest

    eed willow/banker draynor for scar 3.12 please =]

    Yeah, this keeps happening to me, but a different error happens...

    Code:
    Line 80: [Error] (14962:12): Unknown identifier 'INTEGER1' in script C:\Program Files\SCAR 3.12\Scripts\Willow Raper.scar

    can someone PLEASe help us newbies out with this, i can even manage a "hello world right now:p "
     
  13. Unread #7 - Nov 12, 2007 at 9:08 PM
  14. shadonic96
    Referrals:
    0

    shadonic96 Guest

    eed willow/banker draynor for scar 3.12 please =]

    Yeah, this keeps happening to me, but a different error happens...

    Code:
    Line 80: [Error] (14962:12): Unknown identifier 'INTEGER1' in script C:\Program Files\SCAR 3.12\Scripts\Willow Raper.scar

    can someone PLEASe help us newbies out with this and convert it to 3.12, i can even manage a "hello world right now:p "
     
  15. Unread #8 - Nov 12, 2007 at 11:57 PM
  16. blood_dealer
    Referrals:
    0

    blood_dealer Guest

    eed willow/banker draynor for scar 3.12 please =]

    that script should work just have to add something i don't know what
     
  17. Unread #9 - Nov 15, 2007 at 5:23 PM
  18. d girlz00000007
    Referrals:
    0

    d girlz00000007 Guest

    eed willow/banker draynor for scar 3.12 please =]

    where do i put the script at?? plz tell me
     
  19. Unread #10 - Nov 15, 2007 at 5:37 PM
  20. d girlz00000007
    Referrals:
    0

    d girlz00000007 Guest

    eed willow/banker draynor for scar 3.12 please =]

    blood you no where to put the script at?if so please help me
     
  21. Unread #11 - Nov 16, 2007 at 11:08 AM
  22. blood_dealer
    Referrals:
    0

    blood_dealer Guest

    eed willow/banker draynor for scar 3.12 please =]

    I know where to put it but this one is complicated i cant get it to work, anyway u have to download scar u can download at http://www.freddy1990.com/scar.php some scripts don't work on some versions of scar u will learn soon enough. just read more and u will understand more.
     
  23. Unread #12 - Nov 18, 2007 at 4:05 PM
  24. mandayboy
    Referrals:
    0

    mandayboy Guest

    eed willow/banker draynor for scar 3.12 please =]

    the script works, it dont take a genious to fill in the lines.....
     
< I am buying.... | Working edgeville yewcutter???? >

Users viewing this thread
1 guest


 
 
Adblock breaks this site