SRL Archive - First Scripts

Help


drawboy11

2012-02-11 03:10:06

This is a script for personal use, not releasing it. It is a combination of the two clay miners we have, I changed the banking location, teh DTM's work great, however when it gets to the bank it wont fully go inside and then it doesnt look for the banker, help? Thanks guys ;P






program DrawboysBarbClayrevision;
{$DEFINE SMART} //Comment this and select a client to run this kbScript in an Internet browser/Runescape client.
{$i srl/srl.simba}
{$i sps/sps.simba}

var //Don't touch these or your walking/progress reports won't work.
MiningClay: Boolean;
WalkingToBank: Boolean;
Banking: Boolean;
WalkingToMine: Boolean;
Loads: Integer;
ClayMined: Integer;
LvlsGain: Integer;
ExperienceGain: Integer;
x, y: Integer;
Q: Array [0..10] of Integer;//DTM Declaring procedure.
aFound: Extended;

///////////////////////////////////Start setting up the script here. Refer to the comments if you don't know what you're doing.
///////////////////////////////////
///// Start Setup ///////
///////////////////////////////////
///////////////////////////////////Start setting up the script here. Refer to the comments if you don't know what you're doing.

const
{---SMART Setup Constants---}
WORLD = 15; //Put your desired Runescape world number here. Leave it as 0 to choose a random world.
MEMBERS = False; //False if you are Free-To-Play. True if you are a Member.
SIGNED = True; //True if running a single account, False otherwise. This script only declares 1 player anyway, so just leave this alone.
{---------------------------}

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

Players[0].Name := ''; //Your Runescape username here.
Players[0].Pass := ''; //Your Runescape password here.
Players[0].Active := True; //Set to True if you want to use this player. Set to False to disable this player.
Players[0].Pin := 'Your_Bank_PIN'; //Put your Bank PIN here. Leave alone if you don't have a Bank PIN.
end;

///////////////////////////////////Don't modify the script ANY FURTHER unless you know what you're doing. You could break stuff!
///////////////////////////////////
///// Stop Setup ///////
///////////////////////////////////
///////////////////////////////////Don't modify the script ANY FURTHER unless you know what you're doing. You could break stuff!

procedure SetupScript;
begin;
WriteLn('~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~');
WriteLn('Welcome to DrawboysBarbClay beta');
WriteLn('~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~');
end;

