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.
Powered by vBulletin® Version 4.2.1 Copyright © 2024 vBulletin Solutions, Inc. All rights reserved.