SRL Archive - C#/Visual Basic Help and Tutorials

Make Your Own RuneScape Client!


aushell

2007-04-05 09:52:59

This is a tutorial on how to create your very own Runescape Client.

Key:
Names of objects in Red
Important notes in Bold
Handy tips in Blue

You need:
One standard form
- Frm
One Module
- Mod
Two OptionButtons
- OptLow with caption "Low Detail"
- and OptHigh with caption "High Detail"
One WebBrowser
- Web
Two ListBoxes
- ComMemS and ComFreeS
Two hidden TextBoxes
- ComMem and ComFree
One CommandButton
- CmdGo
Two timers
- TimM and TimF


——————————————————–
THE FORM


Set up your form how you wish, adding images, colour schemes can be done by you, after all it will be YOUR client.
The ideal size for your webbrowser object is 12000 wide and 8020 high.

Now ComMemS must contain a list of every member's world, because this is the "selectable list for member worlds", hence the name, so I done the hard part for you.
Copy this and paste it into the List in design view.



2
6
9
12
18
22
23
24
26
27
28
36
41
42
44
46
48
53
54
58
59
60
64
65
66
69
70
71
77
78
79
83
84
88
89
91
98
99
100
103
104
110
111
112
114
115
120
121


Now do the same for ComFreeS, again in the List section in design view. These ones are the free worlds.



1
3
4
5
7
8
10
11
13
14
15
16
17
19
20
21
25
29
30
31
32
33
34
35
37
38
39
40
43
45
47
49
50
51
52
55
56
57
61
62
63
67
72
73
74
75
76
80
81
82
85
86
87
90
92
93
94
95
96
97
101
102
106
107
108
109
113
117
118
119


Create a sub now for the selection of the Member worlds:



Private Sub MemS()
CmdGo.Caption = "Load World" & vbNewLine & ComMemS.Text
ComFree.Text = ""
ComMem.Text = ComMemS.Text
End Sub


And Free worlds:



Private Sub FreeS()
CmdGo.Caption = "Load World" & vbNewLine & ComFreeS.Text
ComMem.Text = ""
ComFree.Text = ComFreeS.Text
End Sub


Now remember both ComFree and ComMem are invisible text boxes and ComMemS and ComFreeS are visible Listboxes.


So set the textboxes - the invisible ones - so that they both cant have a value in them:


Private Sub ComMem_Change()
ComFree.Text = ""
End Sub

Private Sub ComFree_Change()
ComMem.Text = ""
End Sub


Now in the ComMemS and ComFreeS click events call their new subs.



Private Sub ComMemS_Click()
MemS
End Sub

Private Sub ComFreeS_Click()
FreeS
End Sub


Now we will double-click on Web and add some code so that because we are not using Runescape to switch worlds, we don't want the browser to stop and go back to Runescape's main page, so in the BeforeNavigate2 we enter:




Private Sub Web_BeforeNavigate2(ByVal pDisp As Object, URL As Variant, Flags As Variant, TargetFrameName As Variant, PostData As Variant, Headers As Variant, Cancel As Boolean)
On Error Resume Next
If URL = "http://www.runescape.com/" Then Cancel = True
End Sub


Now we need to set the form when it loads so that everything is right to go:


Private Sub Form_Load()
CmdGo.caption = "Na"
OptLow.Value = True
Web.Navigate "http://www.runescape.com/title.ws"
End Sub


——————————————————–
THE MODULE

Now open up Mod, your module, and put in a new public sub. This is the most time-consuming and difficult part of the entire project, so I have done it for you, you must read through this in order to understand what it does.

It simply puts together the "http:\\" call, the server number depending on what world you have chosen, and whether you chose high or low detail.



Public Sub ChangeWorlds()

'|---------------| DECLARES |---------------|
On Error Resume Next
Dim Server As String
Dim Detail As String
Dim URL As String
Dim World As String

'|---------------| IF NOTHING |---------------|
If Frm.CmdGo.Caption = "Na" Then
Exit Sub
End If

'|---------------| DETAIL |---------------|
If Frm.OptLow.Value = True Then
Detail = "lowmem=1&plugin=0&affiliate=runescape"
End If
If Frm.OptHigh.Value = True Then
Detail = "lowmem=0&plugin=0&affiliate=runescape"
End If