procedure SetDTM;//DTM Defining procedure.
begin
Q[0] := DTMFromString('mrAAAAHic42BgYJjPxMAwGYgXAPEaIF4JxEuB2AuI24DYAagmFojjodgFiHWA2AKIRYC4ME+ZoTxPlaG5SJPBSVuIISFOjiEzTY8hKVWBITtUn4EfqAYfZiSAYQAAjFcOpA==');
Q[1] := DTMFromString('m1gAAAHic42JgYGhhYmCoAOKJQLwQiFcB8TogngkVTwPiMiDWBap1BGIPIHYHYlcgtgJiVSAWAWIpIDYC4rgYLYbMND2GuER5MDvGVZahvXcWg4+jBENciB1DZrAeQ2aiHgM/UC0xmJFIjAAAtDMRuQ==');
Q[2] := DTMFromString('mlwAAAHicY2dgYEhiYmDIBuIMIA4CYm8gDoOKSQLltYDYCoo1gVgMiOWAODNWjyHYToohKsCaITvenSE3SIkhP0GZIdRVmoEfKI8LM+LBUAAA0SgKSg==');
Q[3] := DTMFromString('mrAAAAHic42BgYChgYmAIBuJMIO4G4iYgngPE84A4B4ilgWrMgNgeiHWA2BiINYFYFYgFgTg8RouhONGYoTxPlSE3S4mhOEuFITVWniHGVZYhGijHD1SDDzMSwDAAALXODS4=');
Q[4] := DTMFromString('m6wAAAHic42ZgYChiYmCIAeIsIK4A4j4gngnES4C4G4jrgDgbiIOBWBao3gKI3YE4EIi9gdgZKiYHxMJALALEEkAcFKvBkJJuwWCiw8kQlqjFEBghzZCUKs/QNmkWQxhQzs5djiEk0IIhKSmGgR+onljMSAJGAgDACBIf');
Q[5] := DTMFromString ('mrAAAAHic42BgYIhhYmBwAWJ7IHYA4kwgLgTiSCDOBmIToBpXILYAYk0gFgRiUyAOB2IvIPYNUWYIiDViiPaSZfCPVmcICbQA47S0BDDND1SDDzMSwDAAAAtKDBA=');
Q[6] := DTMFromString ('mrAAAAHic42BgYEhhYmBwAWILIPYE4mQgbgDiEiCeA8TCQDUWQBwDxHJA7AnEpkBsDMSKQOwfrc7gVWzC4B6oxBAUL8vgHabCEBJoweDho8Dg7KrGwA9Ugw8zEsAwAAD7ngua');
Q[7] := DTMFromString ('m1gAAAHic42JgYJjKxMBQC8QFQNwExBOAeDYQr2KCyDUCcRcQ6wPVmgOxIxDbA7EtEDsBsTcQZwJxAhBLAXFgWACDX5g6Q2C8AoNPiBqDl58KQ3CgNYO1PYQGyYHY/EC1xGBGIjECAABQJBCk');
Q[8] := DTMFromString ('mwQAAAHic42RgYJjMxMCwAIoXAvESIM4C4jworgViXwYIDgViFyB2AOIEIHYCYi0gdgTi5Fh/hh/vuMH4w2MI7ROixmBhq8xgaqXOEBgWwEAMYCQCwwEAcB8TKw==');
Q[9] := DTMFromString ('mrAAAAHic42BgYJjGxMCwEIoXAHEOEOdDcQ0Q+wDVhDBAaGcg9gJiCyDWBuIwIE6O9Wf48JgbjH+842awdZJncPdRZrCw1WQIDAtg4AeqwYcZCWAYAABAcRCu');
end;

procedure FrDTM;//DTM Freeing procedure.
begin
FreeDTM(Q[0]);
FreeDTM(Q[1]);
FreeDTM(Q[2]);
FreeDTM(Q[3]);

FreeDTM(Q[4]);
FreeDTM(Q[5]);
FreeDTM(Q[6]);
FreeDTM(Q[7]);
FreeDTM(Q[8]);
FreeDTM(Q[9]);
end;






procedure AntiBan;
begin

if not LoggedIn then
Exit;
FindNormalRandoms;

If LevelUp then
begin
WriteLn('Congratulations, You Have Just Leveled Up!');
Inc(LvlsGain);
end;

case Random(61) of
10: RandomRClick;
20: HoverSkill('Mining', False);
30: PickUpMouse;
40: RandomMovement;
50: BoredHuman;
60: ExamineInv;
end;
end;

procedure AntiBanLg;
begin
if(not(LoggedIn))then
exit;
FindNormalRandoms;
case Random(3) of
0:
begin
WriteLn('AntiBanLg chosen: Hover Skill.');
HoverSkill('Mining', false); //This hovers your mouse over the Woodcutting skill.
wait(2500+Random(500));
end;
1:
begin
WriteLn('AntiBanLg chosen: Move Camera.');
MakeCompass('N'); //This fiddles around with the Camera. Aligns the Camera North, rotates the Camera South, then aligns North again.
wait(100+random(133));
MakeCompass('S');
wait(50+random(133));
MakeCompass('N');
end;
2:
begin
WriteLn('AntiBanLg chosen: Bored Human.');
BoredHuman;
end;
end;
end;


