SRL Archive - RS3 Outdated / Broken Scripts

Ultimate RuneBuyer


alach11

2007-04-19 01:00:38

Features:
-Buys fires, airs, chaos, deaths, waters, bodys, earths, and minds.
-Buys runes from the squire at the void outpost, Betty in port sarim, or Aubry in Varrock.
-SWITCHES WORLDS, a feature that few other bots have, so it can buy runes much faster.
-Uses hard to detect mouse procedures that wont get you banned.
-Has anti-randoms.
-Has a timer so you can decide how many minutes you want to buy runes.

If you need help making it go contact me via pm.

program UltimateRuneBuyer;
{.include SRL/SRL.scar}
{.include SRL/SRL/Misc/Amount.scar}
{.include SRL/SRL/Misc/Playerform.scar}

{This script will buy runes from the squire at pest control, from aubry
in varrock, or from betty in port sarim. It will then SWITCH WORLDS
and buy from a full shop. If you have any suggestions please
pm me, I'd appreciate it. Written and tested in SCAR 2.03.

-----------SETUP------------
1. Station the account with money at Aubry, Betty, or the Squire.
2. Complete the simple setup on lines 28-37
3. Run the script (push the green play button) and fill out the form
-Username
-Password
-3-4 letters from your name (for anti-random detection)
-*Location (leave this blank)
-Skill to raise if you get a genie
4. Push OK.

Credits
SoupyBastrd and the rs-resources community
SRL-Forums.com for making SRL
}

const
Version = '2.2';//version number, don't change
Shop = 'Aubry'; //Buy from Betty, Aubry, or Squire?
Chaos = 'True'; //Put true for the runes you want to buy
Death = 'True';
Mind = 'False';
Body = 'False';
Air = 'False';
Water = 'False';
Earth = 'False';
Fire = 'False';
TimeToBuy = 5; //Number of minutes you want to buy runes

var xx, yy, time:integer;

Function FindSquire:Boolean;
begin
wait(100+random(300));
if(findobj3(xx,yy,'Sq',1586243,5))then
begin
Mouse(xx,yy,2,2,False);
chooseoption(x,y,'Trade');
flag;
wait(2000+random(400));
if(ShopScreen)then
begin
Result := True;
end
end
else
Begin
Result := False;
end;
end;

Function FindBetty:Boolean;
begin
wait(100+random(300));
if(findobj3(xx,yy,'Bet',6359394,5))then
begin
Mouse(xx,yy,2,2,False);
chooseoption(x,y,'Trade');
flag;
wait(2000+random(400));
if(ShopScreen)then
begin
Result := True;
end
end
else
Begin
Result := False;
end;
end;

Function FindAubry:Boolean;
begin
wait(100+random(300));
if(findobj3(xx,yy,'Aub',1754335,4))then
begin
Mouse(xx,yy,3,3,False);
chooseoption(x,y,'Trade');
flag;
wait(2000+random(400));
if(ShopScreen)then
begin
Result := True;
end
end
else
Begin
Result := False;
end;
end;

Procedure AntiRandoms;
begin
if(InBlack)then
begin
Logout;
end;
FindLamp(LampSkill);
FindNormalRandoms;
SRLRandomsReport;
end;

Procedure FindShop;
var Zuchinni, carrot, mushroom: integer;
begin
if(Shop = 'Squire') then
begin
MarkTime(Zuchinni)
repeat
wait(50)
AntiRandoms;
If(TimeFromMark(Zuchinni)>2*60000)then
begin
WriteLn('Could not find Squire')
LogOut;
TerminateScript;
end;
until(FindSquire)
end;

if(Shop = 'Betty') then
begin
MarkTime(carrot)
repeat
wait(50)
AntiRandoms;
If(TimeFromMark(carrot)>2*60000)then
begin
WriteLn('Could not find Betty')
LogOut;
TerminateScript;
end;
until(FindBetty)
end;

if(Shop = 'Aubry') then
begin
MarkTime(mushroom)
repeat
wait(50)
AntiRandoms;
If(TimeFromMark(mushroom)>2*60000)then
begin
WriteLn('Could not find Aubry')
LogOut;
TerminateScript;
end;
until(FindAubry)
end;
end;