'|---------------| CHANGES |---------------|
If Frm.ComFree.Text = "1" Then Server = "http://ul2.runescape.com/rs2.cgi?"
If Frm.ComMem.Text = "2" Then Server = "http://ul4.runescape.com/rs2.cgi?"
If Frm.ComFree.Text = "3" Then Server = "http://po3.runescape.com/rs2.cgi?"
If Frm.ComFree.Text = "4" Then Server = "http://po4.runescape.com/rs2.cgi?"
If Frm.ComFree.Text = "5" Then Server = "http://po5.runescape.com/rs2.cgi?"
If Frm.ComMem.Text = "6" Then Server = "http://po6.runescape.com/rs2.cgi?"
If Frm.ComFree.Text = "7" Then Server = "http://above2.runescape.com/rs2.cgi?"
If Frm.ComFree.Text = "8" Then Server = "http://above3.runescape.com/rs2.cgi?"
If Frm.ComMem.Text = "9" Then Server = "http://above4.runescape.com/rs2.cgi?"
If Frm.ComFree.Text = "10" Then Server = "http://jolt7.runescape.com/rs2.cgi?"
If Frm.ComFree.Text = "11" Then Server = "http://jolt8.runescape.com/rs2.cgi?"
If Frm.ComMem.Text = "12" Then Server = "http://jolt9.runescape.com/rs2.cgi?"
If Frm.ComFree.Text = "13" Then Server = "http://nl3.runescape.com/rs2.cgi?"
If Frm.ComFree.Text = "14" Then Server = "http://nl4.runescape.com/rs2.cgi?"
If Frm.ComFree.Text = "15" Then Server = "http://uk2.runescape.com/rs2.cgi?"
If Frm.ComFree.Text = "16" Then Server = "http://uk3.runescape.com/rs2.cgi?"
If Frm.ComFree.Text = "17" Then Server = "http://tor1.runescape.com/rs2.cgi?"
If Frm.ComMem.Text = "18" Then Server = "http://tor2.runescape.com/rs2.cgi?"
If Frm.ComFree.Text = "19" Then Server = "http://nl7.runescape.com/rs2.cgi?"
If Frm.ComFree.Text = "20" Then Server = "http://nl8.runescape.com/rs2.cgi?"
If Frm.ComFree.Text = "21" Then Server = "http://nl11.runescape.com/rs2.cgi?"
If Frm.ComMem.Text = "22" Then Server = "http://nl1.runescape.com/rs2.cgi?"
If Frm.ComMem.Text = "23" Then Server = "http://uk4.runescape.com/rs2.cgi?"
If Frm.ComMem.Text = "24" Then Server = "http://uk5.runescape.com/rs2.cgi?"
If Frm.ComFree.Text = "25" Then Server = "http://nl12.runescape.com/rs2.cgi?"
If Frm.ComMem.Text = "26" Then Server = "http://ul5.runescape.com/rs2.cgi?"
If Frm.ComMem.Text = "27" Then Server = "http://nl5.runescape.com/rs2.cgi?"
If Frm.ComMem.Text = "28" Then Server = "http://nl6.runescape.com/rs2.cgi?"
If Frm.ComFree.Text = "29" Then Server = "http://ul6.runescape.com/rs2.cgi?"
If Frm.ComFree.Text = "30" Then Server = "http://po7.runescape.com/rs2.cgi?"
If Frm.ComFree.Text = "31" Then Server = "http://po8.runescape.com/rs2.cgi?"
If Frm.ComFree.Text = "32" Then Server = "http://ul1.runescape.com/rs2.cgi?"
If Frm.ComFree.Text = "33" Then Server = "http://at1.runescape.com/rs2.cgi?"
If Frm.ComFree.Text = "34" Then Server = "http://at2.runescape.com/rs2.cgi?"
If Frm.ComFree.Text = "35" Then Server = "http://at3.runescape.com/rs2.cgi?"
If Frm.ComMem.Text = "36" Then Server = "http://at4.runescape.com/rs2.cgi?"
If Frm.ComFree.Text = "37" Then Server = "http://tor3.runescape.com/rs2.cgi?"
If Frm.ComFree.Text = "38" Then Server = "http://planet1.runescape.com/rs2.cgi?"
If Frm.ComFree.Text = "39" Then Server = "http://planet2.runescape.com/rs2.cgi?"
If Frm.ComFree.Text = "40" Then Server = "http://planet3.runescape.com/rs2.cgi?"
If Frm.ComMem.Text = "41" Then Server = "http://planet4.runescape.com/rs2.cgi?"
If Frm.ComMem.Text = "42" Then Server = "http://po2.runescape.com/rs2.cgi?"
If Frm.ComFree.Text = "43" Then Server = "http://sl11.runescape.com/rs2.cgi?"
If Frm.ComMem.Text = "44" Then Server = "http://at6.runescape.com/rs2.cgi?"
If Frm.ComFree.Text = "45" Then Server = "http://planet5.runescape.com/rs2.cgi?"
If Frm.ComMem.Text = "46" Then Server = "http://planet6.runescape.com/rs2.cgi?"
If Frm.ComFree.Text = "47" Then Server = "http://above5.runescape.com/rs2.cgi?"
If Frm.ComMem.Text = "48" Then Server = "http://above6.runescape.com/rs2.cgi?"
If Frm.ComFree.Text = "49" Then Server = "http://ams1.runescape.com/rs2.cgi?"
If Frm.ComFree.Text = "50" Then Server = "http://ams2.runescape.com/rs2.cgi?"
If Frm.ComFree.Text = "51" Then Server = "http://ams3.runescape.com/rs2.cgi?"
If Frm.ComFree.Text = "52" Then Server = "http://ams4.runescape.com/rs2.cgi?"
If Frm.ComMem.Text = "53" Then Server = "http://ams5.runescape.com/rs2.cgi?"
If Frm.ComMem.Text = "54" Then Server = "http://ams6.runescape.com/rs2.cgi?"
If Frm.ComFree.Text = "55" Then Server = "http://ch1.runescape.com/rs2.cgi?"
If Frm.ComFree.Text = "56" Then Server = "http://nl10.runescape.com/rs2.cgi?"
If Frm.ComFree.Text = "57" Then Server = "http://ch3.runescape.com/rs2.cgi?"
If Frm.ComMem.Text = "58" Then Server = "http://ch4.runescape.com/rs2.cgi?"
If Frm.ComMem.Text = "59" Then Server = "http://ch5.runescape.com/rs2.cgi?"
If Frm.ComMem.Text = "60" Then Server = "ttp://ch6.runescape.com/rs2.cgi?"
If Frm.ComFree.Text = "61" Then Server = "http://se1.runescape.com/rs2.cgi?"
If Frm.ComFree.Text = "62" Then Server = "http://se2.runescape.com/rs2.cgi?"
If Frm.ComFree.Text = "63" Then Server = "http://se3.runescape.com/rs2.cgi?"
If Frm.ComMem.Text = "64" Then Server = "http://se4.runescape.com/rs2.cgi?"
If Frm.ComMem.Text = "65" Then Server = "http://se5.runescape.com/rs2.cgi?"
If Frm.ComMem.Text = "66" Then Server = "http://se6.runescape.com/rs2.cgi?"
If Frm.ComFree.Text = "67" Then Server = "http://jolt10.runescape.com/rs2.cgi?"
If Frm.ComFree.Text = "68" Then Server = "http://jolt11.runescape.com/rs2.cgi?"
If Frm.ComMem.Text = "69" Then Server = "http://jolt12.runescape.com/rs2.cgi?"
If Frm.ComMem.Text = "70" Then Server = "http://sl10.runescape.com/rs2.cgi?"
If Frm.ComMem.Text = "71" Then Server = "http://uk7.runescape.com/rs2.cgi?"
If Frm.ComFree.Text = "72" Then Server = "http://sl1.runescape.com/rs2.cgi?"
If Frm.ComFree.Text = "73" Then Server = "http://sl2.runescape.com/rs2.cgi?"
If Frm.ComFree.Text = "74" Then Server = "http://sl3.runescape.com/rs2.cgi?"
If Frm.ComFree.Text = "75" Then Server = "http://sl4.runescape.com/rs2.cgi?"
If Frm.ComFree.Text = "76" Then Server = "http://sl5.runescape.com/rs2.cgi?"
If Frm.ComMem.Text = "77" Then Server = "http://sl6.runescape.com/rs2.cgi?"
If Frm.ComMem.Text = "78" Then Server = "http://sl7.runescape.com/rs2.cgi?"
If Frm.ComMem.Text = "79" Then Server = "http://sl8.runescape.com/rs2.cgi?"
If Frm.ComFree.Text = "80" Then Server = "http://jolt1.runescape.com/rs2.cgi?"
If Frm.ComFree.Text = "81" Then Server = "http://jolt2.runescape.com/rs2.cgi?"
If Frm.ComFree.Text = "82" Then Server = "http://jolt3.runescape.com/rs2.cgi?"
If Frm.ComMem.Text = "83" Then Server = "http://jolt4.runescape.com/rs2.cgi?"
If Frm.ComMem.Text = "84" Then Server = "http://jolt5.runescape.com/rs2.cgi?"
If Frm.ComFree.Text = "85" Then Server = "http://ny1.runescape.com/rs2.cgi?"
If Frm.ComFree.Text = "86" Then Server = "http://ny2.runescape.com/rs2.cgi?"
If Frm.ComFree.Text = "87" Then Server = "http://ny4.runescape.com/rs2.cgi?"
If Frm.ComMem.Text = "88" Then Server = "http://ny5.runescape.com/rs2.cgi?"
If Frm.ComMem.Text = "89" Then Server = "http://ny6.runescape.com/rs2.cgi?"
If Frm.ComFree.Text = "90" Then Server = "http://ny7.runescape.com/rs2.cgi?"
If Frm.ComMem.Text = "91" Then Server = "http://ny8.runescape.com/rs2.cgi?"
If Frm.ComFree.Text = "92" Then Server = "http://nl9.runescape.com/rs2.cgi?"
If Frm.ComFree.Text = "93" Then Server = "http://mi1.runescape.com/rs2.cgi?"
If Frm.ComFree.Text = "94" Then Server = "http://mi2.runescape.com/rs2.cgi?"
If Frm.ComFree.Text = "95" Then Server = "http://mi3.runescape.com/rs2.cgi?"
If Frm.ComFree.Text = "96" Then Server = "http://mi4.runescape.com/rs2.cgi?"
If Frm.ComFree.Text = "97" Then Server = "http://mi5.runescape.com/rs2.cgi?"
If Frm.ComMem.Text = "98" Then Server = "http://mi6.runescape.com/rs2.cgi?"
If Frm.ComMem.Text = "99" Then Server = "http://mi7.runescape.com/rs2.cgi?"
If Frm.ComMem.Text = "100" Then Server = "http://ul3.runescape.com/rs2.cgi?"
If Frm.ComFree.Text = "101" Then Server = "http://at7.runescape.com/rs2.cgi?"
If Frm.ComFree.Text = "102" Then Server = "http://at8.runescape.com/rs2.cgi?"
If Frm.ComMem.Text = "103" Then Server = "http://at9.runescape.com/rs2.cgi?"
If Frm.ComMem.Text = "104" Then Server = "http://at10.runescape.com/rs2.cgi?"
If Frm.ComFree.Text = "105" Then Server = "http://uk8.runescape.com/rs2.cgi?"
If Frm.ComFree.Text = "106" Then Server = "http://uk9.runescape.com/rs2.cgi?"
If Frm.ComFree.Text = "107" Then Server = "http://au1.runescape.com/rs2.cgi?"
If Frm.ComFree.Text = "108" Then Server = "http://au2.runescape.com/rs2.cgi?"
If Frm.ComFree.Text = "109" Then Server = "http://au3.runescape.com/rs2.cgi?"
If Frm.ComMem.Text = "110" Then Server = "http://au4.runescape.com/rs2.cgi?"
If Frm.ComMem.Text = "111" Then Server = "http://au5.runescape.com/rs2.cgi?"
If Frm.ComMem.Text = "112" Then Server = "http://au6.runescape.com/rs2.cgi?"
If Frm.ComFree.Text = "113" Then Server = "http://tor4.runescape.com/rs2.cgi?"
If Frm.ComMem.Text = "114" Then Server = "http://tor5.runescape.com/rs2.cgi?"
If Frm.ComMem.Text = "115" Then Server = "http://tor6.runescape.com/rs2.cgi?"
If Frm.ComFree.Text = "117" Then Server = "http://swe1.runescape.com/rs2.cgi?"
If Frm.ComFree.Text = "118" Then Server = "http://swe2.runescape.com/rs2.cgi?"
If Frm.ComFree.Text = "119" Then Server = "http://swe3.runescape.com/rs2.cgi?"
If Frm.ComMem.Text = "120" Then Server = "http://swe4.runescape.com/rs2.cgi?"
If Frm.ComMem.Text = "121" Then Server = "http://swe5.runescape.com/rs2.cgi?"