procedure Progress;
begin
WriteLn('');
WriteLn('|========================================|');
WriteLn('|| Modified by Drawboy11 ||');
WriteLn('|| ||');
WriteLn('|========================================|')
WriteLn('|| Running For: ' + PadR(TimeRunning, 19) + '||')
WriteLn('|========================================|');
WriteLn('| Exp | Lvls | Clay Mined | Loads |');
WriteLn('|----------------------------------------|');
WriteLn('| | | | |');
WriteLn('| ' + PadR(IntToStr(ExperienceGain), 8) + '| ' + PadR(IntToStr(LvlsGain), 4) + '| ' + PadR(IntToStr(ClayMined), 7) + '| ' + PadR(IntToStr(Loads), 4) + '|');
WriteLn('| | | | |');
WriteLn('|----------------------------------------|')
WriteLn('| Thanks For Using The Script |');
WriteLn('|========================================|');
WriteLn('');
end;

procedure Bank;
var fx, fy: integer;
Banked: Boolean;

begin
MiningClay := False;
WalkingToMine := False;
WalkingToBank := False;
Banking := True;

Banked := False

WriteLn('Banking.');
repeat
if not (IsMoving) then
begin
if FindObj(x, y, 'Banker', 4139568, 35) then
begin
Mouse(x, y, 2, 2, false);
ChooseOption('Bank banker');
repeat
Wait(1000 + Random(1000));
DepositAll();
Wait(250 + Random(500));
until not InvFull;
CloseBank();
Wait(500 + Random(1000));
Banked := True

end;

WriteLn('Done Banking.');
Inc(Loads);
Progress;
end;
until (Banked)
end;



procedure StopScript;
begin
Progress;
Wait(2000);

TerminateScript;
end;
procedure MiningFailsafe;
var
runCount: Integer;

begin

if (runCount = 0) then
begin
Writeln('Run Count 0');
Wait(100 + random(50));
KeyDown(VK_DOWN);
Wait(500 + random(1000));
KeyUp(VK_DOWN);
Wait(100 + random(50));
Inc(runCount);
end

else if (runCount = 1) then
begin
Writeln('Run Count 1');
Wait(100 + random(50));
KeyDown(VK_LEFT);
Wait(100);
KeyUp(VK_LEFT);
Wait(100 + random(50));
Inc(runCount)
end

else if (runCount = 2) then
begin
Writeln('Run Count 2');
Wait(100 + random(50));
KeyDown(VK_LEFT);
Wait(1000);
KeyUp(VK_LEFT);
Wait(100 + random(50));
Inc(runCount)
end

else if (runCount = 3) then
begin
Writeln('Run Count 3');
Wait(100 + random(50));
KeyDown(VK_LEFT);
Wait(2000);
KeyDown(VK_LEFT);
Wait(100 + random(50));
Inc(runCount)
end

else if (runCount = 4) then
begin
Writeln('Run Count 4');
Wait(100 + random(50));
KeyDown(VK_LEFT);
Wait(50 + random(100));
KeyDown(VK_UP);
Wait(2000);
KeyUp(VK_LEFT);
Wait(50 + random(100));
KeyUp(VK_UP);
Wait(100 + random(50));
Inc(runCount)
end

else
StopScript;


end;

procedure MineClay;
var
x, y: integer;
rockNotFound: integer;

begin
repeat
FindNormalRandoms;
MiningClay := True;
WalkingToMine := False;
WalkingToBank := False;
Banking := False;

WriteLn('Mining Clay');

if not (IsMoving) then
begin
if FindObj(x, y, 'ine', 8767469, 35) then
begin
Wait(100 + Random(100));
if not (IsUpText('oe the')) then
Mouse(x, y, 2, 2, true);
wait(350+random(100));
Inc(ClayMined);
ExperienceGain := ExperienceGain + 5;
end
else
begin
Writeln('No Clay Rocks Available At The Moment.');
Inc(rockNotFound);
end;
if not FindObj(x, y, 'ine', 8767469, 35) and (rockNotFound >= 4) then
begin
Writeln('Doing A Mining Failsafe.');
rockNotFound := 0;
MiningFailsafe;
end;
end;
repeat
wait(2000+random(1500));
AntiBan;
Until not IsUpText('ew') or (InvFull);
until(InvFull);
WriteLn('Inventory Is Full.');
rockNotFound := 0;
end;






