Results 1 to 5 of 5

Thread: Failed when compiling

  1. #1
    Join Date
    Nov 2006
    Posts
    94
    Mentioned
    0 Post(s)
    Quoted
    0 Post(s)

    Default Failed when compiling

    can someone fix this the script is
    {================================================= ========================]
    [ SRL Willow Buyer+Banker ]
    [ ]
    [ NAME : SRL Template. ]
    [ WRITER : Cheesehunk ]
    [ CATEGORY : Buying/Collecting ]
    [ DESCRIPTION : Walks from Draynor to lumby, and buys Willow's. ]
    [ USAGE : Start at Draynor bank, with money in bank. ]
    [ AUTOCOLOR : Yes ]
    [ NOTES : My first SRL/Real Runescape script. ]
    [ CREDS+THANKS: phantombmx(Used his FindGerrant+Hourly Rate) ]
    [ Fakawi(Banker DTM's)+Wizzup (RadialRoadWalk=P) ]
    [ SRL Dev's+contributors(Awesome include) ]
    [ CONTACT : cheesehunk@hotmail.com ]
    [ ]
    [ ]
    [================================================== =======================]
    [ This script will walk from Draynor Bank, to the General ]
    [ store in Lumbridge, buy 27 Willow logs, then ]
    [ return to the bank. ]
    [================================================== =======================]
    [ ]
    [ Version History ]
    [================================================== =======================]
    [ Version 0.75 - Initial release. ]
    [ Version 0.76 - Fixed some time bugs, made it more humanlike. ]
    [ Version 0.80 - Added Per hour rate (Mostly copied from Phantom's ]
    [ FeatherBuyer.) Added A LOT of AntiBan procedures, and ]
    [ made it so that you can choose if you want to use ]
    [ AntiBan or not. ]
    [ ]
    [================================================== =======================]
    [ Instructions. ]
    [================================================== =======================]
    [ 1. USE Runescape with Low Detail, Very Bright. ]
    [ 2. Set your Screen to 32 bit TRUE color. ]
    [ 3. Set Playernames and Passwords in DeclarePlayers. ]
    [ 4. SET HOWMANYPLAYERS inside DeclarePlayers. ]
    [ 5. Place money in first bank slot. ]
    [ 6. Be sure to have your inventroy empty. ]
    [ 7. ALIGN MINIMAP to PERFECT NORTH. ]
    [ http://img86.imageshack.us/img86/683...pwillow7to.png ]
    [ 8. Start script with player beside the most southern bank booth. ]
    [================================================== =======================}

    program WillowBanker;

    {.include SRL/SRL.scar}
    {.include SRL/SRL/misc/DraynorColorFinder.scar}
    {.include SRL/SRL/misc/amount.scar}
    var
    FX, FY,
    RandomAntiBanMark, PeeBreakMark, RunMark,
    CashLeft, WillowsLeft, Willows,
    Doors, WillowCol, House2Color,
    DB1, DB2, DB3, Buy10, NewDoor, Trade : integer;
    //******************** Set These Constants if Needed ********************//

    Const StartPlayer = 2; // Determines who will play first
    Loads = 2; // Number of loads before switching Players(2-4 is best.)
    CHEESEDebug = True; // Set to false, if you don't want to know whats going on=P
    UseBenMouse = True; // Set to false if you do not wish to you Bens Mouse.
    MouseSpeeed = 23; // The speed of the mouse.
    UseAntiBan = True; // True, or False, do you want to use Antiban procedures?
    //*********************** Declare your players ***************************//

    Procedure DeclarePlayers;
    begin

    HowManyPlayers := 5;
    CurrentPlayer:=StartPlayer;
    NumberOfPlayers(HowManyPlayers); // set arraylength

    Players[0].Name :='';
    Players[0].Pass :='';
    Players[0].Nick :='';
    Players[0].Loc :='Bank';
    Players[0].Active:=True;

    end;
    {




    Do not touch below here, unless asked,
    or you know what you are doing.

    You may use parts of the script all you want, just
    be sure to credit me!


    }
    //************************************************** **********************//
    Const VersionNumber = '0.80'; // Compliant with Rev 728+

    //*********************** Progress Reports *******************************//

    procedure PlayerStats;

    var Active: string;
    var PWillows,i: Integer;
    begin
    PWillows:=Players[CurrentPlayer].Banked*27;
    writeln('[]++----------------------------------++[]');
    writeln('Name : '+ Players[CurrentPlayer].Name+', Number : '+ inttostr(CurrentPlayer));
    writeln('Worked for : '+ inttostr(Players[CurrentPlayer].Worked)+' minutes, Banked : '+ inttostr(Players[CurrentPlayer].Banked) + ' Load[s]');
    writeln('Willows : '+ inttostr(PWillows));
    if Players[CurrentPlayer].Active=True then Active:='True' else Active:='False';
    writeln('Active : '+ Active+', Loc : '+ Players[CurrentPlayer].loc);
    writeln('[]++----------------------------------++[]');

    for i := 0 to HowManyPlayers-1 do
    begin
    if Players[i].Active=True then Active:='True' else Active:='False';
    writeln( (inttostr(i))+' : '+Players[i].name+ ' = '+Active)
    writeln('. - B :'+inttostr(Players[i].Banked)+' Times.'+
    ' - : '+IntToStr(Players[i].Worked)+' mins.'+' - Loc: '+Players[i].loc);
    end
    writeln('[]++----------------------------------++[]');
    end;

    //************************************************** **********************//

    procedure ProgressReport;
    var SSeconds, RoundedRate, Hours, Minutes, Seconds: integer;
    Rate: Extended;
    begin
    Hours:= ScriptTime(1);
    Minutes:= ScriptTime(2);
    Seconds:= ScriptTime(3);
    if(Hours>0) then begin SSeconds:=SSeconds+(Hours*3600); end;
    if(Minutes>0) then begin SSeconds:=SSeconds+(Minutes*60); end;
    if(Seconds>0) then begin SSeconds:=SSeconds+Seconds; end;
    if(Willows>0) then
    begin
    Rate:= (Willows/SSeconds)*3600;
    RoundedRate:= Round(Rate);
    end;

    begin
    WriteLn(' ');
    WriteLn('<============== -'+VersionNumber+'- Progress Report ===============>');
    Writeln('Worked for '+ TimeRunning);
    WriteLn('Banked '+IntToStr(banks)+' Loads[s].');
    WriteLn('About '+IntToStr(Willows)+' Willows.');
    if (Willows>0) then
    WriteLn('Averaging about '+IntToStr(RoundedRate)+' Willows per hour.');
    Writeln('Opened '+IntToStr(Doors)+' Door[s].');
    SRLRandomsReport;
    Writeln(' ');
    end;
    PlayerStats;
    end;

    //*********************Fakawi's OpenBankQuiet Edited***************************//

    Function OpenDraynorQuiet(X1, Y1, X2, Y2: integer):Boolean;
    var
    DraynorCounter,
    Dx, Dy, tol, Mark2, Mark3:integer;
    var
    acc, accthres:extended;
    begin
    DraynorCounter := BitmapFromString(34, 1, 'z78DA658E4B0' +
    'E80300844AF34FCB45DAA70FF2B89B40B12339997F0C980BA 5C98' +
    '06837A7AE828CE74551F77FF51CBCD1FC5D90136961428281 6E59' +
    '683EF94207AF2BA55C9948672BFB2FB7D5A1F6E8A10D0C927 4552' +
    '39FD022AE92A73');

    SendArrowSilentWait(0,1000+Random(500));
    MarkTime(Mark3);
    Tol:=1;
    accthres:=0.6;
    repeat
    FindDeformedBitmapToleranceIn(DraynorCounter, Dx, Dy, X1, Y1, X2, Y2, tol, 4, True, acc);
    if (acc >= accthres) then
    begin
    MMouse(Dx, Dy, 0, 0);
    if IsUpTextMulti('e Bank','Booth','ooth') then
    begin
    GetMousePos(Dx, Dy);
    Mouse(Dx, Dy, 0, 0, False);
    if ChooseOption(Dx, Dy, 'uickly') then
    begin
    MarkTime(Mark2);
    repeat
    Wait(10);
    if TimeFromMark(Mark2) > 20000 then
    begin
    writeln('couldnt find the bank. Exiting');
    Exit;
    end;
    until BankScreen;
    end;
    Result := True;
    Exit;
    end;
    end;
    wait(100);
    FindNormalRandoms;
    tol := tol + 4; if tol >= 20 then
    begin
    tol := 1;
    accthres := accthres - 0.1;
    if accthres < 0.2 then
    begin
    writeln('couldnt find the bank. Exiting');
    Exit;
    end;
    end;
    until TimeFromMark(Mark3) > 60000;
    FreeBitMap(DraynorCounter);
    end;

    //************************************************** **************************//

    function FindDraynorHouse2Color: Integer;
    var C,TX,TY,DraynorHouse2:integer;
    begin
    DraynorHouse2 := BitmapFromString(5, 5, 'z78DA333135B030343' +
    '319642400FD271E79');
    while (C<65) do
    begin
    C:=C+5;
    if FindBitMapToleranceIn(DraynorHouse2,TX,TY,626,28,6 58,46,C) then
    begin
    House2Color:=GetColor(Tx,TY);
    Result:=House2Color;
    break;
    end
    end
    FreeBitMap(DraynorHouse2);

    if Result = 0 then writeln('ERROR:= Red House Color NOT Found');

    end;

    //************************************************** **************************//

    function FindDraynorRockColor2: Boolean;
    var BMPRock,C,TX,TY: Integer;
    var Found: Boolean;

    begin
    BMPRock := BitmapFromString(5, 5, 'z78DA33B2303632723531327' +
    '1363145268D7088134FE23701228BAC0659040062C61FD7')

    while (C<100) do
    begin
    C:=C+5;
    If FindBitMapToleranceIn(BMPRock,TX,TY,630,105,675,13 1,C) then
    begin
    RockColor:=GetColor(TX,TY);
    Found:=True;
    Result:=True;
    break;
    end
    end
    if Found=False then writeln('Rock NOT Found');
    FreeBitMap(BMPRock);

    end;
    //************************************************** **********************//

    Procedure FindDraynorBankColor;
    var C: integer;
    begin
    C:=0;
    repeat
    C:=C+1;
    wait(100);
    BankColor := GetSymbolColor(x,y,'bank');
    until (C>100) or (BankColor<>0);
    if CheeseDebug then Writeln('BankColor :='+IntToStr(BankColor));
    if (C>100) then
    begin
    Writeln('ERROR: Bank color could not be found, please restart script.')
    TerminateScript;
    end;
    end;
    //************************************************** **************************//

    Procedure GetWillowColor;
    var BMPWillow,C,FX,FY:integer;
    begin
    C:=0;
    BMPWillow := BitmapFromString(8, 9, 'z78DA8DD04B0A80500885E' +
    '12D651ECFAD61DDC7FE975460816141937FF48962211B5094 1BC4' +
    '6B9BC97C976832624BF26C84F6AFA95F3E34FBAB138B0EEB8 6538' +
    '6BEF80FE9458349CD530F19AF9AB148F5460968953537FAF3 0343' +
    '27D2BAEEBE37377BBFEDFA52FAFF01834A5D0C');
    repeat
    C:=C+5;
    wait(500+random(500));
    until(FindBitmapToleranceIn(BMPWillow,FX,FY,70,109 ,462,300,C));
    begin
    WillowCol:=GetColor(FX,FY);
    if CheeseDebug then Writeln('WillowColor = '+IntToStr(WillowCol));
    end;
    FreeBitmap(BMPWillow);
    end;

    //************************************************** **************************//
    Procedure GetDraynorColors;
    begin
    SymbolAccuracy:=0.4;
    FindDraynorRoadColor(584,48,616,64);
    if CheeseDebug then Writeln('RoadColor :='+IntToStr(RoadColor))
    FindDraynorRockColor2;
    if(RockColor=0) then TerminateScript;
    if CheeseDebug then Writeln('RockColor :='+IntToStr(RockColor))
    FindDraynorWaterColor;
    if(WaterColor=0) then TerminateScript;
    if CheeseDebug then Writeln('WaterColor:='+IntToStr(WaterColor));
    FindDraynorHouseColor;
    if(HouseColor=0) then TerminateScript;
    if CheeseDebug then Writeln('HouseColor:='+IntToStr(HouseColor));
    FindDraynorHouse2Color;
    if(House2Color=0) then TerminateScript;
    if CheeseDebug then Writeln('House2Color:='+IntToStr(HouseColor));
    FindDraynorBankColor;
    SymbolAccuracy:=0.8;
    end;

    //************************************************** **************************//
    Procedure LoadStuff;
    begin
    Buy10 := BitmapFromString(26, 2, 'z78DA33753135313177430206' +
    '6000619BE2908588E322DDDC2C0D4C0C2024CC3484082E35C 8262' +
    '08BE0721B329B5A6EC32582A91700559645C4');
    Trade := BitmapFromString(25, 3, 'z78DA737303010324E08' +
    '60470896302038A01C4140449BAABA8653B3E115242805A21 861E' +
    '32A8B200C0216355');
    NewDoor := BitmapFromString(4, 4, 'z78DA333733B530703147224' +
    'D5D4DCC0C2CCC31C52D4D8CF0883B9A3A0145304800F20015 0F');
    DB1 := DTMFromString('78DA636C67626008664001FFFFFF67F80FA 41' +
    '921ECFF8CB54035DEA86AFEFC61621081AA0101C63A4C73B0 AA09' +
    'C7AF06000153117B');
    DB2 := DTMFromString('78DA63EC60626008624001FFFFFF67F80FA 41' +
    '921ECFF8C3540353EA86AFEFC61621081AA0101C63AA09A10 22D4' +
    '44E057030001B5117D');
    DB3 := DTMFromString('78DA63EC60626008624001FFFFFF67F80FA 41' +
    '921ECFF8CF540359EA86AFEFC61621081AA0101C63AA09A40 026A' +
    '6A816A42F1AB010000781176');
    end;

    //************************************************** **********************//

    Procedure SetUp;
    begin
    SetupSRL;
    MarkTime(RandomAntiBanMark);
    MarkTime(PeeBreakMark);
    LoadStuff;
    DeclarePlayers;
    if (UseBenMouse) then BenMouse:=True
    else BenMouse:=False;
    MouseSpeed:=MouseSpeeed+random(2);
    begin
    ActivateClient;
    LoginPlayer;
    wait(500+random(500));
    GetDraynorColors;
    Willows:=0;
    end;
    end;
    //************************************************** **********************//

    Procedure RunAway;
    begin
    SetRun(true);
    MouseFindFlag(648,35,1,-1);
    FFlag(10);
    BoredHuman;
    wait(random(1000));
    MouseFindFlag(648,135,1,1);
    FFlag(10);
    case (Random(6)+1) of
    1: TypeSend('ughh');
    2: TypeSend('=P');
    3: TypeSend('lol');
    4: TypeSend('****');
    5: TypeSend('stupid randoms');
    6: Wait(10);
    end;
    end;
    //************************************************** **************************//

    Procedure RClickExamine;
    begin
    MMouse(Random(MSX2), Random(MSY2), 0, 0);
    If IsUpText('opti') then
    begin
    GetMousePos(x,y);
    Mouse(x, y, 0, 0, False);
    case Random(3) of
    0: ChooseOption(x, y, 'Examine');
    1: ChooseOption(x, y, 'Cancel');
    2: MMouse(Random(MSX2), Random(MSY2), 0, 0);
    end;
    Wait(Random(50) + Random(50));
    end;
    end;

    //************************************************** **************************//

    procedure PeeBreakEvery(mins : Integer);
    var PeeMark: Integer;
    begin
    if ((TimeFromMark(PeeBreakMark) / 1000) / 60 >= mins) then
    begin
    MarkTime(PeeBreakMark);
    MarkTime(PeeMark);
    repeat
    Wait(1);
    FindNormalRandoms;
    until ((TimeFromMark(PeeMark) >= 15000+Random(60000)) or (not(LoggedIn)))
    end;
    end;

    //************************************************** **************************//

    procedure SetRunEvery(mins : integer; Run : Boolean);
    begin
    if ((TimeFromMark(RunMark) /1000) / 60 >= mins) then
    begin
    MarkTime(RunMark);
    SetRun(Run);
    end;
    end;

    //************************************************** **************************//

    procedure RandomAntiBanEvery(mins : Integer);
    var PantiBan: integer;
    UnRounded: Extended;
    begin
    if ((TimeFromMark(RandomAntiBanMark) /1000) / 60 >= mins) then
    begin
    MarkTime(RandomAntiBanMark);
    UnRounded:=Random(30)+11 / 10;
    PantiBan:=Round(UnRounded);
    case Pantiban of
    1: begin GameTab(12) RandomEmote; end;
    2: GameTab(1+Random(12));
    3: RClickExamine;
    4: WWait(5000+Random(3000));
    end;
    end;
    end;
    //************************************************** **************************//

    Procedure CheeseBan;
    begin
    RandomChatEvery(8+random(10));
    BoredEvery(10+random(10));
    PickUpMouseEvery(5+random(10));
    LeaveScreenEvery(5+random(5));
    HoverEvery(25+random(20),'random');
    RandomRClickEvery(15+random(5));
    PeeBreakEvery(45+random(45));
    SetRunEvery(20+random(10),True);
    RandomAntiBanEvery(10+random(15));
    end;

    //************************************************** **************************//
    procedure FindRandoms;
    begin
    FindNormalRandoms;
    if (FindFight) then RunAway;
    if(InBlack)then
    begin
    Players[CurrentPlayer].loc := 'InBlack';
    Logout;
    Exit;
    end;
    if UseAntiBan then CheeseBan;
    end;

    //************************************************** **************************//

    procedure BoredWhileFlagExistsDist(distance : integer);
    begin
    repeat
    if (not(HumanCircleFlag(distance))) then
    begin
    MMouse((Random(MSX1+MSX2))+2/2,Random(MSY1+MSY2)+2/2,0,0);

    Case Random(6) of
    0: SendArrowSilentWait( ((Random(2) * 2) + 1), 1000 + Random(200) );
    1: SendArrowSilentWait( ((Random(2) * 2)), 1000 + Random(200) );
    2: SendArrowSilentWait( ((Random(2) * 2) + 1), 200 + Random(200) );
    3: SendArrowSilentWait( ((Random(2) * 2)), 200 + Random(200) );
    4: SendArrowSilentWait( ((Random(2) * 2) + 1), 20 + Random(20) );
    5: SendArrowSilentWait( ((Random(2) * 2)), 20 + Random(20) );
    end;

    end;
    until(HumanCircleFlag(distance));
    end;

    //************************************************** **************************//

    Function WhereAreWe: String;
    begin
    SymbolAccuracy:=0.4;
    if FindSymbol(x,y,'store') or FindSymbol(x,y,'furnace') then
    begin
    Players[CurrentPlayer].Loc:='Store';
    Result:='Store';
    end;
    if FindMMColor(x,y,BankColor) or FindColor(x,y,House2Color,MMX1,MMY1,MMX2,MMY2) then
    begin
    Players[CurrentPlayer].Loc:='Bank';
    Result:='Bank';
    end;
    if (InBlack) then
    begin
    Players[CurrentPlayer].Loc:='In Black';
    Result:='In Black';
    Players[CurrentPlayer].Active:=False;
    end

    if Result='' then
    begin
    Result:='Lost';
    Players[CurrentPlayer].Loc:='Lost';
    Players[CurrentPlayer].Active:=False;
    end;
    if (CheeseDebug) then Writeln('Location := '+(Result));
    SymbolAccuracy:=0.8;
    end;

    //************************************************** **************************//

    Procedure OpenDoor;
    var XD,XY: Integer;
    begin
    if FindBitMapToleranceIn(NewDoor,XD,XY,150,85,510,333 ,20) then
    begin
    MMouse(XD,XY,0,0);
    if IsUpTextMulti('Ope','pen','Open') then
    begin
    if CheeseDebug then writeln('Opening Shop Door..');
    Doors:= Doors+1;
    Mouse(XD,XY,0,0,true);
    end;
    end;
    end;

    //************************************************** **************************//

    Function CashInInv: Boolean;
    var MoneyInventory : integer;
    begin
    if (FindItemColorTol(1347761,15)) then
    begin
    CountInvSlot(MoneyInventory,1,1);
    if (CheeseDebug) then Writeln('Cash in inventory:= '+IntToStr(MoneyInventory))
    end;
    if (MoneyInventory<324) then
    begin
    Result:=False;
    end else Result:=True;
    end;

    //************************************************** **************************//
    Procedure WalkToStore;
    var SX,SY: integer;
    begin
    if not LoggedIn then Exit;

    MarkTime(Mark);
    Players[CurrentPlayer].Loc:='To Store';
    if CheeseDebug then writeln('Walking to store...');
    RadialRoadWalk(RoadColor,20,90,45,0,1);
    LinearRoadWalk(RoadColor,90,35,0,0);
    repeat
    if (not (Loggedin)) then break;
    if(TimeFromMark(Mark)>120000) then begin Logout; Exit; end
    RadialRoadWalk(RoadColor,410,335,45,0,0);
    FindRandoms;
    until FindColor(x,y,RockColor,625,20,720,80);

    repeat
    if (not (Loggedin)) then break;
    if(TimeFromMark(Mark)>360000) then begin Logout; Exit; end;
    RadialRoadWalk(RoadColor,120,45,47,0,-1);
    FindRandoms;
    until FindColor(x,y,WaterColor,660,10,720,80);

    RadialRoadWalk(RoadColor,45,100,45,0,0);
    repeat
    if (not (Loggedin)) then break;
    if(TimeFromMark(Mark)>420000) then begin Logout; Exit; end;
    RadialRoadWalk(RoadColor,190,115,40,0,0);
    FindRandoms;
    until(FindColor(x,y,HouseColor,590,100,700,155));

    if FindColor(SX,SY,HouseColor,590,100,700,155) then
    begin
    case (Random(2)+1) of
    1: begin wait(250+random(250)) Mouse(SX,SY,10,10,true) end
    2: begin wait(250+random(250)) ClickMMColor(HouseColor) end
    end;
    WWait(4000+random(2000));
    FFlag(2+random(2));
    OpenDoor;
    end;
    Players[CurrentPlayer].Loc:='Store';
    if CheeseDebug then writeln('We are now at the store');

    end;

    //************************************************** ***********************//

    Procedure WalkToDraynorBank;
    var BX,BY:integer;

    begin
    if not LoggedIn then Exit;

    MarkTime(Mark);
    if CheeseDebug then writeln('Walking to bank...');
    Players[CurrentPlayer].Loc:='To Bank';
    OpenDoor;
    RadialRoadWalk(RoadColor,0,45,45,-1,1);
    repeat
    if (not (Loggedin)) then break;
    if(TimeFromMark(Mark)>120000) then begin Logout; Exit; end
    RadialRoadWalk(RoadColor,390,320,40,-1,1);
    FindRandoms;
    until(FindColor(x,y,HouseColor,633,4,715,41));

    repeat
    if (not (Loggedin)) then break;
    if(TimeFromMark(Mark)>240000) then begin Logout; Exit; end
    RadialRoadWalk(RoadColor,250,330,45,0,0);
    until(FindColor(x,y,RockColor,596,2,689,45));

    repeat
    if (not (Loggedin)) then break;
    if(TimeFromMark(Mark)>240000) then begin Logout; Exit; end
    RadialRoadWalk(RoadColor,240,320,45,0,0);
    until(FindColor(x,y,RoadColor,594,113,689,162));

    RadialRoadWalk(RoadColor,190,250,50,0,0);
    repeat
    if (not (Loggedin)) then break;
    if(TimeFromMark(Mark)>240000) then begin Logout; Exit; end
    RadialRoadWalk(RoadColor,160,240,40,1,1);
    until (FindColor(BX,BY,BankColor,MMX1,MMY1,MMX2,MMY2) or FindColor(BX,BY,House2Color,576,22,608,90))


    Mouse(BX+random(5),BY+random(2),3,3,true);
    BoredWhileFlagExistsDist(5+random(2));
    PerfectNorth;
    Flag;
    DTM3Flag(DB1,DB2,DB3,true);
    PerfectNorth;
    end;

    //************************************************** **********************//

    Procedure WithdrawCash;
    var CashNeeded, MoneyInInv : integer;
    begin
    FixBank;
    wait(50);
    CashLeft:= amountcolor('bank',1347761,10);
    if CheeseDebug then WriteLn('Cash Left:= '+IntToStr(CashLeft)+' gp');
    if (CashLeft<324) then
    begin
    Writeln('Not enough cash, Logging out.');
    Players[CurrentPlayer].Loc:='Not enough cash';
    Players[CurrentPlayer].Active:=False;
    repeat
    Wait(1000);
    FindRandoms;
    Logout;
    until(not(LoggedIn));
    end;
    if (CashLeft>324) then
    begin
    MoneyInInv:=amountcolor('inv',1347761,20);
    CashNeeded:=324-MoneyInInv
    if CheeseDebug then writeln('Whipping out cash.');
    Withdraw(1,1,CashNeeded);
    end;
    end;

    //*****************Based off Phantom's FindGerrant****************************//

    function FindSalesman:Boolean;
    var a,b,C,d,e:integer;
    begin
    if(GetColor(334, 40)=2070783)then
    begin
    Result:=True;
    Exit;
    end;
    a:=246;
    b:=163;
    if(FindColorSpiralTolerance(a,b,5465723,10,10,500, 330,3))or
    (FindColorSpiralTolerance(a,b,5926277,10,10,500,33 0,3))or
    (FindColorSpiralTolerance(a,b,5663104,10,10,500,33 0,3))then
    begin
    MMouse(a,b,0,0);
    Wait(100+random(50));
    C:=0;
    if IsUpTextMulti('hop','Shop','Sho') then
    begin
    Mouse(a,b,0,0,false);
    Wait(100+random(20));
    if(FindBitMapToleranceIn(Trade,d,e,MSX1,MSY1,MSX2, MSY2,C)) then
    begin
    Mouse(d,e,10,2,true);
    Flag;
    SleepAndMoveMouse(1000+random(1000));
    end;
    end;
    if(GetColor(334, 40)=2070783)then
    begin
    Result:=True;
    Exit;
    end;
    end;
    SendArrowSilentWait(1,100+random(300));
    end;
    //************************************************** **********************//

    Function WillowsInStore : Boolean;
    begin
    while (WillowCol=0) do
    begin
    GetWillowColor;
    wait(1);
    end;
    if(FindColor(FX,FY,WillowCol,70,109,462,300)) then
    begin
    MarkTime(Mark);
    FX:=FX+Random(4);
    FY:=FY+Random(4);
    repeat
    MMouse(FX,FY,0,0);
    Wait(500+(500));
    until(IsUpTextMulti('ill','ogs','llow') or (TimeFromMark(Mark)>60000))
    if IsUpTextMulti('ill','ogs','llow') then Result:=True;
    end;
    WillowsLeft:=amountcolor('shop',WillowCol,0);
    if CheeseDebug then Writeln('Willows in store = '+IntToStr(WillowsLeft));
    end;
    //************************************************** **********************//

    Procedure BuyTheWillows;
    var RX,RY,WX,WY,X1,Y1:integer;
    begin
    MarkTime(Mark);
    repeat
    if(FindColor(WX,WY,WillowCol,70,109,462,300)) then
    begin
    RX:=FX;
    RY:=FY;
    MMouse(RX,RY,0,0);
    if IsUpTextMulti('ill','ogs','llow') then
    begin
    if CheeseDebug then writeln('Buying the logs=P');
    repeat
    Mouse(RX,RY,0,0,False);
    Wait(250+random(250));
    if(FindBitmapToleranceIn(Buy10,X1,Y1,19,178,989,52 8,5))then Mouse(X1,Y1,10,1,true);
    Wait(500+random(500));
    RX:=RX+Random(4);
    RY:=RY+Random(4);
    until ExistsItem(27) or (TimeFromMark(Mark)>120000);
    end;
    end;
    until ExistsItem(27) or (TimeFromMark(Mark)>160000);
    repeat
    CloseWindow;
    wait(100+random(100));
    until (not (ShopScreen));
    end;
    //************************************************** **********************//

    procedure Bank;

    begin
    if not LoggedIn then Exit;
    FindRandoms;

    MarkTime(Mark);
    repeat
    if (not(Loggedin)) then break;
    if (not OpenDraynorQuiet(140,101,320,215)) then OpenBankQuiet('db');
    until((BankScreen) or (TimeFromMark(Mark)>60000));

    if(BankScreen)then
    if CheeseDebug then writeln('Banking Items');
    Wait(250+random(250));
    FixBank;
    DepositAll;
    Wait(200+random(200));
    WithdrawCash;
    CloseWindow;
    Banks:=Banks+1;
    Willows:=Willows+27;
    Players[CurrentPlayer].Banked:=Players[CurrentPlayer].Banked+1;
    Players[CurrentPlayer].loc:='Bank';

    end;

    //************************************************** ***********************//
    //
    // Main EventLoop
    //
    //************************************************** ***********************//
    begin

    Setup;
    repeat
    OpenDraynorQuiet(205,90,250,200);
    wait(50+random(50));
    until (BankScreen);
    WithdrawCash;
    repeat
    CloseWindow;
    wait(500+random(500));
    until (not(BankScreen));

    repeat
    ActivateClient;
    SetChat('off',3);
    WhereAreWe;

    if Players[CurrentPlayer].loc='Bank' then
    begin
    MakeCompass('N');
    if not(CashInInv) then
    begin
    MarkTime(Mark);
    repeat
    if (not(Loggedin)) then break;
    if (not OpenDraynorQuiet(205,90,250,200)) then OpenBankQuiet('db');
    until((BankScreen) or (TimeFromMark(Mark)>60000));
    WithDrawCash;
    repeat
    CloseWindow
    Wait(250+random(250));
    until(not(BankScreen));
    end;
    FindDraynorRoadColor(549,5,676,95);
    WalkToStore;
    end;

    if Players[CurrentPlayer].Loc='Store' then
    begin
    MarkTime(Mark);
    repeat
    OpenDoor;
    if not Loggedin or (TimeFromMark(Mark)>60000) then break;
    wait(50+random(50));
    until(FindSalesman)

    if(WillowsInStore) then BuyTheWillows;
    PerfectNorth;
    FindDraynorRoadColor(644,30,710,115);

    WalkToDraynorBank;
    Bank;
    FindRandoms;
    ProgressReport;
    end;

    if ((LoggedIn) and (Players[CurrentPlayer].Banked mod Loads = 0)) then
    begin
    SetChat('off',3);
    repeat
    Wait(1000);
    FindNormalRandoms;
    until(not(LoggedIn));
    NextPlayer(True);
    end;

    if (not(Loggedin)) then NextPlayer(False);

    until(False);

    end.

    //Long Live SCAR. We miss you Kaitnieks.
    can someone just post the right script on there post plz or u cna send through msn badandy6mitch@yahoo.com

  2. #2
    Join Date
    Jan 2007
    Location
    USA
    Posts
    1,782
    Mentioned
    0 Post(s)
    Quoted
    0 Post(s)

    Default

    this wont fix it but i would prolly try and use the lumbridge bank upstairs and u can make a procedure where if it gets lost it will use homeport

  3. #3
    Join Date
    Jan 2007
    Location
    USA
    Posts
    1,782
    Mentioned
    0 Post(s)
    Quoted
    0 Post(s)

    Default

    this will fix ur problem, change minutes to mins and seconds to secs then add the comma in line 226; nvm ill fix it and sent it to u through pm

  4. #4
    Join Date
    Jan 2007
    Location
    USA
    Posts
    1,782
    Mentioned
    0 Post(s)
    Quoted
    0 Post(s)

    Default

    {================================================= ========================]
    [ SRL Willow Buyer+Banker ]
    [Patched by--pwnaz0r ]
    [ NAME : SRL Template. ]
    [ WRITER : Cheesehunk ]
    [ CATEGORY : Buying/Collecting ]
    [ DESCRIPTION : Walks from Draynor to lumby, and buys Willow's. ]
    [ USAGE : Start at Draynor bank, with money in bank. ]
    [ AUTOCOLOR : Yes ]
    [ NOTES : My first SRL/Real Runescape script. ]
    [ CREDS+THANKS: phantombmx(Used his FindGerrant+Hourly Rate) ]
    [ Fakawi(Banker DTM's)+Wizzup (RadialRoadWalk=P) ]
    [ SRL Dev's+contributors(Awesome include) ]
    [ CONTACT : cheesehunk@hotmail.com ]
    [ ]
    [ ]
    [================================================== =======================]
    [ This script will walk from Draynor Bank, to the General ]
    [ store in Lumbridge, buy 27 Willow logs, then ]
    [ return to the bank. ]
    [================================================== =======================]
    [ ]
    [ Version History ]
    [================================================== =======================]
    [ Version 0.75 - Initial release. ]
    [ Version 0.76 - Fixed some time bugs, made it more humanlike. ]
    [ Version 0.80 - Added Per hour rate (Mostly copied from Phantom's ]
    [ FeatherBuyer.) Added A LOT of AntiBan procedures, and ]
    [ made it so that you can choose if you want to use ]
    [ AntiBan or not. ]
    [ ]
    [================================================== =======================]
    [ Instructions. ]
    [================================================== =======================]
    [ 1. USE Runescape with Low Detail, Very Bright. ]
    [ 2. Set your Screen to 32 bit TRUE color. ]
    [ 3. Set Playernames and Passwords in DeclarePlayers. ]
    [ 4. SET HOWMANYPLAYERS inside DeclarePlayers. ]
    [ 5. Place money in first bank slot. ]
    [ 6. Be sure to have your inventroy empty. ]
    [ 7. ALIGN MINIMAP to PERFECT NORTH. ]
    [ http://img86.imageshack.us/img86/683...pwillow7to.png ]
    [ 8. Start script with player beside the most southern bank booth. ]
    [================================================== =======================}

    program WillowBanker;

    {.include SRL/SRL.scar}
    {.include SRL/SRL/misc/DraynorColorFinder.scar}
    {.include SRL/SRL/misc/amount.scar}
    var
    FX, FY,
    RandomAntiBanMark, PeeBreakMark, RunMark,
    CashLeft, WillowsLeft, Willows,
    Doors, WillowCol, House2Color,
    DB1, DB2, DB3, Buy10, NewDoor, Trade : integer;
    //******************** Set These Constants if Needed ********************//

    Const StartPlayer = 2; // Determines who will play first
    Loads = 2; // Number of loads before switching Players(2-4 is best.)
    CHEESEDebug = True; // Set to false, if you don't want to know whats going on=P
    UseBenMouse = True; // Set to false if you do not wish to you Bens Mouse.
    MouseSpeeed = 23; // The speed of the mouse.
    UseAntiBan = True; // True, or False, do you want to use Antiban procedures?
    //*********************** Declare your players ***************************//

    Procedure DeclarePlayers;
    begin

    HowManyPlayers := 5;
    CurrentPlayer:=StartPlayer;
    NumberOfPlayers(HowManyPlayers); // set arraylength

    Players[0].Name :='';
    Players[0].Pass :='';
    Players[0].Nick :='';
    Players[0].Loc :='Bank';
    Players[0].Active:=True;

    end;
    {




    Do not touch below here, unless asked,
    or you know what you are doing.

    You may use parts of the script all you want, just
    be sure to credit me!


    }
    //************************************************** **********************//
    Const VersionNumber = '0.80'; // Compliant with Rev 728+

    //*********************** Progress Reports *******************************//

    procedure PlayerStats;

    var Active: string;
    var PWillows,i: Integer;
    begin
    PWillows:=Players[CurrentPlayer].Banked*27;
    writeln('[]++----------------------------------++[]');
    writeln('Name : '+ Players[CurrentPlayer].Name+', Number : '+ inttostr(CurrentPlayer));
    writeln('Worked for : '+ inttostr(Players[CurrentPlayer].Worked)+' minutes, Banked : '+ inttostr(Players[CurrentPlayer].Banked) + ' Load[s]');
    writeln('Willows : '+ inttostr(PWillows));
    if Players[CurrentPlayer].Active=True then Active:='True' else Active:='False';
    writeln('Active : '+ Active+', Loc : '+ Players[CurrentPlayer].loc);
    writeln('[]++----------------------------------++[]');

    for i := 0 to HowManyPlayers-1 do
    begin
    if Players[i].Active=True then Active:='True' else Active:='False';
    writeln( (inttostr(i))+' : '+Players[i].name+ ' = '+Active)
    writeln('. - B :'+inttostr(Players[i].Banked)+' Times.'+
    ' - : '+IntToStr(Players[i].Worked)+' mins.'+' - Loc: '+Players[i].loc);
    end
    writeln('[]++----------------------------------++[]');
    end;

    //************************************************** **********************//

    procedure ProgressReport;
    var SSeconds, RoundedRate, Hours, Mins, Secs: integer;
    Rate: Extended;
    begin
    Hours:= ScriptTime(1);
    Mins:= ScriptTime(2);
    Secs:= ScriptTime(3);
    if(Hours>0) then begin SSeconds:=SSeconds+(Hours*3600); end;
    if(Mins>0) then begin SSeconds:=SSeconds+(Mins*60); end;
    if(Secs>0) then begin SSeconds:=SSeconds+Secs; end;
    if(Willows>0) then
    begin
    Rate:= (Willows/SSeconds)*3600;
    RoundedRate:= Round(Rate);
    end;

    begin
    WriteLn(' ');
    WriteLn('<============== -'+VersionNumber+'- Progress Report ===============>');
    Writeln('Worked for '+ TimeRunning);
    WriteLn('Banked '+IntToStr(banks)+' Loads[s].');
    WriteLn('About '+IntToStr(Willows)+' Willows.');
    if (Willows>0) then
    WriteLn('Averaging about '+IntToStr(RoundedRate)+' Willows per hour.');
    Writeln('Opened '+IntToStr(Doors)+' Door[s].');
    SRLRandomsReport;
    Writeln(' ');
    end;
    PlayerStats;
    end;

    //*********************Fakawi's OpenBankQuiet Edited***************************//

    Function OpenDraynorQuiet(X1, Y1, X2, Y2: integer):Boolean;
    var
    DraynorCounter,
    Dx, Dy, tol, Mark2, Mark3:integer;
    var
    acc, accthres:extended;
    begin
    DraynorCounter := BitmapFromString(34, 1, 'z78DA658E4B0' +
    'E80300844AF34FCB45DAA70FF2B89B40B12339997F0C980BA 5C98' +
    '06837A7AE828CE74551F77FF51CBCD1FC5D90136961428281 6E59' +
    '683EF94207AF2BA55C9948672BFB2FB7D5A1F6E8A10D0C927 4552' +
    '39FD022AE92A73');

    SendArrowSilentWait(0,1000+Random(500));
    MarkTime(Mark3);
    Tol:=1;
    accthres:=0.6;
    repeat
    FindDeformedBitmapToleranceIn(DraynorCounter, Dx, Dy, X1, Y1, X2, Y2, tol, 4, True, acc);
    if (acc >= accthres) then
    begin
    MMouse(Dx, Dy, 0, 0);
    if IsUpTextMulti('e Bank','Booth','ooth') then
    begin
    GetMousePos(Dx, Dy);
    Mouse(Dx, Dy, 0, 0, False);
    if ChooseOption(Dx, Dy, 'uickly') then
    begin
    MarkTime(Mark2);
    repeat
    Wait(10);
    if TimeFromMark(Mark2) > 20000 then
    begin
    writeln('couldnt find the bank. Exiting');
    Exit;
    end;
    until BankScreen;
    end;
    Result := True;
    Exit;
    end;
    end;
    wait(100);
    FindNormalRandoms;
    tol := tol + 4; if tol >= 20 then
    begin
    tol := 1;
    accthres := accthres - 0.1;
    if accthres < 0.2 then
    begin
    writeln('couldnt find the bank. Exiting');
    Exit;
    end;
    end;
    until TimeFromMark(Mark3) > 60000;
    FreeBitMap(DraynorCounter);
    end;

    //************************************************** **************************//

    function FindDraynorHouse2Color: Integer;
    var C,TX,TY,DraynorHouse2:integer;
    begin
    DraynorHouse2 := BitmapFromString(5, 5, 'z78DA333135B030343' +
    '319642400FD271E79');
    while (C<65) do
    begin
    C:=C+5;
    if FindBitMapToleranceIn(DraynorHouse2,TX,TY,626,28,6 ,58,46)then
    begin
    House2Color:=GetColor(Tx,TY);
    Result:=House2Color;
    break;
    end
    end
    FreeBitMap(DraynorHouse2);

    if Result = 0 then writeln('ERROR:= Red House Color NOT Found');

    end;

    //************************************************** **************************//

    function FindDraynorRockColor2: Boolean;
    var BMPRock,C,TX,TY: Integer;
    var Found: Boolean;

    begin
    BMPRock := BitmapFromString(5, 5, 'z78DA33B2303632723531327' +
    '1363145268D7088134FE23701228BAC0659040062C61FD7')

    while (C<100) do
    begin
    C:=C+5;
    If FindBitMapToleranceIn(BMPRock,TX,TY,630,105,675,13 ,1)then
    begin
    RockColor:=GetColor(TX,TY);
    Found:=True;
    Result:=True;
    break;
    end
    end
    if Found=False then writeln('Rock NOT Found');
    FreeBitMap(BMPRock);

    end;
    //************************************************** **********************//

    Procedure FindDraynorBankColor;
    var C: integer;
    begin
    C:=0;
    repeat
    C:=C+1;
    wait(100);
    BankColor := GetSymbolColor(x,y,'bank');
    until (C>100) or (BankColor<>0);
    if CheeseDebug then Writeln('BankColor :='+IntToStr(BankColor));
    if (C>100) then
    begin
    Writeln('ERROR: Bank color could not be found, please restart script.')
    TerminateScript;
    end;
    end;
    //************************************************** **************************//

    Procedure GetWillowColor;
    var BMPWillow,C,FX,FY:integer;
    begin
    C:=0;
    BMPWillow := BitmapFromString(8, 9, 'z78DA8DD04B0A80500885E' +
    '12D651ECFAD61DDC7FE975460816141937FF48962211B5094 1BC4' +
    '6B9BC97C976832624BF26C84F6AFA95F3E34FBAB138B0EEB8 6538' +
    '6BEF80FE9458349CD530F19AF9AB148F5460968953537FAF3 0343' +
    '27D2BAEEBE37377BBFEDFA52FAFF01834A5D0C');
    repeat
    C:=C+5;
    wait(500+random(500));
    until(FindBitmapToleranceIn(BMPWillow,FX,FY,70,109 ,462,300,C));
    begin
    WillowCol:=GetColor(FX,FY);
    if CheeseDebug then Writeln('WillowColor = '+IntToStr(WillowCol));
    end;
    FreeBitmap(BMPWillow);
    end;

    //************************************************** **************************//
    Procedure GetDraynorColors;
    begin
    SymbolAccuracy:=0.4;
    FindDraynorRoadColor(584,48,616,64);
    if CheeseDebug then Writeln('RoadColor :='+IntToStr(RoadColor))
    FindDraynorRockColor2;
    if(RockColor=0) then TerminateScript;
    if CheeseDebug then Writeln('RockColor :='+IntToStr(RockColor))
    FindDraynorWaterColor;
    if(WaterColor=0) then TerminateScript;
    if CheeseDebug then Writeln('WaterColor:='+IntToStr(WaterColor));
    FindDraynorHouseColor;
    if(HouseColor=0) then TerminateScript;
    if CheeseDebug then Writeln('HouseColor:='+IntToStr(HouseColor));
    FindDraynorHouse2Color;
    if(House2Color=0) then TerminateScript;
    if CheeseDebug then Writeln('House2Color:='+IntToStr(HouseColor));
    FindDraynorBankColor;
    SymbolAccuracy:=0.8;
    end;

    //************************************************** **************************//
    Procedure LoadStuff;
    begin
    Buy10 := BitmapFromString(26, 2, 'z78DA33753135313177430206' +
    '6000619BE2908588E322DDDC2C0D4C0C2024CC3484082E35C 8262' +
    '08BE0721B329B5A6EC32582A91700559645C4');
    Trade := BitmapFromString(25, 3, 'z78DA737303010324E08' +
    '60470896302038A01C4140449BAABA8653B3E115242805A21 861E' +
    '32A8B200C0216355');
    NewDoor := BitmapFromString(4, 4, 'z78DA333733B530703147224' +
    'D5D4DCC0C2CCC31C52D4D8CF0883B9A3A0145304800F20015 0F');
    DB1 := DTMFromString('78DA636C67626008664001FFFFFF67F80FA 41' +
    '921ECFF8CB54035DEA86AFEFC61621081AA0101C63A4C73B0 AA09' +
    'C7AF06000153117B');
    DB2 := DTMFromString('78DA63EC60626008624001FFFFFF67F80FA 41' +
    '921ECFF8C3540353EA86AFEFC61621081AA0101C63AA09A10 22D4' +
    '44E057030001B5117D');
    DB3 := DTMFromString('78DA63EC60626008624001FFFFFF67F80FA 41' +
    '921ECFF8CF540359EA86AFEFC61621081AA0101C63AA09A40 026A' +
    '6A816A42F1AB010000781176');
    end;

    //************************************************** **********************//

    Procedure SetUp;
    begin
    SetupSRL;
    MarkTime(RandomAntiBanMark);
    MarkTime(PeeBreakMark);
    LoadStuff;
    DeclarePlayers;
    if (UseBenMouse) then BenMouse:=True
    else BenMouse:=False;
    MouseSpeed:=MouseSpeeed+random(2);
    begin
    ActivateClient;
    LoginPlayer;
    wait(500+random(500));
    GetDraynorColors;
    Willows:=0;
    end;
    end;
    //************************************************** **********************//

    Procedure RunAway;
    begin
    SetRun(true);
    MouseFindFlag(648,35,1,-1);
    FFlag(10);
    BoredHuman;
    wait(random(1000));
    MouseFindFlag(648,135,1,1);
    FFlag(10);
    case (Random(6)+1) of
    1: TypeSend('ughh');
    2: TypeSend('=P');
    3: TypeSend('lol');
    4: TypeSend('****');
    5: TypeSend('stupid randoms');
    6: Wait(10);
    end;
    end;
    //************************************************** **************************//

    Procedure RClickExamine;
    begin
    MMouse(Random(MSX2), Random(MSY2), 0, 0);
    If IsUpText('opti') then
    begin
    GetMousePos(x,y);
    Mouse(x, y, 0, 0, False);
    case Random(3) of
    0: ChooseOption(x, y, 'Examine');
    1: ChooseOption(x, y, 'Cancel');
    2: MMouse(Random(MSX2), Random(MSY2), 0, 0);
    end;
    Wait(Random(50) + Random(50));
    end;
    end;

    //************************************************** **************************//

    procedure PeeBreakEvery(mins : Integer);
    var PeeMark: Integer;
    begin
    if ((TimeFromMark(PeeBreakMark) / 1000) / 60 >= mins) then
    begin
    MarkTime(PeeBreakMark);
    MarkTime(PeeMark);
    repeat
    Wait(1);
    FindNormalRandoms;
    until ((TimeFromMark(PeeMark) >= 15000+Random(60000)) or (not(LoggedIn)))
    end;
    end;

    //************************************************** **************************//

    procedure SetRunEvery(mins : integer; Run : Boolean);
    begin
    if ((TimeFromMark(RunMark) /1000) / 60 >= mins) then
    begin
    MarkTime(RunMark);
    SetRun(Run);
    end;
    end;

    //************************************************** **************************//

    procedure RandomAntiBanEvery(mins : Integer);
    var PantiBan: integer;
    UnRounded: Extended;
    begin
    if ((TimeFromMark(RandomAntiBanMark) /1000) / 60 >= mins) then
    begin
    MarkTime(RandomAntiBanMark);
    UnRounded:=Random(30)+11 / 10;
    PantiBan:=Round(UnRounded);
    case Pantiban of
    1: begin GameTab(12) RandomEmote; end;
    2: GameTab(1+Random(12));
    3: RClickExamine;
    4: WWait(5000+Random(3000));
    end;
    end;
    end;
    //************************************************** **************************//

    Procedure CheeseBan;
    begin
    RandomChatEvery(8+random(10));
    BoredEvery(10+random(10));
    PickUpMouseEvery(5+random(10));
    LeaveScreenEvery(5+random(5));
    HoverEvery(25+random(20),'random');
    RandomRClickEvery(15+random(5));
    PeeBreakEvery(45+random(45));
    SetRunEvery(20+random(10),True);
    RandomAntiBanEvery(10+random(15));
    end;

    //************************************************** **************************//
    procedure FindRandoms;
    begin
    FindNormalRandoms;
    if (FindFight) then RunAway;
    if(InBlack)then
    begin
    Players[CurrentPlayer].loc := 'InBlack';
    Logout;
    Exit;
    end;
    if UseAntiBan then CheeseBan;
    end;

    //************************************************** **************************//

    procedure BoredWhileFlagExistsDist(distance : integer);
    begin
    repeat
    if (not(HumanCircleFlag(distance))) then
    begin
    MMouse((Random(MSX1+MSX2))+2/2,Random(MSY1+MSY2)+2/2,0,0);

    Case Random(6) of
    0: SendArrowSilentWait( ((Random(2) * 2) + 1), 1000 + Random(200) );
    1: SendArrowSilentWait( ((Random(2) * 2)), 1000 + Random(200) );
    2: SendArrowSilentWait( ((Random(2) * 2) + 1), 200 + Random(200) );
    3: SendArrowSilentWait( ((Random(2) * 2)), 200 + Random(200) );
    4: SendArrowSilentWait( ((Random(2) * 2) + 1), 20 + Random(20) );
    5: SendArrowSilentWait( ((Random(2) * 2)), 20 + Random(20) );
    end;

    end;
    until(HumanCircleFlag(distance));
    end;

    //************************************************** **************************//

    Function WhereAreWe: String;
    begin
    SymbolAccuracy:=0.4;
    if FindSymbol(x,y,'store') or FindSymbol(x,y,'furnace') then
    begin
    Players[CurrentPlayer].Loc:='Store';
    Result:='Store';
    end;
    if FindMMColor(x,y,BankColor) or FindColor(x,y,House2Color,MMX1,MMY1,MMX2,MMY2) then
    begin
    Players[CurrentPlayer].Loc:='Bank';
    Result:='Bank';
    end;
    if (InBlack) then
    begin
    Players[CurrentPlayer].Loc:='In Black';
    Result:='In Black';
    Players[CurrentPlayer].Active:=False;
    end

    if Result='' then
    begin
    Result:='Lost';
    Players[CurrentPlayer].Loc:='Lost';
    Players[CurrentPlayer].Active:=False;
    end;
    if (CheeseDebug) then Writeln('Location := '+(Result));
    SymbolAccuracy:=0.8;
    end;

    //************************************************** **************************//

    Procedure OpenDoor;
    var XD,XY: Integer;
    begin
    if FindBitMapToleranceIn(NewDoor,XD,XY,150,85,510,333 ,20) then
    begin
    MMouse(XD,XY,0,0);
    if IsUpTextMulti('Ope','pen','Open') then
    begin
    if CheeseDebug then writeln('Opening Shop Door..');
    Doors:= Doors+1;
    Mouse(XD,XY,0,0,true);
    end;
    end;
    end;

    //************************************************** **************************//

    Function CashInInv: Boolean;
    var MoneyInventory : integer;
    begin
    if (FindItemColorTol(1347761,15)) then
    begin
    CountInvSlot(MoneyInventory,1,1);
    if (CheeseDebug) then Writeln('Cash in inventory:= '+IntToStr(MoneyInventory))
    end;
    if (MoneyInventory<324) then
    begin
    Result:=False;
    end else Result:=True;
    end;

    //************************************************** **************************//
    Procedure WalkToStore;
    var SX,SY: integer;
    begin
    if not LoggedIn then Exit;

    MarkTime(Mark);
    Players[CurrentPlayer].Loc:='To Store';
    if CheeseDebug then writeln('Walking to store...');
    RadialRoadWalk(RoadColor,20,90,45,0,1);
    LinearRoadWalk(RoadColor,90,35,0,0);
    repeat
    if (not (Loggedin)) then break;
    if(TimeFromMark(Mark)>120000) then begin Logout; Exit; end
    RadialRoadWalk(RoadColor,410,335,45,0,0);
    FindRandoms;
    until FindColor(x,y,RockColor,625,20,720,80);

    repeat
    if (not (Loggedin)) then break;
    if(TimeFromMark(Mark)>360000) then begin Logout; Exit; end;
    RadialRoadWalk(RoadColor,120,45,47,0,-1);
    FindRandoms;
    until FindColor(x,y,WaterColor,660,10,720,80);

    RadialRoadWalk(RoadColor,45,100,45,0,0);
    repeat
    if (not (Loggedin)) then break;
    if(TimeFromMark(Mark)>420000) then begin Logout; Exit; end;
    RadialRoadWalk(RoadColor,190,115,40,0,0);
    FindRandoms;
    until(FindColor(x,y,HouseColor,590,100,700,155));

    if FindColor(SX,SY,HouseColor,590,100,700,155) then
    begin
    case (Random(2)+1) of
    1: begin wait(250+random(250)) Mouse(SX,SY,10,10,true) end
    2: begin wait(250+random(250)) ClickMMColor(HouseColor) end
    end;
    WWait(4000+random(2000));
    FFlag(2+random(2));
    OpenDoor;
    end;
    Players[CurrentPlayer].Loc:='Store';
    if CheeseDebug then writeln('We are now at the store');

    end;

    //************************************************** ***********************//

    Procedure WalkToDraynorBank;
    var BX,BY:integer;

    begin
    if not LoggedIn then Exit;

    MarkTime(Mark);
    if CheeseDebug then writeln('Walking to bank...');
    Players[CurrentPlayer].Loc:='To Bank';
    OpenDoor;
    RadialRoadWalk(RoadColor,0,45,45,-1,1);
    repeat
    if (not (Loggedin)) then break;
    if(TimeFromMark(Mark)>120000) then begin Logout; Exit; end
    RadialRoadWalk(RoadColor,390,320,40,-1,1);
    FindRandoms;
    until(FindColor(x,y,HouseColor,633,4,715,41));

    repeat
    if (not (Loggedin)) then break;
    if(TimeFromMark(Mark)>240000) then begin Logout; Exit; end
    RadialRoadWalk(RoadColor,250,330,45,0,0);
    until(FindColor(x,y,RockColor,596,2,689,45));

    repeat
    if (not (Loggedin)) then break;
    if(TimeFromMark(Mark)>240000) then begin Logout; Exit; end
    RadialRoadWalk(RoadColor,240,320,45,0,0);
    until(FindColor(x,y,RoadColor,594,113,689,162));

    RadialRoadWalk(RoadColor,190,250,50,0,0);
    repeat
    if (not (Loggedin)) then break;
    if(TimeFromMark(Mark)>240000) then begin Logout; Exit; end
    RadialRoadWalk(RoadColor,160,240,40,1,1);
    until (FindColor(BX,BY,BankColor,MMX1,MMY1,MMX2,MMY2) or FindColor(BX,BY,House2Color,576,22,608,90))


    Mouse(BX+random(5),BY+random(2),3,3,true);
    BoredWhileFlagExistsDist(5+random(2));
    PerfectNorth;
    Flag;
    DTM3Flag(DB1,DB2,DB3,true);
    PerfectNorth;
    end;

    //************************************************** **********************//

    Procedure WithdrawCash;
    var CashNeeded, MoneyInInv : integer;
    begin
    FixBank;
    wait(50);
    CashLeft:= amountcolor('bank',1347761,10);
    if CheeseDebug then WriteLn('Cash Left:= '+IntToStr(CashLeft)+' gp');
    if (CashLeft<324) then
    begin
    Writeln('Not enough cash, Logging out.');
    Players[CurrentPlayer].Loc:='Not enough cash';
    Players[CurrentPlayer].Active:=False;
    repeat
    Wait(1000);
    FindRandoms;
    Logout;
    until(not(LoggedIn));
    end;
    if (CashLeft>324) then
    begin
    MoneyInInv:=amountcolor('inv',1347761,20);
    CashNeeded:=324-MoneyInInv
    if CheeseDebug then writeln('Whipping out cash.');
    Withdraw(1,1,CashNeeded);
    end;
    end;

    //*****************Based off Phantom's FindGerrant****************************//

    function FindSalesman:Boolean;
    var a,b,C,d,e:integer;
    begin
    if(GetColor(334, 40)=2070783)then
    begin
    Result:=True;
    Exit;
    end;
    a:=246;
    b:=163;
    if(FindColorSpiralTolerance(a,b,5465723,10,10,500, 33,0))or
    (FindColorSpiralTolerance(a,b,5926277,10,10,500,33 ,0))or
    (FindColorSpiralTolerance(a,b,5663104,10,10,500,33 ,0))then
    begin
    MMouse(a,b,0,0);
    Wait(100+random(50));
    C:=0;
    if IsUpTextMulti('hop','Shop','Sho') then
    begin
    Mouse(a,b,0,0,false);
    Wait(100+random(20));
    if(FindBitMapToleranceIn(Trade,d,e,MSX1,MSY1,MSX2, MSY2,0))then
    begin
    Mouse(d,e,10,2,true);
    Flag;
    SleepAndMoveMouse(1000+random(1000));
    end;
    end;
    end;
    if(GetColor(334, 40)=2070783)then
    begin
    Result:=True;
    Exit;
    SendArrowSilentWait(1,100+random(300));
    end;
    end;
    //************************************************** **********************//

    Function WillowsInStore : Boolean;
    begin
    while (WillowCol=0) do
    begin
    GetWillowColor;
    wait(1);
    end;
    if(FindColor(FX,FY,WillowCol,70,109,462,300)) then
    begin
    MarkTime(Mark);
    FX:=FX+Random(4);
    FY:=FY+Random(4);
    repeat
    MMouse(FX,FY,0,0);
    Wait(500+(500));
    until(IsUpTextMulti('ill','ogs','llow') or (TimeFromMark(Mark)>60000))
    if IsUpTextMulti('ill','ogs','llow') then Result:=True;
    end;
    WillowsLeft:=amountcolor('shop',WillowCol,0);
    if CheeseDebug then Writeln('Willows in store = '+IntToStr(WillowsLeft));
    end;
    //************************************************** **********************//

    procedure Closeit;
    begin
    repeat
    CloseWindow;
    wait(100+random(100));
    until(not(ShopScreen));
    end;
    //************************************************** **********************//

    Procedure BuyTheWillows;
    var RX,RY,WX,WY,X1,Y1:integer;
    begin
    MarkTime(Mark);
    repeat
    if(FindColor(WX,WY,WillowCol,70,109,462,300)) then
    begin
    RX:=FX;
    RY:=FY;
    MMouse(RX,RY,0,0);
    if IsUpTextMulti('ill','ogs','llow') then
    begin
    if CheeseDebug then writeln('Buying the logs=P');
    repeat
    Mouse(RX,RY,0,0,False);
    Wait(250+random(250));
    if(FindBitmapToleranceIn(Buy10,X1,Y1,19,178,989,52 ,8))then
    begin
    Mouse(X1,Y1,10,1,true);
    Wait(500+random(500));
    RX:=RX+Random(4);
    RY:=RY+Random(4);
    end;
    until ExistsItem(27) or (TimeFromMark(Mark)>160000);
    end;
    end;
    until ExistsItem(27) or (TimeFromMark(Mark)>160000);
    Closeit;
    end;

    procedure Bank;
    begin
    if (not LoggedIn) then Exit;
    FindRandoms;
    MarkTime(Mark);
    repeat
    if (not(Loggedin)) then break;
    if (not OpenDraynorQuiet(140,101,320,215)) then OpenBankQuiet('db');
    until((BankScreen) or (TimeFromMark(Mark)>60000));
    if(BankScreen)then
    if CheeseDebug then writeln('Banking Items');
    Wait(250+random(250));
    FixBank;
    DepositAll;
    Wait(200+random(200));
    WithdrawCash;
    CloseWindow;
    Banks:=Banks+1;
    Willows:=Willows+27;
    Players[CurrentPlayer].Banked:=Players[CurrentPlayer].Banked+1;
    Players[CurrentPlayer].loc:='Bank';

    end;

    //************************************************** ***********************//
    //
    // Main EventLoop
    //
    //************************************************** ***********************//
    begin
    Setup;
    repeat
    OpenDraynorQuiet(205,90,250,200);
    wait(50+random(50));
    until (BankScreen);
    WithdrawCash;
    repeat
    CloseWindow;
    wait(500+random(500));
    until (not(BankScreen));

    repeat
    ActivateClient;
    SetChat('off',3);
    WhereAreWe;

    if Players[CurrentPlayer].loc='Bank' then
    begin
    MakeCompass('N');
    if not(CashInInv) then
    begin
    MarkTime(Mark);
    repeat
    if (not(Loggedin)) then break;
    if (not OpenDraynorQuiet(205,90,250,200)) then OpenBankQuiet('db');
    until((BankScreen) or (TimeFromMark(Mark)>60000));
    WithDrawCash;
    repeat
    CloseWindow
    Wait(250+random(250));
    until(not(BankScreen));
    end;
    FindDraynorRoadColor(549,5,676,95);
    WalkToStore;
    end;

    if Players[CurrentPlayer].Loc='Store' then
    begin
    MarkTime(Mark);
    repeat
    OpenDoor;
    if not Loggedin or (TimeFromMark(Mark)>60000) then break;
    wait(50+random(50));
    until(FindSalesman)

    if(WillowsInStore) then BuyTheWillows;
    PerfectNorth;
    FindDraynorRoadColor(644,30,710,115);

    WalkToDraynorBank;
    Bank;
    FindRandoms;
    ProgressReport;
    end;

    if ((LoggedIn) and (Players[CurrentPlayer].Banked mod Loads = 0)) then
    begin
    SetChat('off',3);
    repeat
    Wait(1000);
    FindNormalRandoms;
    until(not(LoggedIn));
    NextPlayer(True);
    end;

    if (not(Loggedin)) then NextPlayer(False);

    until(False);

    end.

  5. #5
    Join Date
    Jan 2007
    Location
    USA
    Posts
    1,782
    Mentioned
    0 Post(s)
    Quoted
    0 Post(s)

    Default

    take more time scripting u had a lot of careless mistakes..

Thread Information

Users Browsing this Thread

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

Posting Permissions

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