Simba Code:
program MapleTreeCutter;
{$DEFINE SMART}
{$i srl\srl.simba}
Const
BreakEvery =120; // How Many Minutes To Break After
BreakFor =5; // How Many Minutes To Break For
VersionNumber ='1.0'; // Current Version
StartPlayer =0; // Player To Start Chopping With
var
TooLong:Integer;
procedure DeclarePlayers;
begin
HowManyPlayers:= 1; // Number Of Players
NumberOfPlayers(HowManyPlayers);
CurrentPlayer:= 0;
Players[0].Name:=''; // Runescape Username
Players[0].Pass:=''; // Runescape Password
Players[0].Nick:=''; // Players Nickname 3-4 Letters Of Characters Username
Players[0].active:=True;
end;
Procedure StatsGuise(wat:string);
Begin
Status(WAT);
Disguise(wat);
end;
Procedure AntiBan;
Begin
Case Random(250) of
0: Begin StatsGuise('AntiBan')GameTab (Tab_Stats) HoverSkill('WoodCutting', False) GameTab(28) End; //AntiBan measure hovers over woodcutting skill
1: Begin StatsGuise('AntiBan')SleepAndMoveMouse(700+Random(550)); End; //AntiBan measure moves the mouse around randomly for 7 seconds
2: Begin StatsGuise('AntiBan')GameTab (Tab_Inv) ExamineInv; GameTab(28) End; //AntiBan measure examines a random item in invent
3: Begin StatsGuise('AntiBan')RandomAngle(1); End; //AntiBan measure changes camara angle
4: Begin StatsGuise('AntiBan')GameTab (Tab_Stats); Wait(3000+Random(550)); GameTab(28); End; //AntiBan measure shows stats tab
5: Begin StatsGuise('AntiBan')GameTab (Tab_Stats) HoverSkill('Random', False) GameTab(28) End; //AntiBan measure hovers over a random skill in stats tab
End;
End;
Procedure FailSafe(Reason:String);
Begin
Logout;
Stats_Commit;
TerminateScript;
End;
Function TreeColor: Integer;
Var
arP: TPointArray;
arC: TIntegerArray;
tmpCTS, i, arL: Integer;
Begin
tmpCTS := GetColorToleranceSpeed;
ColorToleranceSpeed(2);
SetColorSpeed2Modifiers(0.20, 0.91);
if not (FindColorsTolerance(arP, 2701132, MSX1, MSY1, MSX2, MSY2, 11)) then
begin
Writeln('Failed to find the color, no result.');
ColorToleranceSpeed(tmpCTS);
SetColorSpeed2Modifiers(0.2, 0.2);
Exit;
End;
arC := GetColors(arP);
ClearSameIntegers(arC);
arL := High(arC);
For i := 0 to arL Do
Begin
Result := arC[i];
Writeln('AutoColor = ' + IntToStr(arC[i]));
Break;
End;
ColorToleranceSpeed(tmpCTS);
SetColorSpeed2Modifiers(0.2, 0.2);
If (i = arL + 1) Then
Writeln('AutoColor failed in finding the color.');
End;
function ChopTree: Boolean;
var
x, y, PlusOne, TreeCounter, TooLong: Integer;
Begin
MarkTime(TooLong);
FindNormalRandoms;
PlusOne:=InvCount+1;
x:=MSCX
y:=MSCY
If FindObjTPA(x, y, TreeColor, 5, 2, 15, 75, 250, ['Maple']) Then
Begin
StatsGuise('Hooray We Found A Tree');
GetMousePos(x, y);
Case Random(2) Of
0:Mouse(x, y, 5, 5, True);
1:Begin
Mouse(x, y, 5, 5, False);
WaitOption('Chop', 500);
End;
End;
End;
Flag;
If (TimeFromMark(TooLong)>30000)Then
Begin
Failsafe('Could not find tree');
MarkTime(TreeCounter);
End;
Repeat
FindNormalRandoms;
StatsGuise('anti ban and waiting');
AntiBan;
Wait(1000);
If InvCount = PlusOne Then
WriteLn('OK who took a shit in the bag ??');
Until ( ( InvCount = PlusOne) Or (TimeFromMark(TreeCounter) > 7000));
End;
Procedure DropLogs;
var
x, y, LogDTM, I:Integer;
SlotBox:TBox;
LogPattern:TIntegerArray;
Begin
FindNormalRandoms;
MarkTime(TooLong);
LogDTM := DTMFromString('mqAEAAHicrczRCoJQDMbx75wI9b7X8A2CUBQpiEBQwve/FzUQysi/uMsuz+C3jW3sJOnupQo5LjibDAWueKBBZ55ozTav/f7nhg8/JzNjwcFJR8SIrN9mDl/2b7t9YUBvdUSZJmQfzE9hwwX2L1ZNvRSG');
LogPattern := [1, 2, 3, 4, 8, 7, 6, 5, 9, 10, 11, 12, 16, 15, 14, 13, 17, 18, 19, 20, 24, 23, 22, 21, 25, 26, 27, 28];
For I:=0 To 27 Do
Begin
FindNormalRandoms;
StatsGuise('Taking A Dump:' + IntToStr(I));
SlotBox:= InvBox(LogPattern[I]);
If FindDTM(LogDTM, x, y, SlotBox.X1, SlotBox.Y1, SlotBox.X2, SlotBox.Y2) Then
Begin
MouseItem(LogPattern[I], mouse_right);
ChooseOption('Dro');
End;
End;
End;
Begin
SetUpSRL;
ActivateClient;
DeclarePlayers;
LoginPlayer;
SetAngle(1);
Repeat;
ChopTree;
If InvFull Then
DropLogs;
Until(false);
End.