begin
Smart_Server := WORLD; //This sets up the SMART Minimizing Autoing Resource Thing.
Smart_Members := MEMBERS;
Smart_Signed := SIGNED;
Smart_SuperDetail := False;
SetupSRL; //This sets up SRL.

SetupScript; //This runs your SetupScript procedure, giving you information about this particular kbScript.
DeclarePlayers; //This runs your DeclarePlayers procedure, making sure that the script has a player to run.
LoginPlayer; //This logs in your player.

repeat
MineClay; //This mines your clay.
SetDTM; //Set DTM's before code.
MouseSpeed := 18;//This makes it move faster but still undetectable, it makes DTM walking even more human-like.
MakeCompass('n');//We agreed we'd have camera facing North.
SetAngle(0);//Does not matter but it looks cooler from above.

if FindDTMRotated(Q[0], x, y, MMX1, MMY1, MMX2, MMY2, -Pi/4, Pi/4, Pi/60, aFound) then
begin
Mouse(x, y, 3, 3, True);
FFlag(6);
repeat
Wait(50 + Random(25));

until FindDTMRotated(Q[1], x, y, MMX1, MMY1, MMX2, MMY2, -Pi/4, Pi/4, Pi/60, aFound);
end;
if FindDTMRotated(Q[1], x, y, MMX1, MMY1, MMX2, MMY2, -Pi/4, Pi/4, Pi/60, aFound) then
begin
Mouse(x, y, 3, 3, True);
FFlag(6);

repeat
Wait(50 + Random(25));
until FindDTMRotated(Q[2], x, y, MMX1, MMY1, MMX2, MMY2, -Pi/4, Pi/4, Pi/60, aFound);
end;
if FindDTMRotated(Q[2], x, y, MMX1, MMY1, MMX2, MMY2, -Pi/4, Pi/4, Pi/60, aFound) then
begin

Mouse(x, y, 3, 3, True);
FFlag(6);
repeat
Wait(50 + Random(25));
until FindDTMRotated(Q[3], x, y, MMX1, MMY1, MMX2, MMY2, -Pi/4, Pi/4, Pi/60, aFound);
end;

if FindDTMRotated(Q[3], x, y, MMX1, MMY1, MMX2, MMY2, -Pi/4, Pi/4, Pi/60, aFound) then
begin
Mouse(x, y, 3, 3, True);
FFlag(6);
repeat
Wait(50 + Random(25));

until FindDTMRotated(Q[4], x, y, MMX1, MMY1, MMX2, MMY2, -Pi/4, Pi/4, Pi/60, aFound);
end;
if FindDTMRotated(Q[4], x, y, MMX1, MMY1, MMX2, MMY2, -Pi/4, Pi/4, Pi/60, aFound) then
begin
Mouse(x, y, 3, 3, True);
FFlag(6);

repeat
Wait(50 + Random(25));
until FindDTMRotated(Q[5], x, y, MMX1, MMY1, MMX2, MMY2, -Pi/4, Pi/4, Pi/60, aFound);
end;
if FindDTMRotated(Q[5], x, y, MMX1, MMY1, MMX2, MMY2, -Pi/4, Pi/4, Pi/60, aFound) then
begin

Mouse((x-5), y, 3, 3, True);
FFlag(6);
repeat
Wait(50 + Random(25));
until FindDTMRotated(Q[6], x, y, MMX1, MMY1, MMX2, MMY2, -Pi/4, Pi/4, Pi/60, aFound);
end;

if FindDTMRotated(Q[6], x, y, MMX1, MMY1, MMX2, MMY2, -Pi/4, Pi/4, Pi/60, aFound) then
begin
Mouse(x, y, 3, 3, True);
FFlag(6);
repeat
Wait(50 + Random(25));

