SRL Archive - General

> > I have a coding request


BeRy

2012-12-03 15:57:21

Hey guys,

I'm not sure where this thread would belong, or for that matter if it's even in the right forum.

Anyway, I'm looking for someone who would be able to advise me how to make a Runescape name checker.

Basically, names in Runescape are extremely profitable, I saw a guy sell the username "K" to someone for max cash. I would like a small program that you could load a text file into it, with thousands of 1, 2, 3 and 4 letter words/combinations of letters and it would go through them all and give you an outcome of what names are in fact available at that moment.

I've Googled around, and there seems to be one or two programs but aren't available to the general public.

I have done a little bit of C++ and Java coding in the past, but frankly wouldn't know where to start this project.

Finally, I'd just like to apologize if this thread is indeed in the wrong section.

footballjds

2012-12-03 15:59:11

it's against the rules to buy/sell or request scripts with the promise of $ be it runescape currency or other.

Trust me this program has been made before and therefore you're too late.

The Killer

2012-12-03 16:22:33

From: footballjds
it's against the rules to buy/sell or request scripts with the promise of $ be it runescape currency or other.

Trust me this program has been made before and therefore you're too late.


^^
theres one for sale on a different site.

footballjds

2012-12-03 16:23:10

From: The Killer
^^
theres one for sale on a different site.


like i said, it's been done before :P but lets be honest. Writing a script to check usernames contained in a text file would take about 5 minutes? Maybe less if you have some basic scripting knowledge. hahaha

OP, don't pay a penny for something SOOOO simple.

BeRy

2012-12-03 16:28:44

From: footballjds
like i said, it's been done before :P but lets be honest. Writing a script to check usernames contained in a text file would take about 5 minutes? Maybe less if you have some basic scripting knowledge. hahaha

OP, don't pay a penny for something SOOOO simple.


I'll edit out the money part.

& it's not simple for me, which is why I posted this help thread. Frankly, I found that quite an arrogant post to be honest. Thought this was a friendly forum. :(

[XoL]

2012-12-03 16:29:23

Yeah there have been scripts built for this already, I know there are ones that just try every possible combination between a range of letters/numbers. Don't know if that has been adapted for RS though.

footballjds

2012-12-03 16:43:38

Since i see that you edited the OP and are now asking for HELP rather then for someone to do it all for you, I'm happier :)

I suggest you take a look at a few tutorials to begin with.
This page: http://docs.villavu.com/simba/scriptref/files.html should help you read strings from a file

As far as clicking around on the runescape site. I believe you can manage that part on your own.

I'll write the basics of the script and edit this. you can do the entering the username on runescape part.

Here you go:

program new;
{$I SRL/SRL.simba}

var
Usernames, availableUsernames: TStringArray;
i, h: integer;

function GetNames(filePath: string): TStringArray;
var
FileNum: integer;
s: string;
begin
FileNum := OpenFile(filePath, true);
ReadFileString(FileNum, s, FileSize(FileNum));
CloseFile(FileNum);
result := Explode(chr(10), s);
end;

function CheckUsername(username: string): boolean;
begin
//you can write this function
//result := blah blah blah
end;

begin
Usernames := GetNames('C:\usernames.txt');
h := high(Usernames);
for i := 0 to h do
begin
if CheckUsername(Usernames[i]) then
begin
writeln('Username: '+Usernames[i]+' is available.');
SetArrayLength(availableUsernames, length(availableUsernames)+1);
availableUsernames[high(availableUsernames)] := Usernames[i];
end;
end;
if Length(availableUsernames) > 0 then
begin
writeln('I found you '+ToStr(Length(availableUsernames))+' available usernames');
writeln('Here''s the list:');
writeln(availableUsernames);
end;
end.

BeRy

2012-12-03 16:51:41

From: footballjds
Since i see that you edited the OP and are now asking for HELP rather then for someone to do it all for you, I'm happier :)

I suggest you take a look at a few tutorials to begin with.
This page: http://docs.villavu.com/simba/scriptref/files.html should help you read strings from a file

As far as clicking around on the runescape site. I believe you can manage that part on your own.

I'll write the basics of the script and edit this. you can do the entering the username on runescape part.


I'll do just that. Thank you very much :)

Hobbit

2012-12-03 16:52:47

It may have come across at slightly arrogant but I'm sure he did not intend it this way, he was merely trying to stop you from wasting your money.

This program can easily be broken down:
-Read text from a file (Java: BufferedReader)
-Input data into the checking (HTTP data or do this all in simba and do it visually)
-Check the result
—–> Available: Create account
—–>Not available: Move on

Just break down it small manageable parts and then read up on each part :)
We are here to help but we dont necessarily have time to do it for you :)

The Killer

2012-12-03 16:58:53

From: BeRy
I'll edit out the money part.

& it's not simple for me, which is why I posted this help thread. Frankly, I found that quite an arrogant post to be honest. Thought this was a friendly forum. :(


