Bionicle
2009-09-18 05:10:46
How Long have You Played Runescape?
7 Year(s)
Are you affilated in anyway with Jagex LTD?
No
Were you Referred to SRL?
No
What is your general programming knowledge?
VB, HTML and Java
Are you a member of any other communities?
None
Tell us about yourself…
Please show us one (or multiple) of your scripts.
7 Year(s)
Are you affilated in anyway with Jagex LTD?
No
Were you Referred to SRL?
No
What is your general programming knowledge?
VB, HTML and Java
Are you a member of any other communities?
None
Tell us about yourself…
From: bionicle1800
My name is Mike, I like runescape, guitar, music and programing. I am currently in school, but I'm one of those kids who get 90's and fall asleep in every class :). I really enjoy making scar scripts, and enjoy the satisfaction of watching my account play itself after the hard work of wrighting a good script.
Please show us one (or multiple) of your scripts.
program Bionicle1800s_Catherby_Yew_Cutter_And_Banker;
{.include SRL/SRL/Misc/Smart.scar}
{.include SRL/SRL.scar}
{.include srl/srl/reflection/reflection.scar}
{==============================================================================]
[Author: Bionicle1800 ]
[Released: 09/17/2009 ]
[Made for: SCAR 3.21 ]
[Version: 1.3 ]
[Made for: Cutting yews west of Catherby ]
[Thanks to: JAD & Coh3n for helping me with my walking :) ]
[==============================================================================]
[ ________ ________ ]
[ / \___________________/ \ ]
[ /____ ____\ ]
[ \ INSTRUCTIONS / ]
[ _____/ \____ ]
[ \ ___________________ / ]
[ \________/ \________/ ]
[ ]
[ ]
[ First, set up the script with your characters information and how many loads ]
[ you want, as well as if your axe is equipt. Then, place your character by the]
[ yews, drag the crosshair to a runescape window and press play! ]
[ ]
[ (BTW: the MainLoop procedure is there just for convinence, so i can get to it]
[ easy.) ]
[==============================================================================}
var
DDTM1, DDTM2, DDTM3, DDTM4, DDTM5, x, y, l, xp, logs, DDTMTolerance: Integer;
const
weild = false; //Are you weilding a hatchet?
loads = 100; //How many loads do you want this script to do?
procedure DeclarePlayers;
begin
HowManyPlayers :=3;
NumberOfPlayers(HowManyPlayers);
CurrentPlayer :=0;
with players[0] do
begin
Name := ''; //Your Username
Pass := ''; //Your Password
Nick := ''; //A nickname to call you by
Pin := ''; //The pin for this account
Active := true; //True if you are using this account, false if not
BoxRewards := ['mote', 'ostume', 'Xp']; //Random event rewards
end;
{
}
with players[1] do
begin
Name := '';
Pass := '';
Nick := '';
Pin := '';
Active := false;
BoxRewards := ['mote', 'ostume', 'Xp'];
end;
{
}
with players[2] do
begin
Name := '';
Pass := '';
Nick := '';
Pin := '';
Active := false;
BoxRewards := ['mote', 'ostume', 'Xp'];
end;
end;
procedure AntiBan;
begin
case Random(60) of
0: RandomMovement;
1: BoredHuman;
2: HoverSkill('Woodcutting', false);
3: ExamineInv;
4: PickUpMouse;
5: RandomRClick;
end;
end;
procedure ProgressReport;
begin
cleardebug;
Writeln(' _______ _______')
Writeln(' / ______\ / ______\');
Writeln(' / / / /');
Writeln(' > > > >');
Writeln(' \ \_______ \ \_______');
Writeln(' \_______/atherby \_______/utter');
wait(3000);
cleardebug;
Writeln('===============================')
Writeln('Chopped for '+TimeRunning);
Writeln('Chopped '+IntToStr(logs)+' logs');
Writeln('Gained '+IntToStr(xp)+' exp');
Writeln('===============================')
Writeln('Catherby YewCutter by: bionicle1800');
end;
function FindWalkingColor(FindTheColor: Integer): Integer;
var
TPA: TPointArray;
I: Integer;
begin
case FindTheColor of
1: FindColorsTolerance(TPA, 2654058, MMX1, MMY1, MMX2, MMY2, 10);
2: FindColorsTolerance(TPA, 7236721, MMX1, MMY1, MMX2, MMY2, 10);
3: FindColorsTolerance(TPA, 2917252, MMX1, MMY1, MMX2, MMY2, 10);
4: FindColorsTolerance(TPA, 2449517, MMX1, MMY1, MMX2, MMY2, 10);
5: FindColorsTolerance(TPA, 7764087, MMX1, MMY1, MMX2, MMY2, 10);
end;
if(GetArrayLength(TPA) > 0) then
Result := GetColor(TPA[i].X, TPA[i].Y) else
Result := 0;
end;
function DDTMWalk(BankWalkNumber: Integer): Integer;
var
dtmMainPoint: TDTMPointDef;
dtmSubPoints: Array [0..4] of TDTMPointDef;
TempTDTM: TDTM;
begin
case BankWalkNumber of
1: begin
dtmMainPoint.x := 938;
dtmMainPoint.y := 269;
dtmMainPoint.AreaSize := 5;
dtmMainPoint.AreaShape := 0;
dtmMainPoint.Color := FindWalkingColor(1);
dtmMainPoint.Tolerance := 10;
dtmSubPoints[0].x := 938;
dtmSubPoints[0].y := 269;
dtmSubPoints[0].AreaSize := 5;
dtmSubPoints[0].AreaShape := 0;
dtmSubPoints[0].Color := FindWalkingColor(1);
dtmSubPoints[0].Tolerance := 10;
dtmSubPoints[1].x := 939;
dtmSubPoints[1].y := 268;
dtmSubPoints[1].AreaSize := 0;
dtmSubPoints[1].AreaShape := 0;
dtmSubPoints[1].Color := FindWalkingColor(1);
dtmSubPoints[1].Tolerance := 0;
dtmSubPoints[2].x := 937;
dtmSubPoints[2].y := 269;
dtmSubPoints[2].AreaSize := 0;
dtmSubPoints[2].AreaShape := 0;
dtmSubPoints[2].Color := FindWalkingColor(1);
dtmSubPoints[2].Tolerance := 0;
dtmSubPoints[3].x := 938;
dtmSubPoints[3].y := 270;
dtmSubPoints[3].AreaSize := 0;
dtmSubPoints[3].AreaShape := 0;
dtmSubPoints[3].Color := FindWalkingColor(1);
dtmSubPoints[3].Tolerance := 0;
TempTDTM.MainPoint := dtmMainPoint;
TempTDTM.SubPoints := dtmSubPoints;
Result := AddDTM(TempTDTM);
end;
2: begin
dtmMainPoint.x := 924;
dtmMainPoint.y := 223;
dtmMainPoint.AreaSize := 8;
dtmMainPoint.AreaShape := 0;
dtmMainPoint.Color := FindWalkingColor(2);
dtmMainPoint.Tolerance := 10;
dtmSubPoints[0].x := 924;
dtmSubPoints[0].y := 223;
dtmSubPoints[0].AreaSize := 8;
dtmSubPoints[0].AreaShape := 0;
dtmSubPoints[0].Color := FindWalkingColor(2);
dtmSubPoints[0].Tolerance := 10;
dtmSubPoints[1].x := 924;
dtmSubPoints[1].y := 220;
dtmSubPoints[1].AreaSize := 0;
dtmSubPoints[1].AreaShape := 0;
dtmSubPoints[1].Color := FindWalkingColor(2);
dtmSubPoints[1].Tolerance := 0;
dtmSubPoints[2].x := 928;
dtmSubPoints[2].y := 225;
dtmSubPoints[2].AreaSize := 0;
dtmSubPoints[2].AreaShape := 0;
dtmSubPoints[2].Color := FindWalkingColor(2);
dtmSubPoints[2].Tolerance := 0;
dtmSubPoints[3].x := 922;
dtmSubPoints[3].y := 224;
dtmSubPoints[3].AreaSize := 0;
dtmSubPoints[3].AreaShape := 0;
dtmSubPoints[3].Color := FindWalkingColor(2);
dtmSubPoints[3].Tolerance := 0;
TempTDTM.MainPoint := dtmMainPoint;
TempTDTM.SubPoints := dtmSubPoints;
Result := AddDTM(TempTDTM);
end;
3: begin
dtmMainPoint.x := 904;
dtmMainPoint.y := 324;
dtmMainPoint.AreaSize := 11;
dtmMainPoint.AreaShape := 0;
dtmMainPoint.Color := FindWalkingColor(3);
dtmMainPoint.Tolerance := 10;
dtmSubPoints[0].x := 904;
dtmSubPoints[0].y := 324;
dtmSubPoints[0].AreaSize := 11;
dtmSubPoints[0].AreaShape := 0;
dtmSubPoints[0].Color := FindWalkingColor(3);
dtmSubPoints[0].Tolerance := 10;
dtmSubPoints[1].x := 910;
dtmSubPoints[1].y := 322;
dtmSubPoints[1].AreaSize := 0;
dtmSubPoints[1].AreaShape := 0;
dtmSubPoints[1].Color := FindWalkingColor(3);
dtmSubPoints[1].Tolerance := 0;
dtmSubPoints[2].x := 905;
dtmSubPoints[2].y := 326;
dtmSubPoints[2].AreaSize := 0;
dtmSubPoints[2].AreaShape := 0;
dtmSubPoints[2].Color := FindWalkingColor(3);
dtmSubPoints[2].Tolerance := 0;
dtmSubPoints[3].x := 903;
dtmSubPoints[3].y := 321;
dtmSubPoints[3].AreaSize := 0;
dtmSubPoints[3].AreaShape := 0;
dtmSubPoints[3].Color := FindWalkingColor(3);
dtmSubPoints[3].Tolerance := 0;
TempTDTM.MainPoint := dtmMainPoint;
TempTDTM.SubPoints := dtmSubPoints;
Result := AddDTM(TempTDTM);
end;
4: begin
dtmMainPoint.x := 916;
dtmMainPoint.y := 276;
dtmMainPoint.AreaSize := 6;
dtmMainPoint.AreaShape := 0;
dtmMainPoint.Color := FindWalkingColor(4);
dtmMainPoint.Tolerance := 10;
dtmSubPoints[0].x := 916;
dtmSubPoints[0].y := 276;
dtmSubPoints[0].AreaSize := 6;
dtmSubPoints[0].AreaShape := 0;
dtmSubPoints[0].Color := FindWalkingColor(4);
dtmSubPoints[0].Tolerance := 10;
dtmSubPoints[1].x := 912;
dtmSubPoints[1].y := 275;
dtmSubPoints[1].AreaSize := 0;
dtmSubPoints[1].AreaShape := 0;
dtmSubPoints[1].Color := FindWalkingColor(4);
dtmSubPoints[1].Tolerance := 0;
dtmSubPoints[2].x := 918;
dtmSubPoints[2].y := 276;
dtmSubPoints[2].AreaSize := 0;
dtmSubPoints[2].AreaShape := 0;
dtmSubPoints[2].Color := FindWalkingColor(4);
dtmSubPoints[2].Tolerance := 0;
dtmSubPoints[3].x := 915;
dtmSubPoints[3].y := 278;
dtmSubPoints[3].AreaSize := 0;
dtmSubPoints[3].AreaShape := 0;
dtmSubPoints[3].Color := FindWalkingColor(4);
dtmSubPoints[3].Tolerance := 0;
TempTDTM.MainPoint := dtmMainPoint;
TempTDTM.SubPoints := dtmSubPoints;
Result := AddDTM(TempTDTM);
end;
5: begin
dtmMainPoint.x := 924;
dtmMainPoint.y := 232;
dtmMainPoint.AreaSize := 10;
dtmMainPoint.AreaShape := 0;
dtmMainPoint.Color := FindWalkingColor(5);
dtmMainPoint.Tolerance := 10;
dtmSubPoints[0].x := 924;
dtmSubPoints[0].y := 232;
dtmSubPoints[0].AreaSize := 10;
dtmSubPoints[0].AreaShape := 0;
dtmSubPoints[0].Color := FindWalkingColor(5);
dtmSubPoints[0].Tolerance := 10;
dtmSubPoints[1].x := 927;
dtmSubPoints[1].y := 234;
dtmSubPoints[1].AreaSize := 0;
dtmSubPoints[1].AreaShape := 0;
dtmSubPoints[1].Color := FindWalkingColor(5);
dtmSubPoints[1].Tolerance := 0;
dtmSubPoints[2].x := 929;
dtmSubPoints[2].y := 231;
dtmSubPoints[2].AreaSize := 0;
dtmSubPoints[2].AreaShape := 0;
dtmSubPoints[2].Color := FindWalkingColor(5);
dtmSubPoints[2].Tolerance := 0;
dtmSubPoints[3].x := 928;
dtmSubPoints[3].y := 228;
dtmSubPoints[3].AreaSize := 0;
dtmSubPoints[3].AreaShape := 0;
dtmSubPoints[3].Color := FindWalkingColor(5);
dtmSubPoints[3].Tolerance := 0;
TempTDTM.MainPoint := dtmMainPoint;
TempTDTM.SubPoints := dtmSubPoints;
Result := AddDTM(TempTDTM);
end;
end;
end;
function DDTMWalk2(BankWalkNumber2: Integer): Integer;
var
dtmMainPoint: TDTMPointDef;
dtmSubPoints: Array [0..4] of TDTMPointDef;
TempTDTM: TDTM;
begin
case BankWalkNumber2 of
1: begin
dtmMainPoint.x := 916;
dtmMainPoint.y := 276;
dtmMainPoint.AreaSize := 6;
dtmMainPoint.AreaShape := 0;
dtmMainPoint.Color := FindWalkingColor(4);
dtmMainPoint.Tolerance := 10;
dtmSubPoints[0].x := 916;
dtmSubPoints[0].y := 276;
dtmSubPoints[0].AreaSize := 6;
dtmSubPoints[0].AreaShape := 0;
dtmSubPoints[0].Color := FindWalkingColor(4);
dtmSubPoints[0].Tolerance := 10;
dtmSubPoints[1].x := 912;
dtmSubPoints[1].y := 275;
dtmSubPoints[1].AreaSize := 0;
dtmSubPoints[1].AreaShape := 0;
dtmSubPoints[1].Color := FindWalkingColor(4);
dtmSubPoints[1].Tolerance := 0;
dtmSubPoints[2].x := 918;
dtmSubPoints[2].y := 276;
dtmSubPoints[2].AreaSize := 0;
dtmSubPoints[2].AreaShape := 0;
dtmSubPoints[2].Color := FindWalkingColor(4);
dtmSubPoints[2].Tolerance := 0;
dtmSubPoints[3].x := 915;
dtmSubPoints[3].y := 278;
dtmSubPoints[3].AreaSize := 0;
dtmSubPoints[3].AreaShape := 0;
dtmSubPoints[3].Color := FindWalkingColor(4);
dtmSubPoints[3].Tolerance := 0;
TempTDTM.MainPoint := dtmMainPoint;
TempTDTM.SubPoints := dtmSubPoints;
Result := AddDTM(TempTDTM);
end;
2: begin
dtmMainPoint.x := 904;
dtmMainPoint.y := 324;
dtmMainPoint.AreaSize := 11;
dtmMainPoint.AreaShape := 0;
dtmMainPoint.Color := FindWalkingColor(3);
dtmMainPoint.Tolerance := 10;
dtmSubPoints[0].x := 904;
dtmSubPoints[0].y := 324;
dtmSubPoints[0].AreaSize := 11;
dtmSubPoints[0].AreaShape := 0;
dtmSubPoints[0].Color := FindWalkingColor(3);
dtmSubPoints[0].Tolerance := 10;
dtmSubPoints[1].x := 910;
dtmSubPoints[1].y := 322;
dtmSubPoints[1].AreaSize := 0;
dtmSubPoints[1].AreaShape := 0;
dtmSubPoints[1].Color := FindWalkingColor(3);
dtmSubPoints[1].Tolerance := 0;
dtmSubPoints[2].x := 905;
dtmSubPoints[2].y := 326;
dtmSubPoints[2].AreaSize := 0;
dtmSubPoints[2].AreaShape := 0;
dtmSubPoints[2].Color := FindWalkingColor(3);
dtmSubPoints[2].Tolerance := 0;
dtmSubPoints[3].x := 903;
dtmSubPoints[3].y := 321;
dtmSubPoints[3].AreaSize := 0;
dtmSubPoints[3].AreaShape := 0;
dtmSubPoints[3].Color := FindWalkingColor(3);
dtmSubPoints[3].Tolerance := 0;
TempTDTM.MainPoint := dtmMainPoint;
TempTDTM.SubPoints := dtmSubPoints;
Result := AddDTM(TempTDTM);
end;
3: begin
dtmMainPoint.x := 924;
dtmMainPoint.y := 223;
dtmMainPoint.AreaSize := 8;
dtmMainPoint.AreaShape := 0;
dtmMainPoint.Color := FindWalkingColor(2);
dtmMainPoint.Tolerance := 10;
dtmSubPoints[0].x := 924;
dtmSubPoints[0].y := 223;
dtmSubPoints[0].AreaSize := 8;
dtmSubPoints[0].AreaShape := 0;
dtmSubPoints[0].Color := FindWalkingColor(2);
dtmSubPoints[0].Tolerance := 10;
dtmSubPoints[1].x := 924;
dtmSubPoints[1].y := 220;
dtmSubPoints[1].AreaSize := 0;
dtmSubPoints[1].AreaShape := 0;
dtmSubPoints[1].Color := FindWalkingColor(2);
dtmSubPoints[1].Tolerance := 0;
dtmSubPoints[2].x := 928;
dtmSubPoints[2].y := 225;
dtmSubPoints[2].AreaSize := 0;
dtmSubPoints[2].AreaShape := 0;
dtmSubPoints[2].Color := FindWalkingColor(2);
dtmSubPoints[2].Tolerance := 0;
dtmSubPoints[3].x := 922;
dtmSubPoints[3].y := 224;
dtmSubPoints[3].AreaSize := 0;
dtmSubPoints[3].AreaShape := 0;
dtmSubPoints[3].Color := FindWalkingColor(2);
dtmSubPoints[3].Tolerance := 0;
TempTDTM.MainPoint := dtmMainPoint;
TempTDTM.SubPoints := dtmSubPoints;
Result := AddDTM(TempTDTM);
end;
4: begin
dtmMainPoint.x := 938;
dtmMainPoint.y := 269;
dtmMainPoint.AreaSize := 5;
dtmMainPoint.AreaShape := 0;
dtmMainPoint.Color := FindWalkingColor(1);
dtmMainPoint.Tolerance := 10;
dtmSubPoints[0].x := 938;
dtmSubPoints[0].y := 269;
dtmSubPoints[0].AreaSize := 5;
dtmSubPoints[0].AreaShape := 0;
dtmSubPoints[0].Color := FindWalkingColor(1);
dtmSubPoints[0].Tolerance := 10;
dtmSubPoints[1].x := 939;
dtmSubPoints[1].y := 268;
dtmSubPoints[1].AreaSize := 0;
dtmSubPoints[1].AreaShape := 0;
dtmSubPoints[1].Color := FindWalkingColor(1);
dtmSubPoints[1].Tolerance := 0;
dtmSubPoints[2].x := 937;
dtmSubPoints[2].y := 269;
dtmSubPoints[2].AreaSize := 0;
dtmSubPoints[2].AreaShape := 0;
dtmSubPoints[2].Color := FindWalkingColor(1);
dtmSubPoints[2].Tolerance := 0;
dtmSubPoints[3].x := 938;
dtmSubPoints[3].y := 270;
dtmSubPoints[3].AreaSize := 0;
dtmSubPoints[3].AreaShape := 0;
dtmSubPoints[3].Color := FindWalkingColor(1);
dtmSubPoints[3].Tolerance := 0;
TempTDTM.MainPoint := dtmMainPoint;
TempTDTM.SubPoints := dtmSubPoints;
Result := AddDTM(TempTDTM);
end;
end;
end;
procedure RadialWalkn(RadialWalking: Integer);
begin
case RadialWalking of
1: RadialWalk(FindWalkingColor(1), 0, 100, 60, 5, 5);
2: RadialWalk(FindWalkingColor(2), 0, 90, 60, 5, 5);
3: RadialWalk(FindWalkingColor(3), 90, 180, 60, 5, 5);
4: RadialWalk(FindWalkingColor(4), 35, 140, 60, 5, 5);
5: RadialWalk(FindWalkingColor(1), 0, 119, 60, 5, 5);
end;
end;
procedure RadialWalkn2(RadialWalking2: Integer);
begin
case RadialWalking2 of
1: RadialWalk(FindWalkingColor(4), 35, 140, 60, 5, 5);
2: RadialWalk(FindWalkingColor(3), 90, 180, 60, 5, 5);
3: RadialWalk(FindWalkingColor(2), 0, 90, 60, 5, 5);
4: RadialWalk(FindWalkingColor(1), 0, 100, 60, 5, 5);
end;
end;
function WalkToYew: Boolean;
begin
if not loggedin then exit;
SetRun(true);
R_FindRandoms;
SymbolAccuracy := 0.5;
Result := FindSymbol(x, y, 'rare trees');
if Result then
begin
Mouse(x, y, 3, 3, true);
SymbolAccuracy := 0.5;
FFlag(0);
end;
end;
function FindYew: Boolean;
var
CTS, I, H, P, PA: Integer;
Points: TPointArray;
Pointers: T2DPointArray;
begin
if not loggedin or Invfull then exit;
CTS := GetColorToleranceSpeed;
ColorToleranceSpeed(3);
FindColorsSpiralTolerance(MSCX, MSCY, Points, 1593411, MSX1, MSY1, MSX2, MSY2, 5);
ColorToleranceSpeed(CTS);
Pointers := TPAtoATPAex(Points, 11, 11);
SortATPASize(Pointers, True);
H := High(Pointers);
for I:=0 to H do
begin
R_FindRandoms;
MiddleTPAEx(Pointers[I], x, y);
MMouse(X, Y, 0, 0);
wait(50+(50));
if IsUpText('ew') then
begin
Result := True;
GetMousePos(X, Y);
Mouse(X, Y, 0, 0, True);
PA := I + 1;
P := H / 12 + 1;
Status('Clicked on tree '+IntToStr(PA)+', Found '+IntToStr(P)+' yews');
wait(500+random(250));
While CharacterMoving Do wait(50);
wait(800+random(200));
exit;
end;
end;
end;
procedure ChopYew;
begin
if not loggedin then exit;
repeat
FindYew;
While (CharacterAnimating or CharacterMoving) do
Begin
wait(10000 + random(5000));
R_FindRandoms;
AntiBan;
end;
Antiban;
Until(Invfull);
end;
procedure WalkToBank;
var
i, TheDDTM: Integer;
begin
if not loggedin then exit;
ClearDebug;
Setrun(true);
for i := 1 to 5 do
begin
TheDDTM := DDTMWalk(i);
If DTMRotated(TheDDTM, x, y, MMX1, MMY1, MMX2, MMY2) then
begin
Mouse(x, y, 0, 0, true);
WriteLn('Step' + IntToStr(i) + 'of WalkToBank successful');
FFlag(0);
end else
WriteLn('Couldnt find using DDTM, trying Radial.');
RadialWalkn(i);
end;
end;
function BankYews: Boolean;
var
yewlogs: Integer;
exp: extended;
begin
if not loggedin then exit;
yewlogs := DTMFromString('78DA639CC0CCC030939101197898708169982' +
'8E34CA09AC9A86A60B27035F3806A161250D30354B382809A16A0' +
'9AD9F8D50000CE370690');
MakeCompass('N')
Wait (300 + random(160));
OpenBankFast('ctb');
if (PinScreen) then
InPin(Players[CurrentPlayer].Pin);
if FindDTM(yewlogs, x, y, MIX1, MIY1, MIX2, MIY2) then
begin
MMouse(x, y, 3, 3);
if IsUpText('ew logs') then
begin
GetMousePos(x, y);
Wait(80 + random(100));
Mouse(x, y, 0, 0, false);
ChooseOption('All');
end;
CloseBank;
Wait(150 + random (278));
end;
If Weild Then
logs := logs + 28
else logs := logs + 27;
R_FindRandoms;
exp := logs * 175.0
xp := round(exp);
l := 0;
Inc(l);
end;
procedure WalkFromBank;
var
i, TheDDTM: Integer;
begin
if not loggedin then exit;
ClearDebug;
Setrun(true);
for i := 1 to 4 do
begin
TheDDTM := DDTMWalk2(i);
If DTMRotated(TheDDTM, x, y, MMX1, MMY1, MMX2, MMY2) then
begin
Mouse(x, y, 0, 0, true);
WriteLn('Step' + IntToStr(i) + 'of WalkToBank successful');
FFlag(0);
end else
WriteLn('Couldnt find using DDTM, trying Radial.');
RadialWalkn2(i);
end;
end;
procedure MainLoop;
begin
ClearDebug;
SetupSRL;
DeclarePlayers;
GraphicsSet := true;
if not loggedin then loginPlayer;
makecompass('n');
SetAngle(True);
Disguise('Bionicle1800s Yew Cutter');
WalkToYew;
repeat
repeat
ChopYew;
WalkToBank;
BankYews;
WalkFromBank;
ProgressReport;
Until(l = loads);
NextPlayer(true);
until(false);
end;
begin
Mainloop;
end.