• Log in or sign up for an account here: https://www.sythe.org/login

i need help on 2 ess mining scripts!

  • Thread starter Thread starter gr1m
  • Start date Start date
G

gr1m

Guest
can anyone help me? i tryed to use pentti's ess miner becasue i like how if people talk to u it responds back, but it dosnt work. and i would like this one that i know works to be able to talk like the pentti's. so can some one put the code in there for me? becuase i cant figure it out. i was trying forever.

i need to have the talking capabilitys on the first one, onto the second one.

basicly take the code that talks back to people on the first one and put it onto the second one!

Code:
Pentti's script!

{Start at Varrock East bank. SetUp Player, and GO!}
 
program EssenceMiner;
{.include srl/srl.scar}
{.include srl/srl/extended/xmapwalk.scar}
{.include srl/srl/skill/mining.scar}

var mined,banked,MiningWaitTime:integer;
    MagicShop,transportation:integer;
    RockColor,CloseBank01,TP,MS:integer;
    LoggingOutMark,LogsO:Integer;
    TotEss,TotalEss:integer;
    Trip,TotRun:integer;
    Teleported:Boolean;
    OutEss:Boolean;
    TotRunStr:string;
    Location:String;
    TotEssStr:string;
    What:string;
    RCol:string;
    const
{______________________________________}
{////////////////////\\\\\\\\\\\\\\\\\\}
{///-------Answering-Set-Up----------\\}
{////////////////////\\\\\\\\\\\\\\\\\\}
    Answer1='bank';  //Text for answer of BankRuns
    Answer2='esse';  //Text for answer of Mined essences
    Answer3='logs';  //Text for answer of Logs out
    Answer4='loca';  //Text for answer of location
    Answer5='goin';  //Text for answer of happening
    Answer6='hello';
    Answer7='tote';  //Text for answer of total essences
    Answer8='totb';  //Text for answer of total banks
    Answer9='help';  //sends to you all commands what is used for answering
    
OtherPlayer='';//If Other player who to answer (Remember real font size, first letter with big font)
    
                 {______________________________________}
                 {////////////////////\\\\\\\\\\\\\\\\\\}
                 {///--------------SET-UP-------------\\}
                 {////////////////////\\\\\\\\\\\\\\\\\\}
BankRuns=        {//Make} 12 {Bank runs}             {\\}                                                                                                                             ;
EveryXMinutes=   {//Log out every} 15 {minutes}      {\\}                                                                                                                             ;
ForXMinutes=     {//Stay logged out for} 2 {minutes} {\\}                                                                                                                       ;
                 {////////////////////\\\\\\\\\\\\\\\\\\}
                 
                     
procedure declareplayers;
  begin
  HowManyPlayers:=1;
  NumberOfPlayers(HowManyPlayers);
  CurrentPlayer:=0;
                    {______________________________________}
                    {////////////////////\\\\\\\\\\\\\\\\\\}
                    {///----------PLAYER-SET-UP----------\\}
                    {////////////////////\\\\\\\\\\\\\\\\\\}
Players[0].Name:=   {//Player Name     =}''                                                                                                                                  ;
Players[0].Pass:=   {//Player Password =}''                                                                                                                                       ;
Players[0].Nick:=   {//Player Nickname =}'' //(Remember real font size, first letter with big font)                                                                                                                                ;
                    {////////////////////\\\\\\\\\\\\\\\\\\}
                                        end;

function GoingOn(What:string):boolean;
begin
clearreport;
writeln(What+' ('+TheTime+')')
status(What+' ('+TheTime+')')
addtoreport(what+' ('+theTime+')')
What:=What
end;

function Answer(FromCommand,WithCommand,ToPlayer:string):boolean;
var a:string;
    NameBmp:integer;
begin
wait(20)
a:=Lowercase(Trim(GetTextAtEx(84, 415, 45, SmallChars, False, False, 0, 2, 128, 40, True, tr_NormalChars)))
if(pos(a,FromCommand)<>0)
then begin
writeln('Found a command: '+FromCommand)
GameTab(8)
NameBmp:=CreateBitMapMaskFromText(ToPlayer,SmallChars)
if(findbitmapin(NameBmp,x,y,490,185,750,483))
then begin
writeln('Answered to '+ToPlayer)
Mouse(x+5,y+3,1,1,true)
wait(500)
Mouse(330,455,5,5,true)
TypeSend(WithCommand)
writeln('With command: '+withcommand)
end;
 end;
  end;

procedure SetAtScriptBrightness;
begin
GameTab(11)
if(not(getcolor(715,230)=2635069))
then begin
goingon('Setting right brightness for script')
Mouse(715,230,1,1,true)
wait(500)
end;
 end;
 
procedure Answers;
begin
if(otherplayer='')
then begin
exit;
end;
Answer(Answer1,'I have mined '+inttostr(mined)+' essences now.',OtherPlayer)
//Text for answer of BankRuns

Answer(Answer2,'I have banked '+inttostr(banked)+' times now.',OtherPlayer)
//Text for answer of Mined essences

Answer(Answer3,inttostr(LogsO)+' times logged out.',OtherPlayer)
//Text for answer of Logs out

Answer(Answer4,'Im in the'+Location,OtherPlayer)
//Text for answer of Location

Answer(Answer5,'Im doing now: '+What,OtherPlayer)
//Text for answer of happening

Answer(Answer6,'Hi! :)',OtherPlayer)

Answer(Answer7,'Total essences mined: '+TotEssStr,OtherPlayer)
//Text for answer of total essences mined

Answer(Answer8,'Total times banked: '+TotrunStr,OtherPlayer)
//Text for answer of total bank times

answer(Answer9,'Used commands are: '+Answer1+','+Answer2+','+Answer3+','+Answer4+','+Answer5+','+Answer6+','+Answer7+','+Answer8+','+Answer9,OtherPlayer)
//Text for answer of used commands
end;


{LogOutEvery2 based From SRL, made it to log out for every X MINUTES}
procedure LogOutEvery2(Minutes, ForXMins: integer);
var LogsO:integer;
begin
  if ((TimeFromMark(LogOutMark) / 1000) / 60 >= Minutes) then
  begin
    MarkTime(Loggingoutmark);
      LogOut;
      goingon('Logged out, coming back soon')
      LogsO:=LogsO+1
      goingon('Logged out for ' + inttoStr(forxmins) + 'min(s)')
    goingon('Logging out and coming back in about ' + IntToStr(forxmins) + ' min(s)');
    repeat
      Mmouse(5, 5,1,1)
        Wait(30000 + Random(1000));
      Wait(15 + Random(15) + Random(15))
    until (TimeFromMark(Loggingoutmark) >= forxmins);
    Wait(Random(10000) + Random(5000));
    LoginPlayer;
    Wait(Random(5000) + Random(2500));
  end;
end;

procedure TalkingToMeTXT;
begin
 Case Random(10)+1 of
  1: TypeSend('Right...'+chr(13))
  2: TypeSend('What?'+chr(13))
  3: TypeSend('Sorry, i dont understand.'+chr(13))
  4: TypeSend('What do yuo want?'+chr(13))
  5: TypeSend('I have no time'+chr(13))
  6: TypeSend('I dont like you'+chr(13))
  7: TypeSend('You are getting my nervous'+chr(13))
  8: TypeSend('is it possible to be quit for 2 minutes?'+chr(13))
  9: TypeSend('yes? I am.'+chr(13))
 10: TypeSend('No, you again.'+chr(13))
 End;
 end;

 procedure TalkingToMe;
var CUAM:integer;
 begin
 If(not(FindBitmapMaskTolerance(NickNameBmp, x, y, 0, 24, 517, 338, 0, 40))) then begin
 wait(random(10))
 Exit; end;
If(FindBitmapMaskTolerance(NickNameBmp, x, y, 0, 24, 517, 338, 0, 40)) then
begin
TalkingToMeTxt;
CUAM:=CUAM+1
Writeln('Your Name has spotted on the screen '+
'and you  answered.')
if(CUAM>3) then begin
TypeSend('Nice to talk, but now gtg. See you! :)')
LogOut;
Wait(20000+random(15000))
LogInPlayer;
CUAM:=0
end;
end;
wait(500)
end;

procedure SayLevel(Skill:string);
var LVLBmp,Lvl:integer;
 begin
  LvlBmp:=createbitmapmaskfromtext(skill,upchars)
If(FindBitmapMaskTolerance(LvlBmp, x, y, 0, 0, 516, 338, 0, 40))then
begin
Lvl:=GetSkillLevel(Skill)
TypeSend('My '+Skill+' Level is '+inttostr(Lvl)+chr(13))
goingon('Someone asked your '+Skill+' level. You answered.')
end;
end;

function InShop:boolean;
begin
if(findsymbol(x,y,'magic shop')=true)
then begin
GoingOn('In shop')
Location:='In Shop'+inttostr(ScriptTime(2))
result:=true;
end;
 end;

function AtBank:boolean;
begin
if(findsymbol(x,y,'bank')=true)
then begin
GoingOn('At bank')
Location:='At bank'+inttostr(ScriptTime(2))
Result:=True;
end;
 end;

function AtEss:boolean;
begin
if(findsymbol(x,y,'transportation')=true)
then begin
Goingon('At essences')
Location:='At essences '+inttostr(ScriptTime(2))
result:=true;
end;
 end;

   procedure NotFindEss;
   begin
   goingon('Couldnt find object, rotating screen and trying again')
   case random(9) of
   0:
    begin
     KeyDown(VK_Left)
     wait(750)
     KEyUp(VK_Left)
     end;
  1:
   begin
     KeyDown(VK_Right)
     wait(750)
     KEyUp(VK_Right)
     end;
   2:
   begin
     KeyDown(VK_Up)
     wait(750)
     KEyUp(VK_Up)
     end;
   3:
   begin
     KeyDown(VK_Down)
     wait(750)
     KEyUp(VK_Down)
     end;
   4:
   begin
   HighestAngle;
   end;
   5:
   begin
   MakeCompass('N')
   end;
   6:
   begin
   MakeCompass('E')
   end;
   7:
   begin
   MakeCompass('S')
   end;
   8:
   begin
   MakeCompass('W')
   end;
  end;
    end;

procedure checkbankcolor;
var c : integer;
begin
c:=0
      repeat
           BankColor:= GetSymbolColor(x,y, 'bank');
           c:= c+1;
           wait(140+random(20))
           writeln('Taken '+inttostr(c)+'/20 tries to find bank')
       until(bankcolor>0)or(c>19)

       if(c>19)then
       begin
       c:=0
          GoingOn('Cant find BankSymbol');
          Goingon('Logging out and coming back')
          LogOut;
          wait(200)
          LogInPlayer;
          wait(200+random(500))
          checkbankcolor;
      end;
      writeln('Bank color: '+inttostr(BankColor))
end;

procedure Walkingways;
 begin
 case random(2) of
 0: begin mouse(681+random(4)-random(4),102+random(4)-random(4),2,2,true)
   SetRun(true)
   MMouse(681,102,2,2)
   wait(200)
   flag;
   mouse(626+random(4)-random(4),118+random(4)-random(4),2,2,true)
   wait(200)
   flag;
    end;

1: begin mouse(612+random(4)-random(4),94+random(4)-random(4),2,2,true)
   SetRun(true)
   MMouse(681,102,2,2)
   wait(400)
   flag;
   mouse(653+random(4)-random(4),120+random(4)-random(4),2,2,true)
   wait(300)
   flag;
   end;
    end;
     end;

procedure walkToAubury;
begin
Goingon('Walking to magic shop')
 Walkingways;
 end;

 procedure Toshop;
 begin
   MS:=0
   TP:=0
   MagicShop:=0
   Transportation:=0
 Goingon('Finding shop')
        repeat
       MagicShop:=GetSymbolColor(x,y,'magic shop')
       wait(50)
       MS:=MS +1
       writeln('Taken '+inttostr(MS)+'/6 tries to find Magic shop symbol')
       until(MS=6)or (MagicShop>0)
       MS:=0
       if(MagicShop>0)then begin
       Mouse(x+random(2)-random(2),y+9,2,2,true)
       Goingon('Found Magic shop')
       end;
       if(MagicShop=0) then begin
                      writeln(' ')
                   repeat
                   Transportation:=GetSymbolColor(x,y,'transportation')
                   wait(50)
                   TP:=TP +1
                   writeln('Taken '+inttostr(TP)+'/6 tries to find Transportation symbol')
                  until(TP=6)or(Transportation>0)
                  TP:=0
                  writeln('')
                  Goingon('Found magic shop')
                  Mouse(x+random(2)-random(2),y+9,2,2,true)
                   end;
         if(MagicShop=0)and(Transportation=0)
         then begin
         logout;
         loginplayer;
         ToShop;
         end;
    wait(200)
   flag;
   wait(1000)
   MS:=0
   TP:=0
   MagicShop:=0
   Transportation:=0
   end;

procedure ToRocks;
begin
if(Teleported=True)
then begin
Teleported:=True;
Exit;
end;
Teleported:=False
Goingon('Finding Aubury')
mousespeed:=4
FindObj(x,y,'Aubu',12568519,7)
wait(50)
Mouse(x+random(1)-random(1),y+random(1)-random(1),2,2,false)
if(not(ClickOption('Tele',1)))then begin
wait(100)
Clickoption('Cancel',1)
wait(100)
if(Teleported=True)
then begin
Exit;
end;
notfindess;
if((InShop)=false)
then begin
exit;
end;
ToRocks;
end;
mousespeed:=7
ClickOption('Tele',1)
wait(200)
if(inchat('reach'))
then begin
ToRocks;
end;
Teleported:=True;
flag;
wait(5000+random(1000))
makecompass('n')
end;

procedure Roomways;
begin
 case random(4) of

 0: begin
      repeat
      goingon('Walking to S-W room')
 mouse(625+random(10)-random(10),100+random(10)-random(10),6,6,true)
 wait(3000)
 flag;
 until(findsymbol(x,y,'arrow'))
 Mouse(x+10,y,2,2,true)
 wait(200)
 flag;
 Location:='S-W room'+inttostr(ScriptTime(2))
     end;

 1: begin
 goingon('Walking to N-W room')
      repeat
 mouse(667+random(10)-random(10),60+random(10)-random(10),6,6,true)
 wait(3000)
 flag;
 until(findsymbol(x,y,'arrow'))
 Mouse(x-20,y+12,2,2,true)
 wait(200)
 flag;
  Location:='N-W room'+inttostr(ScriptTime(2))
       end;

 2: begin
 Goingon('Walking to S-E room')
       repeat
 mouse(670+random(10)-random(10),110+random(10)-random(10),6,6,true)
 wait(3000)
 flag;
 until(findsymbol(x,y,'arrow'))
 Mouse(x-15,y,2,2,true)
 wait(200)
 flag;
  Location:='S-E room'+inttostr(ScriptTime(2))
       end;

 3: begin
 Goingon('Walking to N-E room')
       repeat
 mouse(624+random(10)-random(10),60+random(10)-random(10),6,6,true)
 wait(3000)
 flag;
 until(findsymbol(x,y,'arrow'))
 Mouse(x+20,y+5,2,2,true)
 wait(200)
 flag;
  Location:='N-E room'+inttostr(ScriptTime(2))
       end;
 end;
  end;

function MiddleRoom:Boolean;
begin
if((AtEss)=false)
 then begin
 result:=true;
 writeln('You are in middle room')
roomways;
 end;
 end;

 procedure WhatRoom;
 begin
  if(FindSymbol(x,y,'Anvil'))then
 begin
 TelePorted:=False;
   ToShop;
 ToRocks;
 WhatRoom;
 end;
 goingon('What room is this?')
  if(FindSymbol(x,y,'arrow'))
  then begin
  goingon('This is not middle room')
  exit;
  end;
  if(not(FindSymbol(x,y,'arrow')))
  then begin
  MiddleRoom;
  end;
   end;


   procedure Randoms;
begin
findnormalrandoms;
wait(10)
solvepinball;
wait(200)
findtalk;
wait(10)
SayLevel('Mining')
wait(10)
clicktocontinue;
wait(10)
answers;
wait(10)
findname;
wait(10)
antiban;
GhostSpeak('Mining')
RandomChatEvery(4)
{BoredEvery(7)}
HoverEvery(6+random(2),'Mining')
FindLamp('Mining')
wait(10)
answers;
wait(10)
SayLevel('Magic')
wait(10)
wait(10)
FindPick;

if(findfight)then begin
goingon('Fight found, running away...')
RunAwayDirection('N')
wait(10000)
runback;
end;
if(findnewbox)then begin
Logout;
Goingon('Found a new box, logged out')
terminatescript;
end;
SRLRandomsReport;
clicktocontinue;
end;

procedure whilemining;
begin
Randoms;
wait(20)
TalkingToMe;
wait(30)
Answers;
wait(10)
end;

procedure GetRockColor;
begin
writeln('')
 if((AtEss)=false)
 then begin
 ToRocks;
 WhatRoom;
end;
Goingon('Getting new rock color')
if(Rcol='')
then begin
Rcol:='8487563'
end;
RCol:=LoadSetting('Pentti','RColor')
if(Rcol='')
then begin
Rcol:='8487563'
end;
Goingon('Old rock color: '+Rcol)
if(Rcol='')
then begin
Rcol:='8487563'
end;
RockColor:=strtoint(Rcol)
if(RockColor=0)then begin
RockColor:=8487563
end;
if(FindObj(x,y,'Esse',RockColor,10))
then begin
getmousepos(x,y)
MMouse(x,y,0,0)
 if(not(isuptext('Esse')))
 then begin
 notfindess;
 GetRockColor;
end;
 if(isuptext('Esse'))
 then begin
 getmousepos(x,y)
 RockColor:=getcolor(x,y)
  if(RockColor=65535)or(RockColor=0)
  then begin
  notfindess;
  GetRockColor;
 end;
end;
end;
makeCompass('n')
  writeln('Got new rock color: '+inttostr(RockColor))
  writeln('')
  SaveSetting('Pentti','RColor',inttostr(Rockcolor))
end;

procedure MineClick;
begin
  case random(2) of
0:  begin
    MMouse(x,y,1,1)
    if(not(isuptext('Esse')))
    then begin
    MineClick;
    end;
  if(IsUpText('Esse'))
  then begin
     mouse(x+random(1)-random(1),y+random(1)-random(1),2,2,true)
     flag;
     wait(200)
     end;
    end;

1:  begin
    mouse(x+random(1)-random(1),y+random(1)-random(1),2,2,false)
    wait(200)
    if(not(clickoption('ine',1)))
    then begin
    MMouse(10,10,1,1)
    wait(200)
    MineClick;
    end;
    Clickoption('ine',1)
    wait(200)
    flag;
    end;
    end;
    end;

 procedure Mine;
 begin
 repeat
 if(FindObj(x,y,'Esse',rockcolor,10))
  then begin
 wait(200)
 getmousepos(x,y)
 MineClick;
 wait(1000)
 Goingon('Mining')
 MarkTime(MiningWaitTime)
 repeat
 wait(1000)
  whilemining;
 until((TimeFrommark(MiningWaitTime)/1000)>25)or(invfull)
 or(not(loggedin))
 if(not(invfull))
 then begin
 Mine;
  end;
 end;
 notfindess;
  until(invfull)
    end;


 procedure BackShop;
 begin
 if(OutEss=True)
 then begin
 exit;
 end;
 OutEss:=False;
 Goingon('Going back to magic shop')
 SetRun(true)
   repeat
 wait(200)
 FindSymbol(x,y,'arrow')
 until(FindSymbol(x,y,'arrow'))
 mouse(x+4+random(2)-random(2),y+7+random(2)-random(2),2,2,true)
 wait(300)
 flag;
 wait(200)
 MMouse(450+random(50),100+random(25),2,2)
 if(FindObj(x,y,'orta',10010307,7))then begin
 wait(200)
 mouse(x,y,2,2,false)
 wait(1000)
 if(not(Clickoption('Use',1)))then begin
 OutEss:=False;
 BackShop;
 end;
 if(ClickOption('Use',1))then
 begin
 wait(300)
 flag;
 OutEss:=True;
 wait(3500)
 end;
 end;
 wait(1000)
 end;

 procedure BankWays;
  begin
    if(TotEssStr='')
   then begin
   TotEssStr:='1'
    end;
  TotEssStr:=LoadSetting('Pentti','TotalEssences')
  if(TotEssStr='')
   then begin
   TotEssStr:='1'
    end;
  Mined:=Mined +28
  writeln('M'+inttostr(Mined))
  ReportVars[1] := Mined;
  TotalEss:=strtoint(TotEssStr)
  if(TotalEss=0)
  then begin
  TotalEss:=1
  end;
  case random(2) of

0:begin
 mouse(662+random(2)-random(2),39+random(2)-random(2),2,2,true)
 wait(1500)
 Flag;
 wait(1500)
 flag;
 checkbankcolor;
 wait(10)
 Mouse(x+3,y+6,2,2,true)
 wait(500)
 flag;
  end;

1:begin
 mouse(610+random(2)-random(2),50+random(2)-random(2),2,2,true)
 wait(500)
 Flag;
 wait(100)
 mouse(653+random(2)-random(2),55+random(2)-random(2),2,2,true)
 wait(500)
 flag;
 checkbankcolor;
 wait(200)
 Mouse(x+3,y+6,2,2,true)
 wait(500)
 flag;
 end;
  end;
   end;

 procedure ToBank;
 begin
 Goingon('Walking to bank')
 MakeCompass('N')
 bankways;
 end;

 procedure BankEss;
 begin
 MakeCompass('S')
  openbank3;
  wait(50+random(50))
  fixbank;
  fixbank;
  wait(50+random(50))
  Goingon('banking all rune essences')
  deposit(2,28,2);
  deposit(2,28,2);
  if(TotRunStr='')
   then begin
   TotRunStr:='1'
    end;
  TotRunStr:=LoadSetting('Pentti','TotalRuns')
  if(TotRunStr='')
   then begin
   TotRunStr:='1'
    end;
  TotRun:=strtoint(TotRunStr)
  if(TotRun=0)
  then begin
  TotRun:=1
  end;
  TotRun:=TotRun+1
  SaveSetting('Pentti','TotalRuns',inttostr(TotRun))
  banked:=banked+1
  writeln('B'+inttostr(banked))
  ReportVars[0] := Banked;
  wait(1050+random(50))
     repeat
  findbitmap(CloseBank01,x,y)
  wait(1000)
  movemousesmooth(x+7,y+7)
  wait(500)
  mouse(x+7,y+7,4,4,true)
  wait(200)
    until(not(findbitmap(CloseBank01,x,y)))
  wait(1000)
  Makecompass('N')
  wait(500+random(50))
  end;

  procedure Report;
  begin
  TotEssstr:=LoadSetting('Pentti','TotalEssences')
  TotRunStr:=LoadSetting('Pentti','TotalRuns')
  cleardebug;
  writeln(' _____________________________________ ')
  writeln('|Essence miner by: Pentti (Report->)  |')
  writeln('|_____________________________________|')
  writeln('| '+inttostr(Banked)+' Banking runs by one script run. |')
  writeln('| Mined '+inttostr(Mined)+' essences by one script run  |')
  writeln('| Script has worked for '+inttostr(ScriptTime(2))+' minutes.   |')
  writeln('| Logged out '+inttostr(LogsO)+' times                  |')
  writeln('| Total essences mined: '+TotEssstr+'           |')
  writeln('| Total bank runs: '+Totrunstr+'                  |')
  writeln('|_____________________________________|')
  end;

  procedure LoadBitMaps;
  begin
  CloseBank01 := BitmapFromString(19, 20, 'z78DAC594411283200C4' +
       '5AF244908B29452EE7FA45A7F17CC88347464EAE28D03212F8824' +
       'E6E8C223826E152D33B86A48BA86459D6872DB1AE33C63EDF2C51' +
       '37F76879179F45132472F1239A092D946798A670661D4E4B370CD' +
       'E5FD38F03C3B1A3F6AEC7B2D91B51127FB5B367B550DA3F820EE8' +
       'AE7CC0D5737C3A8B1EFB5ACDDFFD14205B41BCF5EFB2A614E9440' +
       '187137FBBCDAA365EDA8D1728E76E3DE6FF6966077D967BF18D18' +
       '52A36B29D62EC91A3C62B973DBE613C7AEC3CF2C6440AFEC1C8AA' +
       '5EA61B8532118C18C117AE2BB98D878B12A9CB78B7DCB57BF902E' +
       '139DD87');

       end;
       
   const Skip=false;

begin
SetUpSRL;
SetUpSRLMining;
ScriptID:='44'
cleardebug;
clearreport;
Report;
teleported:=False;
wait(3000)
clearreport;
cleardebug;
if(Skip=False) then begin
writeln('Going to make '+inttostr(bankRuns)+' bank runs.')
writeln('Logging out after '+inttostr(EveryXMinutes)+' minutes')
writeln('For '+inttostr(ForXMinutes)+' minutes')
wait(3500)
clearreport;
cleardebug;
Writeln('Essence miner     Loading.')
wait(160)
cleardebug
Writeln('Essence miner     Loading..')
wait(190)
cleardebug;
Writeln('Essence miner     Loading...')
wait(250)
cleardebug;
Writeln('Essence miner     Loading....')
wait(250)
cleardebug
Writeln('Essence miner     Loading...')
wait(190)
cleardebug;
Writeln('Essence miner     Loading..')
wait(160)
cleardebug;
Writeln('Essence miner     Loading.')
wait(1000)
end;
cleardebug;
disguisescar('Corey')
SymbolAccuracy:=0.8
mousespeed:= 7
Benmouse:=true
LoadBitMaps;
LoadGhostSpeakWords('Mining')
declareplayers;
if(Players[0].Name='')
then begin
writeln('[Line 53 missing playername] You must write your PLAYERNAME to start script')
terminatescript;
end;
if(Players[0].Pass='')
then begin
writeln('[Line 54 missing player password] You must write your PASSWORD to start script')
terminatescript;
end;
if(Players[0].Nick='')
then begin
writeln('[Line 55 missing player nickname] You must write your NICKNAME to start script')
terminatescript;
end;
NickNameBmp:=Createbitmapmaskfromtext(Players[0].Nick,Upchars)
Activateclient;
wait(1000)
if(not(loggedin))then loginplayer;
FindpickHeadColor;
if(hc1=0)or(hc2=0)or(hc3=0)or(hc4=0)
then begin
writeln('You must have pickaxe to run with this')
logout;
writeln('Logged out; [No pickaxe]')
terminatescript;
end;
repeat
Trip:=trip+1
writeln('Starting trip number '+inttostr(trip)+'.')
MakeCompass('N')
highestangle;
SetChat('on',1)
setchat('friends',2)
setchat('off',3)
teleported:=False;
SetAtScriptBrightness
walkToAubury;
toshop;
ToRocks;
OutEss:=False;
if(TelePorted=False)
then begin
ToShop;
ToRocks;
end;
WhatRoom;
getrockcolor;
mine;
TotalEss:=TotalEss+28
SaveSetting('Pentti','TotalEssences',inttostr(TotalEss))
Goingon('Inventory full')
writeln(inttostr(totaless))
mousespeed:=7
makecompass('n')
highestangle;
BackShop;
Tobank;
bankEss;
OutEss:=False;
LogOutEvery2(EveryXMinutes,ForXMinutes)
Report;
until(BankRuns=Banked)or(Scripttime(2)>240)
report;
SRLRandomsReport;
end.

Code:
Script i know that works!

program EssMiner;
{.include SRL/SRL.scar}
{.include SRL/SRL/Skill/Mining.scar}

{
"Stars, Hide your fires, Let not light see my black and deep desires.
The eye wink at the hand; Yet let that be, Which the eye fears when it
is done to see"
               Macbeth - Shakespeare

This script Mines and Banks Essence at the Varrock East Bank.
Position your character at the bank.

Setup:

IF YOU LOAD A NEW WORLD, LOGIN ONCE, THEN LOGOUT!

Now you can run The script.
It is totally autocolor, so there shouldn't be any problems,
as long as you log-in and -out once if you load a new world!

You need the globalstats Patch.
(Or just download the latest SRL with the patch)

}

Const
   StartPlayer = 0; // The Number of the player you wish to start with.
   NumberOfUsers = 6; // The Number of users you use.
   MinutesPerLoad = 5; // No need to change this.
   Loads = 10;    // I liked 10 as loads value.
   VersionNumber = '1.06';  // No need to change this.
   YourSRLDSTATSID   = '';  // Stats ID.  Optional.
   YourSRLDSTATSPASS = ''; // Stats Pass.  Optional.
   YourRCMASTER      = ''; // Remote Control Master.  Optional.

Var
   Position : String;
   EssencePoint : Array [0..4] Of TPoint;
   MiningMark, Abyss, NOAbyss, AuburyText, RuneShopColor,
   RuneEssenceMined, PureEssenceMined, iMark, IdleMark: Integer;
   PortalBool : Boolean;

Procedure DeclarePlayers;

  Begin
     HowManyPlayers:= NumberOfUsers;
     NumberOfPlayers( HowManyPlayers );
     CurrentPlayer := StartPlayer;

     Players[0].Name :='';
     Players[0].Pass :='';
     Players[0].Nick :='';
     Players[0].Loc  :='Bank';
     Players[0].Active:=True;
     Players[0].Boolean1  := True;       // Is The Pick Equipped?

     Players[1].Name :='';
     Players[1].Pass :='';
     Players[1].Nick :='';
     Players[1].Loc  :='Bank';
     Players[1].Active:=True;
     Players[1].Boolean1  := True;       // Is The Pick Equipped?

     Players[2].Name :='';
     Players[2].Pass :='';
     Players[2].Nick :='';
     Players[2].Loc  :='Bank';
     Players[2].Active:=True;
     Players[2].Boolean1  := True;       // Is The Pick Equipped?

     Players[3].Name :='';
     Players[3].Pass :='';
     Players[3].Nick :='';
     Players[3].Loc  :='Bank';
     Players[3].Active:=True;
     Players[3].Boolean1  := True;       // Is The Pick Equipped?

     Players[4].Name :='';
     Players[4].Pass :='';
     Players[4].Nick :='';
     Players[4].Loc  :='Bank';
     Players[4].Active:=True;
     Players[4].Boolean1  := True;       // Is The Pick Equipped?

     Players[5].Name :='';
     Players[5].Pass :='';
     Players[5].Nick :='';
     Players[5].Loc  :='Bank';
     Players[5].Active:=True;
     Players[5].Boolean1  := True;       // Is The Pick Equipped?

     Writeln( IntToStr ( NumberOfUsers ) + ' Players' );
  End;

Function FindAuburyText: Boolean;  // FindTalk by Renax, but adepted.
var
  ExitCond, NoMoreYellow: Boolean;
  Yint, Xmin, diff, difflast, Xmax, XmidRec, Xmid: Integer;
  RawMenuText: string;
begin
  x := 0;
  y := 0;
  Xmid := 0;
  Xmin := 0;
  Xmax := 0;
  NoMoreYellow := False;
  if (FindColor(x, y, 65535, 10, 25, 511, 334)) and (not (FindColor(x, y, 65280, 220, 130, 290, 165))) then
  begin
    Result := False;
    if (not (FindBitmapMaskTolerance(AuburyText, x, y, 0, 0, 516, 338, 0, 40)))
      then
      Exit;
    if (FindColorSpiral(x, y, 65535, x - 10, y - 10, x + 10, y + 10)) then
    begin
      Wait(10);
      if (GetColor(x, y) = 65535) then
      begin
        WriteLn('Spotted aubury text');
        Wait(10);
        NoMoreYellow := False;
        Yint := 0;
        repeat
          Yint := Yint + 1;
          y := y + Yint;
          x := 0;
          repeat
            ExitCond := False;
            x := x + 1;
            Xmin := x;
            if (GetColor(x, y) = 65535) then
              ExitCond := True;
            if (x > 500) then
            begin
              x := 0;
              ExitCond := True;
              NoMoreYellow := True;
            end;
          until (ExitCond);
          ExitCond := False;
          x := 520;
          while (NoMoreYellow = False) and (ExitCond = False) do
          begin
            x := x - 1;
            Xmax := x;
            if (GetColor(x, y) = 65535) then
              ExitCond := True;
          end;
          diff := (Xmax - Xmin);
          if (diff > difflast) and (diff > 25) then
          begin
            XmidRec := ((diff / 2) + Xmin);
          end;
          difflast := diff;
        until (NoMoreYellow)
          x := XmidRec;
        MMouse(x, y + 6, 3, 0);
        Wait(100);
        if IsUpTextMulti('Talk', 'lk-to', 'to')  Then
        begin
          GetMousePos(x, y);
          Mouse(x, y + 6, 0, 0, False);
          if (ChooseOptionGetMenuText(RawMenuText, x, y, 'Teleport')) then
          begin
            WriteLn('Found Aubury')
            FFlag(1);
            Wait(1000 + Random(500))
            Result := True;
            Exit;
          end;
        end;
      end;
    end;
  end;
end;

Function AtMine: Boolean;

Var
  iX, iY: Integer;

Begin
  Result := FindColoredAreaTolerance(iX, iY, 0, MMX1, MMY1, MMX2, MMY2, 100, 0);
End;

Function ScanMiniMap(iFrom, iTo, Distance: Integer): Integer;

Var
   I, iX,iY: Integer;
Begin
  For I := iFrom To ITo Do
  Begin
    iX := Round(Distance * Sin(I * Pi / 180)) + 648;
    iY := Round(-Distance * Cos(I * Pi / 180)) + 80;
    If GetColor(iX, iY) = 0 Then
    Begin
      Result := Result + 1;
    End;
  End;
End;

Function InAbyss: Boolean;

Var
   A : Integer;

Begin
  A := ScanMiniMap(0, 359, 50);
  WriteLn('In Abyss gave '+IntToStr(A)+'.');
  If A = 360 Then
  Begin
    Result := True;
  End
End;

Function GuessAbyssRandom: Boolean;

Var
   AbyssalMark, iX, iY, I, ChosenColor, Tol, Tries: Integer;
   WeirdColors: Array [0..3] Of Integer;
   Operate: TPoint;
Begin
  WeirdColors[0] := 13751777;
  WeirdColors[1] := 4953873;
  WeirdColors[2] := 2509833;
  Repeat
    Case Random(4) Of
      0: Begin Operate.X := 252; Operate.Y := 150; End;
      1: Begin Operate.X := 278; Operate.Y := 170; End;
      2: Begin Operate.X := 238; Operate.Y := 200; End;
      3: Begin Operate.X := 215; Operate.Y := 166; End;
    End;

    For I := 0 To 2 Do
    Begin
      Tol := 0;
      Repeat
        Tol := Tol + 1;
        iX := MSCX;
        iY := MSCY;
        If FindColorSpiralTolerance(iX, iY, WeirdColors[I], MSX1, MSY1, MSX2, MSY2, Tol) Then
        Begin
          ChosenColor := WeirdColors[I];
          If (Distance (iX, iY, MSCX, MSCY) < 120) Then Break;
        End;
        If ChosenColor <> 0 Then Break;
      Until Tol > 9;
    End;

    If ChosenColor <> 0 Then
    Begin
      MMouse(iX, iY, 0, 0);
      Wait(10);
      If IsUpText('perate') Then
      Begin
        GetMousePos(iX, iY);
        Mouse(iX, iY, 0, 0, True);
      End;
    End;

    Wait(5000+Random(500));
    If Not InAbyss Then
    Begin
      Abyss := Abyss + 1;
      ReportVars[8] := ReportVars[8] + 1;
      Result := True;
      Wait(1000);
      ClickToContinue;
      SRLRandomsReport;
      Exit;
   End;
    Tries := Tries + 1;
    If TimeFromMark(AbyssalMark) > 60000 * 5 Then Break;
  Until Tries > 30;

   Tries := 0;
   If InAbyss Then
   Begin
    Repeat
      Case Random(4) Of
        0: Begin Operate.X := 252; Operate.Y := 150; End;
        1: Begin Operate.X := 278; Operate.Y := 170; End;
        2: Begin Operate.X := 238; Operate.Y := 200; End;
        3: Begin Operate.X := 215; Operate.Y := 166; End;
      End;
      iX := Operate.X;
      iY := Operate.Y;
      If FindColorSpiralTolerance(iX, iY, 3393, MSX1, MSY1, MSX2, MSY2, Tol)
      Or FindColorSpiralTolerance(iX, iY, 2040150, MSX1, MSY1, MSX2, MSY2, Tol) Then
      Begin
        If (Distance (iX, iY, MSCX, MSCY) < 80) Then
        Begin
          MMouse(iX, iY, 0, 0);
          Wait(10);
          If IsUpText('perate') Then
          Begin
            GetMousePos(iX, iY);
            Mouse(iX, iY, 0, 0, True);
            Wait(5000+ Random(500));
            If Not InAbyss Then
            Begin
              Abyss := Abyss + 1;
              ReportVars[8] := ReportVars[8] + 1;
              Result := True;
              ClickToContinue;
              SRLRandomsReport;
              Exit;
            End;
          End;
        End;
      End;
      Tries := Tries + 1;
      Tol := Tol + 2;
      If Tol > 20 Then Tol := 2;
    Until Tries > 50;
  End;
  LogOut;
  NOAbyss := NOAbyss + 1;
  ReportVars[9] := ReportVars[9] + 1;
  Players[CurrentPlayer].Loc := 'Abyss';
  SRLRandomsReport;
  WriteLn('Abyss Random Event.');
End;

Function GetPositionInMine: String;

Begin
  MakeCompass('N');
  If Not LoggedIn Then Exit;
  If Not FindSymbol(x, y, 'transportation') Then
  Begin
    Result := 'Middle';
    Exit;
  End;

  If ScanMiniMap(220, 240, 60) < 15 Then
  Begin
    Result := 'North-East';
    ReportVars[5] := ReportVars[5] + 1;
    EssencePoint[0].X := 340;
    EssencePoint[0].Y := 61;
    EssencePoint[1].X := 295;
    EssencePoint[1].Y := 50;
    EssencePoint[2].X := 395;
    EssencePoint[2].Y := 120;
    Exit;
  End;

  If ScanMiniMap(125,155, 60) < 20 Then
  Begin
    Result := 'North-West';
    ReportVars[6] := ReportVars[6] + 1;
    EssencePoint[0].X := 140;
    EssencePoint[0].Y := 115;
    EssencePoint[1].X := 18;
    EssencePoint[1].Y := 70;
    EssencePoint[2].X := 120;
    EssencePoint[2].Y := 150;
    Exit;
  End;

  If ScanMiniMap(290,330, 55) < 20 Then
  Begin
    Result := 'South-East';
    ReportVars[7] := ReportVars[7] + 1;
    EssencePoint[0].X := 350;
    EssencePoint[0].Y := 160;
    EssencePoint[1].X := 337;
    EssencePoint[1].Y := 210;
    EssencePoint[2].X := 362;
    EssencePoint[2].Y := 125;
    If (ScanMiniMap(140, 170, 55) <> 31) Then
      Exit;
  End;

  Result := 'South-West';
  ReportVars[2] := ReportVars[2] + 1;
  EssencePoint[0].X := 190;
  EssencePoint[0].Y := 60;
  EssencePoint[1].X := 146;
  EssencePoint[1].Y := 94;
  EssencePoint[2].X := 285;
  EssencePoint[2].Y := 54;

End;

Function GetMiddle:String;

Var
   Ex, Ey: Integer;
Begin
  If Not LoggedIn Then Exit;
  
  If ScanMiniMap(330, 380, 55) < 35 Then
  Begin
    Result := 'MiddleSW';
    ReportVars[4] := ReportVars[4] + 1;
    Ex := 605;
    Ey := 116;
    EssencePoint[0].X := 170;
    EssencePoint[0].Y := 240;
    EssencePoint[1].X := 190;
    EssencePoint[1].Y := 290;
    EssencePoint[2].X := 254;
    EssencePoint[2].Y := 274;
  End
  Else
  Begin
    Result := 'MiddleNE';
    ReportVars[3] := ReportVars[3] + 1;
    Ex := 690;
    Ey := 30;
    EssencePoint[0].X := 360;
    EssencePoint[0].Y := 40;
    EssencePoint[1].X := 450;
    EssencePoint[1].Y := 100;
    EssencePoint[2].X := 390;
    EssencePoint[2].Y := 30;
  End;
  Mouse(Ex, Ey, 2, 2, True);
  Wait(10);
  FFlag(0);
  Wait(100);
End;

Function FindEssence(Var iX, iY: Integer): Boolean;

Var
  I, Tolerance : Integer;
Begin
  If Not LoggedIn Then Exit;
  For I := 0 To 2 Do
  Begin
    Tolerance := - 1;
    While Tolerance < 10 Do
    Begin
      Tolerance := Tolerance + 1;
      iX := EssencePoint[I].X;
      iY := EssencePoint[I].Y;
      If FindColorSpiralTolerance(iX, iY, 9539996, MSX1, MSY1, MSX2, MSY2, Tolerance) Then
      Begin
        If Distance(iX, iY, EssencePoint[I].X, EssencePoint[I].Y) < 80 Then
        Begin
          MMouse(iX, iY, 0, 0);
          Wait(10);
          If IsUpTextMulti('Esse', 'une Es', 'ine') Then
          Begin
            GetMousePos(iX, iY);
            Result := True;
            WriteLn('Found Essence');
            Exit;
          End;
        End;
      End;
    End;
  End;
End;

Function ToPortal: Boolean;

Var
  iX, iY, C : Integer;
  Boolie : Boolean;
Begin
  If Not LoggedIn Then Exit;
  If FindSymbol(iX, iY, 'transportation') Then
  Begin
    Mouse(iX, iY, 2, 2, True);
    Wait(10);
    FFlag(0);
    FindNormalRandoms;
    iX := MSCX;
    iY := MSCY;
    Repeat
      If Random(4) = 3 Then
        Boolie := True;
      If Boolie Then
      Begin
        Case Random(3) Of
          0: MakeCompass('E');
          1: MakeCompass('S');
          2: MakeCompass('W');
        End;
      End;
      Wait(50);
      C := C + 1;
      If FindObj(iX, iY, 'rtal', 12051688, 9) Then
      Begin
        Mouse(iX, iY, 0, 0, True);
        Wait(10);
        Result := True;
        FFlag(0);
        If Boolie Then MakeCompass('N');
        Exit;
      End;
      Wait(1000);
    Until C > 2;
    If Boolie Then MakeCompass('N');
  End;
End;

Function RunToPortal: Boolean;

Begin
  MarkTime(iMark);
  Repeat
    If Not LoggedIn Then Break;
    If (TimeFromMark(iMark) > 120000) Then
    Begin
      WriteLn('Portal Took too long..logging');
      LogOut;
      Players[CurrentPlayer].Loc := 'Portal';
    End;
    If ToPortal Then
    Begin
      FFlag(0);
      Wait(6000);
    End
    Else Wait(100);
  Until Not AtMine;
  Result := True;
  PortalBool := True;
End;

Function OpenDoor : Boolean;

Var iX, iY,DoorClosed : Integer;

Begin
  DoorClosed := DTMFromString('78DA63FCCDC0C0309F01053426CB337001694' +
       '620FE0F048C6F808C7E5435E97E520CFC503520C0C80E644D4055' +
       '13E7218EAAE617A639E86A0097700CBE');
  If Not LoggedIn Then Exit;

  If FindDTM(DoorClosed, iX, iY, 140, 90, 425, 325) Then
  Begin
    MMouse(iX, iY, 2, 2);
    GetMousePos(iX, iY);
    If isUpText('pen') Then
      Mouse(iX, iY, 0,0, True);
    Result := True;
  End;
  FreeDTM(DoorClosed);
  If Result Then writeln('The door was closed, but now opened.')
  Else WriteLn('The door is open');
End;

Function ToBank: Boolean;

Var
   iX, iY, BankDTM, D, WalkMark, aMark : Integer;
   AngleVar : Extended;
Begin
  If Not LoggedIn Then Exit;
  SetRun(True);
  OpenDoor;
  Mouse(687, 30, 4, 4, True);
  Wait(10);
  MarkTime(aMark);
  Repeat
    If Not FlagPresent Then
    Begin
      OpenDoor;
      Mouse(687, 30, 4, 4, True);
      MarkTime(WalkMark)
      Repeat
        FindColorSpiral(iX, iY, RuneShopColor, MMX1, MMY1, MMX2, MMY2)
        D := Distance(iX, iY, MMCX, MMCY);
        Wait(100);
      Until ((D > 15) Or (TimeFromMark(WalkMark) > 8000));
    End
    Else Break;
    If TimeFromMark(aMark) > 120000 Then
    Begin
      WriteLn('ToBank took too long.. logging.');
      LogOut;
      Players[CurrentPlayer].Loc := 'ToBank';
      Exit;
    End;
  Until D > 15;
  Wait(6000);
  FFlag(10);
  BankDTM:= DTMFromString('78DA636C666260486140016FDEBC61F80FA41' +
       '981F83F1030B603D5E4A0AA79FB96814103AA060418EB816AB251' +
       'D57CFD8AAA0600B6210EA4');

  If FindDTMRotated(BankDTM, iX, iY, MMX1, MMY1, MMX2, MMY2, -1.0, 2.0, 1, AngleVar) Then
  Begin
    Result := True;
    Mouse(iX, iY + 1, 0, 0, True);
    Wait(3000);
    FFlag(0);
  End
  Else
  Begin
    LogOut;
    Players[CurrentPlayer].Loc := 'ToBank2';
    WriteLn('Bank not found');
    Exit;
  End;
  FreeDTM(BankDTM);
  SetRun(False);
End;

Function FindAuburyFloorColor(Var iX, iY: Integer): Boolean;

Var
   Tol, Floor2, Floor3 : Integer;
Begin
  If Not LoggedIn Then Exit;
  Floor2 := BitmapFromString(2, 2, '7F75487F75487F75487F754' +
       '8');
  Floor3 := BitmapFromString(3, 3, 'z78DA3377333735B1302791' +
       '04004AD80BFE');

  If FindColoredAreaTolerance(iX, iY, RuneShopColor, MMX1, MMY1, MMX2, MMY2, 16, 9) Then
  Begin
    RuneShopColor := GetColor(iX , iY);
    WriteLn('RuneShopColor = '+IntToStr(RuneShopColor));
    WriteLn('Found with FindColoredAreaTolerance.');
    Result := True;
  End;
  Tol := 0;
  Repeat
    Wait(10);
    If Result Then Break;
    Tol := Tol + 2;
    iX := 618;
    iY := 127;
    If FindBitMapSpiralTolerance(Floor3, iX, iY, MMX1, MMY1, 650, 150, Tol) Then
    Begin
      RuneShopColor := GetColor(iX , iY);
      WriteLn('RuneShopColor = '+IntToStr(RuneShopColor));
      WriteLn('Found with Floor3 bmp.');
      Result := True;
      Break;
    End;
  Until Tol > 26;
  Tol := 0;
  Repeat
    Wait(10);
    If Result Then Break;
    Tol := Tol + 2;
    iX := 618;
    iY := 127;
    If FindBitMapSpiralTolerance(Floor2, iX, iY, MMX1, MMY1, 650, 150, Tol) Then
    Begin
      RuneShopColor := GetColor(iX , iY);
      WriteLn('RuneShopColor = '+IntToStr(RuneShopColor));
      WriteLn('Found with Floor2 bmp.');
      Result := True;
      Break;
    End;
  Until Tol > 26;
  FreeBitMap(Floor2);
  FreeBitMap(Floor3);
End;

Function ToDoor: Boolean;

Var
  iX, iY: Integer;

Begin
  If FindColorRightTol(iX, iY, RuneShopColor, MMX1, MMY1, MMX2, MMY2, 0) Then
  Begin
    WriteLn('Door found');
    Result := True;
    Mouse(iX - 8, iY + 20, 0, 0, True);
    FFlag(0);
  End;
End;

Function SpotAubury: Boolean;
                                    // 10855856, 3005947, 2998011
Var
  iX, iY, C, Color: Integer;

Begin
  Color := 2998011;
  Repeat
    Wait(50);
    If FindAuburyText Then
    Begin
      Result := True;
      Break;
    End;
    iX := MSCX;
    iY := MSCY;
    If AtMine Then
    Begin
      Result := True;
      Exit;
    End;
    If FindColorSpiralTolerance(iX, iY, Color, MSX1, MSY1, MSX2, MSY2, 4) Then
    Begin
      MMouse(iX, iY, 0, 0);
      Wait(10);
      If IsupTextMulti('Talk','bury','alk-to') Then
      Begin
        Mouse(iX, iY, 0, 0, False);
        Result := ChooseOption(iX, iY,'eleport');
        If Result Then Exit;
      End;
    End;
    C := C + 1;
  Until C > 5;
  Wait(4000);

  If Not LoggedIn Then Exit;
End;

Function PreciseFlag(Var iX, iY: Integer):Boolean;

Begin
  Result := FindColor(iX, iY, 255, 570, 5, 735, 166);
  If Result Then iX := iX + 1;
  If Result Then iY := iY + 14;
End;

Function ColorAroundFlag(iX, iY: Integer) : Boolean;

Begin
  Result := FindColorSpiral(iX, iY, RuneShopColor, iX - 2, iY - 2, iX + 2, iY + 2)
End;

Function ToMine: Boolean;

Var
  iX, iY, D, zMark : Integer;
Begin

  If Not LoggedIn Then Exit;
  Mouse(663, 142, 6, 6, True);
  Wait(15000+Random(4000));
  FFlag(5);

  If FindAuburyFloorColor(iX, iY) Then
    Begin
      WriteLn('Exact Color Found');
    End
    Else
    Begin
      LogOut;
      WriteLn('Could not get the exact color.'+ Chr(13)+
       'Wizzup, you should tweak your functions!');
       Players[CurrentPlayer].Loc := 'NoColor';
    End;

  FindColorSpiral(iX, iY, RuneShopColor, MMX1, MMY1, MMX2, MMY2);
  D := Distance(iX, iY, MMCX, MMCY);
  WriteLn('Distance = '+IntToStr(D));

  If D > 15 Then
  Begin
    iX := MMCX;
    iY := MMCY;
    If FindColorSpiral2(iX, iY, RuneShopColor, MMX1, MMY1, MMX2, MMY2) Then
    Begin
      Mouse(iX, iY, 0, 0, True);
      If PreciseFlag(iX, iY) Then
      Begin
        If ColorAroundFlag(iX, iY) Then
        Begin
          WriteLn('Walking INTO the shop now...');
        End;
      End;
      FFlag(0);
    End;
  End;

  iX := MMCX;
  iY := MMCY;
  FindColorSpiral(iX, iY, RuneShopColor, MMX1, MMY1, MMX2, MMY2)

  If Distance(iX, iY, MMCX, MMCY) > 10 Then
  Begin
    ToDoor;
    OpenDoor;
    If FindColorSpiral2(iX, iY, RuneShopColor, MMX1, MMY1, MMX2, MMY2) Then
    Begin
      Mouse(iX, iY, 0, 0, True);
      If PreciseFlag(iX, iY) Then
      Begin
        If ColorAroundFlag(iX, iY) Then
        Begin
          WriteLn('Walking INTO the shop now...');
        End;
      End;
      FFlag(0);
    End;
  End;

  MarkTime(zMark);
  Repeat
    FindNormalRandoms;
    If (TimeFromMark(zMark) > 180000) Then
    Begin
      WriteLn('Aubury Took too long..logging');
      LogOut;
      Players[CurrentPlayer].Loc := 'Aubury';
    End;

    If SpotAubury Then
    Begin
      FFlag(0);
      Wait(4000);
    End
    Else
    Begin
      Wait(100);
      ChooseOption(iX, iY, 'ancel');
    End;
    
    If Not LoggedIn Then Break;
  Until AtMine;

  Result := True;
  If LoggedIn Then Players[CurrentPlayer].Loc := 'Mine';
End;

Function MyOpenBank: Boolean;

Begin
  OpenBankGlass('veb',False,False);
  FFlag(0);
  Wait(2000);
  If BankScreen Then
  Begin
    Result := True;
    Exit;
  End;
  If OpenBankQuiet('veb') Then Result := True;
End;

Function BankStuff: Boolean;

Var
  RuneEss, PureEss: Integer;
Begin
  If Not BankScreen Then Exit;
  RuneEss := BitmapFromString(8, 12, 'z78DA8DCD3112C3200C44D1' +
       '2BE1B02B9B1288B9FF91222315149107EFCCAFF4B08037BB584F0' +
       'E0E6F9143D724EBAC5F79BE0F1BABF7DDCEB25374B3925858BCC1' +
       '3BBC78E82AA1DBB07EBFAAC8DA3D3130BC1B8A191DFD8F8A6C424' +
       '57515D945E1C685D35564973FA23DD4D48ED5ABACDB560092CED4' +
       'BB9DF73F7ACE7D1F');
  PureEss := BitmapFromString(11, 10, 'z78DAA5CF490E03211003C' +
       '02FB1B56D8E0CCBFF9F1492CC012962B2B5251F4B6E451616192B' +
       'ABC8CEA62CC771F6A120AFA638D39594B213841C342F27151536A' +
       '6994110F214A59DB9D1783032FCE39018E8CCF474BF693434B48F' +
       '9C555B1CBAF98A185050BED0963DE8B8DFA3DF689BEF90E1670EA' +
       '4994F9C65D5D38159B736596763AB5D3A362C5B46B46AF5D4AE57' +
       'BD3837C02891A6');
  FixBank;
  RuneEssenceMined := RuneEssenceMined + CountItemBmpTol(RuneEss, 15);
  PureEssenceMined := PureEssenceMined + CountItemBmpTol(PureEss, 15);
  ReportVars[1] := ReportVars[1] + 1;
  ReportVars[0] := CountItemBmpTol(RuneEss, 15) + CountItemBmpTol(PureEss, 15);
  Players[CurrentPlayer].Integer1 := Players[CurrentPlayer].Integer1 + CountItemBmpTol(PureEss, 15) + CountItemBmpTol(RuneEss, 15);
  ClickAllItemsBmpTolWait('All', RuneEss, 15, 1500);
  ClickAllItemsBmpTolWait('All', PureEss, 15, 1500);
  If EquipPick Then Deposit(1, 28, 2)
  Else Deposit(2, 28, 2);
  FreeBitMap(RuneEss);
  FreeBitMap(PureEss);
  If BankScreen Then CloseBank;
  Players[CurrentPlayer].Banked := Players[CurrentPlayer].Banked + 1;
  Banks := Banks + 1;
  Result := True;
End;

Procedure PlayerReport;

Var
  Active: String;
  I:Integer;

Begin
  For I  :=  0 to HowManyPlayers - 1 Do
   Begin
     If Players[i].Active=True Then Active := 'T' Else Active := 'F';
     WriteLn( (IntToStr(I))+' : '+Players[I].nick+ ' = '+
     Active+ +'; Loc = '+Players[I].Loc+'; Banked: '+IntToStr(Players[I].Integer1)
     +' Ess; M lvl:'+IntToStr(Players[i].Level[15]));
   End;
End;

Procedure ProgressReport;

Begin
  WriteLn('----------------------------------------------')
  WriteLn('')
  WriteLn('Essence Miner by Wizzup?.')
  WriteLn('Version: '+VersionNumber)
  WriteLn('')
  WriteLn('Rune Essence Mined and Banked : '+IntToStr(RuneEssenceMined)+'.');
  WriteLn('Pure Essence Mined and Banked : '+IntToStr(PureEssenceMined)+'.');
  WriteLn('Solved '+IntToStr(Abyss)+' Abyssal Random Events.');
  WriteLn('Missed '+IntToStr(NoAbyss)+' Abyssal Random Events.');
  Writeln('Worked for '+ TimeRunning);
  WriteLn('')
  WriteLn('----------------------------------------------')
  WriteLn('')
  PlayerReport;
  SRLRandomsReport;
  WriteLn('')
  WriteLn('----------------------------------------------')

End;

Procedure ClearVars;

Var
  I : Integer;
Begin
  For I := 1 To 19 Do
  ReportVars[I] := 0;
End;

Procedure DoChats;

Begin
  SetChat('On', 1);
  SetChat('On', 1);
  SetChat('Friends', 2);
  SetChat('Friends', 2);
  SetChat('On', 3);
  SetChat('On', 3);
End;

Procedure SetupScript;

Begin
  ClearDebug;
  SetupSRL;
  SetupSRLMining;
  DeclarePlayers;
  RuneShopColor := 4551800; // Temp.
  Rcmaster := YourRCMASTER;
  RcLoc := 'Bank';
  ScriptID := '51';
  ClearVars;
  If YourSRLDSTATSID <> '' Then SRLID := YourSRLDSTATSID;
  If YourSRLDSTATSPASS <> '' Then SRLPassword := YourSRLDSTATSPASS;
  CurrentPlayer := StartPlayer;
  LoginPlayer;
  DoChats;
  FindPickHeadColor;
  EquipPick := Players[CurrentPlayer].Boolean1;
  AuburyText := CreateBitmapMaskFromText('isthine', upchars);
  BenMouse := False;
  GetAllLevels;
End;

begin
  ActivateClient;
  SetupScript;
  Repeat
    MakeCompass('N');
    If Players[CurrentPlayer].Loc = 'Bank' Then
    Begin
      ToMine;
    End;

    If Players[CurrentPlayer].Loc = 'Mine' Then
    Begin
      Wait(500);
      If InAbyss Then
      Begin
        GuessAbyssRandom;
        BoredHuman;
      End;
      Wait(1000);
      FindNormalRandoms;
      SymbolAccuracy := 0.4;
      Position := GetPositionInMine;
      If Position = 'Middle' Then Position := GetMiddle;
      WriteLn('Our position is '+ Position+'.');
      
      Wait(1000);
      If FindEssence(X, Y) Then
      Begin
        Mouse(X, Y, 0, 0, True);
        Wait(10);
        FFlag(0);
      End
      Else
      Begin
        RunToPortal;
      End;
      Wait(1000);
      FindPick;
      MarkTime(IdleMark);
      MarkTime(MiningMark);
      Repeat
        If Not LoggedIn Then Break;
        If PortalBool Then Break;
        If TimeFromMark(IdleMark) > (85000+Random(5000)) Then
        Begin
          BoredHuman;
          MarkTime(IdleMark);
        End;
        Wait(100);
        If FindNormalRandoms Then
          RunToPortal;
        RC;
        Wait(100);
        ClickToContinue;
        If FindFight Then
        Begin
          RunToPortal;
          Break;
        End;
      Until ((InvFull) Or (TimeFromMark(MiningMark) > 1000 * 60 * MinutesPerLoad));
      If Not PortalBool Then
      Begin
        MarkTime(iMark);
        Repeat
          If Not LoggedIn Then Break;
          If (TimeFromMark(iMark) > 120000) Then
          Begin
            WriteLn('Portal Took too long..logging');
            LogOut;
            Players[CurrentPlayer].Loc := 'Portal';
          End;
          If ToPortal Then
          Begin
            FFlag(0);
            Wait(6000);
          End
          Else Wait(100);
        Until Not AtMine;
      End
      WriteLn('Through The portal');
      SymbolAccuracy := 0.8;
      PortalBool := False;
      Wait(500);
      ToBank;
      MyOpenBank;
      BankStuff;
      If LoggedIn Then Players[CurrentPlayer].Loc := 'Bank';
    End;
    ProgressReport;
    If ( LoggedIn And (Players[CurrentPlayer].Banked Mod Loads = 0 )) Then
    Begin
      DoChats;
      LogOut;
      Wait(1000);
      NextPlayer(True);
      EquipPick := Players[CurrentPlayer].Boolean1;
      FindPickHeadColor;
      GetAllLevels;
    End;

    If Not LoggedIn Then
    Begin
      DoChats;
      NextPlayer(False);
      EquipPick := Players[CurrentPlayer].Boolean1;
      FindPickHeadColor;
      GetAllLevels;
    End;
  Until False;
end.
 
i need to have the talking capabilitys on the first one, onto the second one.

basicly take the code that talks back to peopleon the first one and put it onto the second one!
 
i need to have the talking capabilitys on the first one, onto the second one.

basicly take the code that talks back to peopleon the first one and put it onto the second one!

You are telling like it's stimple, do it by yourself then?
 
ive tryed and everytime theres an error and every time i fix it theres another
 
Keep fixing errors until it works, I guess. Eventually, stuff will stop going wrong. Ha.

Sorry I'm not any more useful than that =P.
 
Runescape Gamblingrunescape gambling
Back
Top