PDA

View Full Version : [Thieving] [Reflection/AeroLib] Hemenster Chest Looter



Prometheus
07-10-2015, 10:22 AM
Hemenster Chest Looter
20k Thieving exp p/hr (Requires 47 Thieving)


What does this script do?
A simple script that steals from the Hemenster chest and hops to another world to steal the chest again to gain decent thieving experience.
I originally made this script to steal the chest north of Ardougne for the Desert Treasure thieving requirement on my pure.

Requirements:
- 47 Thieving
-AeroLib Include
-Lape Reflection Include

Instructions:
-Have a lockpick in your inventory
-Start script next to the chest

Location of Hemenster Chest (47 Thieving required):
http://i.imgur.com/Ai0xmfB.png

Progress reports:
http://i.imgur.com/RctEB7B.png


Note: You may be able to use this script at other chests. However, I only tested it at the one north of Ardougne, and you may also have to change the exp value to receive an accurate amount of exp gained.
More info here: http://2007.runescape.wikia.com/wiki/Thieving#Chests

KeepBotting
07-10-2015, 02:53 PM
Gratz on the release, old buddy old pal. Glad to see you back in the game -- hit me up on Skype sometime!

Prometheus
07-10-2015, 06:06 PM
Gratz on the release, old buddy old pal. Glad to see you back in the game -- hit me up on Skype sometime!

Haha nice to see you again! I'll send you a request :)

Bulbasaur
07-11-2015, 07:03 AM
Why doesn't it use the world switcher? Much faster

Prometheus
07-11-2015, 07:05 AM
Why doesn't it use the world switcher? Much faster

I tried doing that originally but then it ran into some errors due to the disconnecting bug going on

Bulbasaur
07-11-2015, 07:15 AM
Also tried logging into a non-members world and hanged.

Prometheus
07-11-2015, 07:31 AM
Also tried logging into a non-members world and hanged.

That's a problem with the recent world list change. I'm trying to find a temporary fix for it, and I'll update it once I find one.

E: Updated it, should be a temporary fix. Now it chooses a random p2p world from the 3rd row of the world list since all of them are members world. I'll dig in deeper tomorrow.

E2: Nvm, first 2 rows seemed unaffected by the change. I changed it to switch to the p2p worlds in the first 2 rows so that there are more worlds to choose from.

Bulbasaur
07-11-2015, 08:58 AM
Working perfectly now. :D

Darklord2554
07-15-2015, 02:53 AM
After some worlds you start getting the "Too many login attempts" error while trying to log in. So, in order to run smoother i changed the aerolib's login.simba file in the line 497 to :1437: Actions := ['Too many incorrect logins.', 10000, 5, 'Retry']; so it would retry every 10 seconds.

I mean, you will still be getting those login attempts but at least you dont have to wait 6 min to relog (default time on the error), also it seems more human-like to keep spamming that log in button in order to hop worlds

ddn4
07-18-2015, 06:04 PM
There seems to be an issue with the world hopper, the mouse just hovers between two worlds when switching, then ends up logging in on the same world

mur205
08-01-2015, 04:55 PM
That's a problem with the recent world list change. I'm trying to find a temporary fix for it, and I'll update it once I find one.

E: Updated it, should be a temporary fix. Now it chooses a random p2p world from the 3rd row of the world list since all of them are members world. I'll dig in deeper tomorrow.

E2: Nvm, first 2 rows seemed unaffected by the change. I changed it to switch to the p2p worlds in the first 2 rows so that there are more worlds to choose from.



It doesnt work will you update this?

Prometheus
08-01-2015, 07:28 PM
It doesnt work will you update this?

Can you explain a bit more please?

mur205
08-04-2015, 06:50 PM
Can you explain a bit more please?

it cant seem to hop worlds

Prometheus
08-04-2015, 08:37 PM
it cant seem to hop worlds

I'm guessing that the World Selection screen was edited by Jagex. I'll try my best finding a fix to it. Thanks for alerting me!

Blak Fishy
08-06-2015, 07:32 PM
I'm guessing that the World Selection screen was edited by Jagex. I'll try my best finding a fix to it. Thanks for alerting me!

They changed it so every 20 worlds you hop it stops you from hopping again for x amount of time. I think it will reset if you wait 1 minute, but I am not sure. You might be able to change the implementation to just hop 18-20 worlds then wait for 2-4 minutes at one world to thieve chest from, then start hopping again.

hakishakataki
09-24-2015, 10:52 PM
They changed it so every 20 worlds you hop it stops you from hopping again for x amount of time. I think it will reset if you wait 1 minute, but I am not sure. You might be able to change the implementation to just hop 18-20 worlds then wait for 2-4 minutes at one world to thieve chest from, then start hopping again.

That's a really good suggestion, It shouldn't be hard to code I think.

just a counter and 'after 18, wait(240000).' plus maybe some antiban stuff....


-----

- procedure: hop counter.

- EDIT:
Procedure Hopping;
begin
if isloggedin then exit;
if not isLoggedin then
SelectWorld(randomWorld(True));
LoginPlayer(False);
end;

to have a 'add +1 to hop counter at the end'

- procedure: outwit jagex hop timers.
'if hop counter = 18 or more' set timer (4 minutes). During 4 minutes do some anti ban stuff. Loot the chest a few times depending on it's cooldown, Examine some things, move the camera around, check some skills, etc... After timer is up set hop counter to 0 and engage procedure: hopping'

