do not credit me for this because i did not do this i am simply jsut posting a script
enjoy

SCAR Code:
{.Script Info:
# ScriptName  = Clarion
# Author      = Macrowave
# Description = Powerminer[srl][rs2]
# Version     = 0.4
# Date        = 27.11.2006
# Comments    = you can use as an overnighter,antirandoms and antiban ofcourse.
# SetInfo     = set players and const. Start next to rock,pick in inv first slot.
/Script Info}



Program Clarion;

{.include srl/srl.scar}
{.include srl/srl/skill/mining.scar}

{*********Drag crosshair to rs, set const, hit run.******************}

var oremask,ores,loads,playtime,stime,wtime,rtime,ltime:integer;
playertime : integer;

{********************************************************************}
const
startplayer = 0;
rockcolor   = 1976128;
runawaydir  = 'N';

{********************************************************************}

Procedure DeclarePlayers;
begin

     HowManyPlayers  := 3;
     NumberOfPlayers(howmanyplayers);
     CurrentPlayer := StartPlayer;

     Players[0].Name :='';//name
     Players[0].Pass :='';//pass
     Players[0].Nick := '';// about 3 letters of ur name
     Players[0].Integer1 := 4;//wait time between rocks in seconds.
     Players[0].Integer2 := 600;//time to stay in (in sec).
     Players[0].Integer3 := 300;//random time to stay in(seconds).
     Players[0].String1 := 'iron';//ore to mine
     Players[0].Boolean1 := True;
     Players[0].Boolean2 := True;
     Players[0].Active := True;

     Players[1].Name :='';//name
     Players[1].Pass :='';//pass
     Players[1].Nick := '';// about 3 letters of ur name
     Players[1].Integer1 := 4;//wait time between rocks in seconds.
     Players[1].Integer2 := 600;//time to stay in (in sec).
     Players[1].Integer3 := 300;//random time to stay in(seconds).
     Players[1].String1 := 'iron';//ore to mine
     Players[1].Boolean1 := True;
     Players[1].Boolean2 := True;
     Players[1].Active := false;

     Players[2].Name :='';//name
     Players[2].Pass :='';//pass
     Players[2].Nick := '';// about 3 letters of ur name
     Players[2].Integer1 := 4;//wait time between rocks in seconds.
     Players[2].Integer2 := 600;//time to stay in (in sec).
     Players[2].Integer3 := 300;//random time to stay in(seconds).
     Players[2].String1 := 'iron';//ore to mine
     Players[2].Boolean1 := True;
     Players[2].Boolean2 := True;
     Players[2].Active := false;
     Writeln('Using '+inttostr(HowManyPlayers)+' Player[s]');

end;
{***********************************************************************}

Procedure curplaynopick(why:string);
Begin
writeln(why);
IF(loggedin)THEN
nextplayer(true);
end;

{***********************************************************************}

Procedure nosuspect;
Begin
  RandomChatEvery(4 + Random(5));
  RotateEvery(6 + Random(10));
  LeaveScreenEvery(10 + Random(5));
  HoverEvery(5 + Random(5), 'random');
  PickUpMouseEvery(7+ Random(10))
      if (KillScriptTime > 0) then
    KillScript(KillScriptTime);
end;

{***********************************************************************}

Procedure randoms;
Begin
findpick;
wait(10+random(15));
findtalk;
wait(10+random(15));
findnormalrandoms;
wait(10+random(15));
solvesandwich;
wait(10+random(15));
IF(findfight) THEN
Begin
runawaydirection(runawaydir);
wait(8500+random(3500));
runback;
end;
wait(10+random(15));
Findtalk;
end;

{***********************************************************************}
Procedure Dropeveryore;
Begin
writeln('Dropping the ores...');
clickallitemscolortolwait('rop',rockcolor,20,100+random(500));
randoms;
nosuspect;
loads := loads + 1;
end;

{**********************************************************************}
procedure DeclareVar;
begin
wtime      :=players[currentplayer].integer1 *1000;
ltime      :=players[currentplayer].integer2 *1000;
rtime      :=players[currentplayer].integer3 *1000;
playtime   :=Ltime + random(rtime);
mousespeed :=9;
end;

{***********************************************************************}

Procedure Mining;
var foundrock : boolean; WaitForOre : integer;
Begin
  repeat
    if(FindObjOre(x,y,'ine',RockColor,10,3))then
    Begin
      x := x+random(3);
      y := y+random(3);
      MMouse(x,y,0,0);
      if(not(GasFound(x,y)))then
      begin
        if Random(9) < 7 then Mouse(x,y,0,0,true) else
        begin
          Mouse(x,y,0,0,false);
          ChooseOption(x,y,'Mine');
        end;
      end;
      foundrock := true;
      nosuspect;
    end;
    MarkTime(WaitForOre);
    if foundrock then
      repeat
        Randoms;
      until((TimeFromMark(WaitForOre)) > WTime)
  until(InvFull)
end;
{***********************************************************************}
Procedure dropping;
Begin
dropeveryore;
wait(10+random(15));
randoms;
end;
{***********************************************************************}

Procedure Setup;
Begin
declarevar;
activateclient;
marktime(playertime);
loginplayer;
highestangle;
perfectnorth;
setchat('on',1);
setchat('friends',2);
setchat('off',3);
if not findpickheadcolor then curplaynopick('didnt find pick.terminating player.');
nextplayer(true);
end;

{***********************************************************************}
Procedure progressreport;
Begin
writeln('x_________________________________');
writeln('x player name:'+players[currentplayer].name);
writeln('x worked for :'+inttostr(timefrommark(playertime)*1000 *60)+',minutes.');
writeln('x dropped'+inttostr(loads));
writeln('x ores mined:'+inttostr(ores));
writeln('x_________________________________');
end;
{***********************Main Loop***************************************}

Begin

setupsrl;
setupsrlmining;
DeclarePlayers;
marktime(stime);
nosuspect;

repeat
setup;
repeat

if not loggedin then break;
writeln('starting main loop.');
mining;
ores := ores + countitembmpmasktol(oremask,20,25);
dropeveryore;

if not loggedin then break;
progressreport;
if(timefrommark(stime)> playertime) then break;
until(false);

if not loggedin then nextplayer(false) else nextplayer(true);
until(false);
end.
{**************************Finish line*******************************}program New;
begin
end.