Simba Code:
Program EssHoundSiphon;
{$DEFINE SMART}
{$i srl/srl.simba}
Const
World = 00; /// Find a world where there is a less populated Law Esshound.
AttackTimer = 6500; /// Wouldn't touch this unless you know what you're doing.
Var
x,y,XPO,XPN,XPH,TimeGone,K,EA,AntiBan_C:Integer;
last_antiban: String;
Procedure DeclarePlayers;
Begin
HowManyPlayers := 1;
NumberOfPlayers(HowManyPlayers);
CurrentPlayer := 0;
Players[0].Name :=''; // Enter your username here.
Players[0].Pass :=''; // Enter your password here.
Players[0].Nick :=''; // Enter nickname for progres report.
Players[0].Active:=True;
Players[0].BoxRewards := ['Xp', 'mote', 'ostume', 'oins'];
Players[0].WorldInfo := [False, World];
End;
/// Courtesy of Oleaa ///
Procedure AntiBan;
Begin
Case Random(20000) Of
100..199: begin
SleepAndMoveMouse(RandomRange(500,750));
Antiban_C := Antiban_C + 1;
last_antiban := 'Sleep and Move Mouse';
end;
200..250: begin
HoverSkill('Runecrafting',False);
Wait(1500);
Wait(Random(12000));
Antiban_C := Antiban_C + 1;
last_antiban := 'Hover Skill "runecrafting"';
end;
251..390: begin
RandomRClick;
Antiban_C := Antiban_C + 1;
last_antiban := 'Random Right Click"';
end;
391..450: begin
HoverSkill('random',False);
Wait(3400);
Wait(Random(12000));
GameTab(25);
Antiban_C := Antiban_C + 1;
last_antiban := 'Hover random skill.';
end;
End;
Wait(1000);
End;
Procedure IfRandoms;
Begin
FindNormalRandoms;
AntiBan;
End;
Procedure Proggy;
Begin
If (K >= 3) Then
Begin
ClearDebug;
K := (0)
TimeGone := (GetTimeRunning/1000);
XPN := ((GetXPBar(1))-XPO);
XPH := ((3600*(XPN))/(TimeGone));
Writeln('Time Ran: '+MsToTime(GetTimeRunning,Time_Bare));
Writeln('Gained : '+IntToStr(XPN)+' Exp');
Writeln('Exp/hr : '+IntToStr(XPH));
End Else Exit;
End;
Function FloatingEss(x, y: Integer): Boolean;
Var
CTS, I: Integer;
TPA: TPointArray;
ATPA: Array of TPointArray;
Begin
CTS := GetColorToleranceSpeed;
ColorToleranceSpeed(2);
SetColorSpeed2Modifiers(0.00, 0.10);
FindColorsSpiralTolerance(MSCX, MSCY, TPA, 4342853, MSX1, MSY1, MSX2, MSY2, 5);
ColorToleranceSpeed(CTS);
ATPA := TPAToATPAEx(TPA, 30, 30);
For I := 0 To High(ATPA) Do
Begin
MiddleTPAEx(ATPA[i], x, y);
MMouse(x, y, 0, 0);
If(WaitUpTextMulti(['Floa','ting','ng es','ess','ence'],1000)) Then
Begin
Result := True;
GetMousePos(x, y);
Break;
End;
End;
End;
Procedure CheckEss;
Begin
MMouse(576,230,5,5);
If (WaitUpTextMulti(['ess','ssen','senc','ence'],3000)) Then
Begin
Writeln('Found ess in first slot, commence the siphoning!');
Exit;
End Else
Repeat
IncEx(EA,1);
If (FloatingEss(X,Y)) Then ClickMouse2(True) Else Exit;
Until(DidRedClick or (EA>=5));
End;
Function IsAttack: Boolean;
Var
CTS: Integer;
TPA: TPointArray;
Begin
CTS := GetColorToleranceSpeed;
Begin
ColorToleranceSpeed(2);
SetColorSpeed2Modifiers(0.38, 1.70);
FindColorsSpiralTolerance(x, y, TPA, 15129824, 215, 135, 280, 202, 3);
ColorToleranceSpeed(CTS);
result := (Length(TPA) > 0);
If result Then
Exit;
End;
End;
Procedure AttackWait;
Var
T: Integer;
Begin
Marktime(T);
Repeat
If IsAttack Then Marktime(T);
AntiBan;
IfRandoms;
Proggy;
Until(TimeFromMark(T) >= (AttackTimer+(RandomRange(300,600))));
End;
Function FindMonster(x, y: Integer): Boolean;
Var
CTS, I: Integer;
TPA: TPointArray;
ATPA: Array of TPointArray;
Begin
CTS := GetColorToleranceSpeed;
ColorToleranceSpeed(2);
SetColorSpeed2Modifiers(0.22, 1.20);
FindColorsSpiralTolerance(MSCX, MSCY, TPA, 16297379, MSX1, MSY1, MSX2, MSY2, 8);
ColorToleranceSpeed(CTS);
ATPA := TPAToATPAEx(TPA, 30, 30);
For I := 0 To High(ATPA) Do
Begin
MiddleTPAEx(ATPA[i], x, y);
MMouse(x, y, 0, 0);
If(WaitUpTextMulti(['law','aw es','essh','hou','ound'],800)) Then
Begin
Result := True;
GetMousePos(x, y);
Break;
End;
End;
End;
Procedure AttackMonster;
Begin
If FindMonster(X,Y) Then
Begin
ClickMouse2(True)
If DidRedClick Then
Begin
IncEx(K,1);
AttackWait
End Else AttackMonster;
End Else AttackMonster;
End;
Procedure MainLoop;
Begin
CheckEss;
Repeat
AttackMonster;
Until (Not LoggedIn);
End;
Begin;
ClearDebug;
MouseSpeed := RandomRange(10,20);
Smart_Server := 00;
Smart_Members := True;
Smart_Signed := True;
Smart_SuperDetail := False
SetupSRL;
ActivateClient;
DeclarePlayers;
LoginPlayer;
XPO := GetXpBar(1);
K := (0);
MakeCompass('N');
SetAngle(0);
ClearDebug;
MainLoop;
End.