World = Server & Detail
Frm.Web.Navigate World

End Sub



That should be it, now just add this sub into the CmdGo click event and everythign should be fine.


Private Sub CmdGo_Click()
Web.stop
Call ChangeWorlds
End Sub




Finished! Now you can add your own leet looking graphics .. to your client.

If you think your going to be better than swiftswitch .. i suggest you get webhosting and then add a textbox for searching to your website.
eg. Prices, Armor etc.

Same as adding a highscores table into this client, my suggestion is to use php image manipulation to get the info and display it into your client :)

good luck!

(with credit to Jeremiah)


-AusHell

scarscaper4life

2007-04-05 21:05:38

were do you download visual basics from? (sorry if its a noob question).

R0b0t1

2007-04-05 22:21:37

microsoft.com

aushell

2007-04-06 00:50:57

this was coded in VB6.0..

so its probably best for you to download .. Visual Basic 6.0 :)

Wizzup?

2007-04-06 02:37:22

I am sure if this legal, and just to be sure, I will close the thread now.. too bad, the tutorial looked nice, try posting it on ohter sites, SRL isn't that much into rs client and stuff, we only do things with SCAR. :)

aushell

2007-04-06 02:46:47

*sigh*

ohh well …

Freddy1990

2007-04-06 10:46:20

