Results 1 to 5 of 5

Thread: help any one?

  1. #1
    Join Date
    Aug 2007
    Posts
    19
    Mentioned
    0 Post(s)
    Quoted
    0 Post(s)

    help any one?

    {.Script Info:
    # ScriptName = Squig 4.06
    # Author = Squigglyo
    # Description = Include Created by Squigglyo
    # Version = 4.06
    # Date = 26 / 09 / 05
    # Comments = Created To handle random events
    also does alot Of other things.
    Check the manual out. Any questions
    pm me, me user is Squigglyo at www.kaitnieks.com/scr
    /Script Info}
    {= = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = ]
    Squig
    Version 4.06
    by Squigglyo
    [= = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = ]

    Huge thanks To Benland100 who has contributed his password saver And
    FindTextArcSpiral among other things

    Special Thanks:
    poppa68 = > Huge help getting bitmaps And broken picks And axes For V2
    Odie5583 = > Some Of my original procedures are based loosly on
    his in Osi
    Akumara = > My box solver is based loosly on his BoxBreaker2 just
    reprogrammed
    piv = > Contributed his gas finder
    pups = > Contributed his maze detector
    Stupid3ooo = > Allowed me To use his Frog Solver
    Zup = > Helped update MouseC
    KnightStreak = > Allowed me to use his Dr. Ford Solver
    VG_Kobra = > Got me pictures of the Evil Bob random event
    jiakhang = > Helped fix up the GasFinding procedures
    Driger1592 = > Updated SetChat for me among other various things.
    Goldec = > Looked thru Squig for me

    People who suggested things And got them put into Squig.
    JayJay = > Bank/Drop Item Color
    SilentWolf = > Faster FindObject Procedure
    Qwerty = > Easy Map Walking, Random Talker, Faster DropAll
    Monkie = > Drop Item by Name
    The Saint = > FindObjectIn
    Abyssal = > WorkedFor, ClearDebug
    Moparisthebest = > DepositAll2
    Theino = > MapFlaggingH
    Freddy1990 = > MouseR, MouseBox, DragFromTo
    Smitty = > MapCompass('R');

    Version 2 Testers:
    BrokenSkateboard

    Version 3 Testers:
    Sdouble
    Philodespotos = >Special thanks To Phil, he has helped test alot
    Mysteryman
    Milk
    JayJay
    Seifer225
    Quilto33
    Hemnet
    Abyssal
    Deadlydragon

    Version 4 Testers/ProofReaders:
    Idiota
    MoparistheBest
    Bebemycat2
    Pwnd
    xxKanexx
    Abyssal = > Returning Tester, Yay for Abyssal
    Driger1592
    [= = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = }

    {Squig should only be downloaded on Kaitnieks' forum Or using Scar}

    {No other site has my permission To have it on their site}
    {But since i cannot patrol the internet, If you Do download
    Squig from somewhere Else, by careful.}
    {To learn how To use it, use the guide that is found
    here http://www.kaitnieks.com/scr/showthread.php?p=31137#post31137}


    {You are not allowed To edit And/Or change this in
    any way. You are not allowed To take any piece(s)
    from/out Of Squig, all parts must be left in And the
    only way To use it's procedures is To include Squig
    in your script(s). All procedures And/Or functions
    in Squig were created by Squigglyo. All items in
    this script are Copyrighted To Squigglyo. This
    script may not be sold, traded, exchanged,
    And / Or distributed unless you have been
    given direct written consent To Do so by me And me only.}

    {= = = = = = = = = = = = = = = = = = = = = = = = = = = = =
    Versions
    Version 1.0, First Release
    Version 1.1, Bank Opener
    Version 2.0, Alot Of new procedures, including a Box opener
    Also updated alot Of things including Global variables
    And a Lamp Decider.
    Version 2.1, Added a ScreenShot Taker, And all random events
    will be screenshotted And placed in the script folder.
    Version 2.2, Updated the Coding, Updated MouseC, Added ClickHuman
    Added BuyItemColor And SellItemColor
    Version 2.2.1, Updated some things
    Version 2.2.2, Updated the Find Text random event finder Procedure
    And the login Procedure.
    Version 2.3, Updated all text finding procedures And the MapFlagging Procedure
    Version 2.4, Updated the Mapflagging Procedure again
    Version 2.4.1, Updated all procedures that look For text.
    Version 2.4.2, Updated the random event talked a little bit.
    Version 3.0, Fixed the random event talker, added all the other random events
    i missed, updated the sendkeyshuman2 Procedure, added the GetStat
    Procedure, added the randomtalk Procedure, added a disease,
    poison And fight checker, updated the fightfound Procedure,
    slotfilled Function added, itemcount Function added, fullbag
    Function added, dropitemcolor Procedure added, bankitemcolor
    Procedure added, Death checker, Axefound added, pickfound added,
    findgas added, findnets added, mapcolor Function added, mapwalk
    Procedure added, dropitemname added, emote Procedure updated.
    FindObjectIn Added, DragItem Added And alot Of other things
    updated.
    Version 3.1, Fixed a little bug in FindObject where it didnt wait long enough
    To check the text. Fixed a little bug in the FindFight Procedure,
    fixed a bug where the dropitem Procedure would drink beer,
    And, fixed a bug in the FullBag Function.
    Version 3.2, Added documentation, Updated some stuff, Added Dist,
    FlagPresent Added, GetHp Added, DropItem2 Added, MapFlaggingR
    Added, FlagPresent Added, MapCompass Added, ClickText Added
    Version 3.3, Updated procedures that use Istextat2 To IsTextAtEx,
    Added MapFlaggingH, Added MapFlaggingHR, Added WorkedFor,
    Added DepositAll2, Added FindGasArea, Added ClearDebug,
    Updated the RandomTalk Procedure To include 2 things about
    Farming.
    Version 4.0, IsTextUp Updated, MouseC Updated, WorkedFor Fixed, OpenBag Updated,
    OpenCombat Updated, OpenQuests Updated, OpenStats Updated,
    OpenEquip Updated, OpenPrayer Updated, OpenMagic Updated,
    OpenFriends Updated, OpenIgnore Updated, Logout Updated,
    OpenOptions Updated, OpenControls Updated, OpenMusic Updated,
    SetChat Updated, LogIn Updated, IsTextAt3 Added, IsTextIn3 Added,
    KillScript Added, LogOutFor Added, FindDtmIn Added, IDHerbs Added,
    UseItemWith Added, Enchant Added, LowAlch Added, HighAlch Added,
    FletchAll Added, ThieveNPC Added, WaitR Added, FindColorM Added,
    Smelt Added, CannonBalls Added, UseSpecial Added, Smith Added,
    FindFish Added, FindTree Added, EntFound Altered, FindRange Added,
    IsTextInString Added, RandomLogout Added, DropAllRow Added,
    DropAllCol Added, DepositAllRow Added, DepositAllCol, MineRock Added,
    OpenChest Added, FindTextArcSpiral Added, PassSaver Added, Enter Added,
    CheckSkill Added, BankTop Added, BankBottom Added, Updated all bitmaps
    LampPresent Added, BoxPresent Added, FindBob Added, FindForester Added,
    SolveFord Added, FindQuiz Added, SolveFrog Added, FindCerters Added, IsBank Added
    Version 4.01, Updated the MineRock procedure to handle the new rocks out at the time.
    Version 4.02, Fixed a small big in DropItem
    Version 4.03, Small update in GetStat, and bug fix in IsBank
    Version 4.04, Fixed a small problem with the MineRock and FindObjectIn procedures
    Added 'R' to Mapcompass
    Version 4.05, Fixed FletchAll
    Version 4.06, Updated FindObject and FindObjectIn, fixed all procedures that used Dtms
    = = = = = = = = = = = = = = = = = = = = = = = = = = = = = }

    Var
    //Variables used for character sets and times
    chrChatChars, chrCharsNormal, GSquigTime, gSquigTime2 : Integer;

    //Variables left unchanged For functionality For older scripts
    YellowTextTotal, AttacksTotal, TotalBoxes, FordTotal, TotalFrogs : Integer;
    TotalLamps, TotalEnts, AxeTotal, PickTotal, PlantTotal, GasTotal : Integer;
    BankID : Integer;
    User, Pass, Direction, LampSkill : String;
    randomtalked, fightfound, tradeb, screenshots, checkford, CheckForester : Boolean;
    checktext, checkfights, checkboxes, checklamps, checkmods, CheckCerters : Boolean;
    checkplant, checkmime, checkmaze, runback, checkquiz, CheckFrog : Boolean;
    CheckBob : Boolean;

    //Variables For the pass saver
    AccessCode, CName, CPass: String;
    User2, Pass2: Array Of String;
    UID: Integer;
    V: TVariantArray;
    Main: TForm;
    Label1: TLabel;
    Names: TComboBox;
    Button1, Button2, ButtonDelete: TButton;

    Const
    {S1, S2, S3 And S4 are the size Of the actual game, Starting at the top right
    And finishing in the bottom left before they reach the inventory Or chat}
    S1 = 5;
    S2 = 5;
    S3 = 515;
    S4 = 340;
    {M1, M2, M3 And M4 are the minimap}
    M1 = 565;
    M2 = 5;
    M3 = 725;
    M4 = 160;
    {I1, I2, I3 And I4 are the inventory}
    I1 = 560;
    I2 = 210;
    I3 = 740;
    I4 = 460;
    {C1, C2, C3 And C4 are the chat log}
    c1 = 1;
    c2 = 340;
    c3 = 495;
    c4 = 455;
    {GameCenterA And GameCenterB are the middle Of the game}
    GameCenterA = 257;
    GameCenterB = 168;
    {MapCenterA And MapCenterB are the middle Of the minimap}
    MapCenterA = 647;
    MapCenterB = 83;

    gSquigMessage = 'Squig 4.06 - Created by Squigglyo';

    {^^^^^^^^^^^^^^^^^ CLEARDEBUG ^^^^^^^^^^^^^^^^^^}
    {This will clear the area where text appears in scar}
    {^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^}

    Procedure ClearDebug;
    Var
    i : Integer;
    Begin
    i:= 0;
    Repeat
    writeln('');
    i:= i + 1;
    Until(i= 15);
    End;

    {^^^^^^^^^^^^^^^^^ FLAGPRESENT ^^^^^^^^^^^^^^^^}
    {Returns true If the flag is in the minimap And false If it isnt}
    {^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^}

    Function FlagPresent : Boolean;
    Var
    a, b, runescapeflag, runescapeflag2 : Integer;
    Begin
    result:= false;
    runescapeflag := BitmapFromstring(7, 7,
    '000000000000000000000000000000000000FF00000000000 00000' +
    '000000000000000000FF0000FF00000000000000000000000 00000' +
    'FF0000FF0000FF0000000000000000000000FF0000FF0000F F0000' +
    'FF0000000000000000FF0000FF0000FF0000FF0000FF00000 00000' +
    'FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000F F0000' +
    'FF0000FF0000FF0000FF0000');
    runescapeflag2 := BitmapFromstring(2, 4,
    'C656045D3311C656045D3311C656045D3311C656045D3311' );
    If(findbitmapin(runescapeflag, a, b, 555, 5, 735, 160))
    Or(findbitmapin(runescapeflag2, a, b, 555, 5, 735, 160))Then
    Begin
    wait(50);
    If(findbitmapin(runescapeflag, a, b, 555, 5, 735, 160))
    Or(findbitmapin(runescapeflag2, a, b, 555, 5, 735, 160))Then
    result:=true;
    End;
    FreeBitmap(runescapeflag);
    FreeBitmap(runescapeflag2);
    End;

    {^^^^^^^^^^^^^^^^^ MAPFLAGGING ^^^^^^^^^^^^^^^^^}
    {Waits Until the Runescape Flag is not in the minimap}
    {^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^}

    Procedure MapFlagging;
    Var
    color1, color2, color3, x1 : Integer;
    Begin
    x1:= 0;
    If(flagpresent=false)Then
    exit;
    Repeat
    wait(100);
    x1:= x1 + 1;
    If(FlagPresent=False)Then
    wait(1000);
    If(FlagPresent=False)Then
    Begin
    color1:= getcolor(70, 185);
    color2:= getcolor(436, 68);
    color3:= getcolor(45, 52);
    wait(500);
    If(getcolor(45, 52) = color3)Or(getcolor(70, 185) = color1)
    Or(getcolor(436, 68) = color2)Then
    If(flagPresent=False)Then
    break;
    End;
    Until(x1= 150);
    End;

    {^^^^^^^^^^^^^^^^^ MAPCOMPASS ^^^^^^^^^^^^^^^^^}
    {Moves the minimap compass To the desired Direction (N, E, S, W)}
    {^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^}

    Procedure MapCompass(Compass : String);
    Var
    a : Extended;
    Begin
    Compass:= Uppercase(Compass);
    If(Compass = 'R')Or(Compass = 'RANDOM')Then
    begin
    SendArrowSilentWait(3, random(5500) + 500);
    exit;
    End;
    End;
    begin
    End.

    Function IsTextAt3(x, y : Integer; S : String; Tolerance : Integer) : Boolean;
    Begin
    result:= IsTextAtEx(x, y, S, Tolerance, ChrCharsNormal, True, False, 0, 1, -1);
    If(result=False)Then
    result:= IsTextAtEx(x - 2, y - 2, S, Tolerance, ChrCharsNormal, True, False, 0, 1, -1);
    If(Result=false)Then
    result:= IsTextAtEx(x, y - 2, S, Tolerance, ChrCharsNormal, True, False, 0, 1, -1);
    If(Result=False)Then
    result:= IsTextAtEx(x - 2, y, S, Tolerance, ChrCharsNormal, True, False, 0, 1, -1);
    End;

    {^^^^^^^^^^^^^^^^^ CHECKCHATMSG ^^^^^^^^^^^^^^^}
    {Checks the last sentence in the chat box and returns true if it
    matchets the one its looking for}
    {^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^}

    Function CheckChatMsg(Text: String) : Boolean;
    Begin
    Result:= IsTextAtEx(20, 415, Text, 40, ChrChatChars, False, True, 0, 1, 0);
    End;

    {^^^^^^^^^^^^^^^^^ ISTEXTIN3 ^^^^^^^^^^^^^^^^^^}
    {Works just like IsTextInArea but is more acurate,
    and uses IsTextinAreaEx}
    {^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^}

    Function IsTextIn3(x1, y1, x2, y2 : Integer; Var x, y : integer; S : String) : Boolean;
    Begin
    result:= IsTextInAreaEx(x1 , y1, x2, y2, x, y, S, 100, ChrCharsNormal, True, True, 0, 1, -1);
    End;

    {^^^^^^^^^^^^^^^^^ ISTEXTUP ^^^^^^^^^^^^^^^^^^^}
    {Returns true If the text is found at 9, 9}
    {^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^}

    Function IsTextUp(text : String) : Boolean;
    Begin
    If(IsTextAt3(9, 9, text, 100))Then
    result:= true
    Else
    result:= false;
    End;

    {^^^^^^^^^^^^^^^^^ CLICKHUMAN ^^^^^^^^^^^^^^^^^}
    {Clicks the mouse like a human would}
    {^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^}

    Procedure ClickHuman(x, y : Integer; left : Boolean);
    Begin
    holdmouse(x, y, left);
    wait(random(20) + 15);
    releasemouse(x, y, left);
    End;

    {^^^^^^^^^^^^^^^^^^ DIST ^^^^^^^^^^^^^^^^^}
    {Returns the amount Of pixels between a1, b1 And a2, b2}
    {^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^}

    Function Dist(a1, b1, a2, b2 : Integer) : Integer;
    Var
    aa, bb : Extended;
    Begin
    If(a1>a2)Then
    aa:= (a1 - a2) * (a1 - a2)
    Else
    aa:= (a2 - a1) * (a2 - a1);
    If(b1>b2)Then
    bb:= (b1 - b2) * (b1 - b2)
    Else
    bb:= (b2 - b1) * (b2 - b1);
    result:= trunc(Sqrt(aa + bb)) + 1;
    End;

    {^^^^^^^^^^^^^^^^^ MOUSEC ^^^^^^^^^^^^^^^^^}
    {Moves the mouse To the location given by x And y
    Left clicks If click is 1, right clicks If its 2, 0 For no click.}
    {^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^}

    Procedure MouseC(x, y, click : Integer);
    // New MouseC with the help of Zup
    Var
    a, b : Integer;
    step : Extended;
    Begin
    step:= 5;
    GetMousePos(a, b);
    Repeat
    If(Dist(a, b, x, y)<100)Then
    Begin
    If(not(Dist(a, b, x, y)= 1))Then
    step:= step - (10 / Dist(a, b, x, y));
    End;
    If(step<1)Then
    step:= 1;
    a:= a + Round((x - a) / step);
    b:= b + Round((y - b) / step);
    MoveMouseSmoothEx(a, b, 1, 6, 15, 20, 20);
    wait(9 + random(4));
    Until(Dist(a, b, x, y)= 1);
    wait(random(19) + 7);
    Case click Of
    1 : Clickhuman(a, b, true);
    2 : Clickhuman(a, b, false);
    End;
    End;

    {^^^^^^^^^^^^^^^^^ MOUSER ^^^^^^^^^^^^^^^^^}
    {Moves the mouse To the location given by x + random(x2)
    And y + random(y2). Left clicks If click is 1,
    right clicks If its 2, 0 For no click.}
    {^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^}

    Procedure MouseR(x, y, xx, yy, click : Integer);
    Begin
    MouseC(x + random(xx), y + random(yy), click);
    End;

    {^^^^^^^^^^^^^^^^^ MOUSEBOX ^^^^^^^^^^^^^^^}
    {Moves the mouse inside the location given by x1, y1, x2, y2
    Left clicks If click is 1, right clicks If its 2, 0 For no click.}
    {^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^}

    Procedure MouseBox(x1, y1, x2, y2, click : Integer);
    Var
    xx, yy : Integer;
    Begin
    if(x1 < x2)then
    xx:= x1 + random(x2 - x1)
    else
    xx:= x1 - random(x1 - x2);
    if(y1 < y2)then
    yy:= y1 + random(y2 - y1)
    else
    yy:= y1 - random(y1 - y2);
    MouseC(xx, yy, click);
    End;


    {^^^^^^^^^^^^^^^^^ CLICKTEXT ^^^^^^^^^^^^^^^^^^}
    {Looks For text inside the given area And If found, clicks on it}
    {^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^}

    Function ClickText(text : String; x1, y1, x2, y2 : Integer; left : Boolean) : Boolean;
    Var
    a, b : Integer;
    Begin
    result:= false;
    If(IsTextIn3(x1, y1, x2, y2, a, b, Text))Then
    Begin
    If(left= true)Then
    MouseC(a + random(3), b + random(2) + 4, 1)
    Else
    MouseC(a + random(3), b + random(2) + 4, 2);
    result:= true;
    End;
    End;

    {^^^^^^^^^^^^^^^^^ TIMERUNNINGMILI ^^^^^^^^^^^^^^^^^}
    {Returns the number Of miliseconds the script has been running}
    {^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^}

    Function TimeRunningMili : Integer;
    Begin
    result:= GetSystemtime - GSquigTime;
    End;

    {^^^^^^^^^^^^^^^^^ TIMERUNNINGSEC ^^^^^^^^^^^^^^^^^}
    {Returns the number Of seconds the script has been running}
    {^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^}

    Function TimeRunningSec : Integer;
    Begin
    result:= (GetSystemtime - GSquigTime) / 1000;
    End;

    {^^^^^^^^^^^^^^^^^ TIMERUNNINGMIN ^^^^^^^^^^^^^^^^^}
    {Returns the number Of minits the script has been running}
    {^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^}


    Function TimeRunningMin : Integer;
    Begin
    result:= ((GetSystemtime - GSquigTime) / 1000) / 60;
    End;

    {^^^^^^^^^^^^^^^^^ TIMERUNNINGHOUR ^^^^^^^^^^^^^^^^^}
    {Returns the number Of hours the script has been running}
    {^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^}

    Function TimeRunningHour : Integer;
    Begin
    result:= (((GetSystemTime - GSquigTime) / 1000) / 60) / 60;
    End;

    {^^^^^^^^^^^^^^^^^ WORKEDFOR ^^^^^^^^^^^^^^^^^^^}
    {Returns the amount Of time the script has been running For}
    {^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^}

    Function WorkedFor : String;
    Var
    int1, int2, int3 : Integer;
    str1, str2, str3 : String;
    Begin
    int1:= TimeRunningHour;
    int2:= TimeRunningMin;
    int3:= TimeRunningSec;
    While(int2>59)Do
    int2:= int2 - 60;
    While(int3>59)Do
    int3:= int3 - 60;
    If(int1<10)Then
    str1:= '0' + inttostr(int1 )
    Else
    str1:= inttostr(int1);
    If(int2<10)Then
    str2:= '0' + inttostr(int2)
    Else
    str2:= inttostr(int2);
    If(int3<10)Then
    str3:= '0' + inttostr(int3)
    Else
    str3:= inttostr(int3);
    result:= ('Worked For: ' + str1 + ':' + str2 + ':' + str3);
    End;

    {^^^^^^^^^^^^^^^^^ SELLITEMCOLOR ^^^^^^^^^^^^^^^^^^^}
    {Sells an item that has the color in it defined by ItemColor,
    Sells the amount defined by Ammount (1, 5, 10 Or 0 For all),
    And the item name needs To match the variable defined as Name}
    {^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^}

    Procedure SellItemColor(ItemColor, Ammount : Integer; name : String);
    Var
    a, b, x1, y1, x2, y2, txt1, col : Integer;
    Begin
    x1:= 570;
    y1:= 210;
    x2:= 610;
    y2:= 245;
    col:= 1;
    If(findcolor(a, b, ItemColor, 555, 200, 735, 465))Then
    Repeat
    txt1:= 40;
    If(findcolor(a, b, ItemColor, x1, y1, x2, y2))Then
    Begin
    MouseC(a + random(3), b + random(3), 0);
    While(IsTextAt3(9, 9, 'Value', 100))Do
    Begin
    txt1:= txt1 + 1;
    If(istextat3(txt1, 7, name, 100))
    Or(txt1= 130)Then
    break;
    End;
    If(txt1<>130)Then
    Begin
    MouseC(a, b, 2);
    wait(random(300) + 600);
    If(ammount= 1)Then
    ClickText('1', I1, I2, I3, I4, true);
    If(ammount= 5)Then
    ClickText('5', I1, I2, I3, I4, true);
    If(ammount<>1)And(ammount<>5)Then
    ClickText('10', I1, I2, I3, I4, true);
    Exit;
    End;
    End;
    If(col= 1)Or(col= 3)Or(col= 7)Or(col= 4)Or(col= 5)Then
    Begin
    y1:= y1 + 35;
    y2:= y2 + 35;
    End
    Else If(col= 6)Then
    Begin
    y1:= y1 + 45;
    y2:= y2 + 45;
    End
    Else If(col= 2)Then
    Begin
    y1:= y1 + 40;
    y2:= y2 + 40;
    End;
    col:= col + 1;
    wait(random(100) + 50);
    If(col= 8)Then
    Begin
    x1:= x1 + 40;
    x2:= x2 + 40;
    y1:= 210;
    y2:= 245;
    col:= 1;
    End;
    wait(random(100) + 100);
    Until(x1>720);
    End;

    {^^^^^^^^^^^^^^^^^ BUYITEMCOLOR ^^^^^^^^^^^^^^^^^^^^}
    {Buys an item that has the color in it defined by ItemColor,
    Buys the amount defined by Ammount (1, 5, 10 Or 0 For all),
    And the item name needs To match the variable defined as Name}
    {^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^}

    Procedure BuyItemColor(ItemColor, ammount : Integer; name : String);
    Var
    a, b, x1, y1, x2, y2, txt1 : Integer;
    Begin
    x1:= 75;
    y1:= 60;
    x2:= 110;
    y2:= 100;
    If(findcolor(a, b, ItemColor, 75, 60, 475, 290))Then
    Repeat
    txt1:= 40
    If(findcolor(a, b, ItemColor, x1, y1, x2, y2))Then
    Begin
    MouseC(a + random(3), b + random(3), 0);
    While(istextat3(9, 9, 'Value', 100))Do
    Begin
    txt1:= txt1 + 1;
    If(istextat3(txt1, 9, name, 100))
    Or(txt1= 130)Then
    break;
    End;
    If(txt1<>130)Then
    Begin
    MouseC(a, b, 2);
    wait(random(300) + 600);
    If(ammount= 1)Then
    ClickText('1', I1, I2, I3, I4, true);
    If(ammount= 5)Then
    ClickText('5', I1, I2, I3, I4, true);
    If(ammount<>1)And(ammount<>5)Then
    ClickText('10', I1, I2, I3, I4, true);
    Exit;
    End;
    End;
    x1:= x1 + 50;
    x2:= x2 + 50;
    wait(random(100) + 50);
    If(x1>445)Then
    Begin
    x1:= 75;
    x2:= 110;
    y1:= y1 + 55;
    y2:= y2 + 55;
    End;
    Until(y1>290)
    End;

    {^^^^^^^^^^^^^^^^^ LAMPPRESENT ^^^^^^^^^^^^^^^^^}
    {Returns true if you have a lamp in your bag}
    {^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^}

    function LampPresent : Boolean;
    Var
    bmpTheLamp, a, b : Integer;
    begin
    bmpTheLamp := BitmapFromstring(29, 8,
    '0000000000000000000000000000000000000000000000000 00000' +
    '000000000000000000000000000000939212A7A5160000000 00000' +
    '0000000000000000000000000000000000000000000000000 00000' +
    '000000000000000000000000000000D4D21C0000000000000 00000' +
    '000000000000000000000000000000000000B9B716C0BF19B 3B116' +
    'A7A5169D9C129392120000000000000000000000000000000 00000' +
    '000000000000000000000000000000000000D1CF19C0BF19C 0BF19' +
    'C0BF19C0BF19000000000000000000000000000000BBB916B 3B116' +
    'B0AE16ACAB169D9C129392128D8B1276750E0000000000000 00000' +
    '000000000000000000000000000000000000000000D1CF19C 0BF19' +
    'B0AE16B6B416BEBC19C6C519C6C519D1CF19CCCA19C9C719C 6C519' +
    'C6C519C0BF19BBB916B6B416ACAB16A4A2129A98129392128 6840E' +
    '7A790E6B6A095D5C09A7A5160000000000000000000000000 00000' +
    '000000000000000000000000000000CCCA19CCCA19CECC19C 6C519' +
    'C3C219C0BF19BEBC19BBB916B9B716B6B416B3B116A9A816A 4A212' +
    '9D9C12979612908F1282810E9A9812B0AE1689880E0000000 00000' +
    '000000000000000000000000000000000000000000000000D 4D21C' +
    'CECC19CCCA19C0BF19BEBC19BBB916B6B416B3B116B0AE16A 9A816' +
    'A4A212A19F129A981289880E86840E8D8B129392129D9C12B 9B716' +
    '6665090000000000000000000000000000000000000000000 00000' +
    '000000000000000000CCCA19CCCA19BBB916B9B716B6B416B 3B116' +
    'B0AE16A9A816A4A2129D9C1297961282810E7A790E86840E0 00000' +
    '000000000000C3C219A9A8160000000000000000000000000 00000' +
    '000000000000000000000000000000CCCA19CCCA19C0BF19B 9B716' +
    'B3B116B0AE16ACAB16A7A516A19F129A98128D8B127A790E7 6750E' +
    '000000000000C3C219B6B416A7A516000000000000');
    If(FindBitmaptolerancein(bmpTheLamp, a, b, 560, 215, 730, 455, 20))Or
    FindBitmaptolerancein(bmpTheLamp, a, b, 95, 65, 440, 255, 20)Then
    Result:= true;
    FreeBitmap(bmpTheLamp);
    end;

    {^^^^^^^^^^^^^^^^^ TAKESCREENSHOT ^^^^^^^^^^^^^^^^^^}
    {Takes a screenshot Of the runescape client And saves it in the script
    folder, the name Of the file is defined in the reason variable And
    the number variable}
    {^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^}

    Procedure TakeScreenShot(reason:String; number:Integer);
    Begin
    If(screenshots= true)Then
    Begin
    SaveScreenshot(apppath + 'scripts\' + reason + inttostr(number) + '.bmp');
    writeln('Screenshot taken: ' + reason + ' #' + inttostr(number));
    End;
    End;

    {^^^^^^^^^^^^^^^^^ OPENEQUIP ^^^^^^^^^^^^^^^^^^^^^^^}
    {Opens the Equipment tab}
    {^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^}

    Procedure OpenEquip;
    Begin
    If(getcolor(680, 173) = 5531511)Then
    MouseC(random(10) + 675, random(10) + 175, 1);
    End;

    {^^^^^^^^^^^^^^^^^ TAKEOFFSWORD ^^^^^^^^^^^^^^^^^^^}
    {Opens the equipment tab If needed And unequips your weapon}
    {^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^}

    Procedure TakeOffSword;
    Begin
    OpenEquip;
    wait(random(300) + 300);
    MouseC(random(10) + 580, random(10) + 300, 1);
    End;

    {^^^^^^^^^^^^^^^^^ TAKEOFFHELM ^^^^^^^^^^^^^^^^^^^^}
    {Opens the equipment tab If needed And unequips your helmet}
    {^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^}

    Procedure TakeOffHelm;
    Begin
    OpenEquip;
    wait(random(300) + 300);
    MouseC(random(10) + 640, random(10) + 215, 1);
    End;

    {^^^^^^^^^^^^^^^^^ TAKEOFFCAPE ^^^^^^^^^^^^^^^^^^^^}
    {Opens the equipment tab If needed And unequips your cape}
    {^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^}

    Procedure TakeOffCape;
    Begin
    OpenEquip;
    wait(random(300) + 300);
    MouseC(random(10) + 595, random(10) + 255, 1);
    End;

    {^^^^^^^^^^^^^^^^^ TAKEOFFNECKLACE ^^^^^^^^^^^^^^^^}
    {Opens the equipment tab If needed And unequips your necklace}
    {^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^}

    Procedure TakeOffNecklace;
    Begin
    OpenEquip;
    wait(random(300) + 300);
    MouseC(random(10) + 640, random(10) + 255, 1);
    End;

    {^^^^^^^^^^^^^^^^^ TAKEOFFARROWS ^^^^^^^^^^^^^^^^^^^}
    {Opens the equipment tab If needed And unequips your arrows}
    {^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^}

    Procedure TakeOffArrows;
    Begin
    OpenEquip;
    wait(random(300) + 300);
    MouseC(random(10) + 680, random(10) + 255, 1);
    End;

    {^^^^^^^^^^^^^^^^^ TAKEOFFBODY ^^^^^^^^^^^^^^^^^^^}
    {Opens the equipment tab If needed And unequips your body armor}
    {^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^}

    Procedure TakeOffBody;
    Begin
    OpenEquip;
    wait(random(300) + 300);
    MouseC(random(10) + 650, random(10) + 300, 1);
    End;

    {^^^^^^^^^^^^^^^^^ TAKEOFFSHIELD ^^^^^^^^^^^^^^^^^^^}
    {Opens the equipment tab If needed And unequips your shield}
    {^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^}

    Procedure TakeOffShield;
    Begin
    OpenEquip;
    wait(random(300) + 300);
    MouseC(random(10) + 695, random(10) + 300, 1);
    End;

    {^^^^^^^^^^^^^^^^^ TAKEOFFLEGS ^^^^^^^^^^^^^^^^^^^}
    {Opens the equipment tab If needed And unequips your leg armor}
    {^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^}

    Procedure TakeOffLegs;
    Begin
    OpenEquip;
    wait(random(300) + 300);
    MouseC(random(10) + 635, random(10) + 335, 1);
    End;

    {^^^^^^^^^^^^^^^^^ TAKEOFFGLOVES ^^^^^^^^^^^^^^^^^^^}
    {Opens the equipment tab If needed And unequips your gloves}
    {^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^}

    Procedure TakeOffGloves;
    Begin
    OpenEquip;
    wait(random(300) + 300);
    MouseC(random(10) + 580, random(10) + 375, 1);
    End;

    {^^^^^^^^^^^^^^^^^ TAKEOFFBOOTS ^^^^^^^^^^^^^^^^^^^}
    {Opens the equipment tab If needed And unequips your boots}
    {^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^}

    Procedure TakeOffBoots;
    Begin
    OpenEquip;
    wait(random(300) + 300);
    MouseC(random(10) + 640, random(10) + 375, 1);
    End;

    {^^^^^^^^^^^^^^^^^ TAKEOFFRING ^^^^^^^^^^^^^^^^^^^}
    {Opens the equipment tab If needed And unequips your ring}
    {^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^}

    Procedure TakeOffRing;
    Begin
    OpenEquip;
    wait(random(300) + 300);
    MouseC(random(10) + 695, random(10) + 375, 1);
    End;

    {^^^^^^^^^^^^^^^^^ WEARINGRING ^^^^^^^^^^^^^^^^^^^^}
    {Opens the equipment tab If needed And returns true If your wearing
    a ring And false If your not}
    {^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^}

    Function WearingRing : Boolean;
    Begin
    OpenEquip;
    wait(random(300) + 300);
    If(getcolor(705, 384)<>2304814)Then
    Result:= true
    Else
    result:= false;
    End;

    {^^^^^^^^^^^^^^^^^ SENDKEYSHUMAN ^^^^^^^^^^^^^^^^^^}
    {Types in whatever is in the variable text at the speed a human does}
    {^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^}

    Procedure SendKeysHuman(text:String);
    Var
    a1 : Integer;
    Begin
    a1:= 1;
    Repeat
    wait(random(220) + 15);
    sendkeys(copy(text, a1, 1));
    a1:= a1 + 1;
    Until a1 > length(text);
    End;

    {^^^^^^^^^^^^^^^^^ SENDKEYSHUMAN2 ^^^^^^^^^^^^^^^^^}
    {Types whatever is in the vaariable text at the speed a human does
    And also has the chance To make human-like mistakes}
    {^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^}

    Procedure SendKeysHuman2(text:String);
    Var
    a1, a2, a3 : Integer;
    char1, char2 : String;
    mistake : Boolean;
    Begin
    a1:= 1;
    a3:= random(4) + 1
    mistake:= false;
    Repeat
    a2:= random(50);
    If(a2<>5)Or(mistake= true)Then
    Begin
    wait(random(220) + 15);
    sendkeys(copy(text, a1, 1));
    End
    Else
    Begin
    mistake:= true;
    char1:= (copy(text, a1, 1));
    char1:= Lowercase(char1);
    char2:= char1;
    a2:= random(2);
    If(a2= 0)Then
    Case char1 Of
    '`' : char2:= '`';
    '1' : char2:= '`';
    '2' : char2:= '1';
    '3' : char2:= '2';
    '4' : char2:= '3';
    '5' : char2:= '4';
    '6' : char2:= '5';
    '7' : char2:= '6';
    '8' : char2:= '7';
    '9' : char2:= '8';
    '0' : char2:= '9';
    '-' : char2:= '0';
    '=' : char2:= '-';
    '~' : char2:= '~';
    '!' : char2:= '~';
    '@' : char2:= '!';
    '#' : char2:= '@';
    '$' : char2:= '#';
    '%' : char2:= '$';
    '^' : char2:= '%';
    '&' : char2:= '^';
    '*' : char2:= '&';
    '(' : char2:= '*';
    ')' : char2:= '(';
    '_' : char2:= ')';
    '+' : char2:= '_';
    'q' : char2:= 'q';
    'w' : char2:= 'q';
    'e' : char2:= 'w';
    'r' : char2:= 'e';
    't' : char2:= 'r';
    'y' : char2:= 't';
    'u' : char2:= 'y';
    'i' : char2:= 'u';
    'o' : char2:= 'i';
    'p' : char2:= 'o';
    '[' : char2:= 'p';
    '{' : char2:= 'P';
    ']' : char2:= '[';
    '}' : char2:= '{';
    '\' : char2:= ']';
    '|' : char2:= '}';
    'a' : char2:= 'a';
    's' : char2:= 'a';
    'd' : char2:= 's';
    'f' : char2:= 'd';
    'g' : char2:= 'f';
    'h' : char2:= 'g';
    'j' : char2:= 'h';
    'k' : char2:= 'j';
    'l' : char2:= 'k';
    ';' : char2:= 'l';
    ':' : char2:= 'L';
    chr(39) : char2:= ';';
    '"' : char2:= ':';
    'z' : char2:= 'z';
    'x' : char2:= 'z';
    'c' : char2:= 'x';
    'v' : char2:= 'c';
    'b' : char2:= 'v';
    'n' : char2:= 'b';
    'm' : char2:= 'n';
    ',' : char2:= 'm';
    '<' : char2:= 'M';
    '.' : char2:= ',';
    '>' : char2:= '<';
    ' / ' : char2:= '.';
    '?' : char2:= '>';
    End;
    If(a2= 1)Then
    Case char1 Of
    '`' : char2:= '1';
    '1' : char2:= '2';
    '2' : char2:= '3';
    '3' : char2:= '4';
    '4' : char2:= '5';
    '5' : char2:= '6';
    '6' : char2:= '7';
    '7' : char2:= '8';
    '8' : char2:= '9';
    '9' : char2:= '0';
    '0' : char2:= '-';
    '-' : char2:= '=';
    '=' : char2:= '=';
    '~' : char2:= '!';
    '!' : char2:= '@';
    '@' : char2:= '#';
    '#' : char2:= '$';
    '$' : char2:= '%';
    '%' : char2:= '^';
    '^' : char2:= '&';
    '&' : char2:= '*';
    '*' : char2:= '(';
    '(' : char2:= ')';
    ')' : char2:= '_';
    '_' : char2:= '+';
    '+' : char2:= '+';
    'q' : char2:= 'w';
    'w' : char2:= 'e';
    'e' : char2:= 'r';
    'r' : char2:= 't';
    't' : char2:= 'y';
    'y' : char2:= 'u';
    'u' : char2:= 'i';
    'i' : char2:= 'o';
    'o' : char2:= 'p';
    'p' : char2:= '[';
    '[' : char2:= ']';
    '{' : char2:= '}';
    ']' : char2:= '\';
    '}' : char2:= '|';
    '\' : char2:= '\';
    '|' : char2:= '|';
    'a' : char2:= 's';
    's' : char2:= 'd';
    'd' : char2:= 'f';
    'f' : char2:= 'g';
    'g' : char2:= 'h';
    'h' : char2:= 'j';
    'j' : char2:= 'k';
    'k' : char2:= 'l';
    'l' : char2:= ';';
    ';' : char2:= chr(39);
    ':' : char2:= '"';
    chr(39) : char2:= chr(39);
    '"' : char2:= '"';
    'z' : char2:= 'x';
    'x' : char2:= 'c';
    'c' : char2:= 'v';
    'v' : char2:= 'b';
    'b' : char2:= 'n';
    'n' : char2:= 'm';
    'm' : char2:= ',';
    ', ' : char2:= '.';
    '<' : char2:= '>';
    '.' : char2:= '/';
    '>' : char2:= '?';
    '/' : char2:= '/';
    '?' : char2:= '?';
    End;
    sendkeys(char2);
    End;
    a1:= a1 + 1;
    Until a1 > length(text);
    End;

    {^^^^^^^^^^^^^^^^^ RANDOM1 ^^^^^^^^^^^^^^^^^^^^^^^^}
    {Used in the random talking Procedure}
    {^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^}

    Function Random1 : String;
    Var
    a : Integer;
    Begin
    a:= random(4) + 1;
    Case a Of
    1 : result:= 'man,';
    2 : result:= 'jeez,';
    3 : result:= 'woo,';
    4 : result:= 'cmon,';
    End;
    End;

    {^^^^^^^^^^^^^^^^^ RANDOMARMOR ^^^^^^^^^^^^^^^^^^^^}
    {Used in the random talking Procedure, returns a random piece Of
    armor Or a weapon}
    {^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^}

    Function RandomArmor : String;
    Var
    a : Integer;
    Begin
    a:= random(77) + 1;
    Case a Of
    1 : result:= 'bronze armor';
    2 : result:= 'iron armor';
    3 : result:= 'steel armor';
    4 : result:= 'mithril armor';
    5 : result:= 'adamite armor';
    6 : result:= 'adam armor';
    7 : result:= 'adamantite armor';
    8 : result:= 'rune armor';
    9 : result:= 'dragon armor';
    10 : result:= 'drag armor';
    11 : result:= 'barrow armor';
    12 : result:= 'green dragon';
    13 : result:= 'green drag';
    14 : result:= 'green ranger';
    15 : result:= 'blue dragon';
    16 : result:= 'blue drag';
    17 : result:= 'blue ranger';
    18 : result:= 'red dragon';
    19 : result:= 'red drag';
    20 : result:= 'red ranger';
    21 : result:= 'black dragon';
    22 : result:= 'black drag';
    23 : result:= 'black ranger';
    24 : result:= 'splitbark armor';
    25 : result:= 'trimmed armor';
    26 : result:= 'god armor';
    27 : result:= 'guthix armor';
    28 : result:= 'sara armor';
    29 : result:= 'saradomin armor';
    30 : result:= 'zammy armor';
    31 : result:= 'zamarok armor';
    32 : result:= 'black trimmed armor';
    33 : result:= 'adam trimmed armor';
    34 : result:= 'rune trimmed armor';
    35 : result:= 'gold trimmed armor';
    36 : result:= 'mystic robes';
    37 : result:= 'ahrim armor';
    38 : result:= 'dharok armor';
    39 : result:= 'guthan armor';
    40 : result:= 'karil armor';
    41 : result:= 'torag armor';
    42 : result:= 'verac armor';
    43 : result:= 'bronze weapons';
    44 : result:= 'iron weapons';
    45 : result:= 'steel weapons';
    46 : result:= 'mithril weapons';
    47 : result:= 'mith weapons';
    48 : result:= 'adam weapons';
    49 : result:= 'adamantite weapons';
    50 : result:= 'rune weapons';
    51 : result:= 'dragon weapons';
    52 : result:= 'crystal shields';
    53 : result:= 'crystal bows';
    54 : result:= 'longbows';
    55 : result:= 'shortbows';
    56 : result:= 'oak longbows';
    57 : result:= 'oak shortbows';
    58 : result:= 'willow shortbows';
    59 : result:= 'willow longbows';
    60 : result:= 'maple longbows';
    61 : result:= 'maple shortbows';
    62 : result:= 'yew longbows';
    63 : result:= 'yew shortbows';
    64 : result:= 'magic longbows';
    65 : result:= 'magic shortbows';
    66 : result:= 'staffs';
    67 : result:= 'battlestaffs';
    68 : result:= 'mystic staffs';
    69 : result:= 'cannons';
    70 : result:= 'ahrims staff';
    71 : result:= 'dharoks greataxe';
    72 : result:= 'guthans warspear';
    73 : result:= 'crossbows';
    74 : result:= 'karils crossbows';
    75 : result:= 'torags hammers';
    76 : result:= 'veracs flail';
    77 : result:= 'gilded armor';
    End;
    End;

    {^^^^^^^^^^^^^^^^^ RANDOMRARE ^^^^^^^^^^^^^^^^^^^^^}
    {Used in the random talking Procedure, returns a random rare item}
    {^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^}

    Function RandomRare : String;
    Var
    a : Integer;
    Begin
    a:= random(56) + 1;
    Case a Of
    1 : result:= 'pumpkins';
    2 : result:= 'christmas crackers';
    3 : result:= 'crackers';
    4 : result:= 'phats';
    5 : result:= 'party hats';
    6 : result:= 'red phats';
    7 : result:= 'red partyhats';
    8 : result:= 'yellow phats';
    9 : result:= 'yellow partyhats';
    10 : result:= 'white phats';
    11 : result:= 'white partyhats';
    12 : result:= 'green phats';
    13 : result:= 'green partyhats';
    14 : result:= 'blue phats';
    15 : result:= 'blue partyhats';
    16 : result:= 'purple partyhats';
    17 : result:= 'purple phats';
    18 : result:= 'easter eggs';
    19 : result:= 'red masks';
    20 : result:= 'blue masks';
    21 : result:= 'green masks';
    22 : result:= 'santa hats';
    23 : result:= 'santas';
    24 : result:= 'dragon spears';
    25 : result:= 'dragon meduim helmets';
    26 : result:= 'dragon meds';
    27 : result:= 'dragon helms';
    28 : result:= 'dragon shields';
    29 : result:= 'dragon squares';
    30 : result:= 'dragon chains';
    31 : result:= 'dragon chainbodys';
    32 : result:= 'dragon legs';
    33 : result:= 'dragon platelegs';
    34 : result:= 'white berets';
    35 : result:= 'blue berets';
    36 : result:= 'black berets';
    37 : result:= 'highwayman masks';
    38 : result:= 'red headbands';
    39 : result:= 'black headbands';
    40 : result:= 'brown headbands';
    41 : result:= 'dragon items';
    42 : result:= 'masks';
    43 : result:= 'berets';
    44 : result:= 'headbands';
    45 : result:= 'cavaliers';
    46 : result:= 'brown cavaliers';
    47 : result:= 'black cavaliers';
    48 : result:= 'tan cavaliers';
    49 : result:= 'pirate hats';
    50 : result:= 'robins';
    51 : result:= 'robin hood hats';
    52 : result:= 'mage boots';
    53 : result:= 'ranger boots';
    54 : result:= 'disk Of returnings';
    55 : result:= 'disks';
    56 : result:= 'half wines';
    57 : result:= 'magic seeds';
    End;
    End;

    {^^^^^^^^^^^^^^^^^ RANDOMSKILL ^^^^^^^^^^^^^^^^^^^^}
    {Used in the random talking Procedure, returns a random skill
    along with some other words that work create a sentence}
    {^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^}

    Function RandomSkill : String;
    Var
    a, b : Integer;
    Begin
    b:= random(35) + 1;
    Case b Of
    1 : result:= 'attack';
    2 : result:= 'strength';
    3 : result:= 'defense';
    4 : result:= 'range';
    5 : result:= 'prayer';
    6 : result:= 'magic';
    7 : result:= 'runecrafting';
    8 : result:= 'hitpoint';
    9 : result:= 'agility';
    10 : result:= 'herblore';
    11 : result:= 'thieving';
    12 : result:= 'crafting';
    13 : result:= 'fletching';
    14 : result:= 'slayer';
    15 : result:= 'mining';
    16 : result:= 'smithing';
    17 : result:= 'fishing';
    18 : result:= 'cooking';
    19 : result:= 'firemaking';
    20 : result:= 'woodcutting';
    21 : result:= 'atk';
    22 : result:= 'str';
    23 : result:= 'def';
    24 : result:= 'mage';
    25 : result:= 'rc';
    26 : result:= 'hp';
    27 : result:= 'herb';
    28 : result:= 'thiev';
    29 : result:= 'craft';
    30 : result:= 'fletch';
    31 : result:= 'smith';
    32 : result:= 'fish';
    33 : result:= 'cook';
    34 : result:= 'fire';
    35 : result:= 'wc';
    36 : result:= 'farming';
    End;
    Case b Of
    5, 8, 9, 26 : a:= random(2) + 1;
    Else
    a:= random(3) + 1;
    End;
    Case a Of
    1 : result:= result + ' levels?';
    2 : result:= result + ' lvs?';
    3 : result:= random1 + ' ' + result;
    End;
    If(a= 3)Then
    Begin
    a:= random(7) + 1;
    Case a Of
    1 : result:= result + ' is boring!';
    2 : result:= result + ' is the best';
    3 : result:= result + ' is my favourite skill';
    4 : result:= result + ' takes ages To train';
    5 : result:= result + ' makes me so much money';
    6 : result:= result + ' needs an update';
    7 : result:= result + ' is too easy';
    End;
    End;
    End;

    {^^^^^^^^^^^^^^^^^ RANDOMMONSTER ^^^^^^^^^^^^^^^^^^}
    {Used in the random talking Procedure, returns a random monster}
    {^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^}

    Function RandomMonster : String;
    Var
    a : Integer;
    Begin
    a:= random(30) + 1;
    Case a Of
    1 : result:= 'chickens';
    2 : result:= 'green dragons';
    3 : result:= 'blue dragons';
    4 : result:= 'red dragons';
    5 : result:= 'black dragons';
    6 : result:= 'king black dragons';
    7 : result:= 'kalphites';
    8 : result:= 'kalphite queens';
    9 : result:= 'demons';
    10 : result:= 'dragons';
    11 : result:= 'metal dragons';
    12 : result:= 'bronze dragons';
    13 : result:= 'iron dragons';
    14 : result:= 'steel dragons';
    15 : result:= 'black demons';
    16 : result:= 'greater demons';
    17 : result:= 'lesser demons';
    18 : result:= 'golems';
    19 : result:= 'tree spirits';
    20 : result:= 'shades';
    21 : result:= 'moss giants';
    22 : result:= 'giants';
    23 : result:= 'hill giants';
    24 : result:= 'wolfs';
    25 : result:= 'baby dragons';
    26 : result:= 'spiders';
    27 : result:= 'rats';
    28 : result:= 'zombies';
    29 : result:= 'goblins';
    30 : result:= 'scorpions';
    End;
    End;

    {^^^^^^^^^^^^^^^^^ RANDOMTALK ^^^^^^^^^^^^^^^^^^^^^}
    {Returns a random sentence}
    {^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^}

    Function RandomTalk: String;
    Var
    a, b : Integer;
    Begin
    b:= random(5) + 1;
    If(b= 1)Then
    result:= randomskill;
    If(b= 2)Then
    Begin
    a:= random(10) + 1;
    Case a Of
    1 : result:= 'I love ' + randomarmor;
    2 : result:= 'I hate ' + randomarmor;
    3 : result:= randomarmor + ' are so cool';
    4 : result:= randomarmor + ' are stupid';
    5 : result:= 'I have tons Of ' + randomarmor;
    6 : result:= 'I think ' + randomarmor + ' look the best';
    7 : result:= 'I think ' + randomarmor + ' look the worst';
    8 : result:= randomarmor + ' costs too much';
    9 : result:= randomarmor + ' is too cheap';
    10 : result:= 'I can afford tons Of ' + randomarmor;
    End;
    End;
    If(b= 3)Then
    Begin
    a:= random(10) + 1;
    Case a Of
    1 : result:= 'I love ' + randomrare;
    2 : result:= 'I hate ' + randomrare;
    3 : result:= randomrare + ' look the coolest';
    4 : result:= randomrare + ' look the worst';
    5 : result:= randomrare + ' are hard To find';
    6 : result:= randomrare + ' are way too expensive';
    7 : result:= randomrare + ' are too cheap';
    8 : result:= 'I wonder how much ' + randomrare + ' alch For';
    9 : result:= 'I wonder how many ' + randomrare + ' there are';
    10 : result:= 'i wish i had tons Of ' + randomrare;
    End;
    End;
    If(b= 4)Then
    Begin
    a:= random(8) + 1;
    Case a Of
    1 : result:= randommonster + ' look cool';
    2 : result:= randommonster + ' look weak';
    3 : result:= randommonster + ' are easy';
    4 : result:= randommonster + ' are a good way To make money';
    5 : result:= randommonster + ' should be harder';
    6 : result:= randommonster + ' need To be easier';
    7 : result:= randommonster + ' are the best To train on';
    8 : result:= randommonster + ' are the worst To train on';
    End;
    End;
    If(b= 5)Then
    Begin
    a:= random(6) + 1;
    Case a Of
    1 : result:= '';
    2 : result:= '';
    3 : result:= '=)';
    4 : result:= '=(';
    5 : result:= '';
    6 : result:= ';(';
    End;
    End;
    End;

    {^^^^^^^^^^^^^^^^^ WAITR ^^^^^^^^^^^^^^^^^^^^^^^^^^}
    {This Procedure will wait a random number Of miliseconds seconds}
    {^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^}

    Procedure WaitR(number, RandomNumber : Integer);
    Begin
    wait(number + random(RandomNumber) + 1);
    End;

    {^^^^^^^^^^^^^^^^^ SETCHAT ^^^^^^^^^^^^^^^^^^^^^^^^}
    {If applicable, turns off the Public chat, private chat And trade options}
    {^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^}

    Procedure SetChat;
    Var
    x, y : integer;
    Begin
    If(GetColor(46, 488)<>255)then
    Begin
    repeat
    MouseC(random(15)+20, random(10)+480, 1);
    WaitR(150,100);
    until(FindColor(x,y,255,45,487,47,489))
    end;
    If(GetColor(175, 486)<>255)then
    Begin
    repeat
    MouseC(random(15)+150, random(10)+480, 1);
    WaitR(150,100);
    until(FindColor(x,y,255,174,485,176,487))
    end;
    If(GetColor(315, 488)<>255)then
    Begin
    repeat
    MouseC(random(15)+290, random(10)+480, 1);
    WaitR(150,100);
    until(FindColor(x,y,255,314,487,316,489))
    end;
    End;

    {^^^^^^^^^^^^^^^^^ LOGOUT ^^^^^^^^^^^^^^^^^^^^^^^^^}
    {Logs your character out}
    {^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^}

    Procedure LogOut;
    Begin
    If(getcolor( 632, 483) = 4543586)Then
    MouseC(random(10) + 635, random(10) + 475, 1);
    wait(random(300) + 500);
    MouseC(random(30) + 600, random(5) + 370, 1);
    End;

    {^^^^^^^^^^^^^^^^^ OPENBAG ^^^^^^^^^^^^^^^^^^^^^^^^}
    {Opens your inventory}
    {^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^}

    Procedure OpenBag;
    Begin
    If(getcolor(634, 174) = 5531511)Then
    MouseC(random(10) + 635, random(10) + 175, 1);
    End;

    {^^^^^^^^^^^^^^^^^ OPENCONTROLS ^^^^^^^^^^^^^^^^^^^}
    {Opens the controls panel}
    {^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^}

    Procedure OpenControls;
    Begin
    If(getcolor(704, 483) = 4543586)Then
    MouseC(random(10) + 700, random(10) + 470, 1);
    End;

    {^^^^^^^^^^^^^^^^^ SETRUNON ^^^^^^^^^^^^^^^^^^^^^^^}
    {Turns run on}
    {^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^}

    Procedure SetRunOn;
    Begin
    OpenControls;
    MouseC(random(10) + 615, random(10) + 275, 1);
    wait(random(200) + 200);
    End;

    {^^^^^^^^^^^^^^^^^ SETRUNOFF ^^^^^^^^^^^^^^^^^^^^^^}
    {Turns run off}
    {^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^}

    Procedure SetRunOff;
    Begin
    OpenControls;
    MouseC(random(10) + 565, random(10) + 275, 1);
    wait(random(100) + 250);
    End;

    {^^^^^^^^^^^^^^^^^ TALKTORAND ^^^^^^^^^^^^^^^^^^^^^}
    {Handles Talking To a random event}
    {^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^}

    Procedure TalkToRand;
    Var
    c : Integer;
    Begin
    Repeat
    wait(1);
    c:= c + 1;
    If(c=2750)Then
    exit;
    Until(getcolor(234, 441)= 16711680);
    YellowTextTotal:= YellowTextTotal + 1;
    TakeScreenShot('Talked To Random', YellowTextTotal);
    Status('Talking To Random Event');
    Repeat
    If(getcolor(232, 443)= 16711680)Then
    Begin
    MouseC(253 + random(20), 442 + random(3), 1);
    wait(2000 + random(1000));
    randomtalked:= true;
    End;
    wait(1);
    c:= c + 1;
    If(c= 5000)Then
    exit;
    Until(GetColor(240, 434)= 0);
    End;

    {^^^^^^^^^^^^^^^^^ DISEASED ^^^^^^^^^^^^^^^^^^^^^^^}
    {Returns true If your character is diseased And false is it isnt}
    {^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^}

    Function Diseased : Boolean;
    Var
    a, b : Integer;
    Begin
    result:= false;
    wait(1);
    If(findcolorspiral(a, b, 1226748, 215, 115, 330, 185))Then
    result:= true;
    End;

    {^^^^^^^^^^^^^^^^^ POISONED ^^^^^^^^^^^^^^^^^^^^^^^}
    {Returns true If your character is poisoned And false is it isnt}
    {^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^}

    Function Poisoned : Boolean;
    Var
    a, b : Integer;
    Begin
    result:= false;
    wait(1);
    If(findcolorspiral(a, b, 49152, 215, 115, 330, 185))Then
    result:= true;
    End;

    {^^^^^^^^^^^^^^^^^ INFIGHT ^^^^^^^^^^^^^^^^^^^^^^^^}
    {Returns true If your character is in a fight And false is it isnt}
    {^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^}

    Function InFight : Boolean;
    Var
    a, b : Integer;
    Begin
    result:= false;
    wait(1);
    If(findcolorspiral(a, b, 16728128, 215, 115, 330, 185))
    Or(findcolorspiral(a, b, 192, 215, 115, 330, 185))Then
    If(Poisoned= false)And(diseased= false)Then
    result:= true;
    End;

    {^^^^^^^^^^^^^^^^^ FINDFIGHT ^^^^^^^^^^^^^^^^^^^^^^}
    {Checks To see If you are in a fight, And If so you will run away}
    {^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^}

    Procedure FindFight;
    Var
    leaveloop, placecheck, a, b, d, c : Integer;
    Begin
    d:= 0;
    c:= 0;
    If(Findcolorspiral(a, b, 65280, 215, 115, 330, 185))Then
    wait(1000);
    If(FindColorSpiral(a, b, 65280, 215, 115, 330, 185))Then
    Begin
    Repeat
    If(c= 100)Then
    Begin
    wait(1);
    c:= 0;
    End;
    c:= c + 1;
    d:= d + 1;
    If(diseased= true)Or(Poisoned= true)Then
    exit;
    Until(d= 4000)Or(InFight= true);
    AttacksTotal:= AttacksTotal + 1;
    TakeScreenShot('Fight Found', AttacksTotal);
    SetRunon;
    wait(random(10) + 50);
    a:= 0;
    Case Direction Of
    'NE','' :
    Repeat
    a:= a + 3;
    MouseC(random(5) + 680 - a, random(5) + 35 + a, 1);
    wait(random(200) + 300);
    Until(flagpresent=true);
    'N' :
    Repeat
    a:= a + 3;
    MouseC(random(5) + 640, random(5) + 20 + a, 1);
    wait(random(200) + 300);
    Until(flagpresent=true);
    'NW' :
    Repeat
    a:= a + 3;
    MouseC(random(5) + 620 + a, random(5) + 25 + a, 1);
    wait(random(200) + 300);
    Until(flagpresent=true);
    'W' :
    Repeat
    a:= a + 3;
    MouseC(random(5) + 600 + a, random(5) + 85, 1);
    wait(random(200) + 300);
    Until(flagpresent=true);
    'SW' :
    Repeat
    a:= a + 3;
    MouseC(random(5) + 620 + a, random(5) + 130 - a, 1);
    wait(random(200) + 300);
    Until(flagpresent=true);
    'S' :
    Repeat
    a:= a + 3;
    MouseC(random(5) + 645, random(5) + 145 - a, 1);
    wait(random(200) + 300);
    Until(flagpresent=true);
    'SE' :
    Repeat
    a:= a + 3;
    MouseC(random(5) + 688 - a, random(5) + 124 - a, 1);
    wait(random(200) + 300);
    Until(flagpresent=true);
    'E' :
    Repeat
    a:= a + 3;
    MouseC(random(5) + 703 - a, random(5) + 74, 1);
    wait(random(200) + 300);
    Until(flagpresent=true);
    End;
    wait(100);
    MapFlagging;
    wait(random(1000) + 1000);
    If(RunBack=true)Then
    Case Direction Of
    'NE' :
    Repeat
    a:= a + 3;
    MouseC(random(5) + 620 + a, random(5) + 130 - a, 1);
    wait(random(200) + 300);
    Until(FlagPresent);
    'E' :
    Repeat
    a:= a + 3;
    MouseC(random(5) + 600 + a, random(5) + 85, 1);
    wait(random(200) + 300);
    Until(FlagPresent);
    'SE' :
    Repeat
    a:= a + 3;
    MouseC(random(5) + 620 + a, random(5) + 25 + a, 1);
    wait(random(200) + 300);
    Until(FlagPresent);
    'S' :
    Repeat
    a:= a + 3;
    MouseC(random(5) + 640, random(5) + 20 + a, 1);
    wait(random(200) + 300);
    Until(FlagPresent);
    'SW' :
    Repeat
    a:= a + 3;
    MouseC(random(5) + 680 - a, random(5) + 35 + a, 1);
    wait(random(200) + 300);
    Until(FlagPresent);
    'W' :
    Repeat
    a:= a + 3;
    MouseC(random(5) + 703 - a, random(5) + 74, 1);
    wait(random(200) + 300);
    Until(FlagPresent);
    'NW' :
    Repeat
    a:= a + 3;
    MouseC(random(5) + 688 - a, random(5) + 124 - a, 1);
    wait(random(200) + 300);
    Until(FlagPresent);
    'N' :
    Repeat
    a:= a + 3;
    MouseC(random(5) + 645, random(5) + 145 - a, 1);
    wait(random(200) + 300);
    Until(FlagPresent);
    End;
    SetRunOff;
    wait(random(200)+300);
    OpenBag;
    leaveloop:= 0;
    fightfound:= true;
    Repeat
    placecheck:= getcolor(27, 36);
    wait(100);
    If(getcolor(27, 36) = placecheck)Then
    Leaveloop:= 1;
    Until(Leaveloop= 1);
    End;
    End;

    {^^^^^^^^^^^^^^^^^ FINDTEXT ^^^^^^^^^^^^^^^^^^^^^^^}
    {Checks For Yellow text, And If some are found it will look For a random
    event To talk too}
    {^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^}

    Procedure FindText;
    Var
    counter, a, b, a1, b1, c, d : Integer;
    Begin
    counter:= 0
    If(findcolor(a, b, 65535, 10, 20, 515, 338))
    Or(Istextat3(185, 36, 'The Bank', 100))Then
    wait(200)
    If(findcolor(a, b, 65535, 10, 20, 515, 338))
    And(Istextat3(185, 36, 'The Bank', 100)= false)Then
    Begin
    Repeat
    counter:= counter + 2 + random(1);
    MoveMouseSmoothEx(a + counter, b + 15 + random(3), 1, 6, 15, 20, 20);
    wait(1)
    If(istextat3(9, 9, 'Talk', 100))Then
    Begin
    getmousepos(a1, b1);
    MouseC(a1, b1, 2);
    Repeat
    wait(random(100) + 200);
    Until(findcolor(a, b, 0, a1 - 30, b1 - 30, a1 + 30, b1 + 30));
    If(IsTextIn3(S1, S2, S3, S4, c, d, 'Talk'))Then
    Begin
    MouseC(c + random(10), d + random(3), 1);
    MapFlagging;
    TalkToRand;
    exit;
    End;
    End;
    Until(counter>= 150);
    End;
    End;

    {^^^^^^^^^^^^^^^^^ LOGGEDIN ^^^^^^^^^^^^^^^^^^^^^^^}
    {Returns true If you are logged in And false If your not}
    {^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^}

    Function LoggedIn:Boolean;
    Begin
    result:= true;
    If(getcolor(249, 99)= 2071708)And
    (getcolor(637,50)=4872025)And
    (getcolor(547,383)=4212289)And
    (getcolor(356,47)=6115406)And
    (IsTextUp('Walk')=false)Then
    result:= false;
    End;

    {^^^^^^^^^^^^^^^^^ CHECKINTRO ^^^^^^^^^^^^^^^^^^^^^}
    {Checks For the intro screen And closes it If it finds it}
    {^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^}

    Procedure CheckIntro;
    Begin
    If(Getcolor(595, 25) <> 8239317)Then
    exit;
    MouseBox(435, 307, 590, 360, 1);
    repeat
    wait(random(300) + 500);
    until(getcolor(648, 83) = 16777215);
    End;

    {^^^^^^^^^^^^^^^^^ KILLSCRIPT ^^^^^^^^^^^^^^^^^^^^^}
    {This Procedure will enter a continues loop, making the script which
    is running stop}
    {^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^}

    Procedure KillScript;
    Begin
    Repeat
    Status('Script Killed, please restart');
    wait(500);
    Status('Script Killed, please restart.');
    wait(500);
    Status('Script Killed, please restart..');
    wait(500);
    Status('Script Killed, please restart...');
    wait(500);
    Until(false);
    End;

    {^^^^^^^^^^^^^^^^^ LOGIN ^^^^^^^^^^^^^^^^^^^^^^^}
    {Logs your character in If your logged out}
    {^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^}

    Procedure LogIn;
    var
    x : integer;
    Begin
    If(loggedin= false)Then
    Begin
    if(Istextat3(309, 241, 'Welcome',100))then
    begin
    MouseC(random(5) + 465, random(5) + 275, 1);
    wait(random(500) + 1000);
    end;
    MouseC(random(20) + 370, random(3) + 251, 1);
    wait(random(100) + 100);
    sendkeyshuman(User);
    wait(random(30)+120);
    sendkeyshuman(chr(13));
    wait(random(100) + 100);
    sendkeyshuman(Pass);
    MouseC(random(10) + 255, random(20) + 305, 1);
    Repeat
    wait(100);
    x:= x + 1;
    if(x = 100)Then
    begin
    writeln('Error logging in');
    KillScript;
    end;
    Until(getcolor(602, 20)= 8041938);
    End;
    wait(random(300) + 500);
    CheckIntro;
    End;

    {^^^^^^^^^^^^^^^^^ LOGOUTFOR ^^^^^^^^^^^^^^^^^^^^^^}
    {This procedure will log you out for the amount of minits given}
    {^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^}

    Procedure LogOutFor(Minutes : Integer);
    Var
    x : integer;
    Begin
    Logout;
    Minutes:= Minutes + random(Minutes / 10);
    writeln('Logging out for ' + inttostr(Minutes) + ' minuets');
    Minutes:= (Minutes * 60) * 1000;
    repeat
    x:= x + random(300) + 1000;
    wait(x);
    until(x > Minutes);
    writeln('Logging back in');
    Login;
    End;

    {^^^^^^^^^^^^^^^^^ CHECKFORMODS ^^^^^^^^^^^^^^^^^^^}
    {Looks For a mod Or admin And If it finds one, you will get logged out}
    {^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^}

    Procedure CheckForMods;
    Var
    a, b, bmpModCrown, bmpStaffCrown : Integer;
    Begin
    bmpModcrown := BitmapFromstring(13, 11,
    '9797970000000000000000000000000000009797970000000 00000' +
    '000000000000000000979797E0E0E09797970000000000000 00000' +
    'E0E0E0A2A2A2979797000000000000000000E0E0E0979797E 0E0E0' +
    '979797000000000000000000E0E0E0A2A2A29797970000000 00000' +
    '000000E0E0E0979797E0E0E0A2A2A2979797000000E0E0E0A 2A2A2' +
    'A2A2A2A2A2A2979797000000E0E0E0A2A2A2979797E0E0E0A 2A2A2' +
    '979797000000E0E0E0A2A2A2A2A2A2A2A2A2979797000000E 0E0E0' +
    'A2A2A2979797000000E0E0E0A2A2A2A2A2A2A2A2A2A2A2A2A 2A2A2' +
    'A2A2A2A2A2A2A2A2A2A2A2A2979797000000000000E0E0E0A 2A2A2' +
    'A2A2A2A2A2A2A2A2A2A2A2A2A2A2A2A2A2A2A2A2A2A2A2A29 79797' +
    '000000000000000000E0E0E0sA2A2A2000000000000A2A2A2 000000' +
    '000000A2A2A2979797000000000000000000000000E0E0E0A 2A2A2' +
    '000000A2A2A2000000A2A2A2000000A2A2A29797970000000 00000' +
    '000000000000E0E0E0A2A2A2000000A2A2A2000000A2A2A20 00000' +
    'A2A2A29797970000000000000000000000009797979797979 79797' +
    '979797979797979797979797979797979797000000000000' );
    bmpStaffcrown := BitmapFromstring(13, 11,
    'D69E21000000000000000000000000000000D69E210000000 00000' +
    '000000000000000000D69E21FFFF84D69E210000000000000 00000' +
    'FFFF84F7FF08D69E21000000000000000000FFFF84D69E21F FFF84' +
    'D69E21000000000000000000FFFF84F7FF08D69E210000000 00000' +
    '000000FFFF84D69E21FFFF84F7FF08D69E21000000FFFF84F 7FF08' +
    'F7FF08F7FF08D69E21000000FFFF84F7FF08D69E21FFFF84F 7FF08' +
    'D69E21000000FFFF84F7FF08F7FF08F7FF08D69E21000000F FFF84' +
    'F7FF08D69E21000000FFFF84F7FF08F7FF08F7FF08F7FF08F 7FF08' +
    'F7FF08F7FF08F7FF08F7FF08D69E21000000000000FFFF84F 7FF08' +
    'F7FF08F7FF08F7FF08F7FF08F7FF08F7FF08F7FF08F7FF08D 69E21' +
    '000000000000000000FFFF84F7FF08000000000000F7FF080 00000' +
    '000000F7FF08D69E21000000000000000000000000FFFF84F 7FF08' +
    '000000F7FF08000000F7FF08000000F7FF08D69E210000000 00000' +
    '000000000000FFFF84F7FF08000000F7FF08000000F7FF080 00000' +
    'F7FF08D69E21000000000000000000000000D69E21D69E21D 69E21' +
    'D69E21D69E21D69E21D69E21D69E21D69E21000000000000' );
    If (findbitmaptolerancein(bmpStaffcrown, a, b, 1, 345, 110, 430, 50))
    Or(findbitmaptolerancein(bmpModcrown, a, b, 1, 345, 110, 430, 50))Then
    Begin
    TakeScreenShot('Staff Found', 1);
    writeln('Staff / Mod Found, logged out And will log in later');
    a:= 0;
    LogOutFor(15);
    End;
    FreeBitmap(bmpStaffCrown);
    FreeBitmap(bmpModCrown);
    End;

    {^^^^^^^^^^^^^^^^^ GETQUESTION ^^^^^^^^^^^^^^^^^^^^}
    {Used with the box breaker}
    {^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^}

    Function GetQuestion : Integer;
    Begin
    result:= 0 ;
    If(istextat3(194, 260, 'Which shape is Y', 100))Then
    result:= 1; // Color Yellow
    If(istextat3(200, 260, 'Which shape is B', 100))Then
    resul
    i need help geting this to thive transfer text above into a include .txt file and down lode the file below. i need help geting this to thiv

  2. #2
    Join Date
    Sep 2006
    Location
    My Computer
    Posts
    149
    Mentioned
    0 Post(s)
    Quoted
    0 Post(s)

    Default

    Its really outdated , and its non srl, you should modify it to srl

  3. #3
    Join Date
    Jan 2008
    Location
    Houston, Texas, USA
    Posts
    770
    Mentioned
    0 Post(s)
    Quoted
    0 Post(s)

    Default

    OMG what the hell is that? Please post it with scar tags . And eurostylz its outdated thread why did you bother digging it out?

  4. #4
    Join Date
    May 2007
    Location
    Ohio
    Posts
    2,296
    Mentioned
    0 Post(s)
    Quoted
    0 Post(s)

    Default

    SCAR Code:
    //Hosted by Runescape 101
    //Download more free scar scripts from [url]www.rs101.info[/url]
    program AnythingThief;
    {.include SRL\SRL.scar}

    ////////////////////////////////////////////////////
    // THEIF ANYTHING BY MuNkY //
    // //
    // //
    ////////////////////////////////////////////////////
    //Setup: //
    //?Need scar 2.0 or higher (i think) //
    //?High Details, V-Bright //
    //?The item you want to thief must be visable //
    //.no items in inventory or they will be dropped //
    ////////////////////////////////////////////////////
    //.this script will auto-thief antyhing //
    //.make sure the item/npc is visable //
    //.enter color's and thief //
    ////////////////////////////////////////////////////







    var a,x,y:integer;

    const
    victim=6577721; //the color of your victim/ is thiefing cake stall try the color of the pie's
    waittime=1000; //time to wait between clicking the victim


    procedure click;
    begin
    Mouse(x,y,5, 5,true);
    wait(1000);
    end;


    procedure thief;
    begin
    findnormalrandoms;
    if
    (findcolorspiraltolerance(x,y,victim,1,1,550,356,12))
    then
    wait(waittime);click;
    if(findcolorspiraltolerance(x,y,victim,1,1,550,356,12))
    =false then
    Wait(400);
    if(findcolorspiraltolerance(x,y,victim,1,1,550,356,12))
    =true then thief;
    findnormalrandoms;
    end;

    procedure checkup;
    begin
    dropall;
    findnormalrandoms;
    end;


    begin;
    SetupSRL;
    ActivateClient;
    repeat
    thief
    a:=a+1;
    until(a>=1)
    repeat
    checkup
    until(false)
    end.
    ...

  5. #5
    Join Date
    Dec 2007
    Location
    192.168.1.73
    Posts
    2,439
    Mentioned
    6 Post(s)
    Quoted
    119 Post(s)

    Default

    Quote Originally Posted by eurostylz View Post
    Its really outdated , and its non srl, you should modify it to srl

    Thats why this is in the Non-SRL script section...

    Plus this thread was posted ages ago, why did you post on it?

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
  •