terrorbyte
10-31-2015, 04:15 AM
Hey Promotheus, how can I remove hopping feature from this? Also what if I want the delay to be 9000 ms between each search for traps? I know its a newbie question but will help. much love

Hodor123
03-02-2016, 07:04 AM
I keep getting a temporary "ban" on hopping after a few minutes. I'm not sure about how to combat this.

fanatickburr38
12-28-2016, 09:20 AM
Works good but logs into worlds like deadman and skill level requirement worlds... is there a way to make sure it just logs into a normal members world

jstemper
12-28-2016, 02:06 PM
Works good but logs into worlds like deadman and skill level requirement worlds... is there a way to make sure it just logs into a normal members world
this is the code he uses to change worlds

SelectWorld(randomWorld(True));

So just override randomworld(); and remove the mem worlds you want to avoid

function randomWorld(Member: Boolean): Integer;
var
H : integer;
MemWorlds,
FreeWorlds : TIntegerArray;
begin
MemWorlds :=
[ 320,343,369,+
302,321,344,370,+
303,322,345,373,+
304, 346,374,+
305, 349,375,+
306,327,350,376,+
328,351,377,+
309,329,354,378,+
310,330,358, +
311,333,359, +
312,334,360, +
313, 361, +
314,336,362, +
365,386,+
317,338,366, +
318,341,367, +
319,342,368];

FreeWorlds :=
[301,308,316,335,381, +
382,383,384,385,393,394];

case Member of
True :
begin
H := Random(High(MemWorlds));
Result := MemWorlds[H];
end;
False :
begin
H := Random(High(FreeWorlds));
Result := FreeWorlds[H];
end;
end;
end;

Bulbasaur
01-05-2017, 01:14 AM
Waits 4-5 minutes after 20 steals (is this even needed anymore?), the count claims 40 but for some reason it is going up by two so I just worked with that lol, cbf figuring out why. Added a little more antiban. Removed F2P worlds from the list in login.simba at line 309 due to an issue with it trying to persistently enter F2P worlds(also removed new deadman worlds etc, though 1250 and 1500 skill worlds are still enabled.), so it looks like this


MemWorlds :=
[ 343,369, +
302,321,344,370,+
303,322, +
304, 346, +
305,375, +
306,327,350,376,+
328,351,377,+
309,329,354, +
310,330,358, +
333,359, +
312,334,360, +
313, +
314,336,362, +
365,386,+
317,366, +
318,341,367, +
319,342,368 ];

FreeWorlds :=
[];

and the edited script:


program ChestLooter;
{$DEFINE SMART}
{$i Aerolib/Aerolib.simba}
{$i Reflection/Reflection.simba}


const
Username = '';
Password = '';


var
x, y, AmountStole,count, xp, xpGain, xpHour, chestHour, Performed: Integer;
Chest: TReflectObject;
MyPlayer: TReflectLocalPlayer;
pt: TPoint;

Procedure DeclarePlayer;
begin
Me.Name := Username;
Me.Pass := Password;
Me.Member := True;
Me.Active := True;
end;

Procedure Hopping;
begin
if isloggedin then exit;
if not isLoggedin then
SelectWorld(randomWorld(True));
LoginPlayer(False);
end;

Procedure Antiban();
begin
if isLoggedIn then
Inc(Performed);
case random(600) of
0..20: HoverSkill('thieving', false);
30..33: begin
MMouseOffClient('random');
Wait(RandomRange(3000, 10000));
end;
35..40: SetCompass(inttostr(randomrange(0, 360)));
45..47: Reflect.Antiban.ExamineInv();
50..53: Reflect.Antiban.PickUpMouse();
55..58: Reflect.Antiban.randomFKeys(true);
end;
end;

Procedure Progress;
begin
xpGain := (xp * AmountStole);
xpHour := Round((xpGain) / (GetTimeRunning / 3600000.0));
chestHour := Round((AmountStole) / (GetTimeRunning / 3600000.0));

ClearDebug;
WriteLn('Running for: ' + MsToTime(GetTimeRunning, 3));
WriteLn('Chests stolen: ' + ToStr(AmountStole) + ' (' + toStr(chestHour) + ' p/hr)');
WriteLn('Exp gained: ' + toStr(xpGain) + ' (' + toStr(xpHour) + ' p/hr)');
Writeln(count);

end;

Procedure Stealing;
begin
if reflect.Chat.Find('already') or Reflect.Chat.Find('treasure') then
Logoutplayer();

if isloggedin then
if reflect.Inv.Contains(['Lockpick']) then
begin
// setAngle(0);
//Compass('N');
Antiban();

if Chest.Find(objGame, 'Chest', 3) then
pt := Chest.GetMSPoint;
HumanMMouse(pt, randomrange(2,4), randomrange(2,4));
FastClick(MOUSE_RIGHT);
WaitOption('Search for traps', RandomRange(250, 450));
Wait(RandomRange(1450, 2200));

if Reflect.Chat.Find('already') then begin
Wait(randomRange(220, 400));
LogOutPlayer();
end;
if reflect.Chat.Find('manage') then
begin
Inc(AmountStole);
xp := 150;
inc(count);
Wait(RandomRange(350, 800));
LogOutPlayer();
if inc(count) = 40 then begin incex(count, -40);
progress;
wait(randomrange(400000,500000));
end;
end;
end else
begin
WriteLn('Lockpick not detected, logging off...');
logoutPlayer();
TerminateScript;
end;
Progress;
end;

begin
DeclarePlayer;
initAL();
Reflect.Setup();

repeat
Hopping;
Stealing;
until false;
end.