From: Wizzup?
I am sure if this legal, and just to be sure, I will close the thread now.. too bad, the tutorial looked nice, try posting it on ohter sites, SRL isn't that much into rs client and stuff, we only do things with SCAR. :)


RS webclients are legal…


Nice tut, pretty basic though…
VB6 <3
Use my worldgen to make files to easilly load the worlds ;)

Ruroken

2007-04-06 23:48:05

Yakman should take a look at this. He was messing about with deobs and i wonder how he'd like this…

duther

2007-04-20 16:12:56

Not a real runescape client. The web browser control is basically the one that Internet Explorer itself uses to load webpages. This program simply uses that component to display the webpage into the program window, so it is basically a web browser with the "home page" set to a runescape world.

marzey

2007-06-17 08:02:32

Can you explain where to put the code ? in more detail

Thanks Marzy

shaunthasheep

2007-06-18 21:02:34

Im not really trying to advertise, but more to help ppl if you really want to learn how to make rs clients, http://cruels.net is pretty good, helped me learn vb, also there losing activity, and need more active members =)

Edit: Also, you can SetParent the rs applet from the web control to your actual program, this is not detectable. search cruels for "StealRs", and if you like that site, please sign up.

xtramuscle

2007-06-19 14:59:47

From: The_Rs_Monkey
Im not really trying to advertise, but more to help ppl if you really want to learn how to make rs clients, http://cruels.net is pretty good, helped me learn vb, also there losing activity, and need more active members =)