//RuneBuying Procedures
Procedure BuyFire;
begin
If(Fire = 'True') then
begin
If(((RuneAmount('shop','fire')) < 3500))then Exit;
Repeat
wait(10);
mouse(93,84,5,5,False);
wait(100+random(300));
mouse(93,158,6,6,True);
wait(100+random(300));
Until((RuneAmount('shop','fire')) < 3500);
end;
end;

Procedure BuyAir;
begin
If(Air = 'True') then
begin
If(((RuneAmount('shop','air')) < 3000))then Exit;
Repeat
wait(10);
mouse(187,87,5,5,False);
wait(100+random(300));
mouse(190,158,6,3,True);
wait(100+random(300));
Until((RuneAmount('shop','air')) < 3000);
end;
end;

Procedure BuyBody;
begin
If(Body = 'True') then
begin
If(((RuneAmount('shop','body')) < 3270))then Exit;
Repeat
wait(10);
mouse(330,87,5,5,False);
wait(100+random(300));
mouse(325,158,6,3,True);
wait(120+random(300));
Until((RuneAmount('shop','body')) < 3270);
end;
end;

Procedure BuyEarth;
begin
If(Earth = 'True') then
begin
If(((RuneAmount('shop','earth')) < 3270))then Exit;
Repeat
wait(10);
mouse(235,87,5,5,False);
wait(100+random(300));
mouse(230,155,6,3,True);
wait(120+random(300));
Until((RuneAmount('shop','earth')) < 3270);
end;
end;

Procedure BuyWater;
begin
If(Water = 'True') then
begin
If(((RuneAmount('shop','water')) < 3270))then Exit;
Repeat
wait(10);
mouse(142,87,5,5,False);
wait(100+random(300));
mouse(149,158,6,3,True);
wait(120+random(300));
Until((RuneAmount('shop','water')) < 3270);
end;
end;

Procedure BuyMind;
begin
If(Mind = 'True') then
begin
If(((RuneAmount('shop','mind')) < 10))then Exit;
Repeat
wait(10);
mouse(282,85,10,10,False);
wait(50+random(150));
mouse(280,155,40,4,True);
wait(50+random(150));
Until((RuneAmount('shop','mind')) < 10);
end;
end;

Procedure BuyChaos;
begin
If(Chaos = 'True') then
begin
If(((RuneAmount('shop','chaos')) < 10))then Exit;
Repeat
wait(20);
mouse(380,87,10,10,False);
wait(100+random(300));
mouse(385,158,30,3,True);
wait(100+random(300));
Until((RuneAmount('shop','chaos')) < 10);
end;
end;

Procedure BuyDeath;
begin
If(Death = 'True') then
begin
If(((RuneAmount('shop','death')) < 10))then Exit;
Repeat
wait(10);
mouse(420,87,5,5,False);
wait(100+random(300));
mouse(415,158,6,3,True);
wait(100+random(300));
Until((RuneAmount('shop','death')) < 10);
end;
end;

Procedure Done;
begin
Mouse(488,44,2,2,True);
wait(300+random(300));
Logout;
End;

Procedure SwitchWorlds;
begin
Mouse(53,484,10,10,True);
end;

Procedure SortWorlds;
begin
Mouse(412,11,2,2,True);
wait(300);
Mouse(632,10,2,2,True);
end;

Procedure PickAFreeWorld;
begin
If(Shop = 'Betty') or (Shop = 'Aubry')then
begin
if(findcolortolerance(xx,yy,9013641,65+ random(170),37+random(300),272,419,1))then
begin
Mouse(xx,yy,3,3,True);
Wait(1000);
end;
end;
end;

Procedure PickAMembersWorld;
begin
if(Shop = 'Squire')then
begin
if(findcolortolerance(xx,yy,1419709,65+ random(170),37+random(300),272,419,5))then
begin
Mouse(xx,yy,0,0,True);
Wait(2000);
end;
end;
end;

Procedure Greet;
begin
WriteLn('@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@')
WriteLn('@ Thank you for using alach11s RuneBuyer. Thanks to @')
WriteLn('@ Soupybastrd for writing a members runebuyer which @')
WriteLn('@ I used to make this. Please cheat responsibly. :) @')
WriteLn('@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@')
end;

begin
MarkTime(time);
SetupSRL;
SetupPlayers;
Greet;
repeat
LoginPlayer;
wait(1000)
AntiRandoms;
FindShop;
BuyFire;
BuyAir;
BuyMind;
BuyChaos;
BuyDeath;
BuyWater;
BuyBody;
BuyEarth;
Done;
SwitchWorlds;
SortWorlds;
PickAFreeWorld;
PickAMembersWorld;
Until(TimeFromMark(time) > (TimeToBuy*60000));
end.