maype we are being harsh guys. Lets help him a little. First of all, when scripting think of the steps the bot has to take (I like to make a note on my comp) and start to think / plan how you could make it do so.

also you never stated how you are going to check? via website (would require appa) or You could do it via game (when they force you to change name)

BeRy

2012-12-03 17:57:19

From: Hobbit
It may have come across at slightly arrogant but I'm sure he did not intend it this way, he was merely trying to stop you from wasting your money.

This program can easily be broken down:
-Read text from a file (Java: BufferedReader)
-Input data into the checking (HTTP data or do this all in simba and do it visually)
-Check the result
—–> Available: Create account
—–>Not available: Move on

Just break down it small manageable parts and then read up on each part :)
We are here to help but we dont necessarily have time to do it for you :)


Yeahh, I appreciate that :)

Thanks for breaking this down for me, I'll give it a go. I'm excited already haha. :biggrin:

From: The Killer

also you never stated how you are going to check? via website (would require appa) or You could do it via game (when they force you to change name)


I was hoping to make a small program for this, rather than to have scar do it. I'm pretty confident I could make one via scar, but would be cool to make an actual program so in the future if I decide to release it, it would be easy for other people to use.
I've had a look at the html of the page where you can change your username (account settings > change username) but found no useful info on how the website checks to see if a name is eligible or not. Not sure how I'd go about finding out to be frank, but I'll google around tomorrow since it's late and get to it.

J J

2012-12-04 08:51:38

Here is a free and open source one.
http://sythe.org/verified-programs/1355297-java-runescape-mass-name-checker-free-open-source.html

You could take a look at the source to build one yourself and add the actual creation of the account.

tealc

2012-12-04 10:52:29

also open source http://code.google.com/p/l517/

This will generate you a dictionary list.

Enslaved

2012-12-04 16:33:05

there is one in swiftkit

subaru123

2013-01-16 15:40:03

This could be usefull…

Echo_

2013-01-17 01:55:59

This script outputs the available usernames up to 4 characters long:

const
URL = 'http://services.runescape.com/m=hiscore/compare.ws?user1=';
WRITE_TO_FILE = True;

var
Chars: array of Char;
I: array[0..11] of Integer;
Username: string;

procedure SetupScript;
begin
Chars := ['a', 'b', 'c', 'd', 'e', 'f', 'g', 'h',
'i', 'j', 'k', 'l', 'm', 'n', 'o', 'p',
'q', 'r', 's', 't', 'u', 'v', 'w', 'x',
'y', 'z', 'A', 'B', 'C', 'D', 'E', 'F',
'G', 'H', 'I', 'J', 'K', 'L', 'M', 'N',
'O', 'P', 'Q', 'R', 'S', 'T', 'U', 'V',
'W', 'X', 'Y', 'Z', '0', '1', '2', '3',
'4', '5', '6', '7', '8', '9', ' ', '-'];
end;

function IsUsernameAvailable(const Name: string): Boolean;
var
Page: string;
F: Integer;
begin
Result := False;
Page := GetPage(URL + Name);
if Page = '' then begin
Result := True;
if WRITE_TO_FILE then
try
F := AppendFile(ScriptPath + 'usernames.txt');
WriteFileString(F, Name + #13#10);
except
WriteLn('[ERROR]: Writing to file.');
finally
CloseFile(F);
end;
end;
end;

procedure CheckUsernames1;
begin
for I[0] := 0 to High(Chars) do begin
Username := Chars[I[0]];
if IsUsernameAvailable(Username) then
WriteLn('[SUCCESS]: ' + Username)
else
WriteLn(Username + ' is taken.');
end;
end;

procedure CheckUsernames2;
begin
for I[0] := 0 to High(Chars) do
for I[1] := 0 to High(Chars) do begin
Username := Chars[I[0]] + Chars[I[1]];
if IsUsernameAvailable(Username) then
WriteLn('[SUCCESS]: ' + Username)
else
WriteLn(Username + ' is taken.');
end;
end;

procedure CheckUsernames3;
begin
for I[0] := 0 to High(Chars) do
for I[1] := 0 to High(Chars) do
for I[2] := 0 to High(Chars) do begin
Username := Chars[I[0]] + Chars[I[1]] + Chars[I[2]];
if IsUsernameAvailable(Username) then
WriteLn('[SUCCESS]: ' + Username)
else
WriteLn(Username + ' is taken.');
end;
end;

procedure CheckUsernames4;
begin
for I[0] := 0 to High(Chars) do
for I[1] := 0 to High(Chars) do
for I[2] := 0 to High(Chars) do
for I[3] := 0 to High(Chars) do begin
Username := Chars[I[0]] + Chars[I[1]] + Chars[I[2]] + Chars[I[3]];
if IsUsernameAvailable(Username) then
WriteLn('[SUCCESS]: ' + Username)
else
WriteLn(Username + ' is taken.');
end;
end;

begin
ClearDebug;
SetupScript;
CheckUsernames1;
CheckUsernames2;
CheckUsernames3;
CheckUsernames4;
end.