Simba Code:
program RunespanCamper;
{$DEFINE SMART}
{$i SRL\SRL.simba}
{$i SRL/SRL/misc/paintsmart.simba}
const
Time = 3500; //Wait time inbetween checks for finding redoing siphon.
RunTime = 60; //Max run time in minutes.
var
XPStart: Integer;
Procedure DeclarePlayers;
var
i: Integer;
Begin
HowManyPlayers := 1;
NumberOfPlayers(HowManyPlayers);
CurrentPlayer :=0;
For i := 0 to HowManyPlayers-1 Do
Players[i].BoxRewards := ['mote', 'coal', 'XP'];
With Players[0] Do
Begin
Name := ''; //Username
Pass := ''; //Password
Active := True;
End;
End;
//EssHunting was created using Nemesis3X's finding NPCs tutorial
Function EssHunting(Color, Tolerance, NumOfPoints, Width, Height: Integer; Nick, Name: String): Boolean;
Var
TPAA: T2DPointArray;
TPA: TPointArray;
CTS, i, x, y: Integer;
Begin
CTS := GetColorToleranceSpeed;
ColorToleranceSpeed(2);
FindColorsSpiralTolerance(MSCX, MSCY, TPA, Color, MSX1, MSY1, MSX2, MSY2, Tolerance);
ColorToleranceSpeed(CTS);
TPAA := TPAToATPAEx(TPA, Width, Height);
SortATPASize(TPAA, True);
For i := 0 To High(TPAA) Do
If GetArraylength(TPAA[i]) > NumOfPoints Then
Begin
MiddleTPAEx(TPAA[i], x, y);
MMouse(x, y, 3, 3);
If (IsUpText(Nick)) Then
Begin
Result := True;
ClickMouse2(1);
Writeln('Found: ' + Name);
Break;
End;
End;
End;
Procedure Antiban;
Begin
Case Random(50) Of
0: RandomRClick;
1: HoverSkill('Runecrafting', False);
2: HoverSkill('Random', False);
3: PickUpMouse;
4: RandomMovement;
End;
End;
Procedure GainingXP;
var
XP: Integer;
Begin
Repeat
XP := GetXPBarTotal;
Wait(Time + Random(Time / 5));
Antiban;
FindNormalRandoms;
Antiban;
Until(xp = GetXPBarTotal);
End;
Procedure Proggy;
var
info1, info2, info3: String;
Begin
info1 := 'Run Time: ' + IntToStr(Round(GetTimeRunning / 60000.0)) + ' minutes';
info2 := 'Experience gained: ' + IntToStr(GetXPBarTotal - XPStart) + ' xp';
info3 := 'Average experience per hour: ' + IntToStr(Round((GetXPBarTotal - XPStart) / (GetTimeRunning / 3600000.0))) + ' xp/hr';
WriteLn(info1);
WriteLn(info2);
WriteLn(info3);
SMART_DrawTextEx(True, 10, 24, UpChars, info1, clWhite);
SMART_DrawTextEx(False, 10, 38, UpChars, info2, clWhite);
SMART_DrawTextEx(False, 10, 52, UpChars, info3, clWhite);
End;
Procedure Siphon;
Begin
If EssHunting(16632002, 10, 5, 5, 10, 'Body', 'Body esshound') Then GainingXP;
Proggy;
End;
Begin
SetupSRL;
DeclarePlayers;
If (not LoggedIn) Then
LoginPlayer;
Wait(Time * 2);
SetAngle(0);
XPStart := GetXPBarTotal;
Repeat
FindNormalRandoms;
Wait(RandomRange(Time / 5, Time));
Siphon;
Until((GetTimeRunning / 60000.0) > RunTime);
Logout;
End.