until FindDTMRotated(Q[7], x, y, MMX1, MMY1, MMX2, MMY2, -Pi/4, Pi/4, Pi/60, aFound);
end;
if FindDTMRotated(Q[7], x, y, MMX1, MMY1, MMX2, MMY2, -Pi/4, Pi/4, Pi/60, aFound) then
begin
Mouse(x, y, 3, 3, True);
FFlag(6);
repeat
Wait(50 + Random(25));

until FindDTMRotated(Q[8], x, y, MMX1, MMY1, MMX2, MMY2, -Pi/4, Pi/4, Pi/60, aFound);
end;
if FindDTMRotated(Q[8], x, y, MMX1, MMY1, MMX2, MMY2, -Pi/4, Pi/4, Pi/60, aFound) then
begin
Mouse(x, y, 3, 3, True);
FFlag(6);
repeat
Wait(50 + Random(25));

until FindDTMRotated(Q[9], x, y, MMX1, MMY1, MMX2, MMY2, -Pi/4, Pi/4, Pi/60, aFound);
end;
if FindDTMRotated(Q[9], x, y, MMX1, MMY1, MMX2, MMY2, -Pi/4, Pi/4, Pi/60, aFound) then
begin
Mouse(x, y, 3, 3, True);
FFlag(6);

FrDTM;
if FindDTMRotated(Q[9], x, y, MMX1, MMY1, MMX2, MMY2, -Pi/4, Pi/4, Pi/60, aFound) then
begin
Mouse(x, y, 3, 3, True);


end;
end;



Bank; //This banks your clay
Progress; //This writes your progress reports.
SetDTM; //Set DTM's before code.
MouseSpeed := 18;//This makes it move faster but still undetectable, it makes DTM walking even more human-like.
MakeCompass('n');//We agreed we'd have camera facing North.
SetAngle(0);//Does not matter but it looks cooler from above.

if FindDTMRotated(Q[8], x, y, MMX1, MMY1, MMX2, MMY2, -Pi/4, Pi/4, Pi/60, aFound) then
begin
Mouse(x, y, 3, 3, True);
FFlag(6);
repeat
Wait(50 + Random(25));

until FindDTMRotated(Q[7], x, y, MMX1, MMY1, MMX2, MMY2, -Pi/4, Pi/4, Pi/60, aFound);
end;
if FindDTMRotated(Q[7], x, y, MMX1, MMY1, MMX2, MMY2, -Pi/4, Pi/4, Pi/60, aFound) then
begin
Mouse(x, y, 3, 3, True);
FFlag(6);

repeat
Wait(50 + Random(25));
until FindDTMRotated(Q[6], x, y, MMX1, MMY1, MMX2, MMY2, -Pi/4, Pi/4, Pi/60, aFound);
end;
if FindDTMRotated(Q[6], x, y, MMX1, MMY1, MMX2, MMY2, -Pi/4, Pi/4, Pi/60, aFound) then
begin

Mouse(x, y, 3, 3, True);
FFlag(6);
repeat
Wait(50 + Random(25));
until FindDTMRotated(Q[5], x, y, MMX1, MMY1, MMX2, MMY2, -Pi/4, Pi/4, Pi/60, aFound);
end;

if FindDTMRotated(Q[5], x, y, MMX1, MMY1, MMX2, MMY2, -Pi/4, Pi/4, Pi/60, aFound) then
begin
Mouse(x, y, 3, 3, True);
FFlag(6);
repeat
Wait(50 + Random(25));

until FindDTMRotated(Q[4], x, y, MMX1, MMY1, MMX2, MMY2, -Pi/4, Pi/4, Pi/60, aFound);
end;
if FindDTMRotated(Q[4], x, y, MMX1, MMY1, MMX2, MMY2, -Pi/4, Pi/4, Pi/60, aFound) then
begin
Mouse(x, y, 3, 3, True);
FFlag(6);

