Code:
program PowerChopper;
//{$DEFINE SMART}
{.include SRL\SRL.simba}
{.Include SRL\SRL\Misc\Debug.simba}
//{$i SRL\SRL\Misc\paintsmart.simba}
Const
SRLStats_Username = '';// Your SRL Stats Username
SRLStats_Password = ''; // Your SRL Stats Password
NumbOfPlayers= 1; //How many players are you using
StartPlayer= 0; //Player to start auoting with! (0 means first char)
BreakEvery = 120; //How Many Minutes To Break After
BreakFor = 10; //How Long To Break For
Version = '1.0';
procedure DeclarePlayers;
var i:integer;
begin
NumberOfPlayers(NumbOfPlayers);
CurrentPlayer := StartPlayer;
for i := 0 to NumbOfPlayers-1 do
Players[i].BoxRewards := ['mote', 'ostume', 'XP', 'Gem', 'ithril', 'oal', 'une', 'oins'];
with Players[0] do
begin
Name := ''; //Player username.
Pass := ''; //Player password.
Active := True;
end;
end;
Procedure StatsGuise(wat:String);
Begin
Status(wat);
Disguise(wat);
End;
Procedure Antiban;
Begin
Case Random(250) Of
0:
Begin
//PaintReport;
HoverSkill('Woodcut', False);
//PaintReport;
GameTab(Tab_Inv);
//PaintReport;
End;
1:
Begin
//PaintReport;
PickUpMouse;
SleepAndMoveMouse(3000 + Random(500));
//PaintReport;
PickUpMouse;
End;
2: ExamineInv;
3:
Begin
//PaintReport;
RandomAngle(SRL_ANGLE_HIGH);
//PaintReport;
SetAngle(SRL_ANGLE_HIGH);
//PaintReport;
End;
4:
Begin
//PaintReport;
GameTab(Tab_Stats);
//PaintReport;
Wait(3000 + Random(500));
//PaintReport;
GameTab(Tab_Inv);
End;
5:
Begin
//PaintReport;
HoverSkill('random', False);
//PaintReport;
GameTab(Tab_Inv);
End;
End;
End;
Procedure FailSafe (Reason:String);
Begin
Players[CurrentPlayer].Loc := Reason;
Logout;
Stats_Commit;
//ProgressReport;
TerminateScript;
End;
Function ChopDown:Boolean;
Var
X, Y, PlusOne, TreeCounter: Integer;
Begin
PlusOne:= InvCount+1;
If FindObjTPA (x, y, 1252378, 10, 1, 15, 60, 3, ['Chop','Tree']) Then
Begin
StatsGuise ('We have found the tree');
GetMousePos (x, y);
Case Random(20) Of
0: Mouse (x, y, 5, 5, True);
1: Begin
Mouse (x, y, 5, 5, False);
WaitOption ('Chop', 500);
End;
End;
Flag;
Repeat
Antiban;
MarkTime (TreeCounter);
Wait (1000);
If InvCount=PlusOne Then
StatsGuise ('We got one');
Until (InvCount=PlusOne) Or (TimeFromMark(TreeCounter) > 7000)
End;
End;
Procedure DropLogs;
var
X, Y, LogDTM, I:Integer;
SlotBox:TBox;
LogPattern: TIntegerArray;
Begin
LogDTM := DTMFromString('maQEAAHicE2RgYBBkgABmKM0KxJxALADEokAsBcRyUAxiSwKxOBALATEvELNBaRDmBmIRIBZDUicKFQOp5wNiDiS7mICYBYq9LRSgIuTjAAbKASMVMAYAACNQAx8=');
LogPattern:=[1,5,9,13,17,21,25,2,6,10,14,18,22,26,3,7,11,15,19,23,27,4,8,12,16,20,24,28];
For I:=0 To 27 Do
Begin
SlotBox:= InvBox(LogPattern[I]);
If FindDTm(LogDTM, X, Y, SlotBox.X1, SlotBox.Y1, SlotBox.X2, SlotBox.Y2) Then
Begin
MouseItem (LogPattern[I], 0);
ChooseOption ('Drop');
End;
End;
End;
Begin
SetupSRL;
DeclarePlayers;
SetAngle(SRL_ANGLE_HIGH);
Repeat
ChopDown;
If InvFull Then
DropLogs;
Until(false);
End.