SRL Archive - First Scripts

Thieving Guild pickpocketer!


Zota

2010-12-02 14:04:38

K so let me first say this script is not mine. This script is mainly VeryBigKitty's.

See thread:
VeryBigKitty's Master Farmer.

Also note that this script has no antibans. I removed pretty much all the procedures and functions out of verybigkitty's apart from the thieving procedure (I learn by taking things apart ;p)

This is basically a suiciding script. I seem to have good luck because I suicide a lot and have never been banned lol.

program Theiver;
{$define SMART}
{$i srl/srl.scar}
{$i reflection/reflection.simba}

var
x, y, stop, tries, tries2: integer;
dir:string;

Const
SMARTWORLD = 72;

procedure DeclarePlayers;
begin
HowManyPlayers := 1;
NumberOfPlayers(HowManyPlayers);
CurrentPlayer := 0;

Players[0].Name := ''; //Your username
Players[0].Pass := ''; //Your password
Players[0].Nick := ''; //3-4 letters from your username
Players[0].Active := true;

end;

Function health:integer;
var asdasdasd:string;
begin
result:=(GetMMLevels('hp',asdasdasd)*100)/Players[CurrentPlayer].level[8];
end;

function GetXPof(skill: string; t:integer): integer; // From narcle's autofighter
var
p: TPoint;
i, tx, ty, x, y, l, II, WaitT: Integer;
xp, Nums, text2, xpis, typeis : string;
begin
Result := -1;
case t of
1: typeis := 'urrent';
2: typeis := 'level';
3: typeis := 'ainder';
end;
if (not LoggedIn) or (not TabExists(2)) then Exit;
GameTab(2);
if (GetCurrentTab <> 2) then Exit;
p := SkillToCoords(Skill);
if (p.x < 1) then Exit;
MMouse(p.x, p.y+7, 12, 4);
repeat
WaitT := WaitT+1;
wait(100);
if WaitT >= 300 then exit;
until findcolor(x, y, 10551295, 554, 205, 743, 465);
wait(300 + Random(100))
if (not FindColor(x, y, 10551295, MIX1, MIY1, MIX2, MIY2)) then Exit;
if IsTextInAreaEx(x, y, x + 60, y + 60, tx, ty, typeis, 0, SmallChars, False, False, 0, 1, 0) then
xp := GetTextAtEx(tx, ty, 0, SmallChars, False, True, 0, 1, 0, 50, False, tr_AllChars);
for l := 1 to Length(xp) do
begin
if (xp[l] = 'O') then text2 := text2 + '0' else text2 := text2+ xp[l];
end;
Nums := '01234567890';
for I := 1 to Length(Text2) do
begin
for II := 1 to 10 do
begin
if (Copy(text2, I, 1) = Copy(Nums, II, 1)) then
xpis := xpis + Copy(Text2, I, 1);
end;
end;
try
result := strtoint(xpis);
Status(skill+' = ' +xpis);
except
result := 0;
status('Failed to get XP');
end;
end;

Procedure Login;
begin
LoginPlayer;
wait(1000+random(1000));
GetAllLevels;
FindNormalRandoms;
MakeCompass('n');
SetAngle(true);
end;

procedure Antiban;
begin

end;

{*******************************************************************************
function Stunned: Boolean;
By: NCDS
Description: Return's True if stunned by NPC.
*******************************************************************************}
function Stunned: Boolean;
var P: TPoint; Search: TBox;
begin
P.x := MSCx;
P.y := MSCy;
Search.x1 := P.x - 30;
Search.y1 := P.y - 30;
Search.x2 := P.x + 30;
Search.y2 := P.y + 30;
Result := FindColorTolerance(P.x, P.y, 5106941, Search.x1, Search.y1,
Search.x2, Search.y2, 5) and
IsChatBoxTextBetween('stunned', 0, 7, 8);
end;

Function Thieve: Boolean;
Var Pick, i, t, x, y : Integer;
NPCs, NPCs2 : TNPCArray;
Monster: TPoint;
begin

