SCAR Code:
program New;
{.include SRL/SRL.scar}
const
LoadsPerPlayer = 10; //Amounts of loads per player before switching.
TreeColor = 1456433; //Fill in the treecolor here.
WaitPerTree = 5000; //the time to wait while we are chopping the tree in Miliseconds.
procedure Start;
begin
MakeCompass('N');
HighestAngle;
MouseSpeed:=21;
SetRun(true)
Gametab(4);
end;
function FindFastRandoms: Boolean; //By WT-Fakawi.
var
i: Integer;
begin
for i := 1 to 9 do
begin
case I of
1: if FindDead then
Result := True;
2: if FindMod then
Result := True;
3: if FindMime then
Result := True;
4: if FindMaze then
Result := True;
5: if FindQuiz then
Result := True;
6: if FindDemon then
Result := True;
7: begin
if NoGameTab then
begin
Result := True;
Players[CurrentPlayer].loc := 'No GameTab';
Logout;
Exit;
end;
end;
7: begin
if InBlack then
begin
Result := True;
Players[CurrentPlayer].loc := 'InBlack';
Logout;
Exit;
end;
end;
8: RC;
9: FindLamp(Players[CurrentPlayer].Skill);
10: if FindTalk then
Result := True;
11: ClickToContinue;
end;
wait(1);
end;
end;
Procedure AntiBanActions;
var
Ban: Integer;
begin
Ban:= Random(10);
case Ban of
0: PickUpMouse;
1: RandomMovement;
2: BoredHuman;
end;
end;
procedure Randoms;
begin
FindNormalRandoms;
Wait(20 + random(5));
if (FindFight) then
begin
RunAwayDirection('N');
Wait(4500 + Random(1900));
RunBack;
end;
Wait(20)
FindTalk;
end;
procedure Randomcheck;
begin
Findfastrandoms;
Randoms;
end;
function FindObjMultiText2(var cx, cy: Integer; Ut1, UT2, UT3: string; color,
tolerance: Integer): Boolean;
var
x, y, a, c, i, x1, y1, x2, y2: Integer;
begin
Color := Color;
if (FindColorTolerance(x, y, Color, msx1, msy1, msx2, msy2, tolerance)) then
begin
x1 := 245;
y1 := 165;
x2 := 277;
y2 := 185;
repeat
if (not (Loggedin)) then
Break;
a := a + 1;
if (a = 1) or (a = 3) then
c := c + 1;
for i := 1 to c do
begin
if (a = 1) then
begin
x1 := x1 + 30;
x2 := x2 + 30;
end
else if (a = 2) then
begin
y1 := y1 - 20;
y2 := y2 - 20;
end
else if (a = 3) then
begin
x1 := x1 - 30;
x2 := x2 - 30;
end
else if (a = 4) then
begin
y1 := y1 + 20;
y2 := y2 + 20;
end;
if (x1 = 485) and (x2 = 517) then
x2 := x2 - 2;
if (y1 = 325) and (y2 = 345) then
y2 := y2 - 7;
if (x2 > 515) then
Break;
if (FindColorTolerance(x, y,Color, x1, y1, x2, y2, tolerance)) then
begin
MMouse(x, y, 0, 0)
Wait(10);
cx := x;
cy := y;
if (IsUpTextMulti(UT1, UT2, UT3)) then
begin
Result := True;
Break;
end;
end;
end;
if (a = 4) then
a := 0;
until (x2 > 515) or (Result = True);
end;
end;
procedure ChopTree;
var
x, y, MyMark : integer;
begin
if not Loggedin then Exit;
MarkTime(MyMark);
repeat
If (FindObjEx(x,y,'ree',273,58,418,271,TreeColor,0,7,7,300,false))then
begin
MMouse(x, y, 5, 5);
Randomcheck;
AntiBanActions;
Wait(100 + random(50));
Mouse(x, y, 0, 0, True);
Wait(1500 + random(1500));
if ChooseOption('ree') then
begin
Randomcheck;
Wait(WaitPerTree + Random(1000));
Exit;
end;
end;
if TimeFromMark(MyMark) > (3 * 60 * 100) then
begin
Logout;
Exit;
end;
until false
end;
begin
SetupSRL;
SRLPlayerForm(True, [], [], [], []);
Start;
repeat
ChopTree;
if InvFull then
begin
Randomcheck;
AntiBanActions;
DropToPosition(4, 28);
Inc(Players[CurrentPlayer].Banked);
if Players[CurrentPlayer].Banked mod LoadsPerPlayer = 0 then
begin
NextPlayer(True);
end;
end;
if not Loggedin then NextPlayer(False);
until false
end.