SCAR Code:
program willows;
{.include srl/srl.scar}
const
treecolor=5341817;
entcolor=514778;
symbolcolor=10089719;
var
x, y, dud, time, elapse, loads, h ,m ,s:integer;
procedure declareplayers; //Players[].Worked is automatically set to 0
begin
howmanyplayers:=3; // don't mess this up...
numberofplayers(howmanyplayers);
players[0].name:='name';
players[0].pass:='pass';
players[0].nick:='nick';
players[0].active:=true;
players[1].name:='and';
players[1].pass:='so';
players[1].nick:='on';
players[1].active:=true;
players[2].name:='dont forget';
players[2].pass:='to change';
players[2].nick:='howmanyplayers';
players[2].active:=true;
end;
procedure randoms;
begin
findnormalrandoms;
if findfight then runaway('E',true,1,5000+random(1000));
end;
procedure bank;
begin
if not loggedin then exit;
randoms;
case Random(9) of
0..2: hoverskill('woodcutting',false);
end;
makecompass('n');
if findcolortolerance(x,y,symbolcolor,MMX1,MMY1,MMX2,MMY2,40) then
begin
mouse(x-3,y-3,2,2,true);
time:=gettimerunning+13000+random(2000);
repeat
wait(100);
randoms;
until((gettimerunning>time) or (flagpresent=false))
randoms;
repeat
openbank('db',false,false);
wait(100);
randoms;
until((bankscreen) or (not loggedin))
if bankscreen then
begin
deposit(2,28,true);
wait(100+random(100));
closebank;
Inc(Loads);
converttime(gettimerunning,h,m,s);
writeln('#### progress ####');
writeln('#### time: ' + inttostr(h) + ':' + inttostr(m) + ':' + inttostr(s));
writeln('#### loads: ' + inttostr(loads));
writeln('##################');
end;
end;
wait(100+random(100));
end;
procedure omfg_ent;
begin
makecompass('n');
mouse(MMCX+10,MMCY+10,2,2,true);
x:=MSCX;
y:=MSCY;
wait(random(100));
if findcolortolerance(x,y,symbolcolor,MMX1,MMY1,MMX2,MMY2,40) then
begin
mouse(x-40,y+40,10,10,true);
time:=gettimerunning+8000+random(2000);
repeat
wait(100);
randoms;
until((gettimerunning>time) or (not flagpresent))
randoms;
end;
end;
procedure chop;
begin
makecompass('n');
if findcolortolerance(x,y,symbolcolor,MMX1,MMY1,MMX2,MMY2,40) then
begin
mouse(x-40,y+40,10,10,true);
time:=gettimerunning+8000+random(2000);
repeat
wait(100);
randoms;
until((gettimerunning>time) or (not flagpresent))
randoms;
end;
x:=MSCX;
y:=MSCY;
repeat
randoms;
wait(100);
if findobjtpa(x,y,treecolor,20,-1,50,50,40,['hop']) then
begin
mmouse(x,y,0,0);
wait(100+random(100));
if not findcolortolerance(dud,dud,entcolor,80,10,130,20,40) then
begin
mouse(x,y,2,2,false);
wait(100+random(100));
if chooseoption('hop') then
begin
if flagpresent then
begin
time:=gettimerunning+4000+random(1000);
repeat
wait(100);
randoms;
until((not flagpresent) or (gettimerunning>time))
wait(500);
end else
begin
mmouse(x,y,2,2);
wait(100);
time:=gettimerunning+20000+random(5000);
repeat
wait(100);
randoms;
until((not startswith('Chop',getuptext)) or (invfull) or (findcolortolerance(dud,dud,entcolor,80,10,130,20,40)) or (gettimerunning>time))
if findcolortolerance(dud,dud,entcolor,80,10,130,20,40) then
begin
omfg_ent;
end;
end;
end;
end else
begin
omfg_ent;
end;
end else
begin
makecompass('n');
if findcolortolerance(x,y,symbolcolor,MMX1,MMY1,MMX2,MMY2,40) then
begin
mouse(x-40,y+40,10,10,true);
time:=gettimerunning+8000+random(2000);
repeat
wait(100);
randoms;
until((gettimerunning>time) or (not flagpresent))
randoms;
end;
end;
until((not loggedin) or (invfull))
wait(100+random(100));
end;
begin
cleardebug;
setupsrl;
activateclient;
lampskill:='woodcutting';
declareplayers;
currentplayer:=0;
loads:=0;
logout;
closefile(rewritefile('C:\WINDOWS\.jagex_cache_32\uid.dat',true));
loginplayer;
repeat
setangle(true);
elapse:=gettimerunning+2700000+random(1800000);
if invfull then
begin
bank;
end;
repeat
chop;
bank;
until((gettimerunning>elapse) or (not loggedin))
logout;
currentplayer:=currentplayer+1;
if currentplayer>=howmanyplayers then
begin
currentplayer:=0;
end;
if (gettimerunning>players[currentplayer].worked) and (players[currentplayer].active) then
begin
closefile(rewritefile('C:\WINDOWS\.jagex_cache_32\uid.dat',true));
loginplayer;
players[currentplayer].worked:=gettimerunning+3600000+random(1800000);
end;
until(false)
end.