/////////////////////////////////////////////////////////////////////////
Pick := BitmapFromString(39, 7, 'meJyTUdeeuuMYEMmoa8tgsJEFkaU' + //
'wVZLExi+FZimmIB0spYNPMQUpsQiPpVgDE6teZO9jDXk84mghSTyi' + //
'UDv9LQUAc38WiA=='); //
/////////////////////////////////////////////////////////////////////////
if not(loggedin) then exit;
if invfull then
begin
stop := 1;
exit;
end;
Repeat
Repeat
if Stunned then
Wait(RandomRange(2000, 3000));

NPCs := GetNPCsBy('Pickpocketing trainer');
NPCs2 := GetNPCsBy('Pickpocketing volunteer');
For I:=0 to high(GetNPCs) do
begin

if(TileOnMS(NPCS[i].Tile, 0))and(NPCS[i].Name = 'Pickpocketing trainer') then
begin

Monster := TileToMS(NPCS[i].Tile, 0);
MMouse(Monster.x, Monster.y, 4, 4);
if(OptionExists('ickpocket'))then
begin

GetMousePos(Monster.x, Monster.y);
Mouse(Monster.x, Monster.y, 0, 0, False);
if(WaitOptionMulti(['ickpocket', 'check-point'], 150)) then
begin

Result := True;
Flag;
Exit;
end;
end else
begin

Wait(150 + Random(50));
if(R_IsUpText('Talk-to'))then
begin

GetMousePos(Monster.x, Monster.y);
Mouse(Monster.x, Monster.y, 0, 0, False);
if(WaitOptionMulti(['ickpocket', 'check-point'], 150)) then
begin

Result := True;
Flag;
Exit;
end;
end;
end;
Break;

end;
if FindObjCustom(x, y, ['ickpocket'], [5392447, 2432277, 4600863], 4) then
begin
mouse(x, y,0 ,0 , false);

If (FindBitmap(pick,x,y)) Then
begin

mouse(x, y, 0, 0, true);
Flag;
Exit;
end;

end;
Flag;
tries := 0;
tries2 := 0;
exit;
end;
begin
wait(600 + random(520));
tries := tries + 1;
end;
until(tries >= 5);
case Random(4) of
0: dir := 'N';
1: dir := 'W';
2: dir := 'S';
3: dir := 'E';
end;
MakeCompass(dir);

tries2 := tries2 + 1;
wait(600 + random(1200));
until(tries2 = 10);
Writeln('Could not find NPC.');
//Nextplayer(false);

end;



begin
Smart_Server := SMARTWORLD;
Smart_Members := True;
Smart_Signed := True;
Smart_SuperDetail := False;
SetupSRL;

mousespeed:=20+random(4);
DeclarePlayers;
Wait(500);
Login;
repeat
if not(loggedin) then login;
FindNormalRandoms;
repeat
Thieve;
FindNormalRandoms;
Antiban;
until(stop = 1);
stop := 0;
until(false);
end.


No progress report because I couldn't get the GetXp function to grab the thieving exp… Just kept coming back as null

You CAN get around 150k+ exp p/h at the thieving guild legit. This script probably only gets 20k p/h. :P

Luke-


Note: VeryBigKitty, if you want this taken down, please tell me and it'll be removed :)



Edit: Script gets me 41k exp p/h at 70 thieving. Pretty crap compared to 150k :P

Becks

2010-12-02 15:32:23

This is a great idea, would love to see it as a full working script.

Zota

2010-12-02 15:38:45

Need someone who is good at scripting to make some sort of precise and fast NPC tracking. So many times the bot would missclick because it couldn't keep up with the moving NPC.

There's also blackjacking NPCs there too. Right click, lure, click continue, continue, right click, knock-out, loot, loot, loot. You can loot them 3 times whilst knocked out. Resulting in 163exp x 3 = 489exp per knockout.

Pickpocketing is easier to script and only makes a little less than the blackjacking (60-63exp per pickpocket).

You could probably get 99 thieving in 3 or 4 days at that sort of exp :P

Luke-

Becks

2010-12-02 15:49:27

yes that sounds awesome. i hate thieving so something like this would be awesome.

MrsWetlander

2010-12-03 20:19:21

This is a beastly script. Used it for 2 hours and got a few levels :)

Zota

2010-12-03 21:18:43

Really :O ???
Sweet, wish I had figured out the progress report shit :P

How much exp where you getting'ish?
I'm making (fixing an outdated script) a master farmer thiever now ;P.

Glad you could gain some levels :)

Luke-