pini3000

2007-04-19 10:32:09

will see if got the cash to test fully :)

nielsie95

2007-04-19 10:46:58

Looks good :). You could change your 'True' to normal Booleans though :p. And another thing what I saw: Your ShopSellerFinder could be an endless loop?

alach11

2007-04-20 18:21:52

From: nielsie95
Looks good :). You could change your 'True' to normal Booleans though :p. And another thing what I saw: Your ShopSellerFinder could be an endless loop?


Yeah the boolean thing I'll probably change.

As for the endless loop what do you mean? I guess if the number of runes didn't decrease because it was messed up? So should I add a MarkTime and If(Timefrommark) to the rune buying procedure?

alach11

2007-04-22 18:53:34

*bump* can anybody answer that question? ^^

shawn11

2007-04-23 05:04:53

Its a good script but if im buying water runes it will buy 20 water runes each world and hop, do you know how i can change this to say 2k water runes?

MahG

2007-04-23 05:54:14

hmm, nice script may run it later, maybe use a string for the rune type to keep the main loop tidier.

AntiRandoms;
FindShop;
BuyFire;
BuyAir;
BuyMind;
BuyChaos;
BuyDeath;
BuyWater;
BuyBody;
BuyEarth;

If you cut that down and used a Case …. of, it would be ALOT better asthetically. Anyway good script may test later.

totalpk

2007-04-23 19:15:21

is # of minutes you want to buy runes how many minutes before you switch or how many before you log off? and how many does it buy before swithcing, j/w

alach11

2007-04-23 19:16:19

From: shawn11
Its a good script but if im buying water runes it will buy 20 water runes each world and hop, do you know how i can change this to say 2k water runes?


This is the code that deals with that:
Procedure BuyWater;
begin
If(Water = 'True') then
begin
If(((RuneAmount('shop','water')) < 3270))then Exit;
Repeat
wait(10);
mouse(142,87,5,5,False);
wait(100+random(300));
mouse(149,158,6,3,True);
wait(120+random(300));
Until((RuneAmount('shop','water')) < 3270);
end;
end;

The script buys until the number of runes is less than 3270 in this case. You can change that number to whatever you like.

totalpk

2007-04-23 22:55:28

bought chaos using 1 user. shop ran out, so it switched worlds. but it never logged back in

alach11

2007-04-23 23:12:17

Weird could you have accidentaly ended the script? Or did you have TimeToBuy set really low? Default is 5 minutes if you didn't change it.

The_owner

2007-04-24 04:12:17

can anyone post a test run, thanks

shawn11

2007-04-24 16:35:40

From: alach11
This is the code that deals with that:
Procedure BuyWater;
begin
If(Water = 'True') then
begin
If(((RuneAmount('shop','water')) < 3270))then Exit;
Repeat
wait(10);
mouse(142,87,5,5,False);
wait(100+random(300));
mouse(149,158,6,3,True);
wait(120+random(300));
Until((RuneAmount('shop','water')) < 3270);
end;
end;

The script buys until the number of runes is less than 3270 in this case. You can change that number to whatever you like.


If i change

Procedure BuyWater;
begin
If(Water = 'True') then
begin
If(((RuneAmount('shop','water')) < 3270))then Exit;
Repeat
wait(10);
mouse(142,87,5,5,False);
wait(100+random(300));
mouse(149,158,6,3,True);
wait(120+random(300));
Until((RuneAmount('shop','water')) < 3270);
end;
end;

To

Procedure BuyWater;
begin
If(Water = 'True') then
begin
If(((RuneAmount('shop','water')) < 900))then Exit;
Repeat
wait(10);
mouse(142,87,5,5,False);
wait(1+random(1));
mouse(149,158,6,3,True);
wait(1+random(1));
Until((RuneAmount('shop','water')) < 900);
end;
end;
It will log out after 2 shop buys hop worlds perfectly and buy 20 and log out again. But when i do not set wait it logs out and stops the script

ldg141414

2007-04-24 18:11:56

When it changes worlds it will accidently click in between the world bottom, and the script will stop, is it possible to change it so it doesn't do that or correct it's self or is my comp to slow or something

