i got a script done every thing and get an error
This is The script
program StrangeEssMiner;
{.include SRL/SRL.scar}
{.include SRL/SRL/skill/Mining.scar}
(*
-------------------------------------------------------------------------
-------------------------------------------------------------------------
================================================== =======================
// Varrok essence miner version : 4.1.2 Srl updated //
// ------------------------------ //
// by Solemn Wishes //
// contact: Rune-nation@hotmail.co.uk //
// //
// //
//----------------------------------------------------------------------//
// //
// Start in varrok bank (recomended near middle banker) hit run and //
// let the script do the rest, no color setup needed //
// //
//----------------------------------------------------------------------//
// Instructions. //
//----------------------------------------------------------------------//
// //
// 1. USE Runescape with LOW Detail, Very Bright. //
// 2. Set your Screen to 32 bit TRUE color. //
// 3. Set Playernames, Passwords ect ect.... //
// 4. Start at Varrok east bank, middle booth if possible //
// 5. Be sure to have a pickaxe somewhere (inventory/equipted) //
// //
-------------------------------------------------------------------------
Setup *) // //
Const StartPlayer = 0; //
Const tripstodo = 1000; //number of trips to make //
const pammount = 100; //max number of players mining ess before world switch
const mousemovespeed = 100; //
const version = ' 4.1.2'; (* //
-------------------------------------------------------------------------
================================================== =======================
-------------------------------------------------------------------------*)
var
customcolor, trips, teleportbackup, teleport : Integer;
EBankColor, arrow, clickhere, timestalked, play : integer;
PlayersA, magicthingy , mined, exp : integer;
memfreeb : string;
memfree : string;
(*-------------------------------------------------------------------------*)
// //
// Essence miner start, only edit the player array and options bellow. //
(*-------------------------------------------------------------------------*)
Procedure DeclarePlayers;
begin
HowManyPlayers:=10;
NumberOfPlayers(HowManyPlayers);
Players[0].Name :='';
Players[0].Pass :='';
Players[0].Nick :='';
Players[0].Loc :='varrok';
Players[0].Active:=True;
Players[1].Name :='';
Players[1].Pass :='';
Players[1].Nick :='';
Players[1].Loc :='varrok';
Players[1].Active:=True;
Players[2].Name :='';
Players[2].Pass :='';
Players[2].Nick :='';
Players[2].Loc :='varrok';
Players[2].Active:=True;
Players[3].Name :='';
Players[3].Pass :='';
Players[3].Nick :='';
Players[3].Loc :='varrok';
Players[3].Active:=True;
Players[4].Name :='';
Players[4].Pass :='';
Players[4].Nick :='';
Players[4].Loc :='varrok';
Players[4].Active:=True;
Players[5].Name :='';
Players[5].Pass :='';
Players[5].Nick :='';
Players[5].Loc :='varrok';
Players[5].Active:=True;
Players[6].Name :='';
Players[6].Pass :='';
Players[6].Nick :='';
Players[6].Loc :='varrok';
Players[6].Active:=True;
Players[7].Name :='';
Players[7].Pass :='';
Players[7].Nick :='';
Players[7].Loc :='varrok';
Players[7].Active:=True;
Players[8].Name :='';
Players[8].Pass :='';
Players[8].Nick :='';
Players[8].Loc :='varrok';
Players[8].Active:=True;
Players[9].Name :='';
Players[9].Pass :='';
Players[9].Nick :='';
Players[9].Loc :='varrok';
Players[9].Active:=True;
end;
//-------------------------------------------------------------------------//
procedure solemnrandoms;
begin
If ( not ( LoggedIn )) then begin Loginplayer; end;
if ( NoGameTab ) then
begin
Players[CurrentPlayer].Loc := 'Lost';
LogOut;
terminatescript;
End;
If ( Not ( Findpick)) then begin;
Writeln('Unable to find axe head, Terminating script')
LogOut;
Terminatescript;
End;
FindNormalRandoms;
If ( FindFight ) then
Begin
MouseFindFlag ( MMCX, MMY1 + 10, 1, 5 );
Flag;
End;
End;
//-------------------------------------------------------------------------//
procedure walkingrandoms;
var i : integer;
begin
if(not(loggedin)) then LoginPlayer;
FindLamp('mining');
findnewbox;
i:= random(3)+1
if(i=1)then
begin;
FindNormalRandoms;
antiban;
end;
end;
//-------------------------------------------------------------------------//
Procedure WalkingRandomactivitys;
begin
Case Random(25) of
1 : Mmouse(Random(MSX2), Random(MSY2), 10, 10);
2 : wait(1000+random(1000));
3 : Gametab(2);
4 : Mmouse(Random(MSX2), Random(MSY2), 10, 10);
5 : SendArrowSilentWait( ((Random(2) * 2) + 1), 1000 + Random(200));
6 : SendArrowSilentWait( ((Random(2) * 2) + 1), 200 + Random(200));
7 : SendArrowSilentWait( ((Random(2) * 2)), 200 + Random(200));
8 : SendArrowSilentWait( ((Random(2) * 2) + 1), 20 + Random(20));
9 : SendArrowSilentWait( ((Random(2) * 2)), 20 + Random(20));
10 : SendArrowSilentWait( ((Random(2) * 2)), 1000 + Random(200));
End;
Case Random(1000) of
1 : TypeSend('Nearly There')
2 : TypeSend('lol')
3 : TypeSend('just mining these stupid ess')
4 : TypeSend('Hi everyone')
5 : TypeSend('hmmm im gonna be doing this for ages')
6 : TypeSend('dam i need to get a life')
7 : TypeSend('lalalalalallalla')
8 : TypeSend('boorrring')
9 : TypeSend('im tired')
10 : TypeSend('allmost got enough')
11 : TypeSend('just a few more trips')
End;
End;
//-------------------------------------------------------------------------//
Procedure RandomEssFinding;
begin
Case Random(10) of
1 : Mmouse(Random(MSX2), Random(MSY2), 10, 10);
2 : SendArrowSilentWait( ((Random(2) * 2)), 1000 + Random(200));
3 : SendArrowSilentWait( ((Random(2) * 2) + 1), 1000 + Random(200));
4 : Mmouse(Random(MSX2), Random(MSY2), 10, 10);
5 : SendArrowSilentWait( ((Random(2) * 2) + 1), 1000 + Random(200));
6 : SendArrowSilentWait( ((Random(2) * 2) + 1), 200 + Random(200));
7 : SendArrowSilentWait( ((Random(2) * 2)), 200 + Random(200));
8 : SendArrowSilentWait( ((Random(2) * 2) + 1), 20 + Random(20));
9 : SendArrowSilentWait( ((Random(2) * 2)), 20 + Random(20));
10 : SendArrowSilentWait( ((Random(2) * 2)), 1000 + Random(200));
End;
End;
//-------------------------------------------------------------------------//
Procedure Smouse( x , y : integer; rx , ry : integer);
Var
xr : integer;
a, b, c : integer;
cx, cy, mx, my, ox, oy, ms: Integer;
mu, mum1, mum12, mu2, incr: Extended;
begin
GetMousePos(cx,cy)
if(cx=x)and(cy=y)then Exit else cx:= x; cy := y;
xr:= rx; if(rx > 5 ) then begin
xr:= Random(5) + Random(5) -
Random(5) + random(2) - random(2);
If(xr>5)and(xr<8)then xr:= xr / 2;
end else
if(rx <5 ) then xr:= random(3) + random(3)-
Random(3) + random(1) - random(1);
begin
repeat
incr := ((Random(2) + 1) / 1000) + Random(11) / 10000;
mu:= mu + incr; mu2 := mu * mu; mum1 := 1 - mu;
mum12 := mum1 * mum1;
mx := Trunc(cx * mum12 + 2 * ox * mum1 * mu + x * mu2);
my := Trunc(cy * mum12 + 2 * oy * mum1 * mu + y * mu2);
mx := mx / 8; my := my / 8;
a:= mx; b:= my;
repeat
c:= c + 1;
Mmouse(mx , my , 0 , 0); wait(mousemovespeed + random(10));
mx:= mx + a;
my:= my + a;
case random(2)of
0 : mx:= mx + a;
1 : mx:= mx - a;
end;
case random(2)of
0 : my:= my + a;
1 : my:= my - a;
end;
until(c=5)
ms := ms + 1;
wait(mousemovespeed + random(10));
until mu >=0;
movemousesmooth(cx,cy)
writeln(inttostr(xr))
end;
end;
//-------------------------------------------------------------------------//
Function WorldSelectionMenu : boolean;
Var backM, Btypee , backIE : integer;
wx, wy : integer;
Btype : string;
begin
backIE := BitmapFromString(6, 2, '7ECA4C81CB4EC8E8B1B5E1976' +
'CC22F6CC22F87CD56F6FBF2FFFFFFFFFFFF90D1636CC22F') ;
backM := BitmapFromString(3, 4, 'F1F3F2C2DFC37AC17A84C5852C' +
'A12A17981737A631C8F2B6009000D8F8C8E5FFD3009000');
If(FindWindowTitlePart('RuneScape', False))Then
Begin
GetClientDimensions(wx, wy);
Writeln('RuneScape Client Sucesfully Found')
Writeln('Client Width := ' + IntToStr(wx));
Writeln('Client Height := ' + IntToStr(wy));
result:= true;
end;
If Result then begin
If(FindWindowTitlePart('Internet', False))Then Btype:=('Internet Explorer');
If(FindWindowTitlePart('Mozilla', False)) Then Btype:=('Mozilla');
end;
Activateclient;
If(Btype<>'')then begin writeln('You are using '+ Btype)
If(Btype='Internet Explorer')then Btypee:= backIE else
Btypee:= backM;
end;
If(findbitmapspiraltolerance(Btypee, x, y, 4, 4, 61, 113, 5))then
Begin
wait(random(500)+random(250))
Mouse(x,y,4,3,true)
End;
While(Not(getcolor(494 ,201)=16777215))do wait(250+random(250)) wait(1000+random(250))
end;
//-----------------------------------------------------------------------//
Function RandomSelectWorld : boolean;
Var FreeI, MoveMe : integer;
stype, MemersI : integer;
W, H : integer;
begin
MoveMe := BitmapFromString(7, 3, 'z78DA73757533717375C54B3A' +
'39BA18BA393B5BB898B93959383B19B859E0275D89361300E 1F11' +
'FB6');
MemersI := BitmapFromString(3, 3, 'E7BD3AF4CF5EFCFCFFECC442' +
'F7D567FCFCFFF3CB4BFAD866FDDC71');
FreeI := BitmapFromString(4, 3, 'E8E8E8C2C2C2A0A0A0858585E8' +
'E8E8C2C2C2B4B4B4B8B8B8BEBEBEBEBEBED0D0D0D0D0D0');
If(findbitmapspiraltolerance(MoveMe, x, y, 1009, 118, 1027, 682, 0))then
Begin
Mouse(x,y,5,5,true) holdmouse(x, y, true)
Mmouse(x,y,0,250) releasemouse(x, y, true)
End;
wait(500+random(500))
If(memfree='members')then stype:= MemersI Else
stype:= FreeI;
If(findbitmapspiraltolerance(stype, x, y, 268, 124, 728, 691, 0))then
Begin
Mouse(x+20,y,5,5,true)
wait(500)
Result:= true;
end;
If(FindWindowBySize(766, 504))Then
GetClientDimensions(W, H);
If(result)Then Begin
while(not(ClickOption('Exist', 1))) Do wait(1000+random(1000))
Loginplayer;
end;
end;
//-----------------------------------------------------------------------//
Function CountPlayers : boolean;
Var PlayerMM : integer;
x1, y1, x2, y2, c : integer;
begin
PlayerMM := BitmapFromString(4, 4, 'z78DA3330000137570434C0' +
'108140576710C41471310241B026435723107436054188080 07FD' +
'21749');
x1:= 649; y1:= 83;
x2:= x1; y2:= y1;
Repeat
If(findbitmapspiraltolerance(PlayerMM, x, y, x1, y1, x2, y2, 0))then begin
c:= c + 1;
end;
x1:= x1 - 6; x2:= x2 + 6;
y1:= y1 - 6; y2:= y2 + 6;
until(x1<570)Or(y1<5)
c:= c / 2;
Writeln('There are ' + inttostr(c) + ' players in this area')
Result:= true; PlayersA:= c;
end;
//-----------------------------------------------------------------------//
Procedure MapMMAlign;
var
CAngle : Extended;
Begin
CAngle := 6.2;
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;
SendArrowSilentWait(0, 1000 + Random(500));
end;
//-----------------------------------------------------------------------//
Function AtBank : Integer;
Var Rx, Ry : integer;
begin
If(FindSymbol(Rx,Ry,'bank'))then
Begin
Result:= getcolor(Rx,Ry)
Writeln('Bank MM Color:= '+inttostr(result))
End;
If(GetSymbolColor(Rx,Ry,Lowercase('bank')) > 0) then
Begin
Result:= getcolor(Rx,Ry)
Writeln('Bank MM Color:= '+inttostr(result))
End;
If(Not(result<>0))Then
Writeln('Bank "NOT" found, Will check again Later') Else
EBankColor:= getcolor(Rx,Ry)
End;
//-------------------------------------------------------------------------//
Function ClickProgressiveTolMM (color : integer; MaxTol : integer) : boolean;
Var Tol : integer;
Begin
Repeat
If(findcolorspiraltolerance(x, y, color, 570, 5, 735, 166, tol))then
Begin
Mouse(x-4,y+4,0,0,true);
Result:= true;
End;
If(Not(Result))Then Tol:= Tol + 1;
Until Result or (Tol=MaxTol);
End;
//-------------------------------------------------------------------------//
Function magicshopfloorsetup : boolean;
var c, door : integer;
tx, ty : integer;
begin
door := BitmapFromString(2, 4, 'z78DA33300001574B0338C0CF06' +
'00E7CC0979');
magicthingy:= GetSymbolColor(x,y,'magic shop');
if(magicthingy>0)then
begin
result:= true;
end;
if not result then
begin
repeat
If FindBitMapspiralTolerance(door,TX,TY,600,100,642,1 40,c) then
begin
magicthingy :=GetColor(TX,TY);
Result:=true;
end;
if not result then
c:=c+1; wait(50);
until(result)or(c=50)
if magicthingy=0 then writeln('Magic shop NOT Found'); FreeBitMap(door);
end;
end;
//-------------------------------------------------------------------------//
Function walktoaubury : boolean;
var
c : integer;
begin
If(Not(findsymbol(x,y, 'bank')))then Atbank;
begin
mouse(665,130,4,3,true) wait(8000+random(2000));
while(WaitTillFlag)do walkingrandoms; flag;
end;
magicshopfloorsetup;
repeat
ClickProgressiveTolMM(magicthingy, 25)
If(flag)then;
begin
result:= true;
flag;
end;
if not result then
c:= c+1;
until(result)or(c>15)
end;
//-------------------------------------------------------------------------//
Function findandtalk : boolean;
var
auburyc : array[1..4] of Integer;
tol, i : integer;
begin
auburyc[1]:= 1888494;
auburyc[2]:= 5330775;
auburyc[3]:= 12171971;
auburyc[4]:= 12500678;
i:=random(4)+1;
repeat
repeat
If FindObj(x, y, 'Aubury', auburyc[i], tol) then
begin
mouse(x,y,5,5,false)
wait(250+random(100+random(100)))
result:= true;
end;
if not result then
tol:= tol+1;
walkingrandoms;
if(tol>50)then tol:=0; if(tol=0)then i:= random(4)+1;
until result;
If(ChooseOption(x, y, 'eleport'))then
begin
flag;
wait(4000+random(2000))
while(not(findcolorspiraltolerance(x,y,10855856,56 1,4,719,167,14)))do
Mmouse(Random(MSX2), Random(MSY2), 10, 10);
end;
until(findcolorspiraltolerance(x,y,10855856,561,4, 719,167,14))
end;
//-------------------------------------------------------------------------//
function detectroom2 : boolean;
var
tol : integer;
begin
tol:= 10;
repeat
if(findcolorspiraltolerance(x,y,10461355,561,4,719 ,167,tol))then
begin
mouse(x,y,4,3,true);
WaitTillFlag;
flag;
result:= true;
end;
If not result then tol:= tol+1; wait(50)
until(result)
writeln('We have been teleported to the middle-room')
end;
//-------------------------------------------------------------------------//
function detectrooms : boolean;
begin
if(findbitmaptolerancein(arrow, x, y, 543, 3, 760, 165, 50))then
begin
writeln('We have been teleported succesfully')
result:=true;
end;
If not result then
detectroom2;
end;
//-------------------------------------------------------------------------//
Function backtoshop : boolean;
var
tol : integer;
begin
repeat
if(findbitmaptolerancein(arrow,x,y,543,3,760,165,t ol))then
begin
result:= true; mouse(x,y,5,5,true)
flag;
end;
If not result then
tol:= tol+1; wait(25);
until(result)
begin
repeat
if (FindObj(x, y, 'ortal', 10072760, 10))then
begin
result:= true; Mouse(x,y,3,2,true)
flag;
end;
until(result)
repeat
wait(1500+random(500))
until(not(findcolorspiral(x , y, 0 ,185, 125, 385, 230)and
not(findcolorspiral(x , y, 16777215 ,185, 125, 385, 230))))
end;
end;
//-------------------------------------------------------------------------//
procedure backtobank;
var
i : integer;
begin
mouse(677,56,4,3,true)
flag;
begin
wait(100+random(1000))
AtBank if(EBankColor>0) then ClickProgressiveTolMM(EBankColor, 25) else
begin GetSymbolColor(x , y , 'bank'); mouse(x,y,1,1,true) end;
flag;
repeat
If (not(Loggedin)) then break;
OpenBank3;
If(BankScreen)Then
Begin
Wait(Random(1000)+2000);
FixBank;
Deposit(2,28,2); wait(500)
End;
until(BankScreen or (TimeFromMark(Mark)>60000));
closebank;
end;
mined:= mined + 27;
timestalked:= timestalked + 1;
exp:= exp + 135;
i:= i + 1;
end;
//-------------------------------------------------------------------------//
procedure PlayerStats;
var Active: string;
var i: Integer;
begin
WriteLn(' ');
WriteLn(' ');
WriteLn(' ');
writeln('***************************************** *****');
writeln('Name : '+ Players[CurrentPlayer].Name);
writeln('Number : '+inttostr(CurrentPlayer));
writeln('Mining Level : '+ inttostr(Players[CurrentPlayer].level[15]));
writeln('Worked for : '+IntToStr(Players[CurrentPlayer].Worked)+' minutes.');
if Players[CurrentPlayer].Active=True then Active:='True' else Active:='False';
writeln('Active : '+ Active);
writeln('Location : '+ Players[CurrentPlayer].loc);
writeln('***************************************** *****');
for i := 0 to HowManyPlayers-1 do
begin
if Players[i].Active=True then Active:='True' else Active:='False';
writeln( (inttostr(i))+' : '+Players[i].name+ ' = '+Active+
'.- Lvl : '+inttostr(Players[i].level[15])+
'.- B :'+inttostr(Players[i].Banked)+' Times.'+
'.- A: '+IntToStr(Players[i].Worked)+' mins.'+
'.- Loc: '+Players[i].loc);
end
writeln('***************************************** *****');
end;
//-------------------------------------------------------------------------//
procedure loadbitmaps;
begin
teleport := BitmapFromString(10, 15, 'z78DA3330182CC00D0720' +
'5E1731E2C3492FB5C28AD4D8192A7A870A00000D1EB9C5');
teleportbackup := BitmapFromString(29, 17, 'z78DA33301805A3' +
'60700137208091A3AE1D58D722AB27462FF1EA8951499E69B 4162' +
'7D50D03EB5ACA53C2A86BE9E35A5AE732525D325A328FBA76 78B8' +
'76A80000F0D74AB7');
play := BitmapFromString(8, 12, 'z78DA33302007B8110170A927D' +
'57C5AAB2746EF60763F2DE28B780000AAE17B79');
clickhere := BitmapFromString(10, 16, 'z78DA3330185EC0CD8D1' +
'CF5A4EAA2C4C6C1A31793A4C45E624C187E7A2989056A0000 A02B' +
'B79D');
arrow := BitmapFromString(4, 2, 'C5BAC9C5BAC9C5BAC9C5BAC9E2' +
'6225E26225E26225E26225');
end;
//-------------------------------------------------------------------------//
Function minethatess(var Mx, My : integer; x1, y1, x2, y2, tol : integer) : boolean;
var
a, c : integer;
mined : boolean;
Begin
If(FindObj(x, y, 'ine', 10395306, tol))Then
begin
wait(100+random(100))
mouse(x,y,0,0,true)
Mx:= x;
My:= y;
Result:= true;
customcolor:= getcolor(x,y);
End;
If Not Result Then
Repeat
wait(500+random(500))
c:= c + 1;
If(FindObj(x, y, 'ine', 10395306, C)) Then
Begin
wait(100+random(100))
mouse(x,y,0,0,true)
Mx:= x;
My:= y;
result:= true;
customcolor:= getcolor(x,y);
End;
RandomEssFinding;
Until Result or (c = tol * 5)
Case Random(10) of
1 : WalkingRandomactivitys
2 : solemnrandoms;
3 : ;
4 : ;
5 : ;
End;
Case Random(15) of
1 : ;
2 : ;
3 : ;
4 : ;
5 : ;
End;
If Result Then Begin
mined:= true;
Repeat
Wait(500+random(250))
Mmouse(Random(MSX2), Random(MSY2), 10, 10);
Until(Not(flag));
wait(2000)
MarkTime(Mark);
Repeat
If(Not (Loggedin) or (WeAreDead)) Then break;
solemnrandoms;
WWait(1000+Random(1000));
Case Random(500) of
0 : antiban;
1 : Hoverskill('mining', false);
2 : wait(1000+random(1000));
3 : Gametab(2);
4 : RandomChat;
5 : SendArrowSilentWait( ((Random(2) * 2) + 1), 1000 + Random(200));
6 : SendArrowSilentWait( ((Random(2) * 2) + 1), 200 + Random(200));
7 : SendArrowSilentWait( ((Random(2) * 2)), 200 + Random(200));
8 : SendArrowSilentWait( ((Random(2) * 2) + 1), 20 + Random(20));
9 : SendArrowSilentWait( ((Random(2) * 2)), 20 + Random(20));
10 : SendArrowSilentWait( ((Random(2) * 2)), 1000 + Random(200));
11: Hoverskill('runecrafting', false);
End;
solemnrandoms;
A:= A + 1;
If(FindObj(x, y, 'ine', 10395306, C)) Then mouse(x,y,0,0,true)
CountPlayers;
If(playersA>pammount)then begin logout;
WorldSelectionMenu;
RandomSelectWorld;
end;
If (Not (Loggedin) or (TimeFromMark(Mark) > 1000000)) Then break;
until(A=20)or(inventoryfull)
End;
End;
//-------------------------------------------------------------------------//
begin
setupsrl;
setupsrlmining;
DeclarePlayers;
CurrentPlayer:= StartPlayer;
activateclient;
if(not(LoggedIn))then
LoginPlayer;
if(LoggedIn)then
NickNameBMP := CreateBitmapMaskFromText(Players[CurrentPlayer].Nick, UpChars);
loadbitmaps;
FindPickHeadColor;
SetChat('on', 1);
SetChat('Off', 2);
SetChat('Off', 3);
repeat
repeat
walktoaubury;
findandtalk;
minethatess(x, y ,msx1, msy1, msx2, msy2, 1);
backtoshop;
backtobank;
PlayerStats
trips:= trips+1;
Writeln('Mined '+inttostr(mined)+' rune essence')
until(trips=tripstodo)
begin
repeat
Wait(1000);
FindnormalRandoms;
until(not(LoggedIn));
NextPlayer(True);
end;
if (not(Loggedin)) then NextPlayer(False);
loginplayer;
FindPickHeadColor;
until(false);
end.
and the error i get is
Line 159: [ERROR] (15491:1) Unknown Identifier 'FindNewBox' In Script
Any Help Will Be Great Thanks![]()