Edit: Also, you can SetParent the rs applet from the web control to your actual program, this is not detectable. search cruels for "StealRs", and if you like that site, please sign up.


StealRS && StealRS2 work great, I'd recommend it.

As for this code, it's pretty good. You might want to explain it a tad more.

Good job.

Festa

2007-06-26 11:34:52

cheers for this, gonna try and make a Quality pk client with macro's built in.

tests

2007-07-07 14:51:23

nice, but how i can add VB a nice visual apperance to my client? :)

Laimonas171

2008-11-10 14:50:31

very thank you :) i made my one client.. maybe you know how get lvl values? can creat same tut or pm my cmd's? :) rep++

Lacky

2009-02-09 02:43:36

OK, what's List Design View (pics please), and how do I add the web browser thing? It's not on the side of my bar.

Kyle Undefined

2009-02-09 03:01:45

Grave dig? But as for your question, it will be under your toolbox. Click on view>toolbox and then you will have an option to sticky it to the side or make it auto hide. If you need help look at my sig bar.

~Camo

Lacky

2009-02-16 01:27:21

Well, for some reason, when I click Toolbox, nothing comes up.

EDIT: Never mind I am an idiot, I already had a toolbox (I think). Which icon is it that I should click on that has it? I don't think I have it there.

EDIT2: I learnt that I had to enable Microsoft Internet Controls from the Ctrl+T box. This worked the first time, but I exited out of it and now when I try to do it again, it says File not found C:\Windows\System32\ieframe.dll\1 why?