totalpk

2007-04-24 20:42:06

tested it for about 10mins, ran perfectly!

alach11

2007-04-24 22:48:15

From: ldg141414
When it changes worlds it will accidently click in between the world bottom, and the script will stop, is it possible to change it so it doesn't do that or correct it's self or is my comp to slow or something

I've never had that happen to me before. Did it do that more than once?

Shawn, the number that you set is not the number of runes to buy. The number tells the script that if there are that many runes or less in the shop, don't buy them. How many it buys per world depends on how many runes are in the shop to start.

The_owner

2007-04-25 06:46:55

can you post attachment with the .scar file? im trying to copy and paste it at school not working

alach11

2007-04-25 19:30:53

Yeah sure.

totalpk

2007-04-28 00:03:14

one more problem, when using the squire it will buy, get to world select, and then sort worlds and players and what not but wont log back into members world (or free for that matter)

alach11

2007-04-28 00:19:24

I'm not sure what the problem is for you. : \
I just tested the version attatched to my previous post and it worked fine at aubry. Try increasing TimeToBuy and make sure you're setting the right person to buy from.

ldg1414

2007-04-28 13:00:16

From: alach11
I've never had that happen to me before. Did it do that more than once?

Shawn, the number that you set is not the number of runes to buy. The number tells the script that if there are that many runes or less in the shop, don't buy them. How many it buys per world depends on how many runes are in the shop to start.



yeah it happened more then once but let me try it again

glitch au

2007-05-03 06:51:52

Works fine for me….. im using scar divi 3.02 and srl 3.6.

It would be great if it could go a bit faster though.

Cheers

nielsie95

2007-05-03 08:10:17

I'm verry sorry I respond so late, but here we go:


Procedure FindShop;
begin
if(Shop = 'Squire') then
begin
repeat
wait(50)
AntiRandoms;
until(FindSquire) //This could be endless.
//What if a random transported you to an unknown location and the script didn't noticed it?
//It will keep looking for the shopseller and just stay logged in?
end;

if(Shop = 'Betty') then
begin
repeat
wait(50)
AntiRandoms;
until(FindBetty)
end;

if(Shop = 'Aubry') then
begin
repeat
wait(50)
AntiRandoms;
until(FindAubry)
end;
end;

Inf456

2007-05-05 21:38:53

Loving the script, tyvm

alach11

2007-05-07 20:58:02

Fixed what nielsie95 pointed out, thanks.

ry0240

2007-05-07 21:14:35

Hey alach is there anyway you can make it not join full worlds? it gets stuck when the world it chooses is full and will keep trying to join…think you can help?

alach11

2007-05-07 21:18:58

Yeah, I'll try and add that to the next version.

ry0240

2007-05-07 21:21:58

ok thanks.. other than that this script seems to work pretty flawlessy for me =) once thats implemented people can start to make $ =D


EDIT* Another problem that i run into is if it has no money it keeps trying to buy runes…
*For Example- I have 6 players with 100k ea on them. the first player that is active it does not look to see if it is out of money and keeps switching worlds on the same character instead of switching to another character with 100k on it… see?
Also you should tell it to switch the player to false if it has less than 500-1k left because with less than like 200gp you cant get any death runes or chaos so therefor it keeps trying to switch worlds all night TRYING to buy runes with 60gp =P

alach11

2007-05-07 22:09:47

I think I fixed it, but I didn't do a test, so tell me how it goes.

ry0240

2007-05-07 22:41:20

line 338>>if FindText(tx, ty, 'full', upchars, 240, 180, 530, 240) then
Failed when compiling
Line 338: [Error] (18983:13): Unknown identifier 'tx' in script
Also is this multiplayer?

alach11

2007-05-07 23:41:29

ry I can't make it not keep trying to enter the full world because LoginPlayer; is an srl procedure. I fixed the error, so now it runs. I'll make the script log out if it runs out of money next.

ry0240

2007-05-08 07:31:22

Alach w/ the world switch procedure could you make it exclude joining worlds 1-5 because those are the worlds always full…or you cant do that with the SRL procedure?…if you cant is there someone i can tell to ask them to change the procedure?

indiestyle

2007-05-18 06:32:24

Make one for the mage guild?

alach11

2007-05-21 21:53:58

From: indiestyle
Make one for the mage guild?

I'm f2p, so if someone gives me a members account to use I'll make it.