repeat
Wait(50 + Random(25));
until FindDTMRotated(Q[3], x, y, MMX1, MMY1, MMX2, MMY2, -Pi/4, Pi/4, Pi/60, aFound);
end;
if FindDTMRotated(Q[3], x, y, MMX1, MMY1, MMX2, MMY2, -Pi/4, Pi/4, Pi/60, aFound) then
begin

Mouse((x-5), y, 3, 3, True);
FFlag(6);
repeat
Wait(50 + Random(25));
until FindDTMRotated(Q[2], x, y, MMX1, MMY1, MMX2, MMY2, -Pi/4, Pi/4, Pi/60, aFound);
end;

if FindDTMRotated(Q[2], x, y, MMX1, MMY1, MMX2, MMY2, -Pi/4, Pi/4, Pi/60, aFound) then
begin
Mouse(x, y, 3, 3, True);
FFlag(6);
repeat
Wait(50 + Random(25));

until FindDTMRotated(Q[1], x, y, MMX1, MMY1, MMX2, MMY2, -Pi/4, Pi/4, Pi/60, aFound);
end;
if FindDTMRotated(Q[1], x, y, MMX1, MMY1, MMX2, MMY2, -Pi/4, Pi/4, Pi/60, aFound) then
begin
Mouse(x, y, 3, 3, True);
FFlag(6);
repeat
Wait(50 + Random(25));

until FindDTMRotated(Q[0], x, y, MMX1, MMY1, MMX2, MMY2, -Pi/4, Pi/4, Pi/60, aFound);
end;
if FindDTMRotated(Q[0], x, y, MMX1, MMY1, MMX2, MMY2, -Pi/4, Pi/4, Pi/60, aFound) then
begin
Mouse(x, y, 3, 3, True);
FFlag(6);
FrDTM;
end;
until AllPlayersInactive;
end.

Syderfex

2012-02-11 03:17:28

Pro tip: Your username and password are still in the script, might want to remove. :)

P1nky

2012-02-11 03:19:53

Try Using:

OpenBankNPC;

You should be fine than.

RyGuy

2012-02-11 03:21:37

Its a noob account he doesn't need to be worried about losing anything :P

drawboy11

2012-02-11 03:21:38

From: Syderfex
Pro tip: Your username and password are still in the script, might want to remove. :)



lol, good thing its a dummy account. Its 4am here and I didnt even see that ;P

drawboy11

2012-02-11 03:24:17

From: P1nky
Try Using:

OpenBankNPC;

You should be fine than.


Thanks, ill put this in in the morning ;P Ill let you know how it works aha.

P1nky

2012-02-11 03:24:38

From: RyGuy
Its a noob account he doesn't need to be worried about losing anything :P


You should not get on anyone's account without there permission…
It's unethical and represents the Person you could be. And I would not appreciate anyone ever getting on my accounts, to check stats/bank/etc… Cause recently it had happened to me(left Kyle Undefined's account info in my PCER) and was quite sad.
It be a different thing if you changed there password with your intentions for a good cause, such as sending the SRL user a PM with the updated password.

Just a heads up Mate.

NickMystre

2012-02-11 03:26:06

From: Syderfex
Pro tip: Your username and password are still in the script, might want to remove. :)


Here's laugh that will cost you nothing.

I did the same thing - but it was my main, not a noob account. And I didn't get away with it either. I still feel the pain. :duh:

drawboy11

2012-02-11 03:26:47

From: P1nky
You should not get on anyone's account without there permission…
It's unethical and represents the Person you could be.
It be a different thing if you changed there password with your intentions for a good cause, such as sending the SRL user a PM with the updated password.

Just a heads up Mate.


He's got a point, thankyou for not stealing anything, however please do not get on anybodys account unless its to change the password and pm them. Ive got many accounts this level with 100+ mil on them.