YoHoJo
11-06-2006, 08:21 PM
I dont think the latest version of SSI2 is availble for downlaod anywhere. only palce to get it is from other beople i belive.
and like i said. there should be a few good powerchoppers somehwere in the free scritps form. Star just posted those scritps to be nice and let scripts tweak them a bit to work with the new rs.
here is SSI2 1.8 got it stright from starblaster.
argh uploading isnt woking so here lol:
{================================================= =======================]
[ Stupid3ooo's Scripting and ]
[ Random Event Protection Include II ]
[ version: 1.8 ]
[================================================== ======================]
| 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. |
[================================================== =======================]
[ *Be sure to open SSI2.txt for more options. ]
[ *For general SCAR help go to: ]
| http://www.kaitnieks.com/files/SCARGUIDE/SCARGUIDE.htm ]
[ Thanks to, RS Cheating community ]
[ *PLEASE POST ANY BUGS/HELP IN THE FORUMS OR E-MAIL ]
[ RSTradeMonkey@hotmail.com, or Stupid3ooo@gmail.com ]
[ If you like pwease donate to me :) at: ]
[ http://www.stupid3ooo.co.nr ]
[================================================== =======================}
const
//=//===========================Setup================== ==============\\=\\
PermUser=''; //Sets username for all Stupid3ooo scripts.
PermPass=''; //Sets password for all Stupid3ooo scripts.
PermScarScape=false; //Sets Scarscape 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= 'Document 1 - Microsof...'; //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= 15; //How many minutes to wait to log back in after the script sees a mod(0 ends the script).
LogTimeOut= false; //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.
SolveForester= false; //If you want the scrip to atempt to solve the forester, false if you want it to log out.
LampChoice= 'hitpoints'; //What stat you want to choose for the FindNormalRandoms procedure when solving a lamp.
// *To set your own chat phrases press ctrl+f and type in: RandomChat; then replace everything then phrases in ''.
//=\\=============================================== =================//=\\
var
x,y,s0,s1,s2,s3,s4,s5,s6,s7,s8,s9,logs,attaches,la mps,fights,talks,LoginTry,
lamp,PickAxe,PickAxeSteel,hc1,hc2, hc3,hc4,hc5,PickHandle,PickHead,Ore,
orecolor1,orecolor2,orecolor3,orecolor, GasColor,UpChars,ChatChars,StatChars,
CWindow,LogOutMark,RandomChatMark,RotateMark,KillS criptMark,LeaveScreenMark,
bmpLeaveTheArea,bmpFreakyForester,bmpPheasantMeat, Frog,FrogSpot,Frogs,
Foresters,Doctors,bmpNet,bmpCage,bmpRod,bmpFlyRod, bmpHarpoon,
FishingEquipmentColor,AxeHeadColor,Certers:integer ;
Username,Password,SetCamera,FishingEquipmentName:s tring;
ST:LongInt;
ScarScape,LogsOut,Chats,Rotates:Boolean;
//================================================== ==========================\\
//===========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;
var
LoggedinBMP : integer;
begin
LoggedinBMP := BitmapFromString(6, 10, 'z78DA73737573757371' +
'03930638801BAA1A43201C5583430D2E120046214F91');
if(FindBitmapSpiralTolerance(LoggedinBMP, x, y, 625, 464, 650, 490, 10))then
Result := true;
FreeBitmap(LoggedinBMP);
end; }
function LoggedIn : Boolean;
begin
if (GetColor(646, 482) = 16645886) 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 Option2(s:string):boolean;
var
tempx,tempy:integer;
begin
result:=false;
if(IsTextInAreaEx(0,0,515,25,tempx,tempy,s,100,UpC hars,True,False,0,1,-1))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, work in progress
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;
if(lowercase(name)='furnace')then
begin
Bitmap := BitmapFromString(15, 5, 'z78DA333034004247472763' +
'47130869E4686C6C64626266E46CE0E66A616666608C8B84A 881A' +
'8B770B434B6809A60608880044CB6B434333072B570333230 84B1' +
'07BDC934080D62485C26030023CF61C9');
Color:=222952;
end;
if(lowercase(name)='anvil')then
begin
Bitmap := BitmapFromString(15, 5, 'z78DA95CF510AC0300803D02B' +
'A59DE0F2D9F6FE771A2CFB10CAC4FE04117C443434D8E4C2E A4A8' +
'7DFCE8B06FB369AF38C025E139B5C7194EA106F73B9D2991C 187D' +
'3773F92F2BE6A91CBFD05CE9FC00C9DB6164');
Color:=4012591;
end;
if(lowercase(name)='rare trees')or(lowercase(name)='tree')then
begin
Bitmap := BitmapFromString(15, 5, 'z78DA33303400424757270' +
'B4757086960686209128390E6F84833470B20696C618E6E02 0262' +
'33D99C0C9238938976391269E16A69614192C96012EC6B288 9C34' +
'CFC26639A0F516FE46CE80267BB9AB919B8426C4136133934 00AC' +
'8C5FC9');
Color:=96513;
end;
if(lowercase(name)='fishing spot')or(lowercase(name)='fish')then
begin
Bitmap := BitmapFromString(15, 5, 'z78DA8DCE410E80300844D12B4D5BA' +
'9BAA404EE7F2413675343AA6EFE82D217D061682636ACCCAD A779' +
'045B641F117987CDAFB84D2479D67257B28A0EFD90B9C9F9B B3FD' +
'FF02EC337F347B39977D83F37AFFEA2D76EDEA4543DE870B2 922F' +
'BB6B6878');
Color:=16743189;
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;
begin
if(GetSymbolColor(Lowercase(name))>0)then
Result:=true;
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);
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(Option(txt)))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(Option(txt))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 FindObj2(text:string;color,tolerance:integer):bool ean;
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(Option2(text))then
begin
Result:=true;
Break;
end;
end;
end;
if(a=4)then
a:=0;
until(x2>515)or(Result=true)
end;
end;
function FindObjDtm(text:string;dtm:integer):boolean;
var
a,c,i,x1,y1,x2,y2:integer;
begin
if(FindMSDtm(Dtm))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(FindDtm(dtm,x,y,x1,y1,x2,y2))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(not(ScarScape))then
begin
if(uppercase(direction)='N')then
CAngle:=6.3;
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.1))and
(DetectRS2MinimapCompassAngle<(CAngle+0.1))))or
((uppercase(direction)='N')and(DetectRS2MinimapCom passAngle<0.2))then
begin
repeat
SendArrowSilentWait(1,100+random(10));
until(DetectRS2MinimapCompassAngle>(CAngle-0.1))and
(DetectRS2MinimapCompassAngle<(CAngle+0.1))or
((uppercase(direction)='N')and(DetectRS2MinimapCom passAngle<0.2))
end;
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);
var
c:integer;
begin
repeat
c:=c+1;
Wait(500+random(100));
if(c=120)or(c=240)or(c=360)or(c=480)and(not(FlagPr esent))then
ClickMMColor(color);
until(FindColor(x,y,color,618,54,678,113))or(c>600)
Flag;
end;
procedure MarkTime(var TimeMarker:integer);
begin
TimeMarker:=GetSystemTime;
end;
function TimeFromMark(var TimeMarker:integer):integer;
begin
result:=GetSystemTime-TimeMarker;
end;
procedure ToBankers(var BankColor:integer;MouseAdjustX,MouseAdjustY:intege r);//Find the specified bank color and clicks the nearest yellow dots to get closer to the bankers.
var
c,ax,ay:integer;
begin
if(FindMMColor(BankColor))then
begin
while c<30 do
begin
c:=c+5;
if(FindMMColor(BankColor))then
begin
if(FindColorSpiralTolerance(ax,ay,195836,x-c,y-c,x+c,y+c,10))then
begin
x:=ax;
y:=ay;
break;
end;
end;
end;
MouseFindFlag(x,y,MouseAdjustX,MouseAdjustY);
Flag;
wait(1000+random(100));
end;
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;
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;
function FindOreColors(refrencecolor,tolerance1,tolerance2: integer):boolean;
var
c,a,i,ax,ay:integer;
begin
if(FindObj('Mine',refrencecolor,tolerance1))then
begin
ax:=x;
ay:=y;
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
ax:=ax+1;
if(a=2)then
ay:=ay-1;
if(a=3)then
ax:=ax-1;
if(a=4)then
ay:=ay+1;
if(SimilarColors((GetColor(ax,ay)),refrencecolor,t olerance2))then
begin
if(OreColor1=0)then
begin
OreColor1:=(GetColor(ax,ay));
end else if(OreColor2=0)and(not((GetColor(ax,ay))=OreColor1 ))then
begin
OreColor2:=(GetColor(ax,ay));
end else if(OreColor3=0)and(not((GetColor(ax,ay))=OreColor1 ))and
(not((GetColor(ax,ay))=OreColor2))then
OreColor3:=(GetColor(ax,ay));
end;
end;
if(a=4)then
a:=0;
until(c>100)or(Result=true)
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;
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;
//================================================== ==========================\\
//============================RANDOM PROTECTION===============================\\
//================================================== ==========================\\
//GENERAL RANDOMS
procedure CloseWindow;
begin
if(FindBitmapMaskTolerance(CWindow,x,y,400,3,515,1 00,0,85))then
Mouse(x+10,y+3,5,1,true);
if(FindColor(x,y,255,265,13,531,55))and(GetColor(4 94,334)=16777215)then
Mouse(501,317,r,r,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)or((FindColor(x,y,255,265,13,531,55))and(GetC olor(494,334)=16777215))
c:=0;
repeat
c:=c+1;
wait(100+random(100));
until(FindBitmapMaskTolerance(CWindow,x,y,3,3,515, 338,0,85))or(c>100)or
((FindColor(x,y,255,265,13,531,55))and(GetColor(49 4,334)=16777215))
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 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;
function TalkToRand:boolean;
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
Result:=true;
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
Result:=true;
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(100));
Mouse(ac,ar,12,12,true);
Wait(500+random(100))
Mouse(242,256,1,1,true);
wait(1000+random(500))
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]:= 'g2g';
RandomChatList[2]:= 'sry bye';
RandomChatList[3]:= 'dinner time';
RandomChatList[4]:= 'one sec';
RandomChatList[5]:= 'afk';
RandomChatList[6]:= 'brb';
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
begin
TerminateScript;
end else
begin
Wait(LoginAfterMod*60000);
LoginIfNeeded;
end;
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;
if(FindText('Answer',ChatChars,17,355,300,434)) then //From RSCI
begin;
WriteLn('Found a Quiz, logging out')
TerminateScript;
end;
if(FindColorTolerance(ax, ay, 4936133, 35, 355, 110, 425, 5))Then //From RSCI
begin
writeln('Found Evil bob, logging out');
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');
if(SolveForester)then
begin
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 else
begin
Writeln('Found Forester, logging out');
LogOut;
TerminateScript;
end;
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(not(getcolor(650, 185) = 4902398))then
begin
if(Screenshots)then
SaveScreenShot('Frog Random - Stupid3ooo - '+TimeRunning+'.bmp');
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;//Edited version of knightstreak's EyeTest, all credit goes to knightstreak
var
c,i,backgroundcolor : integer;
firstfinger, secondfinger, thirdfinger, fourthfinger : boolean;
begin
if(not(getcolor(650, 185) = 4902398))then
begin
backgroundcolor:=Getcolor(10,10);
repeat
c:=c+1;
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;
function FindCerter:boolean;//Repeatedly talks to the Certer and it'll eventually go away, If this does not work you can count the number of background pixles and if it's greater than a certain number it's either a sword, helmet or ammy.
var
c:integer;
begin
if(FindTalk)then
begin
if(getcolor(359, 37) = 8168120)Or(getcolor(163, 167) = 1922399)Or(getcolor(89, 51) = 879691)Then //From RSCI
begin
repeat
c:=c+1;
if(FindColor(x,y,65535,555,150,643,171))then
Mouse(478,10,r,r,true);
if(FindObj('Talk',7039859,15))then
begin
Mouse(x,y,r,r,false);
ChooseOption('Talk');
TalkToRand;
Flag;
Wait(500+random(100));
if(FindColor(x,y,65535,555,150,643,171))then
Mouse(478,10,r,r,true);
end else
Break;
until(c>1000)
if(c<1000)then
begin
Certers:=Certers+1;
Result:=true;
end;
end;
end;
end;
procedure FindNormalRandoms;
begin
LoginIfNeeded;
CloseWindow;
ChatsOff;
FindLamp('hitpoints');
FindMiscRandoms;
FindTalk;
FindForester;
FindFrog;
FindCerter;
end;
//MINING
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;
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);
if(FindItemBmpTol(PickHead,50))and(FindItemBmpTol( PickHandle,50))then
begin
ClickItemBmpTol(PickHead,50,true);
ClickItemBmpTol(PickHandle,50,true);
Attaches := Attaches + 1;
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;
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;
//FISHING
function FindFishingEquipmentColor:boolean;//Net, Lobster Cage, Fishing Rod, Fly Fishing Rod, Harpoon
var c,GetX,GetY:integer;
begin
while c<200 do
begin
c:=c+10;
if(FindItemBmpTol(bmpNet,c))then
begin
GetX:=x+8;
GetY:=y+3;
FishingEquipmentName:='Small fishing';
end;
if(FindItemBmpTol(bmpCage,c))then
begin
GetX:=x+4;
GetY:=y+4;
FishingEquipmentName:='Lobster pot';
end;
if(FindItemBmpTol(bmpRod,c))then
begin
GetX:=x+13;
GetY:=y+3;
FishingEquipmentName:='Fishing rod';
end;
if(FindItemBmpTol(bmpFlyRod,c))then
begin
GetX:=x+11;
GetY:=y+5;
FishingEquipmentName:='Fly fishing rod';
end;
if(FindItemBmpTol(bmpHarpoon,c))then
begin
GetX:=x+3;
GetY:=y+4;
FishingEquipmentName:='Harpoon';
end;
if(GetX>0)and(GetY>0)then
FishingEquipmentColor:=GetColor(GetX,GetY);
if(FishingEquipmentColor>0)then
begin
Result:=true;
WriteLn('Fishing equipment color... '+inttostr(FishingEquipmentColor));
WriteLn('Fishing equipment name... '+FishingEquipmentName);
Break;
end;
end;
end;
function FindFishingEquipment:boolean;
var
c:integer;
begin
GameTab(4);
Result:=True;
if(not(FindItemColor(FishingEquipmentColor)))then
begin
Wait(2000+random(100));
Result:=False;
repeat
c:=c+1;
if(FindItemColor(FishingEquipmentColor))then
begin
Result:=true;
break;
end;
if(FindObj2(FishingEquipmentName,FishingEquipmentC olor,5))then
begin
Mouse(x,y,1,1,true);
Flag;
wait(1000+random(100));
end
else if(PickUpItems)then
ItemGrab;
until(c>=10);
end;
end;
//WOODCUTTING
function FindAxeHeadColor:boolean;
var
bmpAxe:integer;
begin
bmpAxe:= BitmapFromString(15, 11, 'z78DA95935B8EC3200C45B704F6B5' +
'81CF06C2FE97541753898822CDC4D2FD0073FC0C32DFCCE1F 3C55' +
'D511018183EFF552768420B39B16868A9CB1D5AAE5A623C45 3C66' +
'B293AB046326C9C624A52F59924433C18D5B0815E66775949 3AEF' +
'C07F9926ACC97EA37DBC75B27BB6EB1344584ECAF389099B2 45CA' +
'DA859E648B5AB800DCB94341662F88594386AE4C3FF94176A 6F77' +
'6C9962E2A5418D4A9F3C5CA8AC895ABC75A6B39911F535BC8 279D' +
'51066DEAA8E5EF64BF5D759EAF5DF26CF9C35CD53DE73EA82 2B49' +
'DB9EFF39CBE77C6B3DD9833E7037932F73F45B9314DFE98EC CE74' +
'5DB7F7481EB45D1FFD5F2B1DB76FD953CBEA');
if(FindItemBmpTol(bmpAxe,75))then
begin
Result:=true;
AxeHeadColor:=GetColor(x+9,y+4);
end else
Writeln('Could not find axe head color!');
FreeBitmap(bmpAxe);
end;
function FindAxe:boolean;
var
c,bmpAxeHead,bmpAxeHandle:integer;
begin
bmpAxeHead := BitmapFromString(12, 8, 'z78DA9591410EC3200C04BF64AF97E' +
'21C6968FFFFA42685484E29510BD21C8C19ADE5746325D225 653F' +
'1A79EA218BDD3B27F5F6CB9E265AB95A0132D5A54E9DC1107 BE01' +
'055BA654867B0B968399CA301D85F7B06336EFCC513F313AE 6E0B' +
'562D5F3C6F436312AB60F6CF195B7E3C404DDDF6A7E73451F 40CA' +
'9C6ADF52904DBBDDEEFD83FE30B09BB7676');
bmpAxeHandle := BitmapFromString(16, 27, 'z78DA9595511283200C44AFA440A2' +
'FDD45AEF7FA4524367C0B021B6336907F5256C9648296D714 F474' +
'A7125CEBFA1C46BBD44B52EF7EBA7A6DF6796D87000A19345 F3AF' +
'15612E0BADD321B1C9822A47B9D4D59A1FF720F9EE7CBD17B 4237' +
'54FCD97FF710AF98BAA1AEC42EDD4C5777450E745E4077C47 CD7C' +
'5268F91D8247992AD7A0728FDB41DF1B3746E29BE66EB27D8 E34D' +
'9E519337B21EFF4EE56EEA781AB2ECD1F9ED0862C95039F43 D799' +
'B1904FFAFCC9B4E5D5B5D35394C5748EAD3952DEC36F2A379 519F' +
'41474D9D6BCD3535B6D4DAE2B07E7C87E53F87B3A980066CD 9D37' +
'91AD393A2F0E87AF81F32494287C5ED2D175A3D6C1A14921D BCAB' +
'8E7894DE6374DD88DAE095FF399D3B072704ED14C4064FD3E 1A4C' +
'6F5B998D797EEE467BB654FC57E4736EB2B8DCE2C8F805915 426A' +
'2');
Result:=True;
if(FindItemBmpTol(bmpAxeHandle,50))or(NewChatMsg(' need an axe'))then
begin
Result:=False;
Wait(2000+random(100));
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(FindItemBmpTol(bmpAxeHead,50))and(FindItemBmpTo l(bmpAxeHandle,25))then
begin
Result:=true;
Break;
end;
if(FindObj('Take',AxeHeadColor,0))then
begin
Mouse(x,y,1,1,true);
Flag;
wait(1000+random(100));
end
else if(PickUpItems)then
ItemGrab;
until(c>=10);
if(FindItemBmpTol(bmpAxeHead,50))and(FindItemBmpTo l(bmpAxeHandle,50))then
begin
ClickItemBmpTol(bmpAxeHead,50,true);
ClickItemBmpTol(bmpAxeHandle,50,true);
Attaches:=Attaches+1;
end;
end;
FreeBitmap(bmpAxeHead);
FreeBitmap(bmpAxeHandle);
end;
function FindEnt(TreeColor:integer):boolean;
begin
if(not(Option('Chop')))then
FindObj('Chop',TreeColor,0);
if(Option('Chop'))then
begin
if(FindColorTolerance(x,y,383705,9,9,233,24,20))th en
begin
GetMousePos(x,y);
Mouse(x,y,r,r,false);
if(FindText('Chop down',UpChars,x,y,x+100,y+50))then
begin
if(FindColor(x,y,65535,x+70,y,x+100,y+10))then
begin
ChooseOption('Walk here');
Flag;
WriteLn('Found ent! Waiting for it to go away');
Wait(25000+random(5000));
Result:=true;
end;
end else
ChooseOption('Cancel');
end;
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(not(ScarScape))then
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;
end;
procedure LeaveScreenEvery(mins:integer);
var
rx,ry,a:integer;
begin
if((TimeFromMark(LeaveScreenMark)/1000)/60>=mins)then
begin
MarkTime(LeaveScreenMark);
rx:=Random(763);
ry:=Random(500);
a:=Random(3);
if(a=0)then
begin
MoveMouseSmooth(0-random(10),ry);
Wait(100+Random(2000));
end;
if(a=1)then
begin
MoveMouseSmooth(763+random(10),ry);
Wait(100+Random(2000));
end;
if(a=2)then
begin
MoveMouseSmooth(rx,502+random(10));
Wait(100+Random(2000));
end;
if(a=3)then
begin
MoveMouseSmooth(rx,0-random(10));
Wait(100+Random(2000));
end;
MMouse(3,3,515,338);
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
if(LogsOut)then
LogOutEvery(2+random(2),5+random(5));
if(Chats)then
RandomChatEvery(10+random(5));
if(Rotates)then
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');
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');
bmpNet := BitmapFromString(30, 5, 'z78DA7592510E83300C43AF1492' +
'14FA3B98B8FF9116EAA6B8A06D9A153985BC782DEE1FDBCB4 BFDE' +
'B6E55AECF52AA57F3F8559354173BD0450D7F95223E9CF415 DD2D' +
'CF37474C4CE1475D75E7B799EBA17D3A949DB2069DB2F2496 69BF' +
'95FBE5CCED5F53C13540AEDB350DFB4B90B6F84F7C45754B1 0B74' +
'6246B644CB73911BFBC89369793B4CEC5420EC6CA3BB41710 66C7' +
'0A6549BDF34999BC339A36E84F5996A72A27B6F947BA14617 247D' +
'6E102F27F3608B8733320CAD8ABBB70561BF873AFD9BF1BCA 8FCB' +
'B0337A1F9942439BC2368D7BA8A9FCF7BAE0773F63B8F9C1B 27F2' +
'ECF5204F5A70B2FE00E57BB5C0');
bmpCage := BitmapFromString(10, 27, 'z78DA95945B8EC3200C45B704' +
'F8957E0219F6BFA4B1B05B9949130D8D743EF0A9E3D657A4A 49F9' +
'C6E488C2716276285164F0AE59A92F3CC63E56DCFD9E7EA03 16F8' +
'B0956325E6D2DE3D17F3D15F2865A463D78FDCF01BC01F3E7 6BEF' +
'A9480DFDCF59D04AF1D736185BEEF2FDCF5078C0F77FD49D6 D5EE' +
'FB91BB3E1F481F763CD2B99C18AF66F48D8D413DCB4643429 22A5' +
'9320F6C5ABDE38BB33E271393A7E244CD8730FFE8A99DDBDE 050B' +
'16E902FA84AA14AE5CEDBB04D8B10B72D76906EB949EBD304 FAC5' +
'A1FEBEF2787241EE678F6E23CE6CCAA99D6DF27998ED13718 E789' +
'CEFC15E6D83FE03DE784B6BB388F3B560DD960A6413EADF7B 42D8' +
'777B963D5FF6423CCF365E3CFD908F3C46CC49B73C9CC3367 4220' +
'157D8CD77BF82E575F6EFEC9E76E7E33CFEA2F16B15827');
bmpRod := BitmapFromString(17, 7, 'z78DA75924192C5200844AF8440' +
'8359263ADEFF489FAFC914D664A08AC553BB0B10A65D19B3D 237C' +
'A7FD5AA822A488C6AE63E30A8C769DFB9351075BDA4C6ABA4 0F47' +
'C15D835675BD148A5B1F7250958B97D6ABDAE63BF97653D1D 156C' +
'589AFB4688B9C2E5AA44953E7F1DAC580844B89D3DBFD2F79 B8D5' +
'C8C34A24E3C259B4446417A912B1B9088C7ACCB03DEE558CA 92FB' +
'E881013D38BCBEAA8C1629AD9A570E79EF54D3466A82EFA3B ABC9' +
'33C92EFEE3B10E673B235347B78BCA90B175E1385EBB983CE BAF9' +
'AB7EFCD2572791962EA6B479BFE85F6FCA86DE3936792F53F 03E2' +
'9337');
bmpFlyRod := BitmapFromString(18, 9, 'z78DA8D934B8EC4300844AF4' +
'44C81EDA53FE3FB1F699810B570BB5B1A47F202121E55104C 808B' +
'008DBB282652BCE9EF5C3969D3868CF48A2C59347509D3948 54CC' +
'5E3675649AA548F7B4D1CC4481142458DD52205575A446736 C699' +
'923D8F0AA7DCF746C972C9957A6AA979BCB0269A99458D453 C764' +
'5311B291BEBD0E2DA853130B63AD91C99CAA6B3C46ACFB737 0599' +
'B1671FDF4E8A8AF92D8285C585ED3CD92EC32805D37CEB5CD E667' +
'4F710956E8A0EC774AAA8481308F8872BD78DE2B30E8A36BD F73B' +
'FFF20D3AB4BB6FA676F1B25C412EAAB03ABE5743E8D38C9C1 2957' +
'ED884836834B6BEBBC992D8F3574AE8E19BA238A993F8505C 916F' +
'C23DA333EB9D780FE77F1477DB23BF361FC994');
bmpHarpoon := BitmapFromString(10, 10, 'z78DA8D514B8EC53008BB5' +
'208189C65D2B4F73FD2CB3CBA48D51969585851843F804D33 25DC' +
'A6D51DCB4FC91BFFD3134768280F56D67CFB7075DD15E20C0 4586' +
'215355A3422467476CAFA353F7CE080C3DD307124574B2D69 FB74' +
'BC59D5BBF7252B103DB5694387C1BC62A0DFEE665DC7CD3A6 9B43' +
'B61737101ECB2EB31EF57E1E1751144AB0C865F4E67F6D858 8077' +
'CE7C677F333692DD5D245365DABD3331B7B4EB706DA24C40A F42E' +
'912126FEE7D9DEF8C893B6B9F42A5CE3A7FE1EE0A7DDD98EF 6C7F' +
'A5DDB91FF2B77B29');
end;
procedure PrepClient;
begin
LoginIfNeeded;
ChatsOff;
if(not(ScarScape))then
begin
Face(SetCamera);
SendArrowSilentWait(0,1400+random(100));
end;
end;
procedure SetupSSI;
begin
Username:=PermUser;
Password:=PermPass;
ScarScape:=PermScarScape;
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';
end;
Powered by vBulletin® Version 4.2.1 Copyright © 2024 vBulletin Solutions, Inc. All rights reserved.