SCAR Code:
Program New;
{.include SRL/SRL.scar}
{.include srl/srl/misc/Reports.scar}
var
x, y, i, LoadsDone, Loads2Do, Tree, LogsCut, AntibanUsed, Timer, A: Integer;
Text: TStringArray;
procedure DeclarePlayers;
begin
HowManyPlayers := 1; //How many Players
NumberOfPlayers(HowManyPlayers);
CurrentPlayer := 0; //Starting Player
Players[0].Name := '';
Players[0].Pass := '';
Players[0].Nick := '';
Players[0].Active := True;
Players[0].Integers[0]:= 10; // Loads to Do.
Players[0].Strings[0] := 'normal'; // ALL lowercase; normal, oak, willow, normal/oak (To make less botty)
Players[0].Booleans[0] := True; // Is your axe equipped? BOOLEAN: "TRUE" or "FALSE"
end;
Procedure Spin;
begin
MarkTime(Timer);
repeat
case Random(4) + 1 of
1: MakeCompass('N');
2: MakeCompass('E');
3: Makecompass('W');
4: MakeCompass('s');
end;
Wait(250 + random(500));
until (TimeFromMark(Timer) > 2000 + Random(1000));
end;
Procedure AntiBan;
begin
if (not LoggedIn) then exit;
Inc(AntibanUsed);
case Random(18) of
0: HoverSkill('Random', false);
1: PickUpMouse;
3: BoredHuman;
4: begin
MakeCompass('N');
Wait(10 + Random(55));
MakeCompass('S');
Wait(10 + Random(55));
MakeCompass('N');
end;
5: RandomRClick;
6: RandomMovement;
10: Spin;
end;
end;
procedure AntiRandoms;
begin
FindNormalRandoms;
end;
Procedure SetTree;
begin
case lowercase(Players[CurrentPlayer].Strings[0]) of
'normal': begin
Tree := 4555383;
Text := ['ree']
end;
'oak': begin
Tree := 5017731;
Text := ['Oak']
end;
'willow' : begin
Tree := 6653571;
Text := ['illow']
end;
'normaloak': begin
Tree := 4555383;
Text := ['ree', 'Oak', 'ak']
end;
end;
end;
procedure Drop;
var
StartInvSpot: Byte;
begin
Inc(LoadsDone);
if Players[CurrentPlayer].Booleans[0] then
DropAll;
end else
DropArray([2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17,
18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28]);
IncEx(LogsCut, 27 + Integer(Players[CurrentPlayer].Booleans[0]));
AntiBan;
AntiRandoms;
end;
procedure CutTree;
var
Failed: Integer;
begin
if (not LoggedIn) then exit;
MouseSpeed := RandomRange(14, 19);
MarkTime(Timer);
repeat
if (TimeFromMark(Timer) > 600000 + Random(100000)) then
begin
Writeln('Problem chopping the logs');
Exit;
end;
SetTree;
if FindObjTPA(X, Y, Tree, 7, 2, 20, 20, 12, Text) then
begin
GetMousePos(X, Y);
if (Random(8) = 1) then
begin
Mouse(x, y, 0, 0, False);
ChooseOption('hop');
end else
Mouse(x, y, 0, 0, True);
end else
begin
WriteLn('#' + IntToStr(Failed) + ' times finding the tree.');
if (Failed > 7) then
begin
WriteLn('Failed to find the tree over 7 times now, logging out player.');
LogOut;
Players[CurrentPlayer].Active := False;
Exit;
end;
Spin;
end;
Wait(5500 + Random(5000));
AntiRandoms;
AntiBan;
until (Invfull);
end;
Procedure Intro;
begin
ClearDebug;
Writeln(' ____________ ')
Wait(100)
Writeln(' / Thanks \ ')
Wait(100)
Writeln(' / For \ ')
Wait(100)
Writeln(' / Using \ ')
Wait(100)
Writeln(' | Power | ')
Wait(100)
Writeln(' | Tree | ')
Wait(100)
Writeln(' \ Noobe / ')
Wait(100)
Writeln(' \______________/ ')
Wait(100)
Writeln(' Please post Proggys | | ')
Wait(100)
Writeln(' And Bugs | | ')
Wait(100)
Writeln(' Thanks | | ')
Wait(100)
Writeln(' | | ')
Wait(100)
Writeln(' |_____| ')
Writeln(' By Rya ')
Wait(750)
end;
Procedure Proggy;
begin
ClearDebug;
Writeln('===================================');
Writeln('===== Time Running : ' + TimeRunning);
Writeln('===== Logs Cut : ' + IntToStr(LogsCut));
Writeln('===== Loads Done : ' + IntToStr(LoadsDone));
Writeln('===== This is Version 1.3');
Writeln('===== Please Post This Proggy');
Writeln('===================================');
end;
Procedure Mainloop;
begin
DeclarePlayers;
LampSkill := 'Woodcutting';
LoginPlayer;
MakeCompass('N');
SetAngle(True);
Wait(1000);
repeat
repeat
CutTree;
AntiRandoms;
AntiBan;
Drop;
AntiRandoms;
until (LoadsDone >= Loads2Do) or (not LoggedIn);
NextPlayer(False);
Proggy;
until (AllPlayersInactive);
end;
begin
SetupSRL;
Intro;
Mainloop;
end.