iBlank
2012-05-01 00:12:52
Well, like many others my curiosity was peaked by the new mini-game so I decided to give it ago. Like any natural Simba user, I checked the forums for a script before I jumped in. I didn't see any good ones for the Law Esshound so I decided to make one for people who are 54-66 and can't do the wraiths yet.
Just go to one of the little islands where there is a Law Esshound and start it up. The way the script detects if you are still siphoning is if it detects the little white balls of light in a box around your body every 6 seconds or so. Needless to say, this method will not work well on a crowded island, so if you can't find a less crowded island then I would suggest not using this script.
Lastly, before you start setup your first XP counter to be for Runecrafting and after every 3 kills there will be a little proggy in the debug box telling you how much XP you have gained and what your XP per hour rate is. I have gone from 54 to 60 with this so far tonight!
**EDIT** - I would suggest wearing black robes or something as well. If something on your body is similar to the color of the white puffs then you could get some false positives!
**EDIT** - Put your essence in your FIRST inventory slot. I added a procedure that will check for rune essence in the first slot the first time you run it. If it does not find essence then it will search for the floating essence and click it.
A Sample Video! Sorry, for the poor quality and my inability to embed. My 4 year old laptop doesn't multitask well.
And a sample proggy!
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.