Simba Code:
program MapleTreeMurder;
{$DEFINE SMART}
{$i srl\srl.simba}
{$i sps\sps.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
x, y, TooLong:Integer;
MyPath:TPointArray;
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
FindNormalRandoms;
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
6: Begin StatsGuise('AntiBan')RandomAngle(2); End;
End;
End;
Procedure AntiBanWhileWalking;
Begin
FindNormalRandoms;
Case Random(250) of
0: Begin StatsGuise('AntiBan')GameTab (Tab_Stats) HoverSkill('WoodCutting', False) GameTab(28) End;
1: Begin StatsGuise('Antiban')SleepAndMoveMouse(200+Random(300)); End;
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;
Procedure WalkToTrees;
Begin
AntiBanWhileWalking;
FindNormalRandoms;
SetUpSRL;
SPS_Areas := ['6_6','5_6','5_7','7_7','7_6','6_5'];
myPath := [Point(2740, 2681), Point(2739, 2686), Point(2739, 2691),
Point(2738, 2696), Point(2739, 2701), Point(2746, 2704), Point(2750, 2704),
Point(2756, 2702), Point(2762, 2693), Point(2762, 2689), Point(2763, 2684),
Point(2764, 2677), Point(2766, 2672), Point(2763, 2666), Point(2763, 2661),
Point(2762, 2655), Point(2751, 2649), Point(2741, 2649), Point(2731, 2650),
Point(2717, 2649), Point(2709, 2645), Point(2699, 2642), Point(2692, 2638),
Point(2683, 2631), Point(2678, 2625), Point(2670, 2621), Point(2660, 2618),
Point(2650, 2614), Point(2642, 2613), Point(2635, 2608), Point(2623, 2606),
point(2609, 2600), Point(2601, 2595), Point(2592, 2589), Point(2582, 2580),
Point(2578, 2575), Point(2571, 2574), Point(2565, 2565), Point(2555, 2563),
Point(2549, 2557), Point(2539, 2555), Point(2298, 2523), Point(2344, 2874),
Point(3171, 2890), Point(3133, 2426), Point(2620, 2384)];
sps_walkpath(MyPath)
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('Wonder Who Planted That ?');
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
ActivateClient;
DeclarePlayers;
LoginPlayer;
WalkToTrees;
Repeat;
SetAngle(1);
ChopTree;
If InvFull Then
Begin
if (FindSymbol(x, y, 'Bank')) then
begin
Mouse(x, y, 5, 5, True);
Writeln('Found the bank symbol');
end else Writeln('Could not find bank symbol');
End;
Until(false);
End.