Having Problems

Discussion in 'Scar/Simba Help' started by awsomme9890, Aug 7, 2008.

Having Problems
  1. Unread #1 - Aug 7, 2008 at 1:18 AM
  2. awsomme9890
    Joined:
    Aug 6, 2008
    Posts:
    21
    Referrals:
    0
    Sythe Gold:
    0

    awsomme9890 Newcomer

    Having Problems

    Hi im new. ive been looking around the site for an answer to my question before posting it. anywhow my question is why am i having so many problems with EVERY script i try. but ill try to get my questions answered one at a time. the problem i have with this particular script is:

    Line 51: [Error] (15522:12): Unknown identifier 'INTEGER1' in script C:\Program Files\SCAR 3.15\Scripts\Runescape\ChickenSweeper 1.02.scar

    any advice u guys (or girls) have to offer would be appreciated





    {This script will collect raw chickens and bones in the chicken pen north east
    of Lumbridge. It will cook the chickens and bury the bones. It will also
    collect all the feathers. You can set your character to collect bones,
    chickens, or both using the Players.Integer1 field as follows...

    0: Pick and cook chicken (Cooking focus)
    1: Pick and bury bones (Prayer Focus)
    2: Pick and cook/bury bones/chicken (Cooking/Prayer focus)

    Uses the normal client, on low detail, and 32 bit colors.
    Many thanks SRL crew for such an amazing include, and to Solemn Wishes,
    whose Simple Killer was the starting point for this script.

    SETUP LINES 26-31, and declare your players in lines 48+.
    This script is AUTOCOLOR, so no color picking is necessary}

    program ChickenSweeper;
    {.include SRL\SRL.scar}

    var tmpx,tmpy,StartTime,Upchar,TalkCount,SmallFont,{Lumby,Walked,NoWalked,}
    FeatherCount,Buried,ChickenSpot1,BoneDTM,
    ChurnColor,ChurnX,ChurnY,ChurnTol,DistXColor,DistYColor,Cooked,
    ChickenPen,RandomTime,CharStartTime,Feathertext,GenericChickenInv:integer;

    const
    StartPlayer =0; // Which player # do you want to start with?
    PlayerTime =300; // Time for Each Player In Seconds.
    {script adds another ~10-12 minutes if it Auto-Detects everything correctly.}
    DebugScript =False;
    VersionNumber ='1.02';
    MouseSpeeed =10;

    // Don't alter the constants below this line without permission
    FontPath='.\CharsChat\';
    ChickenColor1=529512;
    FeatherColor=10240;
    FeatherColor2=11185077;
    BoneColor=13619157;
    RawChickenColor=9606328;

    //Add your player names/passwords/nicks below
    procedure DeclarePlayers;
    begin
    HowManyPlayers := 3; // Put the # of players you are using here.
    CurrentPlayer := StartPlayer;
    NumberOfPlayers(HowManyPlayers);

    Players[0].Name :='';
    Players[0].Pass :='';
    Players[0].Nick :='';
    Players[0].Integer1 :=2; //0: Chickens, 1: Bones, 2: Both
    Players[0].Active:=True;

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

    Players[2].Name :='';
    Players[2].Pass :='';
    Players[2].Nick :='';
    Players[2].Integer1 :=2;
    Players[2].Active:=True;
    end;

    Procedure WriteStatus(word:string);
    var Sec,rate:integer;
    begin
    Sec:= (1+((Getsystemtime-StartTime)/1000));
    Rate:=(3600*(Cooked+Buried))/(Sec);
    Status('Cook/Bury rate - '+IntToStr(rate)+'/hr --- '+word);
    end;

    procedure SafeFlag;
    var i,xl,yl:integer;
    begin
    repeat
    wait(50);
    i:=i+1;
    if not(FlagPresent) then exit;
    until (i>=80);
    if (FlagPresent) then
    begin
    if FindColor(XL, YL, 255, MMX1, MMY1, MMX2, MMY2) then
    Mouse(XL, YL+14, 2, 2,true) else Mouse(MMCX,MMCY,5,5,true);
    end;
    SafeFlag;
    end;

    function FindTheRoadColor: Integer;
    var red, green, blue, TestColor, a, b, GenericColor: Integer;
    begin
    GenericColor := 5987170;
    Flag;
    a := MMX1;
    b := MMY1;
    repeat
    b := b + 1;
    repeat;
    a := a + 1;
    if FindColorTolerance(x, y, GenericColor, a, b, MMX2, MMY2, 60) then
    begin
    if a = MMX1 + 1 then b := y;
    a := x;
    TestColor := GetColor(x, y);
    red := (TestColor mod 256);
    green := ((TestColor / 256) mod 256);
    blue := ((TestColor / 256) / 256);
    if Red - Green >= 5 then if Red - Green <= 10 then
    if Red - Blue >= 5 then if Red - Blue <= 10 then
    begin
    if GetColor(a + 5, b + 5) = TestColor then
    if GetColor(a + 3, b + 3) = TestColor then
    if GetColor(a, b + 5) = TestColor then
    if GetColor(a + 5, b) = TestColor then
    if GetColor(a, b + 3) = TestColor then
    if GetColor(a + 3, b) = TestColor then
    if GetColor(a + 5, b + 3) = TestColor then
    if GetColor(a + 3, b + 5) = TestColor then
    begin
    Result := TestColor;
    RoadColor := TestColor;
    WriteLn('RoadColor = ' + IntToStr(TestColor));
    Exit;
    end;
    end;
    end else a := MMX2;
    until a >= MMX2;
    a := MMX1;
    until b >= MMY2;
    WriteLn('Could not find Road Color!');
    Result := 0;
    end;

    procedure RunAway;
    var a,b,i:integer;
    begin
    WriteStatus('Calibrating...');
    if FindColorTolerance(tmpx,tmpy,ChurnColor,515,80,760,180,ChurnTol) then
    begin
    if (random(100)>50) then
    begin
    Mouse((tmpx+17+random(6)-DistXColor),(tmpy-random(5)-DistYColor),0,0,true);
    Flag;
    FTWait(2);
    end else
    begin
    if tmpx>(625+DistXColor) then
    begin
    if tmpy>(95+DistYColor)then
    Mouse(263+60+random(80),168+20+random(20),0,0,true) else
    Mouse(263+60+random(80),168-10-random(10),0,0,true);
    end else
    begin
    if tmpy>(95+DistYColor) then
    Mouse(263-60-random(80),168+20+random(20),0,0,true) else
    Mouse(263-60-random(80),168-10-random(10),0,0,true);
    end;
    Flag;
    FTWait(2);
    end;
    end;
    FTWait(4);
    if (FindColor(x,y,65280,250,130,260,180)) or
    (FindColor(x,y,255,250,130,260,180)) then
    begin
    a:=random(5);
    Writeln('Running away!');
    repeat
    a:= a + 3;
    Mouse(688 - a,124 - a,5,5,true);
    wait(random(200) + 300);
    until(flagpresent=true);
    wait(100);
    GetMousePos(a,b);
    a:=688-a;
    b:=124-b;
    SafeFlag;
    GameTab(2);
    i:=0;
    repeat
    if not(LoggedIn) then break;
    i:=i+1;
    FindNormalRandoms;
    wait(random(500) + 900);
    if ((Random(10)mod 3)=0)then MMouse(Random(512), Random(336),0,0);
    i:=i+1;
    until (i>=10);
    Wait(100);
    repeat
    if not(LoggedIn) then break;
    Mouse(608 + a,48 + b,2,2,true);
    a:= a + 3;
    b:= b + 3;
    wait(random(200) + 300);
    until(FlagPresent);
    SafeFlag;
    end;
    end;

    Procedure FindThoseRandoms;
    begin
    if InBlack then
    repeat
    if (FindColor(x,y,65280,250,130,260,180)) or
    (FindColor(x,y,255,250,130,260,180)) then Runaway;
    Wait(1000);
    until not(LoggedIn);
    if NoGameTab then
    repeat
    wait(1000);
    until not(LoggedIn);
    FindNormalRandoms;
    end;


    procedure WriteIt(It:string);
    begin
    if (DebugScript) then Writeln(It);
    end;

    function FindUniqueMMSymbolColor(Name:string;x1,y1,x2,y2:integer):boolean;
    var BMP,TestColor,x,y:integer;
    var UniqueColor:boolean;
    begin
    if not(LoggedIn) then exit;
    SymbolAccuracy:=0.6;
    if FindSymbol(x,y,'churn') then
    begin
    Writeln('Churn symbol found at '+IntToStr(x)+','+IntToStr(y));
    x1:=x-5;
    y1:=y-5;
    x2:=x+20;
    y2:=y+15;
    result:=true;
    x:=x1;y:=y1;
    if (lowercase(Name)='churn') then
    begin
    WriteIt('Searching '+IntToStr(x1)+','+IntToStr(y1)+' '+IntToStr(x2)+','+IntToStr(y2));
    Uniquecolor:=true;
    repeat
    repeat;
    Uniquecolor:=true;
    TestColor:=GetColor(x,y);
    If Findcolorspiral(tmpx,tmpy,testcolor,515,1,x1-1,180) then uniquecolor:=false else
    If Findcolorspiral(tmpx,tmpy,testcolor,x2+1,1,760,180) then uniquecolor:=false else
    If Findcolor(tmpx,tmpy,testcolor,x1,1,x2,y1-1) then uniquecolor:=false else
    If Findcolor(tmpx,tmpy,testcolor,x1,y2+1,x2,180) then uniquecolor:=false;
    If (UniqueColor) then
    begin
    ChurnColor:=Testcolor;
    Writeln('Unique Symbol Color '+inttostr(TestColor)+' found at '+inttostr(x)+', '+inttostr(y));
    ChurnX:=x;
    ChurnY:=y;
    FreeBitmap(BMP);
    Exit;
    end;
    WriteStatus('Checking position '+inttostr(x)+', '+inttostr(y));
    y:=y+1;
    until (y>=y2+1);
    y:=y1;
    x:=x+1;
    until (x>=x2+1);
    Writeln('No unique symbol colors found!?');
    FreeBitmap(BMP);
    ChurnColor:=0;
    end;
    end else
    begin
    Writeln('No symbol BMP detected on Minimap!');
    FreeBitmap(BMP);
    Result:=false;
    end;
    end;

    function ClickTheText(text : String; x1, y1, x2, y2 : Integer; left : Boolean) : Boolean;
    var TextLength, a, b : Integer;
    begin
    if(IsTextInAreaEx(x1,y1,x2,y2,a,b,Text,100,UpChars,False,True,0,1,-1))then
    begin
    TextLength := Length(Text);
    if(left = true)then
    Mouse(a + 2 + random(TextLength*6), b + random(3) + 7,0,0, true)
    else
    Mouse(a + 2 + random(TextLength*6), b + random(3) + 7,0,0, false);
    result:= true;
    end else
    if(IsTextInAreaEx(x1,y1,x2,y2+50,a,b,'Take Bones',100,UpChars,False,True,0,1,-1))then
    begin
    TextLength := 10;
    Mouse(a + 2 + random(TextLength*6), b + random(3) + 7,0,0, true)
    end else
    if(IsTextInAreaEx(x1,y1,x2,y2+50,a,b,'Take Raw chicken',100,UpChars,False,True,0,1,-1))then
    begin
    TextLength := 16;
    Mouse(a + 2 + random(TextLength*6), b + random(3) + 7,0,0, true)
    end else
    if(IsTextInAreaEx(x1,y1,x2,y2+50,a,b,'Take Feather',100,UpChars,False,True,0,1,-1))then
    begin
    TextLength := 12;
    Mouse(a + 2 + random(TextLength*6), b + random(3) + 7,0,0, true)
    end else
    if(IsTextInAreaEx(x1,y1,x2,y2+50,a,b,'Cancel',100,UpChars,False,True,0,1,-1))then
    begin
    TextLength := 6;
    Mouse(a + 2 + random(TextLength*6), b + random(3) + 7,0,0, true)
    end;
    end;

    procedure PlayerStats; {From Dankness}
    var Active,PrayLvl,CookLvl: string;
    var i, temp: Integer;
    begin
    if Players[CurrentPlayer].Active=True then
    Active:='True'
    else
    Active:='False';
    AddToReport ('<~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~>');
    AddToReport (' Name : '+ Players[CurrentPlayer].Name);
    AddToReport (' Number : '+inttostr(CurrentPlayer));
    AddToReport (' Active : '+ Active);
    AddToReport (' Worked : '+ inttostr(Players[CurrentPlayer].Worked));
    AddToReport (' Location : '+ Players[CurrentPlayer].loc);
    AddToReport (' Cooked : '+ IntToStr(Players[CurrentPlayer].Integer3));
    AddToReport (' Buried : '+ IntToStr(Players[CurrentPlayer].Integer4));
    Temp:=(GetSystemTime div 1000);
    Temp := Temp - StartTime;
    AddToReport ('<~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~>');
    AddToReport ('');
    AddToReport (' # : Nick = A. - LVL : PRY COOK. Time Location Cooked Buried');
    for I := 0 to HowManyPlayers - 1 do
    begin
    PrayLvl:=IntToStr(Players.level[5]);
    CookLvl:=IntToStr(Players.level[18]);
    if Players.level[5]<10 then PrayLvl:=('0'+PrayLvl);
    if Players.level[18]<10 then CookLvl:=('0'+CookLvl);
    if Players.Active=True then Active:='T' else Active:='F';
    AddToReport ( ' ' + Inttostr ( I) + ' : ' + Players.Nick + ' = ' + Active
    +'. - Lvl :'
    +' '+PrayLvl+
    +' '+CookLvl+'. '
    +'W: '+IntToStr(Players.Worked)+' min. '
    +'L: '+Players.loc+' '
    +'C: '+IntToStr(Players.Integer3)+' '
    +'B: '+IntToStr(Players.Integer4));
    end
    AddToReport ('<~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~>');
    end;

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

    Procedure ProgressReport; {modified from Dankness}
    begin
    ClearReport;
    SRLRandomsReport;
    AddToReport(' ');
    AddToReport ('/~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~\');
    AddToReport ('| --> ChickenSweeper '+VersionNumber+' <-- Progress Report --> by Tarajunky <-- |');
    AddToReport ('<~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~>');
    AddToReport(' Worked for '+ TimeRunning);
    if ( FeatherCount > 0 ) then
    AddToReport(' Picked up feathers '+IntToStr(FeatherCount)+' times.');
    if ( Cooked >0 ) then
    AddToReport(' Cooked and dropped '+IntToStr(Cooked)+' chickens.');
    if ( Buried > 0 ) then
    AddToReport(' Buried '+IntToStr(buried)+' bones');
    PlayerStats;
    end;

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

    procedure Autotalk;
    var
    i:integer;
    Say: array[1..23] of String;
    begin
    i:=0;
    Say[1]:='Be nice to noobs';
    Say[2]:='can i have your bones'
    Say[3]:='-Burp-';
    Say[4]:='gotta lvl my prayer';
    Say[5]:='im training my cooking';
    Say[6]:='ure a noob';
    Say[7]:='begone newbs';
    Say[8]:='pray lvls';
    Say[9]:='cook lvls';
    Say[10]:='I really want a zombie random';
    Say[11]:='i hate pures';
    Say[12]:='chickens are wussy';
    Say[13]:='chickens cant kill u';
    Say[14]:='everybody do a emote';
    Say[15]:='stop it';
    Say[16]:='im the garbage collector, lol';
    Say[17]:='stupid eggs in the way';
    Say[18]:='get lost noob';
    Say[19]:='dont be stoopid';
    Say[20]:='i hate stupid random events';
    Say[21]:='i like feathers';
    Say[22]:='i luv this game';
    Say[23]:='rofl';
    if (Random(10)>5) then
    begin
    i:=(random(23)+1);
    TypeSend(Say);
    TalkCount:=TalkCount+1;
    Writeln('Talking #'+IntToStr(TalkCount)+' - '+Say);
    Wait(250);
    ChatsOff;
    end;
    end;

    procedure BuryBones;
    var i,n,BoneInvDTM:integer;
    begin
    BoneInvDTM:= DTMFromString('78DA633CC6C4C0B09B91011530229140FA085' +
    '0CD66026A2E00D51C20A0662750CD4E026A0E03D51CC5AF06001F' +
    'BF07A1');
    i:=0;
    repeat
    i:=i+1;
    n:=0;
    if FindDTM(BoneInvDTM,tmpx,tmpy,555,205,740,465) then
    begin
    MMouse(tmpx,tmpy,7,7);
    Wait(100+random(50));
    GetMousePos(tmpx,tmpy);
    Mouse(tmpx,tmpy,2,2,true);
    repeat
    n:=n+1;
    FTWait(1);
    FindNormalRandoms;
    if not(FindDTM(BoneInvDTM,tmpx,tmpy,tmpx-25,tmpy-25,tmpx+25,tmpy+25)) then break;
    until (n>=15);
    if n<15 then
    begin
    buried:=buried+1;
    Players[CurrentPlayer].Integer4:=Players[CurrentPlayer].Integer4+1;
    ReportVars[1]:=ReportVars[1]+1;
    end;
    if (FindColor(x,y,65280,250,130,260,180)) or (FindColor(x,y,255,250,130,260,180)) then Runaway;
    FTWait(1);
    end else break;
    until (i>=28);
    FreeDTM(BoneInvDTM);
    end;

    procedure DropCookedFast; //Modified from White Shadow
    var
    c : TPoint;
    i, b1, b2, b3, b4 : Integer;
    begin
    for i := 1 to 28 do
    begin
    c:= ItemCoords(i);
    b1 := c.x - 25;
    b2 := c.y - 25;
    b3 := c.x + 25;
    b4 := c.y + 25;
    if i mod 2 = 0 then
    begin
    if(FindDTM(GenericChickenInv,x,y,b1,b2,b3,b4))then
    begin
    MMouse(x,y,3,3);
    Mouse(x, y, 3, 3, false);
    Wait(100 + random(50));
    if ClickTheText('rop ',x-150,y-60,x+50,y+90,true) then
    begin
    Cooked:=Cooked+1;
    Players[CurrentPlayer].Integer3:=Players[CurrentPlayer].Integer3+1;
    ReportVars[0]:=ReportVars[0]+1;
    end;
    end;
    end else
    begin
    if(FindDTM(GenericChickenInv,x,y,b1,b2,b3,b4))then
    begin
    MMouse(x,y,3,3);
    Mouse(x, y, 3, 3, false);
    Wait(100 + random(50));
    if ClickTheText('rop ',x-150,y-60,x+50,y+90,true) then
    begin
    Cooked:=Cooked+1;
    Players[CurrentPlayer].Integer3:=Players[CurrentPlayer].Integer3+1;
    ReportVars[0]:=ReportVars[0]+1;
    end;
    end;
    end;
    end;
    end;

    procedure CookThatChicken;
    var PotDTM,i,x1,y1:integer;
    begin
    GameTab(4);
    for i:=1 to 3 do
    begin
    if FindDTM(GenericChickenInv,x,y,MIX1,MIY1,MIX2,MIY2) then
    begin
    Mouse(x,y,2,2,true);
    y:=25;
    PotDTM := DTMFromString('78DA633CC9C0C020C6800258EEDE65D000D28' +
    'C40FC1F0818416A7821728C58D480C5F720CC61C1A5E62690E0C2' +
    'AF0600F2140F10');
    repeat
    if FindColorTolerance(tmpx,tmpy,4204800,100,y,330,y+15,30) then
    begin
    MMouse(tmpx,tmpy,2,2);
    Wait(200);
    if FindDTM(PotDTM,x1,y1,1,1,400,25) then break;
    end;
    y:=y+5;
    until y>=190;
    if FindDTM(PotDTM,x1,y1,1,1,400,25) then
    begin
    WriteStatus('Found Pot');
    FreeDTM(PotDTM);
    Mouse(tmpx,tmpy,2,2,true);
    FTWait(5+random(2));
    FindThoseRandoms;
    if (FindColor(x,y,65280,250,130,260,180)) or
    (FindColor(x,y,255,250,130,260,180)) then Runaway;
    FTWait(5);
    FindThoseRandoms;
    if (FindColor(x,y,65280,250,130,260,180)) or
    (FindColor(x,y,255,250,130,260,180)) then Runaway;
    FTWait(5);
    FindThoseRandoms;
    if (FindColor(x,y,65280,250,130,260,180)) or
    (FindColor(x,y,255,250,130,260,180)) then Runaway;
    if not(FindColor(x,y,ChurnColor,MMX1,MMY1,MMX2,MMY2)) then
    if not(FindSymbol(x,y,'churn')) then exit;
    if FindColorTolerance(tmpx,tmpy,10856132,245,400,270,420,20) then
    begin
    Mouse(tmpx,tmpy,4,4,false);
    FTWait(5+random(2));
    ChooseOption(x,y,'Cook All');
    FTWait(4);
    if GetColor(290,395)=0 then TypeSend('28');
    i:=0;
    repeat
    i:=i+1;
    if not(LoggedIn) then exit;
    Wait(250);
    if GetColor(40,425)=0 then
    begin
    WriteStatus('Cooking Chicken');
    break;
    end;
    if (i>=30) then
    begin
    WriteStatus('Failed to cook...');
    CookThatChicken;
    exit;
    end;
    until (i>=40);
    repeat
    i:=i+1;
    if random(20)<2 then PickUpMouse;
    if FindColorTolerance(x,y,16711680,230,430,280,450,10) then
    begin
    Mouse(x,y,2,2,True);
    Wait(250);
    MMouse(x,y-30,40,15);
    end;
    FTWait(2);
    FindNormalRandoms;
    WWait(1500);
    until not(FindColorTolerance(x,y,RawChickenColor,MIX1,MIY1,MIX2,MIY2,15)) or (i>=200);
    DropCookedFast;
    DwarfItem;
    end;
    end else
    begin
    FreeDTM(PotDTM);
    SaveScreenshot(AppPath+'Pot'+InttoStr(random(200))+'.bmp');
    end;
    end;
    end;
    end;

    procedure CookChicken;
    var tmpx,tmpy:integer;
    begin
    Writeln('Attempting to cook chickens. Please wait...');
    WriteStatus('Attempting to cook chickens. Please wait...');
    MakeCompass('N');
    FTWait(2);
    RoadColor:=FindTheRoadColor;
    x:=610;
    repeat
    if FindColor(tmpx,tmpy,RoadColor,x,MMY1,x+15,MMY2) then
    begin
    WriteStatus('Found Chicken Door');
    Mouse(tmpx+3,tmpy+5,3,3,true);
    Flag;
    break;
    end else x:=x+2;
    until x>=MMX2;
    MakeCompass('W');
    x:=170;
    repeat
    if FindColorTolerance(tmpx,tmpy,1791084,x,80,x+15,175,10) then
    begin
    MMouse(tmpx,tmpy+2,1,1);
    Wait(200);
    if IsUpTextMulti('oor','pen','lose') then break;
    end;
    x:=x+5;
    until x>=325;
    if IsUpTextMulti('oor','pen','lose') then
    begin
    GetMousePos(x,y);
    if IsUpText('pen') then
    begin
    Mouse(x,y,0,0,true);
    WriteStatus('Opened Door');
    Flag;
    FTWait(1);
    end else
    if IsUpText('lose') then WriteStatus('Door Already Open') else exit;
    Mouse(650,70,1,1,true); //Blind Click
    FTWait(2);
    Flag;
    FTWait(1);
    CookThatChicken;
    y:=95;
    repeat
    if FindColor(tmpx,tmpy,RoadColor,MMX1,y,MMX2,y+15) then
    begin
    WriteStatus('Found Chicken Door2');
    Mouse(tmpx,tmpy+1,1,1,true);
    Flag;
    Wait(500);
    break;
    end else y:=y+3;
    until y>=MMY2;
    x:=200;
    repeat
    if FindColorTolerance(tmpx,tmpy,1791084,x,120,x+15,230,10) then
    begin
    MMouse(tmpx,tmpy+2,1,1);
    Wait(200);
    if IsUpTextMulti('oor','pen','lose') then break;
    end;
    x:=x+5;
    until x>=325;
    if IsUpTextMulti('oor','pen','lose') then
    begin
    GetMousePos(x,y);
    if IsUpText('pen') then
    begin
    Mouse(x,y,0,0,true);
    WriteStatus('Opening Door');
    FTWait(1);
    end else
    if IsUpText('lose') then WriteStatus('Door Already Open') else exit;
    Mouse(650,100,4,4,true); //Blind Click
    Flag;
    Writeln('Successfully Exited Building');
    end;
    end else Writeln('Could not find door');
    MakeCompass('N');
    if FindColorTolerance(tmpx,tmpy,ChurnColor,515,80,760,180,ChurnTol) then
    begin
    Mouse((tmpx+17+random(6)-DistXColor),(tmpy-random(5)-DistYColor),0,0,true);
    Flag;
    FTWait(2);
    end;
    end;

    function PickBones:boolean;
    var x1,y1:integer;
    begin
    if not(FindDTM(BoneDTM,x1,y1,MSCX-60,MSCY-40,MSCX+60,MSCY+40)) then
    begin
    if not(FindDTM(BoneDTM,x1,y1,MSCX-120,MSCY-80,MSCX+120,MSCY+80)) then
    begin
    if not(FindDTM(BoneDTM,x1,y1,MSCX-180,MSCY-120,MSCX+180,MSCY+120)) then
    begin
    if not(FindDTM(BoneDTM,x1,y1,MSX1,MSY1+25,MSX2,MSY2)) then
    begin
    x1:=259;
    y1:=183;
    end;
    end;
    end;
    end;
    if FindColorSpiralTolerance(x1,y1,BoneColor,5,5,415,318,10) then
    begin
    if not(FindColorTolerance(x,y,ChickenColor1,x1-5,y1-5,x1+5,y1+5,5)) then
    begin
    WriteStatus('Found Bones. Picking up...');
    if (InvCount<28) then
    begin
    if FindColorTolerance(x,y,BoneColor,x1-5,y1-5,x1+5,y1+5,10) then Mmouse(x+2,y+2,2,3);
    Wait(250+random(100));
    if IsUpText('Take') or FindColorTolerance(x,y,3305413,1,5,80,20,30) then
    begin
    getmousepos(x,y);
    mouse(x,y,2,2,false);
    Wait(50+random(100));
    if FindColor(x,y,4231423,x-60,1,x+60,335) then if ClickTheText('Take Bones',x-100,y-60,x+50,y+90,true) then Result:=true;
    end;
    end;
    end;
    end;
    Wait(150);
    SafeFlag;
    wait(300+random(500))
    end;

    procedure PickChicken;
    var x1,y1,RawText:integer;
    begin
    x1:=259;y1:=183;
    if FindColorSpiralTolerance(x1,y1,RawChickenColor,5,5,435,318,10) then
    begin
    RawText:= DTMFromString('78DA634C616060E06440016F7AAD188C80342' +
    '310FF070246901A2154350F1ACCE16A4080311D48F0A2AA79DD63' +
    '85A20600A4B60AEB');
    WriteStatus('Found Raw chicken. Picking up...');
    if (InvCount<28) then
    begin
    if FindColorTolerance(x1,y1,RawChickenColor,x1-5,y1-5,x1+5,y1+5,10) then
    MMouse(x1+2,y1+2,2,2);
    Wait(250+random(100));
    if random(100)>70 then
    begin
    if IsUpText('Take') then
    begin
    GetMousePos(x,y);
    Mouse(x,y,2,2,true);
    FTWait(1);
    SafeFlag;
    FTWait(3);
    end;
    end else
    begin
    if FindDTM(RawText,x,y,1,1,200,20) then
    begin
    GetMousePos(x,y);
    Mouse(x,y,2,2,false);
    Wait(50+random(100));
    if FindColor(x,y,4231423,x-60,1,x+60,335) then ClickTheText('Take Raw chicken',x-100,y-60,x+50,y+90,true);
    end else if IsUpText('Chicken') then
    begin
    GetMousePos(x,y);
    Mouse(x,y,2,2,false);
    Wait(50+random(100));
    if FindColor(x,y,4231423,x-60,1,x+60,335) then ClickTheText('Take Raw chicken',x-100,y-60,x+50,y+90,true);
    FTWait(1);
    SafeFlag;
    end;
    FTWait(1);
    SafeFlag;
    FTWait(3);
    end;
    end;
    FreeDTM(RawText);
    end;
    end;

    procedure PickItems;
    var pickedbone:boolean;
    begin
    if not(LoggedIn) then Exit;
    Flag;
    Wait(150+random(50));
    case Players[CurrentPlayer].Integer1 of
    0: PickChicken;
    1: if PickBones then PickedBone:=True;
    2: begin
    PickChicken;
    if PickBones then PickedBone:=True;
    end;
    end;
    Wait(100+random(350));
    end;

    function PickFeathers:boolean;
    begin
    if not(LoggedIn) then Exit;
    Flag;
    WriteStatus('Picking Feathers');
    WriteIt('Picking Feathers');
    FTWait(3);
    x:=259;y:=183;
    if FindColorSpiralTolerance(x,y,feathercolor,5,5,435,318,5) then
    begin
    if FindColorTolerance(x,y,feathercolor2,x-5,y-5,x+2,y+5,5) then
    if FindColorTolerance(x,y,feathercolor,x-20,y-5,x+2,y+5,5) then
    begin
    feathertext:= DTMFromString('78DA6374636060E065400177BACD198C80342' +
    '310FF0702461720830B22C784450D08303A030941026ABC800427' +
    '0135200E1F84CD8C4B4D24C2CD3035B7BBCC50D40000443510E0');
    Mmouse(x,y,3,1);
    Wait(350+random(100));
    if FindDTM(feathertext,x,y,1,1,130,30) then
    begin
    WriteStatus('DTM Feather');
    getmousepos(x,y);
    mouse(x,y,2,3,true);
    Wait(150);
    FeatherCount:=FeatherCount+1;
    SafeFlag;
    FTwait(2+random(2));
    FreeDTM(feathertext);
    Result:=true;
    end else if IsUpText('Chicken') then
    begin
    getmousepos(x,y);
    mouse(x-2,y-2,4,3,false);
    Wait(50+random(100));
    if FindColor(x,y,4231423,x-60,1,x+60,335) then ClickTheText('Take Feather',x-100,y-60,x+50,y+90,true);
    FTWait(1);
    SafeFlag;
    FTWait(2);
    FreeDTM(feathertext);
    Result:=true;
    end else
    begin
    WriteStatus('No feathers found!');
    FreeDTM(feathertext);
    exit;
    end;
    end else exit;
    end;
    Wait(100+random(350));
    if (InvCount<28) then PickItems;
    if (InvCount=28) then if ((Players[CurrentPlayer].Integer1=1) or (Players[CurrentPlayer].Integer1=2)) then BuryBones;
    if (InvCount=28) then if ((Players[CurrentPlayer].Integer1=0) or (Players[CurrentPlayer].Integer1=2)) then CookChicken;
    end;

    procedure SearchLoop;
    begin
    if not(LoggedIn) then exit;
    PickFeathers;
    if random(100)>5 then exit;
    WriteStatus('Calibrating...');
    if FindColorTolerance(tmpx,tmpy,ChurnColor,515,80,760,180,ChurnTol) then
    begin
    if (random(100)>50) then
    begin
    Mouse((tmpx+17+random(6)-DistXColor),(tmpy-random(5)-DistYColor),0,0,true);
    Flag;
    FTWait(2);
    end else
    begin
    if tmpx>(625+DistXColor) then
    begin
    if tmpy>(95+DistYColor)then
    Mouse(263+60+random(80),168+20+random(20),0,0,true) else
    Mouse(263+60+random(80),168-10-random(10),0,0,true);
    end else
    begin
    if tmpy>(95+DistYColor) then
    Mouse(263-60-random(80),168+20+random(20),0,0,true) else
    Mouse(263-60-random(80),168-10-random(10),0,0,true);
    end;
    Flag;
    FTWait(2);
    end;
    end;
    end;

    procedure LoadDTMs;
    begin;
    Feathertext:= DTMFromString('78DA6374636060E065400177BACD198C80342' +
    '310FF0702461720830B22C784450D08303A030941026ABC800427' +
    '0135200E1F84CD8C4B4D24C2CD3035B7BBCC50D40000443510E0');
    ChickenSpot1 := DTMFromString('78DA63AC666260F0644001CF5EBC669003D28' +
    'C40FC1F08188B806A4220722C58D48000633E420D2B3E35E104D4' +
    'E412A106644E140135D940353104D43403D53811509302541384A' +
    'A26A562198311921A004CD32396');
    ChickenPen := DTMFromString('78DA63DCC8C4C050C78002FC4D44183480342' +
    '310FF0702C6C50835CC5035CF5EBC669083AA0101B09A62026A76' +
    '03D5941050B317A8A681809AF54035FD04D46C00AA990B61F343C' +
    '55E013117921A008FBC1C7A');
    GenericChickenInv := DTMFromString('78DA632C62626078C88006189148205D0754F' +
    '38A809A6AA09A9B04D4E400D53C20A0260DA8E63D01352540351F' +
    'F0AB0100E9550833');
    BoneDTM := DTMFromString('78DA636464646098CA80028EEEDDCB6004A48' +
    '1320CFF81809119538DA39138831C540D0830B2E037070400BB89' +
    '0B57');
    end;

    function TryToFindMyself:boolean;
    var i:integer;
    begin
    Result:=True;
    i:=0;
    SymbolAccuracy:=0.8;
    repeat
    if not(LoggedIn) then Exit;
    if FindDTM(ChickenSpot1,tmpx,tmpy,515,5,760,180) then
    begin
    Players[CurrentPlayer].Loc:='Chickens';
    exit;
    end else if FindDTM(ChickenPen,tmpx,tmpy,515,5,760,180) then
    begin
    Players[CurrentPlayer].Loc:='Chickens';
    exit;
    end else if FindSymbol(x,y,'churn') then
    begin
    Players[CurrentPlayer].Loc:='Chickens';
    exit;
    end;
    RandomTime:=Randomtime-10;
    Wait(500+random(500));
    i:=i+1;
    FTWait(6);
    until (i>=3);
    If FindColor(x,y,ChurnColor,515,80,740,160) then
    begin
    Players[CurrentPlayer].Loc:='Chickens';
    RandomTime:=0;
    exit;
    end;
    Writeln('Could not find current location');
    Players[CurrentPlayer].Loc:='Lost';
    Result:=False;
    repeat
    Wait(1000);
    FindNormalRandoms;
    until(not(LoggedIn));
    end;

    procedure SetUp;
    begin;
    SetupSRL;
    ScriptID := '53';
    BenMouse:=True;
    MouseSpeed:=10;
    FeatherCount:=0;
    DeclarePlayers;
    UpChar:= LoadChars2(AppPath + 'CharsRS22\');
    TalkCount:=0;
    SmallFont:=LoadChars2(AppPath + 'CharsChat2\fontsmall\');
    LoadDTMs;
    LoginPlayer;
    MouseSpeed:=MouseSpeeed+random(2);
    StartTime:=GetSystemTime;
    end;

    procedure StartItUp;
    var x,y,i:integer;
    begin
    MouseSpeed:=MouseSpeeed+random(2);
    RandomTime:=Random(300);
    if not(LoggedIn) then Exit;
    BenMouse:=True;
    i:=0;
    Wait(1000);
    GetAllLevels;
    ChatsOff;
    FTWait(1);
    HighestAngle;
    FTWait(1);
    ActivateClient;
    FTWait(1);
    Wait(100);
    SetRun(true);
    FTWait(1);
    SetRun(true);
    FTWait(1);
    Flag;
    Wait(250);
    TryToFindMyself;
    if FindDTM(ChickenPen,tmpx,tmpy,515,5,760,180) then
    begin
    Writeln('Found Chicken Pen');
    Mouse(tmpx,tmpy-3,1,1,true);
    wait(50);
    Flag;
    Wait(950);
    end else WriteIt('Did not find Chicken Pen');
    FindUniqueMMSymbolColor('Churn',573,80,733,180);
    Wait(50);
    ChurnTol:=0;
    if FindDTM(ChickenSpot1,x,y,515,5,760,180) then
    begin
    Writeln('Found reference point at '+IntToStr(x)+','+IntToStr(y));
    if not(ChurnColor=0) then if FindColorTolerance(tmpx,tmpy,ChurnColor,515,80,760,160,ChurnTol) then
    begin
    RandomTime:=300+Random(200);
    DistXColor:= ChurnX-x;
    DistYColor:= ChurnY-y;
    end else RandomTime:=random(10);
    end else
    begin
    Writeln('Did not find reference point');
    RandomTime:=random(10);
    end;
    ProgressReport;
    CharStartTime:=GetSystemTime;
    if ((Players[CurrentPlayer].Integer1=4) and (InvCount=28)) then CookChicken;
    end;

    procedure RepeatMe;
    begin;
    repeat
    StartItUp;
    repeat
    SymbolAccuracy:=0.8;
    if not(TryToFindMyself) or not(Loggedin) then break;
    if not(ChurnColor=0) then if FindColorTolerance(tmpx,tmpy,ChurnColor,515,80,760,180,ChurnTol) then
    begin
    Players[CurrentPlayer].loc:='Chickens';
    WriteIt('Churn Color found at '+IntToStr(tmpx)+', '+inttostr(tmpy));
    if (tmpx>(670+DistXColor)) or (tmpx<(600+DistXColor)) or (tmpy>(120+DistYColor)) or (tmpy<(75+DistYColor)) then
    begin
    Mouse((tmpx+17+random(6)-DistXColor),(tmpy-random(5)-DistYColor),0,0,true);
    WriteStatus('Walked too far Color');
    Flag;
    Wait(500);
    end;
    SearchLoop;
    end else
    if FindDTM(ChickenSpot1,tmpx,tmpy,515,5,760,180) then
    begin
    Players[CurrentPlayer].loc:='Chickens';
    WriteIt('Chicken Spot1 found at '+IntToStr(tmpx)+', '+inttostr(tmpy));
    if (tmpx>655) or (tmpx<600) or (tmpy>110) or (tmpy<75) then
    begin
    Mouse(tmpx+17+random(6),tmpy-random(5),0,0,true);
    WriteStatus('Walked too far CS1');
    Flag;
    end;
    SearchLoop;
    end;
    if (random(100)>95) then Autotalk;
    until (((Getsystemtime-CharStartTime)/1000)>(PlayerTime+RandomTime));
    if (((Getsystemtime-CharStartTime)/1000)>(PlayerTime+RandomTime)) then
    begin
    if PickFeathers then if PickFeathers then PickFeathers;
    WriteStatus('Timing Out');
    if FindColorTolerance(tmpx,tmpy,ChurnColor,515,80,760,180,ChurnTol) then Mouse((tmpx+17+random(6)-DistXColor),(tmpy-random(5)-DistYColor),0,0,true);
    repeat
    Wait(1000);
    FindNormalRandoms;
    until(not(LoggedIn));
    Wait(150+random(30));
    Writeln('Changing Players');
    NextPlayer(True);
    end else if (lowercase(Players[currentplayer].loc)='chickens') then NextPlayer(True) else NextPlayer(False);
    until (false);
    end;

    begin
    Setup;
    RepeatMe;
    end.
     
< crosshair | Need help fast! >

Users viewing this thread
1 guest


 
 
Adblock breaks this site