Simba Code:
program Firstwillow;
//{$DEFINE SMART}
{$DEFINE SRL5} //
{$i srl/srl.simba}
{$i SPS/sps.simba}
const
SERVER = 0; // Enter "0" to pick a random server.
MEMBERS = True; // Set to True if using a RS-Members account. False if F2P.
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)
LoadsPerLogin= 15; //How Many Loads To Do Per Login!
LoadsTotal= 9999; //How Many Total Lods To Do Per Character!
AntiBDrop= True; //False for faster dropping. True for antiban dropping.
Sleepyweepy= 3; //Minutes to wait before logging in again.0 = Disabled.
YDebug= True; //Shows whats happening on the runescape screen in a
//debug window, so you dont have to open/close SMART.
var
TooLong:Integer;
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.
Nick := ''; //Player nickname - 3-4 letters of Player username.
Active := True;
end;
end;
Procedure StatsGuise(wat:String);
Begin
Status(wat);
Disguise(wat);
End;
Function CheckAndClick(uptext, option:string; x,y:integer; rclick:boolean) :boolean;
Begin
MMouse(x, y, 5, 5);
if waitUptext (Uptext, 1500+ random (500)) then
Begin
Result:=True;
GetMousePos(x, y);
If RClick then
Mouse(x, y, 0, 0,False);
result:=WaitOption(Option, 2000);
if result Then FFlag(0);
end else
Begin
Mouse(x, y, 0, 0,true);
Wait(100+Random(50));
FFlag(0);
End;
End;
Procedure Antiban;
Begin
Case Random(192) Of
0: HoverSkill('woodcut', False);
1: Begin PickUpMouse; SleepAndMoveMouse(3000 + Random(500)); End;
2: ExamineInv;
3: RandomAngle(1);
4: Begin GameTab(Tab_Stats); Wait(3000 + Random(500)); GameTab(Tab_Inv); End;
5: HoverSkill('random', True);
End;
End;
Procedure FailSafe(Reson:String);
Begin
Players[CurrentPlayer].Loc:=Reson;
Logout;
Stats_Commit;
//progressreport;
Writeln(Reson);
TerminateScript;
End;
Function IvyColour: Integer;
Var
arP: TPointArray;
arC: TIntegerArray;
tmpCTS, i, arL: Integer;
Begin
tmpCTS := GetColorToleranceSpeed;
ColorToleranceSpeed(2);
SetColorSpeed2Modifiers(0.50, 0.40);
if not (FindColorsTolerance(arP, 2700598, MSX1, MSY1, MSX2, MSY2, 3)) 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 FindObject(var fx, fy: Integer): Boolean;
//var
//: TPointArray;
// ararP: T2DPointArray;
// tmpCTS, i, arL: Integer;
// P: TPoint;
//begin
// tmpCTS := GetColorToleranceSpeed;
// ColorToleranceSpeed(2);
// SetColorSpeed2Modifiers(0.26, 2.36);
// if not(FindColorsTolerance(arP, 2766647, MSX1, MSY1, MSX2, MSY2, 3)) then
// begin
// Writeln('Failed to find the color, no object found.');
// ColorToleranceSpeed(tmpCTS);
// SetColorSpeed2Modifiers(0.2, 0.2);
// Exit;
// end;
// SortTPAFrom(arP, Point(MSCX, MSCY));
// ararP := SplitTPAEx(arP, 10, 10);
// arL := High(ararP);
// for i := 0 to arL do
// begin
// P := MiddleTPA(ararP[i]);
// MMouse(P.x, P.y, 5, 5);
// Wait(100 + Random(100));
// if (IsUpText('Take')) then
// begin;
// Result := True;
// Break;
// end;
// end;
// ColorToleranceSpeed(tmpCTS);
// SetColorSpeed2Modifiers(0.2, 0.2);
// If (i = arL + 1) Then
// Begin
// Writeln('FindObject could not find object.');
// Exit;
// End;
// GetMousePos(fx, fy);
//End;
Function ChopDown:Boolean; //this is line 174
Var
Boo, Bee, PlusOne, TreeCounter, TooLong: Integer;
Begin
FindNormalRandoms;
MarkTime(TooLong);
PlusOne:= InvCount + 1;
Boo:=MSCX
Bee:=MSCY
if findobjtpa( Boo, Bee, IvyColour, 8, 1, 30, 60, 300, ['llow']) Then
writeln('got one');
getmousepos(Boo, Bee);
Case Random(2) of
0:Mouse(Boo, Bee, 5, 5, True);
1: Begin
mouse(Boo, Bee, 5,5, False);
WaitOption('illow', 6500+Random(150));
End;
End;
Flag;
MarkTime(TreeCounter);
if (TimeFromMark(TooLong) > 15000) then
FailSafe ('could not find willow');
repeat
if (TimeFromMark(TooLong) > 15000) then
FindNormalRandoms;
StatsGuise('AntiBan and Waiting');
AntiBan;
Wait(3500);
If Invcount=PlusOne Then
Writeln ('We Got One');
Until (InvCount=PlusOne) Or (TimeFromMark(TreeCounter) > 7000)
End;
Procedure DropLogs;
Var
Boo, Bee, LogDTM, I:Integer;
SlotBox:TBox;
LogPattern:TIntegerArray;
Begin
FindNormalRandoms;
LogDTM := DTMFromString('mrAAAAHic42BgYLBnYmAwB2IbIHYDYk8g9gBiEyj2ZWRgcIZiByD2AuIQIA4FYncgNjcUBJrChAfjB4wEMAwAAI0XBO4=');
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
StatsGuise('Dropping Log' + IntToStr(I));
SlotBox:=InvBox(LogPattern[I]);
If FindDTM(LogDTM,Boo,Bee,SlotBox.X1,SlotBox.Y1, SlotBox.X2,SlotBox.Y2) Then
Begin
MouseItem (LogPattern[I],2);
ChooseOption('Dro');
MarkTime(TooLong);
End;
End;
End;
Begin
SetupSRL;
DeclarePlayers;
Repeat
ChopDown;
if invFull then
DropLogs;
Until(False);
End.