Log in

View Full Version : Error



lomlom
10-15-2006, 11:36 PM
Include file C:\Program Files\SCAR 2.03\includes\ssi2.txt does not exist.
Include file C:\Program Files\SCAR 2.03\includes\boxbreaker.txt does not exist

how do i get these filess?

%edit%
apparently i have the same problems even though i installed it properly

(which means according to this site's tutorial)

IronTeapot
10-15-2006, 11:50 PM
click on file>download Includes. in the scar window.

lomlom
10-15-2006, 11:54 PM
thanks! however its lagging like hell... sort of like frozen, but not quite

any solutions?

%edit%
is there a link i just can get the extra .includes files from ?

PS what does SCAR ans SRL stand for?

HatlessCow
10-16-2006, 12:09 AM
Scar is Shite Compared to Auto Rune
SRL is Scar Resource Library

Using the scar download is the easiest method but um... Let's see, dont think I can attach from the quick reply so...

SSI2.txt

{================================================= =======================]
[ Stupid3ooo's Scripting and ]
[ Random Event Protection Include II ]
[ version: 1.6 ]
[================================================== ======================]
| This is must be put in the same folder as the script it is included |
| with. This is mainly used for my own functionality and use, but feel |
| free to use it if you want. Be sure to check for updates on this and |
| other scripts by Stupid3ooo. |
[================================================== ======================]
[ Thanks to, RS Cheating community ]
[ *PLEASE POST ANY BUGS/HELP IN THE FORUMS OR E-MAIL ]
[ RSTradeMonkey@hotmail.com ]
[ If you like pwease donate to me :) at: ]
[ http://www.stupid3ooo.fizzstudios.com/donate ]
[================================================== ======================}

const
//=//===========================Setup================== ==============\\=\\
PermUser='';//Sets username for all Stupid3ooo scripts.
PermPass='';//Sets password for all Stupid3ooo scripts.
smooth=true;//If you want human-like mouse movements.
movespeed= 30; // 1 - 30 : slow - fast
movewait= 50;//Wait in ms after the mouse has moved.
movewaitran= 50;//Random amount to wait after the mouse has moved.
clicktiming= 100;//Wait in ms after the mouse has clicked.
clicktimingran= 100;//Random amount to wait after the mouse has clicked.
TypeSendTime= 50;//Wait between each letter when typing.
TypeSendRan= 50;//Random amount to wait between each letter when typing.
r= 2;//How random the mouse clicks are 0-3 are best.
MaskName= 'winamp';//Name you want scar to be disguised as.
CheckHpFirst= true;//If you want the script to look at the hp and see that it's been lowered before it runs away from a fight.
GasTolerance= 15;//Tolerance to find gas color.
PickUpItems= true;//If you want to pick up random items after losing a pick to try to find it.
Debug=false;//If set to true it will show messages and windows that are used for debugging purposes.
UsePivGas=false;//If you want to use piv's GasCheck(x,y); in all instances my FindGas(x,y); are used.
SymbolAccuracy= 0.5;//How accurate it must be, in %, to find symbols or icons on the minimap.
LoginAfterMod= 1;//How many minutes to wait to log back in after the script sees a mod(0 ends the script).
LogTimeOut= true;//If you want to let Runescape timeout instead of actually logging out for anit-ban.
KillScriptTime= 0;//Used in the preset AntiBan; procedure to kill the script after chosen hours, leave as 0 to not kill the script.
Screenshots= true;//If you want the script to save screenshots of random events.
// *To set your own chat phrases press ctrl+f and type in: RandomChat; then replace everything then phrases in ''.
//=\\=============================================== =================//=\\

var
x,y,waterdrop1,waterdrop2,waterdrop3,waterdrop4,wa terdrop5,furnace1,furnace2,
furnace3,furnace4,furnace5,Quest1,Quest2,Quest3,s0 ,s1,s2,s3,s4,s5,s6,s7,s8,s9,
logs,attaches,lamps,fights,talks,LoginTry,lamp,Pic kAxe,PickAxeSteel,hc1,hc2,
hc3,hc4,hc5,PickHandle,PickHead,Ore,orecolor1,orec olor2,orecolor3,orecolor,
GasColor,UpChars,ChatChars,StatChars,CWindow,LogOu tMark,RandomChatMark,
RotateMark,KillScriptMark,LeaveScreenMark,bmpLeave TheArea,bmpFreakyForester,
bmpPheasantMeat,Frog,FrogSpot,Frogs,Foresters,Doct ors:integer;
Username,Password,SetCamera:string;
ST:LongInt;

//================================================== ==========================\\
//===========Taken from Library (C)2004 Alex aka PPLSUQBAWLZ==================\\
//================================================== ==========================\\

// /////////////////////////// //
// Moves the mouse. //
// /////////////////////////// //
Procedure MMouse(mousex,mousey,ranx,rany:integer);
var randx, randy:integer;
begin
randx:=mousex+random(ranx); randy:=mousey+random(rany);
if(smooth)then MoveMouseSmoothEx(randx+1,randy, 2, 4, movespeed, 20, 10)
else MoveMouse(randx,randy);
sleep(movewait+random(movewaitran));
end;

// /////////////////////////// //
// Moves then clicks mouse. //
// /////////////////////////// //
Procedure Mouse(mousex,mousey,ranx,rany:integer; left:boolean);
var a,b,c:integer;
begin
if(smooth)then
begin
MMouse(mousex,mousey,ranx,rany);
GetMousePos(b,c);
HoldMouse(b+1,c,left);
repeat
wait(10+random(40));
a:=a+1;
until(a>4);
GetMousePos(b,c);
ReleaseMouse(b,c,left);
end;
if(not smooth)then
begin
MMouse(mousex,mousey,ranx,rany);
GetMousePos(b,c);
clickmouse(b,c,left);
end;
wait(clicktiming+random(clicktimingran));
end;

// /////////////////////////// //
// Waits while flag exists. //
// /////////////////////////// //
Procedure Flag;
var flagimage,timeout:integer;
begin

flagimage := BitmapFromString(2, 2,'FF00005D3311C656045D3311');
timeout:=0
repeat
timeout:=timeout+1;
wait(250);
until(not findbitmapin( flagimage, x, y, 570, 5, 725, 162)) or (timeout > 120);
freebitmap(flagimage);
end;

// /////////////////////////// //
// T/F depending on flag exist.//
// /////////////////////////// //
Function FlagPresent:boolean;
var flagimage:integer;
begin
flagimage := BitmapFromString(2, 2,'FF00005D3311C656045D3311');
if(findbitmapin( flagimage, x, y, 570, 5, 725, 162))then result:=true;
freebitmap(flagimage);
end;

// /////////////////////////// //
// Switches between tabs. //
// /////////////////////////// //
procedure GameTab(tabnumber:Integer);
begin
case tabnumber of
1:if(GetColor(559,179)=5531511)then Mouse(559,186,5,5,true);
2:if(GetColor(591,176)=5531511)then Mouse(585,186,5,5,true);
3:if(GetColor(618,176)=5531511)then Mouse(614,186,5,5,true);
4:if(GetColor(636,174)=5531511)then Mouse(650,186,5,5,true);
5:if(GetColor(682,174)=5531511)then Mouse(683,186,5,5,true);
6:if(GetColor(683,175)=5531511)then Mouse(711,186,5,5,true);
7:if(GetColor(734,177)=5531511)then Mouse(738,186,5,5,true);
8:if(GetColor(705,495)=5531511)then Mouse(710,480,5,5,true);
end;
end;

// /////////////////////////// //
// Sends text human-like. //
// /////////////////////////// //
Procedure TypeSend(text:string);
var LoadNumber:Integer;
begin
LoadNumber:=1;
repeat
SendKeysSilent(StrGet(Text, loadnumber));
LoadNumber:=LoadNumber+1;
Wait(TypeSendTime+random(TypeSendRan));
until(LoadNumber>Length(text));
end;

Procedure DisguiseScar(disguise:string);
var application:tapplication;
Self: TForm;
begin
Application:= GetApplication;
Application.Title:= disguise;
Self:= GetSelf;
Self.Caption:= disguise;
end;

// /////////////////////////// //
// Counts your inventory. //
// /////////////////////////// //
function InventoryCount:integer;
var used,i,e:integer;
begin
e:=0; i:=0; used:=0;
GameTab(4);
while(i < 6) do
begin
if (i = 5) and (e < 8) then
begin
i:= 0; e:= e + 1;
end;
if (FindColor(x,y,65536,(571+47*i),(215+36*e),(601+47 *i),(245+36*e)))then used:=used+1;
i:= i + 1;
end;
result:=used;
end;

//================================================== ==========================\\
//===========================SSI Procedures===================================\\
//================================================== ==========================\\

procedure SetRun(run:Boolean);//From Si.scar
begin
GameTab(8);
case run of
True: if(GetColor(640,275)=5334129)then Mouse(620,265,5,5,true);
False:if(GetColor(581,250)=5334129)then Mouse(580,265,5,5,true);
end;
end;

procedure ChatsOff;//from Si.scar
var
x, y, setx, sety, i: Integer;
begin
for i:=0 to 2 do
begin
setx:= 55 + (i*135);
sety:= 490;
while(FindColor(x,y,16776960,setx-10,sety-10,setx+10,sety+10))do
Mouse(x,y,5,5,true)
while(FindColor(x,y,65280,setx-10,sety-10,setx+10,sety+10))do
Mouse(x,y,5,5,true)
while(FindColor(x,y,65535,setx-10,sety-10,setx+10,sety+10))do
Mouse(x,y,5,5,true)
end;
end;

function BankScreen:Boolean;//From Si.scar
begin
result:=IsTextAtEx(185,34,'The Bank of',30,UpChars,True,False,0,0,-1)
end;

function LoggedIn:boolean;
begin
if(GetColor(636,477)=16711423)then
result:=true;
end;

procedure Logout;
var
c:integer;
begin
if(LogTimeOut)then
begin
Wait(90000);
end
else if(LoggedIn)then
begin
Mouse(645,485,3,3,true);
Wait(100+random(100));
Mouse(635,375,4,4,true);
while(LoggedIn)and(c<10)do
begin
c:=c+1;
Wait(500+random(100));
end;
end;
end;

function Option(s:string):boolean;
begin
result:=false;
if(IsTextAt2(9,9,s,100))then
result:=true;
end;

function GetOption:string;
begin
result:=GetTextAtEx(8,7,130,UpChars,True,False,0,1 ,-1,40,False,tr_AlphaNumericChars);
end;

function FindText(txt:string;font,xs,ys,xe,ye:integer):bool ean;
var
s:integer;
begin
s:=CreateBitmapMaskFromText(txt,font);
if(FindBitmapMaskTolerance(s,x,y,xs,ys,xe,ye,10,85 ))then
result:=true;
FreeBitmap(s);
end;

function ClickText(txt:string;font,xs,ys,xe,ye:integer;left :boolean):boolean;
var
s:integer;
begin
s:=CreateBitmapMaskFromText(txt,font);
if(FindBitmapMaskTolerance(s,x,y,xs,ys,xe,ye,10,85 ))then
begin
Mouse(x+10,y+3,r,r,left);
Result:=true;
end;
FreeBitmap(s);
end;

function FindTextFont(txt:string;font:integer):boolean;
var s:integer;
begin
s:=CreateBitmapMaskFromText(txt,font);
if(FindBitmapMaskTolerance(s,x,y,0,0,760,500,10,85 ))then
result:=true;
FreeBitmap(s);
end;

function ClickTextFont(txt:string;font:integer;left:boolean ):boolean;
begin
if(FindTextFont(txt,font))then
begin
Mouse(x+10,y+3,r,r,left);
result:=true;
end;
end;

function FindMSText(txt:string):boolean;//Bold(2)
begin
if(FindBitmapMaskTolerance(CreateBitmapMaskFromTex t(txt,UpChars),x,y,3,3,515,338,10,85))then
result:=true;
end;

function ClickMSText(txt:string;left:boolean):boolean;//Bold(2)
begin
if(FindMSText(txt))then
begin
Mouse(x+10,y+3,r,r,true);
result:=true;
end;
end;

function FindChatText(txt:string):boolean;//Chat(1)
begin
if(FindBitmapMaskTolerance(CreateBitmapMaskFromTex t(txt,ChatChars),x,y,9,348,479,433,10,85))then
result:=true;
end;

function NewChatMsg(txt:string):boolean;
begin
if(FindBitmapMaskTolerance(CreateBitmapMaskFromTex t(txt,ChatChars),x,y,17,410,495,452,10,85))then
result:=true;
end;

function GetNewChatMsg:string;
begin
result:=GetTextAtEx(21,415,0,ChatChars,False,True, 0,0,-1,70,False,tr_NormalChars);
end;

function FindInventoryText(txt:string):boolean;////Small(3)
begin
if(FindBitmapMaskTolerance(CreateBitmapMaskFromTex t(txt,StatChars),x,y,553,206,742,465,10,85))then
result:=true;
end;

function FindMMColor(color:integer):boolean;
begin
if(FindColor(x,y,color,573,8,723,158))then
result:=true;
end;

function FindMMColorTol(color,tol:integer):boolean;
begin
if(FindColorTolerance(x,y,color,573,8,723,158,tol) )then
result:=true;
end;

procedure ClickMMColor(color:integer);
begin
if(FindColor(x,y,color,573,8,723,158))then
Mouse(x,y,r,r,true);
end;

procedure ClickMMColorTol(color,tol:integer);
begin
if(FindColorTolerance(x,y,color,573,8,723,158,tol) )then
Mouse(x,y,r,r,true);
end;

function FindMSColor(color:integer):boolean;
begin
if(FindColor(x,y,color,3,3,515,338))then
result:=true;
end;

function FindMSColorTol(color,tol:integer):boolean;
begin
if(FindColorTolerance(x,y,color,3,3,515,338,tol))t hen
result:=true;
end;

procedure ClickMSColor(color:integer;left:boolean);
begin
if(FindColor(x,y,color,3,3,515,338))then
Mouse(x,y,r,r,left);
end;

procedure ClickMSColorTol(color,tol:integer;left:boolean);
begin
if(FindColorTolerance(x,y,color,3,3,515,338,tol))t hen
Mouse(x,y,r,r,left);
end;

function FindMSDtm(dtm:integer):boolean;
begin
if(FindDtm(dtm,x,y,3,3,515,338))then
result:=true;
end;

function FindMMDtm(dtm:integer):boolean;
begin
if(FindDtm(dtm,x,y,573,8,723,158))then
result:=true;
end;

procedure MouseFindFlag(ax,ay,xmod,ymod:integer);
var
xx,yy:integer;
begin
if(not(FlagPresent))then
begin
xx:=ax;
yy:=ay;
repeat
xx:=xx+xmod;
yy:=yy+ymod;
Mouse(xx,yy,r,r,true);
until(FlagPresent)or(xx<570)or(xx>725)or(yy<5)or(yy>160)
end;
end;

procedure WalkAsideColorTol(Color:integer;MoveDir,HugSide:st ring;Tol:integer);//Useful for mapwalking along rivers and mountains
var
c,xs,xe,ys,ye,xm,ym:integer;
begin
xs:=573;
ys:=8;
xe:=723;
ye:=158;
while(c<150)do
begin
c:=c+5;
if(Lowercase(MoveDir)='n')or(Lowercase(MoveDir)='n orth')then
begin
ye:=ye-5;
ym:=3;
end;
if(Lowercase(MoveDir)='e')or(Lowercase(MoveDir)='e ast')then
begin
xs:=xs+5;
xm:=-3;
end;
if(Lowercase(MoveDir)='s')or(Lowercase(MoveDir)='s outh')then
begin
ys:=ys+5;
ym:=-3;
end;
if(Lowercase(MoveDir)='w')or(Lowercase(MoveDir)='w est')then
begin
xe:=xe-5;
xm:=3;
end;
if(not(FindColorTolerance(x,y,color,xs,ys,xe,ye,to l)))then
begin
if(Lowercase(MoveDir)='n')or(Lowercase(MoveDir)='n orth')then
ye:=ye+10;
if(Lowercase(MoveDir)='e')or(Lowercase(MoveDir)='e ast')then
xs:=xs-10;
if(Lowercase(MoveDir)='s')or(Lowercase(MoveDir)='s outh')then
ys:=ys-10;
if(Lowercase(MoveDir)='w')or(Lowercase(MoveDir)='w est')then
xe:=xe+10;
break;
end;
end;
c:=0;
while(c<150)do
begin
c:=c+5;
if(Lowercase(HugSide)='n')or(Lowercase(HugSide)='n orth')then
ye:=ye-5;
if(Lowercase(HugSide)='e')or(Lowercase(HugSide)='e ast')then
xs:=xs+5;
if(Lowercase(HugSide)='s')or(Lowercase(HugSide)='s outh')then
ys:=ys+5;
if(Lowercase(HugSide)='w')or(Lowercase(HugSide)='w est')then
xe:=xe-5;
if(not(FindColorTolerance(x,y,color,xs,ys,xe,ye,to l)))then
begin
if(Lowercase(HugSide)='n')or(Lowercase(HugSide)='n orth')then
MouseFindFlag(xs+xm*3,ys+ym*3,xm,3);
if(Lowercase(HugSide)='e')or(Lowercase(HugSide)='e ast')then
MouseFindFlag(xs+xm*3,ys+ym*3,-3,ym);
if(Lowercase(HugSide)='s')or(Lowercase(HugSide)='s outh')then
MouseFindFlag(xs+xm*3,ys+ym*3,xm,-3);
if(Lowercase(HugSide)='w')or(Lowercase(HugSide)='w est')then
MouseFindFlag(xs-xm*3,ys+ym*3,xm+3,ym);
break;
end;
end;
end;

procedure WalkAsideColor(Color:integer;MoveDir,HugSide:strin g);//Useful for mapwalking along rivers and mountains
begin
WalkAsideColorTol(Color,MoveDir,HugSide,0);
end;

function FindBitmapsProgressiveTol(bmp1,bmp2,bmp3,bmp4,bmp5 ,tolmax,step,xs,ys,xe,ye:integer):boolean;
var
c:integer;
begin
while(c<tolmax)do
begin
c:=c+step;
if(bmp1>0)then
begin
if(FindBitmapSpiralTolerance(bmp1,x,y,xs,ys,xe,ye, c))then
begin
result:=true;
break;
end;
end;
if(bmp2>0)then
begin
if(FindBitmapSpiralTolerance(bmp2,x,y,xs,ys,xe,ye, c))then
begin
result:=true;
break;
end;
end;
if(bmp3>0)then
begin
if(FindBitmapSpiralTolerance(bmp3,x,y,xs,ys,xe,ye, c))then
begin
result:=true;
break;
end;
end;
if(bmp4>0)then
begin
if(FindBitmapSpiralTolerance(bmp4,x,y,xs,ys,xe,ye, c))then
begin
result:=true;
break;
end;
end;
if(bmp5>0)then
begin
if(FindBitmapSpiralTolerance(bmp5,x,y,xs,ys,xe,ye, c))then
begin
result:=true;
break;
end;
end;
end;
end;

function GetSymbolColor(name:string):integer;//Thank you SCAR 2.0 for making this much easier
var
Bitmap,Color,c:integer;
acc:extended;
begin
if(lowercase(name)='bank')then
begin
Bitmap := BitmapFromString(15, 5, 'z78DA33B434B4343473B' +
'100421364D2D9D2C9C9D4C4CDCDD5D1CCD0C2D5DCC5D00299 ED04' +
'8226C824B25E43B0998664990C213175116F32B2F9C824B2F 9A4B' +
'A1997F9B842865493890F734C9301ACE46928');
Color:=6417151;
end;
if(lowercase(name)='mining spot')or(lowercase(name)='mining site')then
begin
Bitmap := BitmapFromString(15, 5, 'z78DA95D03B0EC430' +
'0804D02B610C832931D9DCFF48894293C8DAD5464853F0790 5342' +
'91A67A46FF43BA31914AE602183A9E5686799A64E3C04BA4C FA43' +
'7E98439C770971257CB09F934B8E089F2FE43287A2F534166 629A' +
'1121D03DB5BB94C0B1D9D811E2DEF66ED94BCF6BFC97753A3 3BF3' +
'7ABBCAEB9F0FD413672D');
Color:=4219541;
end;
if(lowercase(name)='transportation')then
begin
Bitmap := BitmapFromString(15, 5, 'z78DA33303534347074353' +
'4B73032219E34763173348592A62E666E66A6C8B20660330D 904C' +
'86A841D6858BC454896C3EA6C9C498899FC465B291A3B1939 10B3' +
'124A69910715C269317CEC866229B0C00B3496273');
Color:=2650848;
end;
if(lowercase(name)='magic shop')then
begin
Bitmap := BitmapFromString(15, 5, 'z78DA95D0510A80300806' +
'E02B9906B6C77F3AEF7FA4A0066DABC17A1111FD1469A74CC 5C46' +
'0D6C60875CEA17288D63CE08C771D02A09BA5CBA499DC99AD 3CFA' +
'EB72041B97B9D9C83F6F2ECE69C3D71F46F9EE5C979D155AF DBAA' +
'5BBFF312D915399C927AF756C82');
Color:=1714669;
end;
if(lowercase(name)='water source')or(lowercase(name)='water')then
begin
Bitmap := BitmapFromString(15, 5, 'z78DAA5CF410A80300C44' +
'D12B25B6A964E9907AFF2329CC42A5448A12F874111EA9A89 C830' +
'A438C6DB646B7A51BF6C27A75F3C8F659D16BE665F68F7C37 B121' +
'3AF8162D2DE2FDF21999E628B3DFE4C7DF1339BB9CE601EA0 F684' +
'0');
Color:=14497281;
end;
FindDeformedBitmapToleranceIn(Bitmap,x,y,570,5,725 ,160,70,0,True,acc);
if(acc>SymbolAccuracy)then
begin
repeat
c:=c+5;
if(FindColorTolerance(x,y,Color,x,y,x+15,y+5,c))th en
result:=GetColor(x,y);
until(result>0)or(c>70);
end;
FreeBitmap(Bitmap);
end;

function FindSymbol(name:string):boolean;//work in progress
begin
Lowercase(name);
if(name='bank')then
begin
if(GetSymbolColor('bank')>0)then
result:=true;
end;
if(name='water')then
begin
if(FindBitmapsProgressiveTol(waterdrop1,waterdrop2 ,waterdrop3,waterdrop4,
waterdrop5,60,10,570,5,725,162))then
result:=true;
end;
if(name='mining spot')or(name='mining site')then
begin
if(GetSymbolColor('mining spot')>0)then
result:=true;
end;
if(name='transportation')then
begin
if(GetSymbolColor('transportation')>0)then
result:=true;
end;
if(name='magic shop')then
begin
if(GetSymbolColor('magic shop')>0)then
result:=true;
end;
if(name='furnace')then
begin
if(FindBitmapsProgressiveTol(furnace1,furnace2,fur nace3,furnace4,
furnace5,60,10,570,5,725,162))then
result:=true;
end;
if(name='quest')then
begin
if(FindBitmapsProgressiveTol(quest1,quest2,quest3, 0,0,60,10,570,5,725,162))then
result:=true;
end;
end;

procedure FindSymbolColorIfNeeded(SymbolName:string;Terminat eIfNotFound:boolean;var Color:integer);
begin
if(Color=0)then
begin
Color:=GetSymbolColor(SymbolName);
if(Color>0)then
begin
writeln(SymbolName+': '+inttostr(Color));
end else if(TerminateIfNotFound)then
begin
WriteLn('Could not find '+SymbolName+' color please restart the script and/or choose your own colors.');
TerminateScript;
end;
end;
end;

function ChooseOption(txt:string):boolean;
var
s,cancel,x1,y1,x2,y2,LeftCorner,RightCorner:intege r;
begin
LeftCorner := BitmapFromString(4, 4, 'z78DA33753135313137C5' +
'411A600064715CEA914500CACE13F0');
RightCorner := BitmapFromString(4, 4, 'z78DA33753135313137' +
'C5200D30002E35F8C501C9C013F0');
s:=CreateBitmapMaskFromText(txt,UpChars);
cancel:=CreateBitmapMaskFromText('Cancel',UpChars) ;
if(FindBitmap(LeftCorner,x1,y1))and(FindBitmap(Rig htCorner,x2,y2))then
begin
if(FindBitmapMaskTolerance(s,x,y,x1,y1,x2,502,10,8 5))then
begin
Result:=True;
Mouse(x+10+random(5),y+3,7,3,true);
end else if(FindBitmapMaskTolerance(cancel,x,y,x1,y1,x2,502 ,10,85))then
Mouse(x+10+random(5),y+3,7,3,true);
end;
FreeBitmap(LeftCorner);
FreeBitmap(RightCorner);
FreeBitmap(s);
FreeBitmap(cancel);
end;

function CountItemColor(color:integer):integer;//based of PPLSUQBAWLZ's InventoryCount
var
used,i,e:integer;
begin
e:=0; i:=0; used:=0;
GameTab(4);
while(i < 6) do
begin
if (i = 5) and (e < 8) then
begin
i:= 0; e:= e + 1;
end;
if(FindColor(x,y,color,(570+39*i),(214+35*e),(609+ 39*i),(249+35*e)))then used:=used+1;
i:= i + 1;
end;
result:=used;
end;

function CountItemColorTol(color,tol:integer):integer;//based off PPLSUQBAWLZ's InventoryCount
var
used,i,e:integer;
begin
e:=0; i:=0; used:=0;
GameTab(4);
while(i < 6) do
begin
if (i = 5) and (e < 8) then
begin
i:= 0;
e:= e + 1;
end;
if(FindColorTolerance(x,y,color,(570+39*i),(214+35 *e),(609+39*i),(249+35*e),tol))then
used:=used+1;
i:= i + 1;
end;
result:=used;
end;

function CountItemBmpTol(bmp,tol:integer):integer;//based of PPLSUQBAWLZ's InventoryCount
var
used,i,e:integer;
begin
e:=0; i:=0; used:=0;
GameTab(4);
while(i < 6) do
begin
if (i = 5) and (e < 8) then
begin
i:= 0;
e:= e + 1;
end;
if(FindBitmapSpiralTolerance(bmp,x,y,(570+39*i),(2 14+35*e),(609+39*i),(249+35*e),tol))then
used:=used+1;
if(i=4)and(e=7)then
break;
i:= i + 1;
end;
result:=used;
end;

function CountItemName(name:string):integer;//based off PPLSUQBAWLZ's InventoryCount
var
c,i,e:integer;
begin
e:=0; i:=0;
GameTab(4);
while(i < 6) do
begin
if (i = 5) and (e < 8) then
begin
i:= 0; e:= e + 1;
end;
if(FindColor(x,y,65536,(570+39*i),(214+35*e),(609+ 39*i),(249+35*e)))then
begin
MMouse(x,y,r,r);
if(Option(name))then
c:=c+1;
end;
i:= i + 1;
end;
result:=c;
end;

function FindItemColor(color:integer):boolean;
begin
GameTab(4);
if(FindColor(x,y,color,554,205,743,465))then
result:=true;
end;

function FindItemColorTol(color,tol:integer):boolean;
begin
GameTab(4);
if(FindColorTolerance(x,y,color,554,205,743,465,to l))then
result:=true;
end;

function FindItemBmpTol(bmp,tol:integer):boolean;
begin
GameTab(4);
if(FindBitmapSpiralTolerance(bmp,x,y,554,205,743,4 65,tol))then
result:=true;
end;

function FindItemName(name:string):boolean;//based off PPLSUQBAWLZ's InventoryCount
var
i,e:integer;
begin
e:=0;
i:=0;
GameTab(4);
while(i < 6) do
begin
if (i = 5) and (e < 8) then
begin
i:= 0; e:= e + 1;
end;
if(FindColor(x,y,65536,(571+47*i),(215+36*e),(601+ 47*i),(245+36*e)))then
begin
MMouse(x,y,r,r);
if(Option(name))then
begin
result:=true;
break;
end;
end;
i:= i + 1;
end;
end;

procedure ClickItemColor(color:integer;left:boolean);
begin
if(FindItemColor(color))then
Mouse(x,y,r,r,left);
end;

procedure ClickItemColorTol(color,tol:integer;left:boolean);
begin
if(FindItemColorTol(color,tol))then
Mouse(x,y,r,r,left);
end;

procedure ClickItemName(name:string;left:boolean);
begin
if(FindItemName(name))then
Mouse(x,y,r,r,left);
end;

procedure ClickItemBmpTol(bmp,tol:integer;left:boolean);
begin
if(FindItemBmpTol(bmp,tol))then
Mouse(x,y,r,r,left);
end;

procedure ClickAllItemsColorTolWait(option:string;color,tol, waitnum:integer);//based off PPLSUQBAWLZ's InventoryCount
var
i,e:integer;
begin
e:=0; i:=0;
GameTab(4);
while(i < 6) do
begin
if (i = 5) and (e < 8) then
begin
i:= 0; e:= e + 1;
end;
if(FindColorTolerance(x,y,color,(570+39*i),(214+35 *e),(609+39*i),(249+35*e),tol))then
begin
if(not(option=''))then
begin
Mouse(x,y,r,r,false);
ChooseOption(option);
end
else
Mouse(x,y,r,r,true);
wait(waitnum);
end;
i:= i + 1;
end;
end;

procedure ClickAllItemsColorWait(option:string;color,waitnum :integer);//based off PPLSUQBAWLZ's InventoryCount
var
i,e:integer;
begin
e:=0; i:=0;
GameTab(4);
while(i < 6) do
begin
if (i = 5) and (e < 8) then
begin
i:= 0; e:= e + 1;
end;
if(FindColor(x,y,color,(570+39*i),(214+35*e),(609+ 39*i),(249+35*e)))then
begin
if(not(option=''))then
begin
Mouse(x,y,r,r,false);
ChooseOption(option);
end
else
Mouse(x,y,r,r,true);
wait(waitnum);
end;
i:= i + 1;
end;
end;

procedure ClickAllItemsBmpTolWait(optionx:string;bmp,tol,wai tnum:integer);//based off PPLSUQBAWLZ's InventoryCount
var
i,e:integer;
begin
e:=0; i:=0;
GameTab(4);
while(i < 6) do
begin
if (i = 5) and (e < 8) then
begin
i:= 0; e:= e + 1;
end;
if(FindBitmapSpiralTolerance(bmp,x,y,(570+39*i),(2 14+35*e),(609+39*i),(249+35*e),tol))then
begin
MMouse(x,y,r,r);
if(not(optionx=''))then
begin
Mouse(x,y,r,r,false);
ChooseOption(optionx);
end
else
Mouse(x,y,r,r,true);
wait(waitnum);
end;
if(i=4)and(e=7)then break;
i:= i + 1;
end;
end;

procedure ClickAllItemsNameWait(optionx,name:string;waitnum: integer);//based off PPLSUQBAWLZ's InventoryCount
var
i,e:integer;
begin
e:=0; i:=0;
GameTab(4);
while(i < 6) do
begin
if (i = 5) and (e < 8) then
begin
i:= 0; e:= e + 1;
end;
if(FindColor(x,y,65536,(570+39*i),(214+35*e),(609+ 39*i),(249+35*e)))then
begin
MMouse(x,y,r,r);
if(Option(name))then
begin
if(not(optionx=''))then
begin
Mouse(x,y,r,r,false);
ChooseOption(optionx);
end
else
Mouse(x,y,r,r,true);
wait(waitnum);
end;
end;
i:= i + 1;
end;
end;

procedure ClickAllItemsColor(option:string;color:integer);
begin
ClickAllItemsColorWait(option,color,0);
end;

procedure ClickAllItemsName(option,name:string;color:integer );
begin
ClickAllItemsNameWait(option,name,0);
end;

procedure ClickAllItemsBmpTol(option:string;bmp,tol:integer) ;
begin
ClickAllItemsBmpTolWait(option,bmp,tol,0);
end;

procedure ClickAllItemsColorTol(option,name:string;color,tol :integer);
begin
ClickAllItemsColorTolWait(option,color,tol,0);
end;

function FindObjRay(txt:string;xmod,ymod:integer):boolean;
var
mx,my:integer;
begin
if(not(IsTextAt2(9,9,txt,100)))then
begin
MMouse(257,169,10,10);
GetMousePos(mx,my);
repeat
mx:=mx+xmod;
my:=my+ymod;
MoveMouseSmooth(mx,my);
wait(10+random(10));
if(IsTextAt2(9,9,txt,100))then
begin
GetMousePos(x,y);
Result:=True;
break;
end;
until(mx<=3+xmod)or(mx>=515)or(my<=3+ymod)or(my>=338)
end;
end;

function FindObj(text:string;color,tolerance:integer):boole an;
var
a,c,i,x1,y1,x2,y2:integer;
begin
if(FindMSColorTol(color,tolerance))then
begin
x1:=245;
y1:=165;
x2:=277;
y2:=185;
repeat
a:=a+1;
if(a=1)then
c:=c+1;
if(a=3)then
c:=c+1;
for i:=1 to c do
begin
if(a=1)then
begin
x1:=x1+30;
x2:=x2+30;
end;
if(a=2)then
begin
y1:=y1-20;
y2:=y2-20;
end;
if(a=3)then
begin
x1:=x1-30;
x2:=x2-30;
end;
if(a=4)then
begin
y1:=y1+20;
y2:=y2+20;
end;
if(x1=485)and(x2=517)then
x2:=x2-2;
if(y1=325)and(y2=345)then
y2:=y2-7;
if(x2>515)then
Break;
if(FindColorTolerance(x,y,color,x1,y1,x2,y2,tolera nce))then
begin
MMouse(x,y,r,r);
if(Option(text))then
begin
Result:=true;
Break;
end;
end;
end;
if(a=4)then
a:=0;
until(x2>515)or(Result=true)
end;
end;

function FindObjMulti(text:string;color1,color2,color3,tole rance:integer):boolean;
var
a,c,i,x1,y1,x2,y2:integer;
begin
if(FindMSColorTol(color1,tolerance))or
(FindMSColorTol(color2,tolerance))or
(FindMSColorTol(color3,tolerance))then
begin
x1:=245;
y1:=165;
x2:=277;
y2:=185;
repeat
a:=a+1;
if(a=1)then
c:=c+1;
if(a=3)then
c:=c+1;
for i:=1 to c do
begin
if(a=1)then
begin
x1:=x1+30;
x2:=x2+30;
end;
if(a=2)then
begin
y1:=y1-20;
y2:=y2-20;
end;
if(a=3)then
begin
x1:=x1-30;
x2:=x2-30;
end;
if(a=4)then
begin
y1:=y1+20;
y2:=y2+20;
end;
if(x1=485)and(x2=517)then
x2:=x2-2;
if(y1=325)and(y2=345)then
y2:=y2-7;
if(x2>515)then
Break;
if(FindColorTolerance(x,y,color1,x1,y1,x2,y2,toler ance))or
(FindColorTolerance(x,y,color2,x1,y1,x2,y2,toleran ce))or
(FindColorTolerance(x,y,color3,x1,y1,x2,y2,toleran ce))then
begin
MMouse(x,y,r,r);
if(Option(text))then
begin
Result:=true;
Break;
end;
end;
end;
if(a=4)then
a:=0;
until(x2>515)or(Result=true)
end;
end;

procedure LoadStatBmps;//Odie5533's procedure from OSi
begin
s0 := BitmapFromString(5, 8,
'000000FFFFFFFFFFFFFFFFFF000000FFFFFF0000000000000 00000' +
'FFFFFFFFFFFF000000000000000000FFFFFFFFFFFF0000000 00000' +
'000000FFFFFFFFFFFF000000000000000000FFFFFFFFFFFF0 00000' +
'000000000000FFFFFFFFFFFF000000000000000000FFFFFF0 00000' +
'FFFFFFFFFFFFFFFFFF000000');
s1 := BitmapFromString(3, 8,
'000000FFFFFF000000FFFFFFFFFFFF000000000000FFFFFF0 00000' +
'000000FFFFFF000000000000FFFFFF000000000000FFFFFF0 00000' +
'000000FFFFFF000000FFFFFFFFFFFFFFFFFF');
s2 := BitmapFromString(5, 8,
'000000FFFFFFFFFFFFFFFFFF000000FFFFFF0000000000000 00000' +
'FFFFFF000000000000000000000000FFFFFF0000000000000 00000' +
'FFFFFF000000000000000000FFFFFF000000000000000000F FFFFF' +
'000000000000000000FFFFFF000000000000000000000000F FFFFF' +
'FFFFFFFFFFFFFFFFFFFFFFFF');
s3 := BitmapFromString(4, 8,
'000000FFFFFFFFFFFF000000FFFFFF000000000000FFFFFF0 00000' +
'000000000000FFFFFF000000FFFFFFFFFFFF0000000000000 00000' +
'000000FFFFFF000000000000000000FFFFFFFFFFFF0000000 00000' +
'FFFFFF000000FFFFFFFFFFFF000000');
s4 := BitmapFromString(4, 8,
'FFFFFF000000000000000000FFFFFF000000000000000000F FFFFF' +
'000000000000000000FFFFFF000000FFFFFF000000FFFFFF0 00000' +
'FFFFFF000000FFFFFFFFFFFFFFFFFFFFFFFF000000000000F FFFFF' +
'000000000000000000FFFFFF000000');
s5 := BitmapFromString(4, 8,
'FFFFFFFFFFFFFFFFFFFFFFFFFFFFFF000000000000000000F FFFFF' +
'000000000000000000FFFFFFFFFFFFFFFFFF0000000000000 00000' +
'000000FFFFFF000000000000000000FFFFFFFFFFFF0000000 00000' +
'FFFFFF000000FFFFFFFFFFFF000000');
s6 := BitmapFromString(5, 8,
'000000000000FFFFFFFFFFFF000000000000FFFFFF0000000 00000' +
'FFFFFFFFFFFF000000000000000000000000FFFFFF000000F FFFFF' +
'FFFFFF000000FFFFFFFFFFFF000000000000FFFFFFFFFFFF0 00000' +
'000000000000FFFFFFFFFFFF000000000000000000FFFFFF0 00000' +
'FFFFFFFFFFFFFFFFFF000000');
s7 := BitmapFromString(4, 8,
'FFFFFFFFFFFFFFFFFFFFFFFF000000000000000000FFFFFF0 00000' +
'000000FFFFFF000000000000000000FFFFFF000000000000F FFFFF' +
'000000000000000000FFFFFF000000000000FFFFFF0000000 00000' +
'000000FFFFFF000000000000000000');
s8 := BitmapFromString(5, 8,
'000000FFFFFFFFFFFFFFFFFF000000FFFFFF0000000000000 00000' +
'FFFFFFFFFFFF000000000000000000FFFFFF000000FFFFFFF FFFFF' +
'FFFFFF000000FFFFFF000000000000000000FFFFFFFFFFFF0 00000' +
'000000000000FFFFFFFFFFFF000000000000000000FFFFFF0 00000' +
'FFFFFFFFFFFFFFFFFF000000');
s9 := BitmapFromString(5, 8,
'000000FFFFFFFFFFFFFFFFFF000000FFFFFF0000000000000 00000' +
'FFFFFFFFFFFF000000000000000000FFFFFF000000FFFFFF0 00000' +
'000000FFFFFF000000000000FFFFFFFFFFFFFFFFFF0000000 00000' +
'000000000000FFFFFF000000000000000000000000FFFFFF0 00000' +
'000000000000000000FFFFFF');
end;

Function GetStatFor(stat:string; bottom:integer):integer;//Odie5533's procedure from OSi
var
ox,oy,ox2,oy2,col,row:integer;
begin
if(s0=0)then
LoadStatBmps;
if(not (GetColor(592,175)=2763390))then
begin
Mouse(577,178,10,10,true);
end;
if(stat='attack')or(stat='strength')or(stat='defen se')or(stat='ranged')or(stat='prayer')or(stat='mag ic')or(stat='rc')then
col:=1
if(stat='hp')or(stat='agility')or(stat='herb')or(s tat='thieve')or(stat='craft')or(stat='fletch')then
col:=2
if(stat='mine')or(stat='smith')or(stat='fish')or(s tat='cook')or(stat='fire')or(stat='wc')then
col:=3
if(stat='attack')or(stat='hp')or(stat='mine')then
row:=1
if(stat='strength')or(stat='agility')or(stat='smit h')then
row:=2
if(stat='defense')or(stat='herb')or(stat='fish')th en
row:=3
if(stat='range')or(stat='thieve')or(stat='cook')th en
row:=4
if(stat='prayer')or(stat='craft')or(stat='fire')th en
row:=5
if(stat='magic')or(stat='fletch')or(stat='wc')then
row:=6
if(stat='rc')then
row:=7
if(bottom=0)then
begin
ox:=520+(col*64);
oy:=179+(row*31);
end;
if(bottom=1)then
begin
ox:=532+(col*64);
oy:=191+(row*31);
end;
ox2:=ox+9
oy2:=oy+9
if(FindBitmapMaskTolerance(s1,x,y,ox,oy,ox2,oy2,10 ,240))then
Result:=10
if(FindBitmapMaskTolerance(s2,x,y,ox,oy,ox2,oy2,10 ,240))then
Result:=20
if(FindBitmapMaskTolerance(s3,x,y,ox,oy,ox2,oy2,10 ,240))then
Result:=30
if(FindBitmapMaskTolerance(s4,x,y,ox,oy,ox2,oy2,10 ,240))then
Result:=40
if(FindBitmapMaskTolerance(s5,x,y,ox,oy,ox2,oy2,10 ,240))then
Result:=50
if(FindBitmapMaskTolerance(s6,x,y,ox,oy,ox2,oy2,10 ,240))then
Result:=60
if(FindBitmapMaskTolerance(s7,x,y,ox,oy,ox2,oy2,10 ,240))then
Result:=70
if(FindBitmapMaskTolerance(s8,x,y,ox,oy,ox2,oy2,10 ,240))then
Result:=80
if(FindBitmapMaskTolerance(s9,x,y,ox,oy,ox2,oy2,10 ,240))then
Result:=90
ox:=ox+6
ox2:=ox+9
if(FindBitmapMaskTolerance(s0,x,y,ox,oy,ox2,oy2,10 ,240))then
Result:=Result+0
if(FindBitmapMaskTolerance(s1,x,y,ox,oy,ox2,oy2,10 ,240))then
Result:=Result+1
if(FindBitmapMaskTolerance(s2,x,y,ox,oy,ox2,oy2,10 ,240))then
Result:=Result+2
if(FindBitmapMaskTolerance(s3,x,y,ox,oy,ox2,oy2,10 ,240))then
Result:=Result+3
if(FindBitmapMaskTolerance(s4,x,y,ox,oy,ox2,oy2,10 ,240))then
Result:=Result+4
if(FindBitmapMaskTolerance(s5,x,y,ox,oy,ox2,oy2,10 ,240))then
Result:=Result+5
if(FindBitmapMaskTolerance(s6,x,y,ox,oy,ox2,oy2,10 ,240))then
Result:=Result+6
if(FindBitmapMaskTolerance(s7,x,y,ox,oy,ox2,oy2,10 ,240))then
Result:=Result+7
if(FindBitmapMaskTolerance(s8,x,y,ox,oy,ox2,oy2,10 ,240))then
Result:=Result+8
if(FindBitmapMaskTolerance(s9,x,y,ox,oy,ox2,oy2,10 ,240))then
Result:=Result+9
end;

Function GetHp:integer;//Odie5533's procedure from OSi
var
Hp1,Hp2:integer;
begin
Hp1:=(GetStatFor('hp',0))
Hp2:=(GetStatFor('hp',1))
if(Hp1>0)and(Hp2>0)then
Result:=round((Hp1/Hp2)*100);
end;

Function InventoryFull:boolean;
begin
if(InventoryCount>=28)then
result:=true;
end;

procedure FindTextSpiral(txt: String; dx,dy: Integer; SpiralSize: Integer; step, SpiralWait: Integer); // By OhDearUrDead, Edited By Khain
var
px, py, qx, qy: Integer;
FoundText: Boolean;
begin
FoundText:= false;
px:= dx; py:= dy; qx:= dx; qy:= dy;
x:= dx;
y:= dy;
MoveMouseSmooth(x,y);
repeat
Spiralwait:= Spiralwait+random(50);
MoveMouse(x,y)
px:= px + 20; py:= py + 20;
qx:= qx - 20; qy:= qy - 20;
repeat
getmousepos(x,y)
x:= x + step;
MoveMouseSmooth(x,y);
Wait(SpiralWait);
if(IsTextAt2(9,9,txt,100))then FoundText:= true;
Until(x >= px)or(FoundText);
if(FoundText)then Break;
repeat
getmousepos(x,y)
y:= y + step;
MoveMouseSmooth(x,y);
Wait(SpiralWait);
if(IsTextAt2(9,9,txt,100))then FoundText:= true;
Until(y >= py)or(FoundText);
if(FoundText)then Break;
repeat
getmousepos(x,y)
x:= x - step;
MoveMouseSmooth(x,y);
Wait(SpiralWait);
if(IsTextAt2(9,9,txt,100))then FoundText:= true;
Until(qx >= x)or(FoundText);
if(FoundText)then Break;
repeat
getmousepos(x,y)
y:= y - step;
MoveMouseSmooth(x,y);
Wait(SpiralWait);
if(IsTextAt2(9,9,txt,100))then FoundText:= true;
Until(qy >= y)or(FoundText);
Until(px > dx + SpiralSize)or(FoundText);
end;

procedure RoadWalkTol(RColor:integer;Dir:string;Tol:integer) ;
var
c:integer;
begin
Uppercase(Dir);
if(Dir='S')then
begin
repeat
c:=c+5;
if(FindColorTolerance(x,y,RColor,565,160-c,725,160,Tol))then
begin
MouseFindFlag(x,y-10,0,-1);
Flag;
Break;
end;
until(c>=100)
end;
if(Dir='SE')then
begin
repeat
c:=c+5;
if(FindColorTolerance(x,y,RColor,725-c,160-c,725,160,Tol))then
begin
MouseFindFlag(x,y-10,-1,-1);
Flag;
Break;end;
until(c>=100)
end;
if(Dir='SW')then
begin
repeat
c:=c+5;
if(FindColorTolerance(x,y,RColor,565,160-c,565+c,160,Tol))then
begin
MouseFindFlag(x,y-10,1,-1);
Flag;
Break;
end;
until(c>=100)
end;
if(Dir='N')then
begin
repeat
c:=c+5;
if(FindColorTolerance(x,y,RColor,565,5,725,5+c,Tol ))then
begin
MouseFindFlag(x,y+10,0,1);
Flag;
Break;
end;
until(c>=100)
end;
if(Dir='NE')then
begin
repeat
c:=c+5;
if(FindColorTolerance(x,y,RColor,725-c,5,725,5+c,Tol))then
begin
MouseFindFlag(x,y+10,-1,1);
Flag;
Break;
end;
until(c>=100)
end;
if(Dir='NW')then
begin
repeat
c:=c+5;
if(FindColorTolerance(x,y,RColor,565,5,565+c,5+c,T ol))then
begin
MouseFindFlag(x,y+10,1,1);
Flag;
Break;
end;
until(c>=100)
end;
if(Dir='E')then
begin
repeat
c:=c+5;
if(FindColorTolerance(x,y,RColor,725-c,5,725,160,Tol))then
begin
MouseFindFlag(x-10,y,-1,0);
Flag;
Break;
end;
until(c>=100)
end;
if(Dir='W')then
begin
repeat
c:=c+5;
if(FindColorTolerance(x,y,RColor,565,5,565+c,160,T ol))then
begin
MouseFindFlag(x+10,y,1,0);
Flag;
Break;
end;
until(c>=100)
end;
end;

procedure RoadWalk(RColor:integer;Dir:string);
begin
RoadWalkTol(RColor,Dir,0);
end;

procedure SetFightMode(oFightMode:integer);
begin
if(GetColor(559,179)=5531511)then
Mouse(548,176,10,15,true);
wait(200+random(50));
if(oFightMode=1)and(not (GetColor(565,282)=2303647))then
Mouse(569,271,55,15,true);
if(oFightMode=2)and(not (GetColor(565,323)=2303647))then
Mouse(569,311,55,15,true);
if(oFightMode=3)and(not (GetColor(565,367)=2303647))then
Mouse(569,352,55,15,true);
if(oFightMode=4)and(not (GetColor(565,411)=2303647))then
Mouse(571,403,55,15,true);
GameTab(4);
end;

procedure RunAwayDirection(direction:string);
var
RunBackx,RunBacky:integer;
begin
x:=0;y:=0;
if(Uppercase(direction)='N')then y:=-50;
if(Uppercase(direction)='E')then x:=50;
if(Uppercase(direction)='S')then y:=50;
if(Uppercase(direction)='W')then x:=-50;
RunBackx:=x+648;
RunBacky:=y+83;
MouseFindFlag(x+648,y+83,1,1);
SetRun(true);
Flag;
x:=RunBackx;y:=RunBacky;
end;

procedure RunBack;
begin
MouseFindFlag((648-x)+648,(83-y)+83,1,1);
SetRun(true);
Flag;
end;

procedure Face(direction:string);
var
CAngle:extended;
begin
if(uppercase(direction)='N')then
CAngle:=6.2;
if(uppercase(direction)='E')then
CAngle:=4.85;
if(uppercase(direction)='S')then
CAngle:=3.3;
if(uppercase(direction)='W')then
CAngle:=1.6;
if(not((DetectRS2MinimapCompassAngle>(CAngle-0.2))and
(DetectRS2MinimapCompassAngle<(CAngle+0.2))))then
begin
repeat
SendArrowSilentWait(1,100+random(10));
until(DetectRS2MinimapCompassAngle>(CAngle-0.2))and
(DetectRS2MinimapCompassAngle<(CAngle+0.2))
end;
end;

procedure OpenBank;
var
c:Integer;
begin
if(FindObj('Use Bank',539728,10))then
begin
Mouse(x,y,1,1,false);
if(ChooseOption('quickly'))then
begin
Flag;
repeat
Wait(100);
c:=c+1
until(BankScreen)or(c>=50)
end;
end;
end;

procedure Deposit(slot, toslot, thetype:integer);//Fixed from PPLSUQBAWLZ's Deposit in library
var
slotnumber,col,row:integer;
begin
if(BankScreen)then
begin
slotnumber:=slot;
while(slotnumber<toslot)do
begin
if((slotnumber mod 4)=0)then col:=3
else col:=(slotnumber mod 4)-1;
row:=(slotnumber-1)/4;
if (FindColor(x,y,65536,(571+47*col),(215+36*row),(60 1+47*col),(245+36*row)))then
begin
if(thetype=1)then mouse(x,y,5,5,true);
if(thetype=2)then
begin
mouse(x,y,5,5,false);
if(ChooseOption('All'))then
wait(1000+random(100));
end;
end;
slotnumber:=slotnumber+1;
end;
end;
end;

procedure Withdraw(Col,Row,Amount:integer);//Based off Odie5533's procedure from OSi v4.0
var
rx,ry:integer;
begin
rx:=35+(col*47);
ry:=27+(row*38);
if(BankScreen)then
begin
if(Amount=1)then
begin
Mouse(rx,ry,r,r,true);
end
else
begin
Mouse(rx,ry,r,r,false);
if(Amount=1)or(Amount=5)or(Amount=10)or(Amount=0)t hen
begin
if(Amount=5)then
ChooseOption('Withdraw 5');
if(Amount=10)then
ChooseOption('Withdraw 10');
if(Amount=0)then
ChooseOption('Withdraw All');
end
else
begin
ChooseOption('Withdraw X');
wait(1000+random(100));
TypeSend(inttostr(Amount)+chr(13));
end;
end;
end;
end;

procedure FlagAtColor(color:integer);
begin
repeat
Wait(500+random(100));
until(FindColor(x,y,color,618,54,678,113))
Flag;
end;

procedure MarkTime(var TimeMarker:integer);
begin
TimeMarker:=GetSystemTime;
end;

function TimeFromMark(var TimeMarker:integer):integer;
begin
result:=GetSystemTime-TimeMarker;
end;

//================================================== ==========================\\
//============================RANDOM PROTECTION===============================\\
//================================================== ==========================\\

procedure CloseWindow;
begin
if(FindBitmapMaskTolerance(CWindow,x,y,400,3,515,1 00,0,85))then
Mouse(x+10,y+3,5,1,true);
end;

procedure LoginIfNeeded;//A stupid3ooo procedure based off many others
var
WorldIsFull,c,cc:integer;
begin
WorldIsFull := BitmapFromString(78, 3, 'z78DAAD53410E83300C' +
'FB12E00CB12308E5FF4F9AD45CD2A58E1A04070BB5C60DB6A BAAB' +
'A2CDAD01E7B9743CE0F34ECD2F55520775CC78EA3D1FFD6BD DAB3' +
'6F07FC139780E180BF01B80CFDAEC7815A9BAAC35C2165E67 F5AE' +
'6DF50F9B24922E6D9D15CC854C6378C93F88C0A6779E79BE6 7CA6' +
'86AC335D2EA64C903590F5E7DD4CA333F1B656FDAC36CA3B5 FD02' +
'4EEC59E4C65EA6ED08CF35D6726328DFA2F649AB6FD07A493 38F5' +
'');
if(not(LoggedIn))then
begin
Logs:=Logs+1;
ClickTextFont('Cancel',UpChars,true);
ClickTextFont('Exist',UpChars,true);
if(ClickTextFont('Username',UpChars,true))then
begin
TypeSend(Username);
Mouse(327,272,r,r,true);
TypeSend(Password);
end;
ClickTextFont('Login',UpChars,true);
repeat
c:=c+1
wait(100+random(100));
if(FindBitmap(WorldIsFull,x,y))then
begin
while(FindBitmap(WorldIsFull,x,y))or(cc<25)do
begin
cc:=cc+1;
Mouse(300,322,20,5,true);
wait(500+random(100));
end;
end;
until(LoggedIn)or(c>=600)
c:=0;
repeat
c:=c+1;
wait(100+random(100));
until(FindBitmapMaskTolerance(CWindow,x,y,3,3,515, 338,0,85))or(c>100)
CloseWindow;
if(not(LoggedIn))then
begin
LoginTry:=LoginTry+1;
if(IsTextInAreaEx(208,174,560,298,x,y,'updated',10 0,UpChars,False,True,0,1,-1))then
begin
writeln('Runescape was updated.');
TerminateScript;
end;
if(LoginTry=5)then
begin
Writeln('Connection lost, or other error.');
TerminateScript;
end;
end
else
LoginTry:=0;
end;
FreeBitmap(WorldIsFull);
end;

function TimeRunning:string;//modified from Phalanx's script
var
RHours,Minutes,Seconds,RMinutes,RSeconds:LongInt;
Time:string;
begin
Seconds:=(GetSystemTime-ST) div 1000;
Minutes:=Seconds div 60;
RHours:=Minutes div 60;
Time:=inttostr(Seconds)+' Seconds';
if Minutes<>0 then
begin
RSeconds:=Seconds Mod (Minutes*60);
Time:=inttostr(Minutes)+' Minutes and '+inttostr(RSeconds)+' Seconds';
end;
if RHours<>0 then
begin
RMinutes:=Minutes Mod (RHours*60);
RSeconds:=Seconds Mod (Minutes*60);
Time:=inttostr(RHours)+' Hours, '+inttostr(RMinutes)+
' Minutes and '+inttostr(RSeconds)+' Seconds';
end;
Result:=Time;
end;

function FindFight:boolean;
begin
if(FindColor(x,y,65280,217,129,297,209))then
begin
if(CheckHpFirst=true)then
begin
GameTab(2);
Wait(500+random(100));
if(GetHp<100)then
begin
if(Screenshots)then
SaveScreenShot('Fight Random - Stupid3ooo - '+TimeRunning+'.bmp');
Result:=true;
Fights:=Fights+1;
end;
end
else
begin
if(Screenshots)then
SaveScreenShot('Fight Random - Stupid3ooo - '+TimeRunning+'.bmp');
Result:=true;
Fights:=Fights+1;
end;
GameTab(4);
end;
end;

procedure TalkToRand;
var
c:integer;
begin
repeat
c:=c+1;
if(FindColor(x,y,16711680,5,345,510,465))and(not(G etColor(20,434)=0))then
begin
Mouse(x,y,50,2,true);
wait(500+random(500));
end;
if(FindColor(x,y,16777215,5,345,510,465))and(not(G etColor(20,434)=0))then
begin
GetMousePos(x,y);
Mouse(x,y,50,2,true);
wait(500+random(500));
end;
until(GetColor(20,434)=0)or(c>=20)
end;

function FindTalk:boolean;
var
mx,my:integer;
begin
if(FindColor(mx,my,65535,3,3,515,338))then//Find close
begin
MMouse(mx,my+15,1,1);
repeat
if(IsTextAt2(9,9,'Talk',100))then
begin
Mouse(mx,my+15,1,1,false);
if(ChooseOption('Talk'))then
begin
if(Screenshots)then
SaveScreenShot('Talking Random - Stupid3ooo - '+TimeRunning+'.bmp');
Flag;
wait(500+random(500));
TalkToRand;
Talks:=Talks+1;
Result:=true;
Break;
end;
end;
MoveMouseSmooth(mx,my+15);
mx:=mx+5;
wait(10+random(10));
until(mx>=515);
if(mx>=515)then MoveMouseSmooth(mx+random(5),my+15);
end;
end;

function FindLamp(skill:string):boolean;
var
ac,ar,col,row:integer;
begin
GameTab(4);
if(Lowercase(skill)='strength')then begin col:=1;row:=1;end;
if(Lowercase(skill)='attack')then begin col:=1;row:=2;end;
if(Lowercase(skill)='ranged')or(Lowercase(skill)=' ranging')then begin col:=1;row:=3;end;
if(Lowercase(skill)='magic')then begin col:=1;row:=4;end;
if(Lowercase(skill)='defence')then begin col:=1;row:=5;end;
if(Lowercase(skill)='hitpoints')then begin col:=1;row:=6;end;
if(Lowercase(skill)='prayer')then begin col:=1;row:=7;end;
if(Lowercase(skill)='agility')then begin col:=2;row:=1;end;
if(Lowercase(skill)='herblore')then begin col:=2;row:=2;end;
if(Lowercase(skill)='thieving')then begin col:=2;row:=3;end;
if(Lowercase(skill)='crafting')then begin col:=2;row:=4;end;
if(Lowercase(skill)='runecraft')or(Lowercase(skill )='runecrafting')then begin col:=2;row:=5;end;
if(Lowercase(skill)='slayer')then begin col:=2;row:=6;end;
if(Lowercase(skill)='farming')then begin col:=2;row:=7;end;
if(Lowercase(skill)='mining')then begin col:=3;row:=1;end;
if(Lowercase(skill)='smithing')then begin col:=3;row:=2;end;
if(Lowercase(skill)='fishing')then begin col:=3;row:=3;end;
if(Lowercase(skill)='cooking')then begin col:=3;row:=4;end;
if(Lowercase(skill)='firemaking')then begin col:=3;row:=5;end;
if(Lowercase(skill)='woodcutting')then begin col:=3;row:=6;end;
if(Lowercase(skill)='fletching')then begin col:=3;row:=7;end;
If(FindBitmapSpiralTolerance(Lamp,x,y,550,200,745, 465,25))then
begin
Result:=true;
if(Screenshots)then
SaveScreenShot('Lamp Random - Stupid3ooo - '+TimeRunning+'.bmp');
ac:=116+(row*36);
ar:=124+(col*32);
Lamps:=Lamps+1;
Mouse(x,y,1,1,true);
wait(500+random(500));
Mouse(ac,ar,12,12,true);
wait(200+random(100)+random(100))
Mouse(242,256,1,1,true);
wait(100+random(50)+random(50))
end;
end;

procedure FindMiscRandoms;
var
ax,ay:integer;
RandomChatList: array[0..40] of string;
begin
if(LoggedIn)then
begin
if(FindColor(ax,ay,786423,10,350,150,433))or
(FindColor(ax,ay,10658466,10,350,150,433))then
begin
RandomChatList[1]:= 'Buying abby whip for 100k!';
RandomChatList[2]:= 'noobs!';
RandomChatList[3]:= 'I am the 733+ miner!';
RandomChatList[4]:= 'hey, how you doin!?!';
RandomChatList[5]:= 'I ownz u noobs!';
RandomChatList[6]:= 'borin...';
TypeSend(RandomChatList[random(6)]+chr(13));
if(Screenshots)then
SaveScreenShot('Found a mod - Stupid3ooo - '+TimeRunning+'.bmp');
LogOut;
writeln('UHOH, A MOD!!!');
if(LoginAfterMod=0)then
TerminateScript;
Wait(LoginAfterMod*60000);
LoginIfNeeded;
end;
if(GetColor(30,418)=0)and(GetColor(72,429)=0)then
begin
if(Screenshots)then
SaveScreenShot('Oh dear you died - Stupid3ooo - '+TimeRunning+'.bmp');
LogOut;
writeln('Oh dear, you are dead!');
TerminateScript;
end;
if(FindColor(ax,ay,11503238,10,350,479,433))then
begin
if(Screenshots)then
SaveScreenShot('Mime Random - Stupid3ooo - '+TimeRunning+'.bmp');
LogOut;
writeln('Mime Found');
TerminateScript;
end;
if(FindColortolerance(ax,ay,15395562,129,34,129,34 ,4))and(FindColortolerance(ax,ay,15395562,378,39,3 78,39,4))then//by Ghost
begin
if(Screenshots)then
SaveScreenShot('Maze Random - Stupid3ooo - '+TimeRunning+'.bmp');
LogOut;
WriteLn('Found a Maze!');
TerminateScript;
end;
end;
end;

function FindForester:boolean;//A Stupid3ooo procedure
var
c:integer;
begin
if(FindBitmap(bmpFreakyForester,x,y))then
begin
if(Screenshots)then
SaveScreenShot('Freaky Forester Random - Stupid3ooo '+TimeRunning+'.bmp');
//Modified by masterpiecer- Stupid Stupid3ooo, you cannot solve a Freaky Forester!
writeln('Freaky Forester found, logging out.');
LogOut;
TerminateScript;
repeat
if(FindObj('Attack',4344603,20))then
begin
Mouse(x,y,r,r,false);
ChooseOption('Attack');
Flag;
Wait(5000+random(1000));
end;
if(not(FindItemBmpTol(bmpPheasantMeat,30)))then
begin
if(FindObj('Take',3763101,25))then
begin
Mouse(x,y,r,r,false);
ChooseOption('Take');
Flag;
Wait(2000+random(500));
end;
end;
if(FindItemBmpTol(bmpPheasantMeat,30))then
begin
Mouse(x,y,r,r,true);
if(FindObj('Use Raw pheasant with Freaky',14869221,20))then
begin
Mouse(x,y,r,r,true);
Flag;
Wait(1000+random(500));
if(FindBitmap(bmpLeaveTheArea,x,y))then
begin
MouseFindFlag(690,83,-1,1);
Flag;
for c:=1 to 10 do
begin
Wait(100+random(10));
if(FindObj('Enter',12514550,20))then
begin
Mouse(x,y,r,r,false);
ChooseOption('Enter');
Wait(10000+random(1000));
if(FindBitmap(bmpFreakyForester,x,y))then
begin
writeln('Chose the wrong pheasant :(');
TerminateScript;
end else
begin
Result:=true;
Foresters:=Foresters+1;
end;
Break;
end;
end;
end;
end;
end;
until(Result=true)
end;
end;

function FindFrog:boolean;//A Stupid3ooo procedure
var
tx,ty,a,c,cc,CrownColor,i,x1,y1,x2,y2:integer;
begin
if(FindBitmap(Frog,x,y))or(FindMMDtm(FrogSpot))the n
begin
if(Screenshots)then
SaveScreenShot('Frog Random - Stupid3ooo - '+TimeRunning+'.bmp');
//Modified by masterpiecer- Stupid Stupid3ooo, you cannot solve a frog!
writeln('Frog found, logging out.');
LogOut;
TerminateScript;
if(FindMMDtm(FrogSpot))then
begin
Mouse(x,y,r,r,true);
Flag;
end;
x1:=245;
y1:=165;
x2:=277;
y2:=185;
repeat
a:=a+1;
if(a=1)then
c:=c+1;
if(a=3)then
c:=c+1;
for i:=1 to c do
begin
if(a=1)then
begin
x1:=x1+30;
x2:=x2+30;
end;
if(a=2)then
begin
y1:=y1-20;
y2:=y2-20;
end;
if(a=3)then
begin
x1:=x1-30;
x2:=x2-30;
end;
if(a=4)then
begin
y1:=y1+20;
y2:=y2+20;
end;
if(x1=485)and(x2=517)then
x2:=x2-2;
if(y1=325)and(y2=345)then
y2:=y2-7;
if(x1>515)then
Break;
if(FindColorTolerance(x,y,1077773,x1,y1,x2,y2,20)) then
begin
MMouse(x,y,r,r);
if(Option('Talk'))then
begin
for cc:=1 to 20 do
begin
if(FindColorTolerance(tx,ty,3460859,x-20,y-20,x+20,y+20,cc))then
begin
CrownColor:=GetColor(tx,ty);
Break;
end;
end;
if(FindColor(tx,ty,CrownColor,x-20,y-20,x+20,y+20))and
(not(FindColoredAreaTolerance(tx,tx,2965499,x-25,y-25,x+25,y+25,4,20)))then
begin
Mouse(x,y,r,r,false);
ChooseOption('Talk');
Flag;
Wait(2000+random(1000));
TalkToRand;
Mouse(256,401,r,r,true);
Wait(5000+random(1000));
TalkToRand;
Result:=true;
Frogs:=Frogs+1;
Break;
end;
end;
end;
end;
if(a=4)then
a:=0;
until(x2>515)or(Result=true)
end;
end;

function FindDoctor:boolean;//based on knightstreak's crappy EyeTest
var
c,i,backgroundcolor : integer;
firstfinger, secondfinger, thirdfinger, fourthfinger : boolean;
begin
if(not(getcolor(650, 185) = 4902398))then
begin
backgroundcolor:=Getcolor(10,10);
repeat
Wait(10);
if(not(getcolor(143, 94) = backgroundcolor))then
firstfinger:=true;
if(not(getcolor(302,41) = backgroundcolor))then
secondfinger:=true;
if(not(getcolor(409,75) = backgroundcolor))then
thirdfinger:=true;
if(not(getcolor(415,101) = backgroundcolor))then
fourthfinger:=true;
until(c>1000)or(firstfinger)and(secondfinger)and
(thirdfinger)and(fourthfinger)
if(firstfinger = true)and(secondfinger = false)and(thirdfinger = false)and(fourthfinger = false)then
Mouse(99, 299,3,3,true);
if(firstfinger=true) and (secondfinger=true) and (thirdfinger=false) and (fourthfinger=false)then
Mouse(153,300,3,3,true);
if(firstfinger=true) and (secondfinger=false) and (thirdfinger=false) and (fourthfinger=true)then
Mouse(211, 304,3,3,true);
if(firstfinger=false) and (secondfinger=true) and (thirdfinger=true) and (fourthfinger=false)then
Mouse(265, 300,3,3,true);
if(firstfinger=false) and (secondfinger=false) and (thirdfinger=false) and (fourthfinger=true)then
Mouse(320, 306,3,3,true);
if(firstfinger=true) and (secondfinger=true) and (thirdfinger=true) and (fourthfinger=false)then
Mouse(374, 298,3,3,true);
if(firstfinger=true) and (secondfinger=true) and (thirdfinger=true) and (fourthfinger=true)then
Mouse(431,299,3,3,true);
For i := 0 to 5 do
Begin
if(getcolor(241,445) = 16711680)or(getcolor(241,445) = 16777215)then
begin
Doctors:=Doctors+1;
Result:=true;
Mouse(241,445,3,3,true);
wait(1500 + random(500));
end;
end;
end;
end;

procedure FindNormalRandoms;
begin
LoginIfNeeded;
CloseWindow;
FindLamp('hitpoints');
FindMiscRandoms;
FindForester;
FindTalk;
FindFrog;
end;

function FindPickHeadColor:boolean;
begin
GameTab(4);
if(FindBitmapSpiralTolerance(PickAxe,x,y,546,198,7 45,468,100))or
(FindBitmapSpiralTolerance(PickAxeSteel,x,y,546,19 8,745,468,100))then
Result:=True;
if(Result=false)then
begin
if(not(GetColor(681,173)=2763390))then
begin
Mouse(679,180,5,5,true);
wait(200+random(100)+random(100))
end;
if(FindBitmapSpiralTolerance(PickAxe,x,y,546,198,7 45,468,100))or
(FindBitmapSpiralTolerance(PickAxeSteel,x,y,546,19 8,745,468,100))then
Result:=True;
end;
if(Result=false)then
begin
writeln('');
writeln('ERROR! cannot find pick in screen, please put pick in inventory or your equip page and restart the script!');
writeln('');
Result:=False;
end;
if(Result=true)then
begin
hc1:=GetColor(x+6,y+3);
hc2:=GetColor(x+18,y+7);
hc3:=GetColor(x+20,y+6);
hc4:=GetColor(x+19,y+6);
hc5:=GetColor(x+16,y+5);
end;
writeln('Pick head colors... '+inttostr(hc1)+' '+inttostr(hc2)+' '+inttostr(hc3)+' '+inttostr(hc4)+' '+inttostr(hc5));
end;

procedure ItemGrab;
begin
GameTab(4);
if(FindColor(x,y,241,565,5,725,160))then
begin
Mouse(x,y,1,1,true);
Flag;
Wait(100+random(100));
FindTextSpiral('Take',258,169,50,5,10+random(10));
GetMousePos(x,y);
Mouse(x,y,0,0,true);
Wait(1000+random(100));
end;
end;

procedure AttachPick;
begin
GameTab(4);
if(not(FindBitmapSpiralTolerance(PickHandle,x,y,55 0,200,745,465,50)))then
begin
if(not(GetColor(681,173)=2763390))then
begin
Mouse(679,180,5,5,true);
wait(200+random(100)+random(100))
end;
end;
if(FindBitmapSpiralTolerance(PickHead,x,y,550,200, 745,465,50))and
(FindBitmapSpiralTolerance(PickHandle,x,y,550,200, 745,465,50))then
begin
if(FindBitmapSpiralTolerance(PickHead,x,y,550,200, 745,465,50))then
begin
Attaches:=Attaches+1
Mouse(x,y,5,5,true);
Wait(1000+random(100));
end;
if(FindBitmapSpiralTolerance(PickHandle,x,y,550,20 0,745,465,50))then
begin
Mouse(x,y,5,5,true);
Wait(1000+random(100));
end;
end;
end;

function FindPick:boolean;
var
c:integer;
begin
GameTab(4);
Result:=True;
if(FindBitmapSpiralTolerance(PickHandle,x,y,550,20 0,745,465,30))or
(GetColor(485,414)=0)and(GetColor(227,376)=0)then
begin
Wait(2000+random(100));
Result:=False;
if(FindBitmapSpiralTolerance(Ore,x,y,559,210,735,4 60,25))then
begin
Mouse(x,y,5,5,false);
ChooseOption('Drop');
end;
repeat
c:=c+1
if(FindBitmapSpiralTolerance(PickHead,x,y,550,200, 745,465,50))and
(FindItemBmpTol(PickHandle,25))then
begin
Result:=true;
break;
end;
if(FindMSColor(hc1))or
(FindMSColor(hc2))or
(FindMSColor(hc3))or
(FindMSColor(hc4))or
(FindMSColor(hc5))then
begin
Mouse(x,y,1,1,true);
Flag;
wait(1000+random(100));
end
else if(PickUpItems)then
ItemGrab;
until(c>=10);
AttachPick;
end;
end;

Function FindOreColors(refrencecol,tol,tol2:integer):boolea n;
var
c,a,b,xm,ym,curcolor:integer;
oc1,oc2,oc3:boolean;
begin
if(FindColorTolerance(x,y,refrencecol,3,3,515,338, tol))then//Find ore close
begin
if(FindObj('Mine',refrencecol,tol))then
begin
a:=1;
GetMousePos(x,y);
xm:=x;
ym:=y;
repeat
xm:=xm+a;
ym:=ym+b;
curcolor:=GetColor(xm,ym);
MoveMouseSmooth(xm,ym);
wait(5+random(5));
if(IsTextAt2(9,9,'Mine',100))then
begin
if(SimilarColors(curcolor,refrencecol,tol2))and(oc 1=false)then
begin
orecolor1:=curcolor;
oc1:=true;
end;
if(SimilarColors(curcolor,refrencecol,tol2))and
(not(curcolor=orecolor1))and(oc2=false)then
begin
orecolor2:=curcolor;
oc2:=true;
end;
if(SimilarColors(curcolor,refrencecol,tol2))and
(not(curcolor=orecolor1))and
(not(curcolor=orecolor2))and(oc3=false)then
begin
orecolor3:=curcolor;
oc3:=true;
end;
end;
if(not(IsTextAt2(9,9,'Mine',100)))then
begin
c:=c+1;
xm:=x;
ym:=y
MMouse(xm,ym,1,1);
wait(200+random(100)+random(100))
if(c=1)then a:=-1;
if(c=2)then begin a:=0;b:=-1;end;
if(c=3)then begin a:=0;b:=2;end;
end;
until((oc1)and(oc2)and(oc3))or(c>=4);
end;
end;
if(orecolor1>0)and(orecolor2>0)and(orecolor3>0)then
begin
result:=true;
writeln('OreColors... '+inttostr(orecolor1)+' '+inttostr(orecolor2)+' '+inttostr(orecolor3));
end;
end;

procedure SetRandomOreColor;
Var color:integer;
begin
Color:=1+Random(3);
case Color of
1: begin OreColor:=OreColor1; end;
2: begin OreColor:=OreColor2; end;
3: begin OreColor:=OreColor3; end;
end;
end;

function FindRockBounds(var xstart,ystart,sx,sy:integer):boolean;
var
xs,ys,currenty,currentx,ax,ay,similarcount,
color,counter,dircount:integer;
found:boolean;
dir:string;
begin
ys:=338;
xs:=515;
if(FindColor(sx,sy,OreColor1,sx-40,sy-40,sx+40,sy+40))or
(FindColor(sx,sy,OreColor2,sx-40,sy-40,sx+40,sy+40))or
(FindColor(sx,sy,OreColor3,sx-40,sy-40,sx+40,sy+40))then
begin
repeat
dircount:=dircount+1;
if(dircount=1)then dir:='north east';
if(dircount=2)then dir:='north west';
if(dircount=3)then dir:='west south';
repeat
counter:=counter+1;
found:=false;
similarcount:=0;
if(dir='north east')then ax:=sx+counter;
if(dir='north east')then ay:=sy;
if(dir='north west')then ax:=sx-counter;
if(dir='north west')then ay:=sy;
if(dir='west south')then ax:=sx;
if(dir='west south')then ay:=sy+counter;
repeat
similarcount:=similarcount+1;
if(dir='north east')or(dir='north west')then ay:=ay-1;
if(dir='west south')then ax:=ax-1;
color:=GetColor(ax,ay);
if(similarcolors(OreColor1,color,10)=true)or
(similarcolors(OreColor2,color,10)=true)or
(similarcolors(OreColor3,color,10)=true)then
begin
found:=true;
similarcount:=0;
end;
until(similarcount=10)
if(found=true)then
begin
if(dir='north east')or(dir='north west')then
begin
currenty:=ay+10;
if(currenty<ys)then
ys:=currenty;
end;
if(dir='west south')then
begin
currentx:=ax+10;
if(currentx<xs)then
xs:=currentx;
end;
end;
until(counter>=40)
counter:=0;
until(dircount=3)
xstart:=xs;
ystart:=ys;
end;
if(xstart>0)and(ystart>0)then
result:=true;
end;

procedure DisplayWindow(xs,ys,xe,ye,WindowLength,WindowHeigh t:integer);
var
DebugCanvas,ClientCanvas:TCanvas;
begin
DisplayDebugImgWindow(WindowLength,WindowHeight);
DebugCanvas:= GetDebugCanvas;
ClientCanvas:= GetClientCanvas;
CopyCanvas(ClientCanvas,DebugCanvas,xs,ys,xe,ye,0, 0,WindowLength,WindowHeight);
end;

function GasCheck(gx,gy:integer):boolean;//Made by piv
var
clientcanvas,gascanvas1,gascanvas2:tcanvas;
x,y,count:integer;
begin
if(FindColortolerance(x,y,8296866,gx-20,gy-20,gx+20,gy+20,20))then
begin
gascanvas1:=getbitmapcanvas(bitmapfromstring(40,40 ,''));
gascanvas2:=getbitmapcanvas(bitmapfromstring(40,40 ,''));
clientcanvas:=getclientcanvas;
copycanvas(clientcanvas,gascanvas1,gx-20,gy-20,gx+20,gy+20,0,0,40,40);
wait(100);
copycanvas(clientcanvas,gascanvas2,gx-20,gy-20,gx+20,gy+20,0,0,40,40);
count:=0;
for y:=1 to 40 do
for x:=1 to 40 do
if((gascanvas1.pixels[x,y])<>(gascanvas2.pixels[x,y]))then
count:=count+1;
writeln(inttostr(trunc(((count)/1024)*100))+'% change.');
if(count>300)then //if more than 15% change
result:=true;
end;
end;

function FindGas(fx,fy:integer):boolean;//fx,fy are the coordinates of the found ore color
var
c,findx,findy,gx1,gy1,gx2,gy2:integer;
begin
if(UsePivGas)then
begin
GasCheck(fx,fy);
end
else
begin
if(Debug)then DisplayWindow(fx-30,fy-30,fx+30,fy+30,160,160);
if(FindColorTolerance(gx1,gy1,GasColor,fx-30,fy-30,fx+30,fx+30,GasTolerance))then//Find ore close
begin
if(Debug)then writeln('Found gas color in area.');
if(FindRockBounds(findx,findy,fx,fy))then
begin
if(Debug)then writeln('Found rock bounds.');
if(Debug)then DisplayWindow(findx-20,findy-20,findx+20,findy+20,160,160);
findx:=findx+20;
findy:=findy+10;
repeat
wait(1);
c:=c+1;
until(c>1000)or(FindColorTolerance(gx1,gy1,GasColor,findx-20,findy-20,findx+20,findy+20,30))
wait(100);
c:=0;
repeat
wait(1);
c:=c+1;
until(c>1000)or(FindColorTolerance(gx2,gy2,GasColor,findx-20,findy-20,findx+20,findy+20,30))
if(not(gx1=gx2))or(not(gy1=gy2))then
begin
if(Debug)then WriteLn('Gas color is moving, moving away from rock.');
if(Debug)then DisplayWindow(gx2-10,gy2-10,gx2+10,gy2+10,160,160);
MouseFindFlag(648,78,1,1);
Flag;
result:=true;
end;
end
else if(Debug)then
writeln('Gas color was not over a rock.');
end
else if(Debug)then
DisplayWindow(fx-30,fy-30,fx+30,fy+30,160,160);
end;
end;

//================================================== ==========================\\
//============================ANTI BAN PROTECTION=============================\\
//================================================== ==========================\\

procedure LogOutEvery(hours,forxmins:integer);
var
Mark:integer;
begin
if((TimeFromMark(LogOutMark)/1000)/3600>=hours)then
begin
MarkTime(LogOutMark);
MMouse(random(500),-10,r,r);
LogOut;
writeln('Logging out and comming back in about '+inttostr(forxmins)+' min(s)');
MarkTime(Mark);
repeat
MMouse(0,0,100,100);
wait(90000+random(1000));
wait(15+random(15)+random(15))
until(TimeFromMark(Mark)>=forxmins)
wait(random(30000)+random(30000));
LoginIfNeeded;
end;
end;

procedure RandomChat;
var
RandomChatList: array[0..40] of string;
begin
RandomChatList[0]:= 'hi all';
RandomChatList[1]:= 'yay';
RandomChatList[2]:= 'owned';
RandomChatList[3]:= 'kk';
RandomChatList[4]:= 'lol';
RandomChatList[5]:= 'boring';
RandomChatList[6]:= 'oh yeah';
RandomChatList[7]:= 'sigh';
RandomChatList[8]:= 'lvls?';
RandomChatList[9]:= 'how is everyone';
RandomChatList[10]:= 'im tired';
RandomChatList[11]:= 'okay';
RandomChatList[12]:= 'omg';
RandomChatList[13]:= 'be quiet';
RandomChatList[14]:= 'woot';
RandomChatList[15]:= 'hey everyone';
RandomChatList[16]:= 'heh';
RandomChatList[17]:= 'yawn';
RandomChatList[18]:= 'moo';
RandomChatList[19]:= 'excellent';
RandomChatList[20]:= 'doof';
RandomChatList[21]:= 'crazy';
RandomChatList[22]:= 'hmm';
RandomChatList[23]:= 'yawn';
RandomChatList[24]:= 'go away';
RandomChatList[25]:= 'stop it';
RandomChatList[26]:= 'thanks';
RandomChatList[27]:= 'i love you';
RandomChatList[28]:= 'noobs';
RandomChatList[29]:= 'argh';
RandomChatList[30]:= 'rofl';
RandomChatList[31]:= 'yawn';
RandomChatList[32]:= 'whats up';
RandomChatList[34]:= 'almost leveled';
RandomChatList[35]:= 'lvl';
RandomChatList[36]:= 'brb';
RandomChatList[37]:= 'owned';
RandomChatList[38]:= '...';
RandomChatList[39]:= 'levels?';
RandomChatList[40]:= 'youre cool';
TypeSend(RandomChatList[random(40)]+chr(13));
While(not(GetColor(55,488)=255))do
Mouse(55,488,r,r,true);
end;

procedure RandomChatEvery(mins:integer);
begin
if((TimeFromMark(RandomChatMark)/1000)/60>=mins)then
begin
MarkTime(RandomChatMark);
RandomChat;
end;
end;

procedure RotateEvery(mins:integer);
begin
if((TimeFromMark(RotateMark)/1000)/60>=mins)then
begin
MarkTime(RotateMark);
SendArrowSilentWait(random(4),500+random(500));
SendArrowSilentWait(random(4),500+random(500));
Face(SetCamera);
SendArrowSilentWait(0,1400+random(100));
end;
end;

procedure LeaveScreenEvery(mins:integer);
var
rx,a:integer;
begin
if((TimeFromMark(LeaveScreenMark)/1000)/60>=mins)then
begin
MarkTime(LeaveScreenMark);
rx:=Random(300);
a:=Random(2);
if(a=0)then
begin
MMouse(rx,1,0,0);
ClickMouse(rx,-1,true);
Wait(1000+Random(1000));
end;
if(a=1)then
begin
MMouse(rx,502,0,0);
ClickMouse(rx,503,true);
Wait(1000+Random(1000));
end;
end;
end;

procedure KillScript(hours:integer);
begin
if((TimeFromMark(KillScriptMark)/1000)/3600>=hours)then
begin
writeln('Stopping script at '+inttostr(hours)+' hours');
MMouse(random(500),-10,r,r);
TerminateScript;
end;
end;

procedure AntiBan;
begin
LogOutEvery(2+random(2),5+random(5));
RandomChatEvery(10+random(5));
RotateEvery(20+random(10));
LeaveScreenEvery(5+random(5));
if(KillScriptTime>0)then
KillScript(KillScriptTime);
end;

//================================================== ==========================\\
//================================Load SSI====================================\\
//================================================== ==========================\\

procedure LoadSSIBmps;
begin
Ore := BitmapFromString(8, 11,
'564D42564D42564D42564D42564D42564D420000010000015 64D42' +
'564D42564D42544A3B544A3B0000013D312254442F564D425 64D42' +
'564D42564D420000012D2518443827584731564D42544A3B5 44A3B' +
'564D42000001201B124034257A6346564D42544A3B4D44385 64D42' +
'000001483B297D6547806748564D42564D42544A3B564D420 00001' +
'7D6547806748000001564D42564D42544A3B544A3B544A3B0 00001' +
'000001302020000001000001000001000001000001544A3B3 02020' +
'3020202D2518382D1E403425483B2951412D000001544A3B5 44A3B' +
'5847315C4A345E4D366552395E4D360000013020200000015 C4A34' +
'5E4D3665523968543B655239000001302020000001');
Lamp := BitmapFromString(6, 6,
'81800E79780E84830E00000100000100000179780E75740E0 00001' +
'000001C3C118B5B3156E6D0E5252090000013020200000010 00001' +
'696809484709000001302020544A3B3020200000010000013 02020' +
'302020544A3B564D42302020302020302020544A3B544A3B5 64D42' +
'');
PickHandle := BitmapFromString(15, 27,
'564D41595145564D41544A3C544A3C595145564D41564D415 64D41' +
'564D41595145000001000001544A3C4F4538544A3C5951455 64D41' +
'544A3C544A3C544A3C5951455951455951455951450000012 F2000' +
'362400000001544A3C564D41544A3C544A3C564D41564D415 64D41' +
'5951455951455951450000012F20002F20003624000000013 02020' +
'564D41544A3C544A3C595145564D41595145564D415951455 95145' +
'0000012F2000362400362400000001302020564D41564D415 64D41' +
'564D41564D41544A3C544A3C544A3C0000012F20002F20003 62400' +
'362400000001302020544A3C544A3C544A3C544A3C544A3C5 44A3C' +
'544A3C544A3C0000012F20003624003624003624000000013 02020' +
'544A3C564D41564D41564D41544A3C564D41564D410000012 F2000' +
'2F2000362400362400000001302020302020564D41564D415 64D41' +
'595145564D41564D41564D410000012F20003624003624000 00001' +
'302020302020544A3C544A3C544A3C544A3C595145544A3C5 44A3C' +
'0000012F2000362400362400362400000001302020564D415 64D41' +
'544A3C544A3C544A3C564D41544A3C4F45380000012F20003 62400' +
'362400000001302020302020564D41564D41544A3C544A3C5 95145' +
'595145564D410000012F20003624003624003624000000013 02020' +
'564D41564D41544A3C544A3C564D41564D415951455951450 00001' +
'2F20002F20002F2000000001302020302020564D41564D415 44A3C' +
'564D41564D41544A3C564D410000012F20002F20002F20003 62400' +
'000001302020564D41544A3C544A3C544A3C595145544A3C5 44A3C' +
'564D410000012F20002F20002F20000000013020203020205 44A3C' +
'544A3C564D41564D41595145544A3C544A3C0000012F20002 F2000' +
'2F2000000001302020302020595145544A3C564D415951455 95145' +
'595145564D41564D410000012F20002F20002F20000000013 02020' +
'595145595145564D41564D415951455951455951455951450 00001' +
'2F20002F20002F20000000013020203020205951455951455 95145' +
'595145564D41564D41564D41564D410000012F20002F20002 F2000' +
'000001302020564D41595145595145595145595145564D415 64D41' +
'544A3C0000012F20002F20002F20000000013020203020205 64D41' +
'595145595145544A3C544A3C564D41595145564D410000012 F2000' +
'2F20002F2000000001302020544A3C564D415951455951455 44A3C' +
'544A3C564D41564D41564D410000012F20002F20000000013 02020' +
'302020544A3C564D41595145595145564D41544A3C544A3C4 F4538' +
'000001271B002F20002F2000000001302020595145544A3C5 64D41' +
'595145595145595145544A3C544A3C544A3C0000011D15002 71B00' +
'000001302020302020595145544A3C564D415951455951455 95145' +
'564D41564D41564D410000011D15001D15000000013020205 95145' +
'544A3C544A3C564D415951455951455951455951455951455 44A3C' +
'0000011D15001D1500000001302020564D415951455951455 95145' +
'595145564D41595145595145564D41544A3C564D410000010 00001' +
'302020302020595145595145595145595145544A3C564D415 95145' +
'544A3C544A3C4F4538564D41595145302020302020564D415 95145' +
'564D41564D41564D41544A3C544A3C564D41544A3C544A3C5 44A3C' +
'');
PickHead := BitmapFromString(6, 5,
'2E1F002E1F00352400000001483E33483E331D1400261A002 E1F00' +
'352400000001483E331D14001D1400261A002E1F000000013 02020' +
'0000010000010000010000013020203020203020203020203 02020' +
'302020302020483E33');
PickAxe := BitmapFromString(30, 14,
'564D42564D42544A3B4D4438544A3B564D42564D42544A3B4 D4438' +
'544A3B544A3B544A3B544A3B544A3B0000010000010000010 00001' +
'544A3B564D42564D42564D42564D42564D42564D42544A3B5 44A3B' +
'564D42544A3B564D42564D42544A3B544A3B4D4438564D425 64D42' +
'544A3B544A3B564D42564D42544A3B4D44384D44380000012 F2000' +
'2F20003625003D2900000001564D42564D42564D42564D425 64D42' +
'564D42564D42544A3B564D42544A3B564D42544A3B4D44385 44A3B' +
'564D42564D420000010000010000010000010000010000010 00001' +
'000001000001392D1B44341E4D3B225441270000013020205 64D42' +
'544A3B564D42564D42564D42564D42564D42544A3B544A3B5 64D42' +
'4D44384D4438564D42000001000001392D1B3429183429183 42918' +
'34291834291834291834291834291834291840311E44341E4 D3B22' +
'000001302020544A3B544A3B564D42564D42564D42564D425 64D42' +
'544A3B544A3B564D42544A3B000001000001392D1B392D1B3 92D1B' +
'3429183429183429183429183429183429183429183429181 E1500' +
'271B005441274D3B22000001000001564D42544A3B564D425 64D42' +
'564D42564D42564D42564D42544A3B564D42000001392D1B3 92D1B' +
'392D1B392D1B392D1B3429183429183429183429183429183 42918' +
'3429181E1500271B002F2000513E254D3B2248382044341E0 00001' +
'000001544A3B544A3B564D42564D42564D42544A3B544A3B5 64D42' +
'544A3B0000010000010000010000010000010000010000010 00001' +
'0000010000010000010000011E15002F20002F20004D3B224 D3B22' +
'48382044341E40311E44341E000001000001564D42564D425 64D42' +
'544A3B544A3B564D42544A3B4D44383020203020203020203 02020' +
'3020203020203020203020203020200000011E1500271B002 F2000' +
'2F20004D3B224D3B2248382044341E40311E392D1B40311E4 4341E' +
'000001000001564D42564D42544A3B564D42544A3B544A3B4 D4438' +
'544A3B544A3B544A3B544A3B544A3B4D4438544A3B544A3B0 00001' +
'1E15002F20002F20002F200000000100000100000144341E4 0311E' +
'392D1B342918392D1B40311E44341E000001564D42544A3B5 64D42' +
'564D42564D42564D42544A3B544A3B564D42564D42564D425 44A3B' +
'564D420000011E1500271B002F20002F20000000013020203 02020' +
'302020000001000001000001392D1B2F2515342918392D1B0 00001' +
'302020564D42564D42564D42564D42544A3B544A3B564D425 64D42' +
'564D424D44384D4438564D420000011E15002F20002F20000 00001' +
'302020302020544A3B544A3B544A3B3020203020200000010 00001' +
'0000012F2515392D1B000001544A3B564D42564D42564D425 44A3B' +
'544A3B544A3B564D42564D42544A3B544A3B0000011E15002 F2000' +
'2F20002F2000000001302020544A3B544A3B544A3B564D425 64D42' +
'544A3B544A3B30202030202000000100000140311E0000015 64D42' +
'544A3B544A3B564D42564D42544A3B544A3B544A3B564D425 64D42' +
'0000011E15002F20002F2000000001302020302020544A3B5 44A3B' +
'564D42564D42564D42544A3B4D4438544A3B564D42564D423 02020' +
'000001302020302020544A3B544A3B544A3B4D4438544A3B5 44A3B' +
'544A3B544A3B0000011E15002F20002F20002F20000000013 02020' +
'4D44384D4438544A3B544A3B564D42564D42564D42544A3B5 44A3B' +
'544A3B544A3B544A3B564D42302020544A3B');
PickAxeSteel := BitmapFromString(30, 14,
'564D42564D42544A3B4D4438544A3B564D42564D42544A3B4 D4438' +
'544A3B544A3B544A3B544A3B544A3B0000010000010000010 00001' +
'544A3B564D42564D42564D42564D42564D42564D42544A3B5 44A3B' +
'564D42544A3B564D42564D42544A3B544A3B4D4438564D425 64D42' +
'544A3B544A3B564D42564D42544A3B4D44384D44380000012 D1E00' +
'2D1E003423003A2700000001564D42564D42564D42564D425 64D42' +
'564D42564D42544A3B564D42544A3B564D42544A3B4D44385 44A3B' +
'564D42564D420000010000010000010000010000010000010 00001' +
'0000010000015C5656686060756D6C8278780000013020205 64D42' +
'544A3B564D42564D42564D42564D42564D42544A3B544A3B5 64D42' +
'4D44384D4438564D420000010000015953535953535953535 95353' +
'595353595353595353595353595353575151615A596A62627 56D6C' +
'000001302020544A3B544A3B564D42564D42564D42564D425 64D42' +
'544A3B544A3B564D42544A3B0000010000015C56565953535 75151' +
'5751515751515751515751515751515751515751515751511 C1400' +
'251900827878756D6C000001000001564D42544A3B564D425 64D42' +
'564D42564D42564D42564D42544A3B564D42000001615A595 F5858' +
'5C5656595353575151575151544E4E544E4E544E4E544E4E5 44E4E' +
'544E4E1C14002519002D1E007D7474756D6C6E67676A62620 00001' +
'000001544A3B544A3B564D42564D42564D42544A3B544A3B5 64D42' +
'544A3B0000010000010000010000010000010000010000010 00001' +
'0000010000010000010000011C14002D1E002D1E007970707 56D6C' +
'6E67676A6262635D5C6A6262000001000001564D42564D425 64D42' +
'544A3B544A3B564D42544A3B4D44383020203020203020203 02020' +
'3020203020203020203020203020200000011C14002519002 D1E00' +
'2D1E007B7272756D6C6E67676A6262635D5C5F5858635D5C6 86060' +
'000001000001564D42564D42544A3B564D42544A3B544A3B4 D4438' +
'544A3B544A3B544A3B544A3B544A3B4D4438544A3B544A3B0 00001' +
'1C14002D1E002D1E002D1E000000010000010000016860606 35D5C' +
'5F58585751515C5656615A59665E5E000001564D42544A3B5 64D42' +
'564D42564D42564D42544A3B544A3B564D42564D42564D425 44A3B' +
'564D420000011C14002519002D1E002D1E000000013020203 02020' +
'302020000001000001000001595353524B4B544E4E5953530 00001' +
'302020564D42564D42564D42564D42544A3B544A3B564D425 64D42' +
'564D424D44384D4438564D420000011C14002D1E002D1E000 00001' +
'302020302020544A3B544A3B544A3B3020203020200000010 00001' +
'0000014D47465F5858000001544A3B564D42564D42564D425 44A3B' +
'544A3B544A3B564D42564D42544A3B544A3B0000011C14002 D1E00' +
'2D1E002D1E00000001302020544A3B544A3B544A3B564D425 64D42' +
'544A3B544A3B302020302020000001000001665E5E0000015 64D42' +
'544A3B544A3B564D42564D42544A3B544A3B544A3B564D425 64D42' +
'0000011C14002D1E002D1E00000001302020302020544A3B5 44A3B' +
'564D42564D42564D42544A3B4D4438544A3B564D42564D423 02020' +
'000001302020302020544A3B544A3B544A3B4D4438544A3B5 44A3B' +
'544A3B544A3B0000011C14002D1E002D1E002D1E000000013 02020' +
'4D44384D4438544A3B544A3B564D42564D42564D42544A3B5 44A3B' +
'544A3B544A3B544A3B564D42302020544A3B');
furnace1 := BitmapFromString(5, 1,
'F87D1DF9AD1CF8FF09F9AD1CF87D1D');
furnace2 := BitmapFromString(6, 3,
'010B01BACABEBACABE3A4A3E3A4A3E3A4A3E010B01BACABE3 A4A3E' +
'564329564329564329BACABEBACABE3A4A3E564329F87D1DF 87D1D' +
'');
furnace3 := BitmapFromString(6, 4,
'BACABEBACABE3A4A3E564329F87D1DF87D1DBACABEBACABE3 A4A3E' +
'564329564329564329010B01BACABE3A4A3E3A4A3E3A4A3E3 A4A3E' +
'010B01BACABEBACABE9AAA9E9AAA9E9AAA9E');
furnace4 := BitmapFromString(6, 4,
'F87D1DF87D1D5643293A4A3E9AAA9EBACABE5643295643295 64329' +
'3A4A3E9AAA9EBACABE3A4A3E3A4A3E3A4A3E3A4A3E9AAA9E0 10B01' +
'9AAA9E9AAA9E9AAA9E9AAA9E9AAA9E010B01');
furnace5 := BitmapFromString(6, 3,
'3A4A3E3A4A3E3A4A3EBACABEBACABE010B015643295643295 64329' +
'3A4A3EBACABE010B01F87D1DF87D1D5643293A4A3E9AAA9EB ACABE' +
'');
Quest1 := BitmapFromString(3, 8,
'010101010101010101B5B9BCB5B9BCB5B9BC6681E4B5B9BCB 5B9BC' +
'6681E47A8CE5B5B9BC6681E47A8CE57A8CE56681E47A8CE52 B46BC' +
'6681E42B46BC7A8CE56681E44863D94863D9');
Quest2 := BitmapFromString(7, 3,
'010101B5B9BCB5B9BCB5B9BC7A8CE596A7E96681E4010101B 5B9BC' +
'B5B9BC7A8CE57A8CE56681E496A7E9010101B5B9BC6681E46 681E4' +
'6681E46681E46681E4');
Quest3 := BitmapFromString(7, 3,
'4863D94863D92B46BC7A8CE595999C95999CB5B9BC4863D97 A8CE5' +
'7A8CE52B46BC95999CB5B9BC0101014863D97A8CE595999C9 5999C' +
'95999CB5B9BC010101');
FrogSpot := DTMFromString('78DA63AC606260B06100030E2006F2184AF 36' +
'2C07C4620FE0F048CDD405167881A56A8B8555D3A033F940D 565B' +
'0254A349404D12508D037E35000D030BB3');
Frog := BitmapFromString(30, 2, 'z78DA73727274B534B23000012' +
'74747270B47E249645DB84C808A836D4126C9144732131749 8C9B' +
'5154426CC160633119C355982EC4A51E00B445523B');
bmpFreakyForester := BitmapFromString(106, 2, 'z78DAA552410AC0' +
'3008FBD23618B8A3C2FEFFA531BA4346D406DA8394D8468DB 1ED3' +
'DE11EE67A34F885F7B8FCB47DC4817F59C07B36442A3C41C2 EFEB' +
'E0F8CBB63C2BB1EF61D215E3BADAF437C9221BEC455295AA2 4B57' +
'846A57FE2A9365EB1252FD163E4C0C48DC456EAAC7812676F A75B' +
'F21E5499F00B0E54F6B8C2D96BD8EBD0D7D555AD781E9D382 154');
bmpLeaveTheArea := BitmapFromString(89, 2, 'z78DA3330000127474' +
'7270B4708690011717274B534422631C5514490F522994691 9944' +
'881343E2D74B65B7417C8DC926DA765C61881C92C4A8C1296 EE96' +
'86A610821718910E3779CA18AE46B5CA6511EF294A4075AA7 0A02' +
'E9019324C29DE4C5387E35C4EB820000EEBEF642');
bmpPheasantMeat := BitmapFromString(14, 7, 'z78DA7D915B8EC6200' +
'885B7A4DC79ACD5EE7F497FA7C74968E6A2093127F0014799 221C' +
'2A72F090E7DDBE4EB7C3C428C4A71F88D0B9D17D11A1B8DA6 5678' +
'CD0E8502A67D34484C45399469C7A31B96AA3519935DFD9A6 8DEC' +
'91E12FCE3DCA9B13A98BDB5F34E83624C9BDD9B074F76E4B4 F5ED' +
'4EC9271EBA72ACD4D331DFFD04826E5EEDED468A17BB0262D E454' +
'0EF49FB4CAC40C9B862A102AB3D090593D79F9838D3021AA2 EEB2' +
'CBFCCF970B0FB76E3F1163F654D3AD166C2BDE25292F137B3 EEF5' +
'01384D7A16');
end;

procedure SetupSSI;
begin
Username:=PermUser;
Password:=PermPass;
LoadChars('');
DisguiseScar(MaskName);
UpChars:= LoadChars2(AppPath + 'CharsRS22\');
ChatChars:= LoadChars2(AppPath + 'CharsChat2\');
StatChars:= LoadChars2(AppPath + 'CharsChat2\fontsmall\');
CWindow := BitmapFromString(66, 8, 'z78DA33304000372460' +
'800170890F1420C63DB473333D4D264664342E06CACCE1111 7D4F' +
'2C5E08C0BFC251BA61A4ACCA145BE20C66DD4F205EDFC4EAD 928D' +
'76BA06BF083DE382F8D432506963A04488610FCE5C408C69F 87D3' +
'454E28276651D754B636A95F994E76E5AD49E002F369293') ;
MarkTime(LogOutMark);
MarkTime(RandomChatMark);
MarkTime(RotateMark);
MarkTime(KillScriptMark);
MarkTime(LeaveScreenMark);
GasColor:=8100004;//Reference color of gas.
LoadSSIBmps;
ST:=GetSystemTime;
SetMouseMode(false);
if(SetCamera='')then
SetCamera:='N';
if(LoggedIn)then
begin
ChatsOff;
{Face(SetCamera);
SendArrowSilentWait(0,1400+random(100)); }
end;
end;

And my BoxBreaker looks all f'd up so I dunno.

lomlom
10-16-2006, 12:24 AM
thanks!!!! :) lol hmmm boxbreaker.. i shall google it first

Bam Bam
10-16-2006, 01:08 AM
The easiest way is defiantly download > includes just wait out the lagg it should be fetching the files from the internet as it laggs so its not really lagg just the application working but if that still doesnt work just copy the included file into your includes

lomlom
10-16-2006, 01:14 AM
wow.. thanks! i think the .includes files should be a sticky thread.. imo.. for others who had the same problem as me :)

I Pick Axes
10-16-2006, 01:40 AM
Just so you know, BoxBreaker is an outdated include. It was made when boxes were colored and the stuff on them was a lot easier to read off.

lomlom
10-16-2006, 01:59 AM
so... i should.. do what :)?

I Pick Axes
10-16-2006, 02:23 AM
so... i should.. do what :)?Convert the script to SRL.

lomlom
10-16-2006, 02:47 AM
to be quite honest, i wouldnt know how to do that....

u mean to completely write it all out?