Var HeadColor,ItemColor,AxeHandleColor,AxeHeadColor:integer; Const MRIVersion='2.7'; Procedure GetHeadColorPick; begin if(not(GetColor(593,220)=65536))then begin Logout writeln('Missing Pick') repeat wait(100) until(false) end else HeadColor:=GetColor(589,220); end; Function HeadGone:boolean; var tsearched:integer; begin if(not(GetColor(589,220)=HeadColor))then begin Mouse(711,445,3,3,false); wait(450); Mouse(672,428,1,1,true); repeat tsearched:=tsearched+1; until(tsearched>=5)or(FindObj('Take',HeadColor,25)) or(Scan4Object(5,5,headcolor,30,'Take')) Mouse(x,y,0,0,True); Flag; wait(500); if(FindColor(x,y,HeadColor,565,215,731,453))then Mouse(x,y,1,1,true); wait(250); Mouse(582,227,0,0,true); Result:=true; end; end; Function PickBroke:boolean; begin if(not(HeadGone))then if(not(GetColor(593,220)=65536))then begin Result:=true; end; end; Function GasFound(RockOreColor:integer):boolean; begin if(FindColorSpiralTolerance(x,y,RockOrecolor,9,9,515,338,1))then begin if((FindColoredAreaTolerance(x,y,6189176,x-50,y-50,x+50,y+50,5,5)) or (FindColoredAreaTolerance(x,y,4484482,x-50,y-50,x+50,y+50,5,5)) or (FindColoredAreaTolerance(x,y,4286846,x-50,y-50,x+50,y+50,5,5)))then begin result:=true writeln('Found Gas') Mouse(648,83,0,0,true) flag; wait(40000) end; end; end; Function FindText:boolean; begin if(FindColor(x,y,65535,5,5,514,337))then wait(100) if(FindColor(x,y,65535,5,5,514,337))then begin result:=True; end; end; Procedure Talk; var counter,c:integer; Talked2Rand:boolean; begin if(FindColor(x,y,65535,5,5,514,337))then wait(100) if(FindColor(x,y,65535,5,5,514,337))then repeat Begin counter:=counter+2+random(1); if((x+counter) < 515)and((y+18) < 338)then MoveMouseSmoothEx(x+counter,y+15+random(3),1,6,15,20,20); wait(5); if(FindColorSpiral(x,y,65280,180,90,320,230))then break; if(IsTextAt2(9,9,'Ta',100))then begin GetMousePos(x,y); Mouse(x,y,0,0,false); Wait(200+random(100)); if(SearchForText(3,3,515,336,'Talk',2))then begin ClickText(3,3,515,336,'Talk',2) Flag; wait(1000+random(1000)); while((FindColor(x,y,16711680,5,345,510,465))or //Replaces TalkToRand (FindColor(x,y,16777215,5,345,510,465)))and (not(GetColor(20,434)=0))and(c<=10)do begin Mouse(x,y,50,2,true); wait(2000+random(1000)); c:=c+1; end; Talked2Rand:=true; end; end; end; until(counter>=250)or(Talked2Rand); end; Function Fight:boolean; begin if(FindColorSpiral(x,y,65280,230,115,284,150))then begin Result:=true; end; end; Procedure FindMiscRandoms; var ax,ay:integer; begin if(FindColor(ax,ay,786423,10,350,150,433))then begin LogOut; repeat wait(100) until(false) end; if(GetColor(30,418)=0)and(GetColor(72,429)=0)then begin LogOut; repeat wait(100) until(false) end; if(FindColor(ax,ay,11503238,10,350,479,433))then begin LogOut; repeat wait(100) until(false) end; end; Procedure GetFishEquipColor(Equip:string); begin If(Equip='Pot')Then begin if(not(GetColor(598,221)=65536))then begin Logout; writeln('Missing Equipment') repeat wait(100) until(false) end else ItemColor:=GetColor(582,230); end; If(Equip='Harpoon')Then begin if(not(GetColor(594,214)=65536))then begin Logout; writeln('Missing Equipment') repeat wait(100) until(false) end else ItemColor:=GetColor(582,230); end; end; Function FishEquip:Boolean; begin If(Not(GetColor(582,230)=ItemColor))Then begin Result:=true; end; end; Function AxeDamaged:boolean; begin if(GetColor(595,220)=4345174)then begin Result:=true; end; end; Procedure GetAxeColors; begin if(not(GetColor(593,216)=65536))then begin Logout; writeln('Missing Equipment') repeat wait(100) until(false) end else AxeHeadColor:=GetColor(590,219); AxeHandleColor:=GetColor(580,227);; end; function AxeHeadGone:boolean; begin if(Not(GetColor(590,219)=AxeHeadColor))then begin Result:=true; end; end; Procedure FixAxe; begin if(findcolor(x,y,AxeHeadColor,545,192,755,580))then Mouse(x,y,0,0,true) if(findcolor(x,y,AxeHandleColor,545,192,755,580))then Mouse(x,y,0,0,true) wait(2000) GetAxeColors; end; Function Dead:boolean; begin If(SearchForText(10,350,500,450,'Oh dear, you are dead!',2))then begin Result:=true; end; end; Procedure UseTheLamp(skill:string); begin writeln('Clicking on "' + skill + '" skill.'); if(skill='attack')then begin mouse(163,156,10,10,true); end; if(skill='strength')then begin mouse(195,156,10,10,true); end; if(skill='ranged')then begin mouse(227,156,10,10,true); end; if(skill='magic')then begin mouse(259,156,10,10,true); end; if(skill='defence')then begin mouse(292,156,10,10,true); end; if(skill='hitpoints')then begin mouse(324,155,10,10,true); end; if(skill='prayer')then begin mouse(356,156,10,10,true); end; if(skill='agility')then begin mouse(182,192,10,10,true); end; if(skill='herblore')then begin mouse(215,192,10,10,true); end; if(skill='theiving')then begin mouse(246,193,10,10,true); end; if(skill='crafting')then begin mouse(278,192,10,10,true); end; if(skill='runecrafting')then begin mouse(311,192,10,10,true); end; if(skill='slayer')then begin mouse(343,191,10,10,true); end; if(skill='mining')then begin mouse(164,228,10,10,true); end; if(skill='smithing')then begin mouse(197,228,10,10,true); end; if(skill='fishing')then begin mouse(229,229,10,10,true); end; if(skill='cooking')then begin mouse(260,228,10,10,true); end; if(skill='firemaking')then begin mouse(292,229,10,10,true); end; if(skill='woodcutting')then begin mouse(325,230,10,10,true); end; if(skill='fletching')then begin mouse(357,228,10,10,true); end; wait(500) mouse(237,250,42,10,true); end; procedure UseLamp(usage:string); //by Ghost begin if(FindColorSpiralTolerance(x,y,1423546,560,210,730,460,5))then begin MMouse(x,y,0,0); GetMousePos(x,y); If(IsTextAt2(9,9,'Rub',100))Then begin writeln('Found a Lamp!'); Mouse(x,y,1,1,false); wait(150); if(SearchForTextTol(560,210,730,460,'Rub',2,100))then begin Clicktext(560,210,730,460,'Rub',2); wait(1000+random(500)); writeln('Rubbing Lamp!'); UseTheLamp(usage); wait(1000+random(500)); end; end; end; end; Procedure LoadMRI; begin WriteLn('Using MRI Version '+MRIVersion+' By Mutant Squirrle'); end;