Nerheim

2007-05-24 21:12:33

I decided to throw 50k on my nooblit and it worked perfeclty for buying death runes. Sadly there was alot of others doing it soi only got like 26 death runes. But the world switcher works great…it picked all f2p worlds, and picked randomly. Also someone asked earlier about the log in time thing about 5 minutes. Thats how long your total script is running. So set it to a hour or so. Works great! Excellent script!!!

ricekrispies

2007-05-26 17:30:12

that thing where the mouse clicks in the tiny space between the 2 worlds also happened to me and also stopped my script. if u dont want that u can make it repeat the world change thing and try to click on a world again. this script worked quite well, that was the only problem

ricekrispies

2007-05-26 20:16:18

wtf is the squire at pest control/void outpost??????????

Zodia

2007-06-02 22:56:25

Wheres the link?

Haxor

2007-06-07 06:09:46

hey ive brought a few runes with the script looks preety leet and kool
sometimes gets stuck on the world changing and misses the world

haxor

alach11

2007-06-07 20:08:52

Thanks those who left positive comments, and regarding the clicking in between worlds problem, I might fix that, but I'm kind of sick of this script, and am messing with radial walk to make a new script.

Devin

2007-06-17 19:51:58

Worked fine for me

Is there any way you could add where it stops if it runs out of money?

nhstarter10

2007-06-17 21:31:48

I'm a member and considering tryin to buy deaths in f2p is impossible with all the autoers is there a way to make it click on members worlds and not f2p worlds?

alach11

2007-06-18 11:31:26

Devin: Yes I could, but I'm too lazy.
nhstarter10: I could make it buy from aubry in members, but I've pretty much quit working on this script, and don't want to update that. You could make some easy edits to the script to make it do that if you want.

cr85rider09

2007-06-21 08:50:46

Include file C:\Program Files\SCAR 3.06\includes\SRL\SRL.scar does not exist.
Include file C:\Program Files\SCAR 3.06\includes\SRL\SRL\Misc\Amount.scar does not exist.
Include file C:\Program Files\SCAR 3.06\includes\SRL\SRL\Misc\Playerform.scar does not exist.
Failed when compiling


Please help?

ricekrispies

2007-06-23 16:04:47

i will try the new one. today i tried the old one and the problem isnt in ur script. the "click to switch" button on the log in screen doesnt work anymore. it just says loading and doesnt do anything…

alach11

2007-06-25 00:26:57

From: cr85rider09
Include file C:\Program Files\SCAR 3.06\includes\SRL\SRL.scar does not exist.
Include file C:\Program Files\SCAR 3.06\includes\SRL\SRL\Misc\Amount.scar does not exist.
Include file C:\Program Files\SCAR 3.06\includes\SRL\SRL\Misc\Playerform.scar does not exist.
Failed when compiling


Please help?

You don't have SRL. Lol none of the scripts on these forums are going to work for you.



From: ricekrispies
i will try the new one. today i tried the old one and the problem isnt in ur script. the "click to switch" button on the log in screen doesnt work anymore. it just says loading and doesnt do anything…

That seems to be a problem with your computer/java version actually. Try a different computer.

leroyvaneman

2007-06-26 02:27:49

:o looks nice, it worked reeeaalllyy good for my - i tried it with 10 minutes , 30 minutes , and 45 minutes rune buying, with the 45 minutes at around 35/40 minutes it stopped because it couldnt find betty :o i bet there were like 4 or 5 lvl 3 standing there
it bought +- 4k water and +-5k earth, VERY nice world switching feature

maybe add a proggy report on how many runes were bought with how many money or something? i don't know if it can see how many money is used if u have 100k+ though, i'm just a noob

anyway very nice script, didnt get banned till now :)

leroyvaneman

2007-06-26 02:31:00

o and, what is the point of letting it buy from the squire of the void knight's outpost if u can't login :o

for me it only clicks on free worlds and isn't the squire on members ground? =\

——————————————————————————————
EDIT:
oops srry for double post, i realised this forums is SO advanced that u can edit posts :D
lol just joking, actually my little brother was annoying my so i wasn't really paying attention

Zeakone

2007-08-01 13:51:26

Can someone give me the edits for getting member worlds and not free worlds?

Zabron

2007-08-04 13:48:20

the world switching dont work for me.. after it logs out it clicks change world than it doesnt do anything.. just stays there..