• Welcome to Valhalla Legends Archive.
 

How to make a simple Bot

Started by Polak, December 07, 2008, 10:12 AM

Previous topic - Next topic

Polak

Hi, I'm new here and I'm pretty new to Bot creation too. I have VB and I have made some really simple programs from it, like calculators, so I'm not too advanced in it either. I'm interested in learning how to make bots, but I don't know where to start. I'm looking for a step by step tutorial kind of thing. I don't even know what the first thing I need is. I read a little about TCP/IP as you guys said in your reference section. So, if anyone could help me a bit that would be greatly appreciated.


Polak

I already read this, but it lacks the information to tell me what I need to be writing to start off codes. Another thing, I use Visual Basic Express Edition 2008, it has VB6.0 conversion on it, so is VB Express good to use or is it to under-developed?

Pyro

It says what you need to do to get started:
Quoteyou need to write something to recieve packets and display them, parse those packets, interpret them, and send replies.
Just write up some code to get a socket connection with the Battle.net server started, then do some research on the connection sequence, and finally, write the code to send and receive the packets needed to get logged in. If you're still confused, I'd recommend taking a look at another bot written in a similar language to give you some ideas about how you want to go about all of this.

The Visual Basic Express Edition uses VB.NET, which is much more powerful and easier to use than VB6. (in my opinion)

Polak

can you recommend any VB.net made bots source codes?

Pyro

I actually don't know of any (except maybe LainEth) other than my own, which I lost the source code to.   :-\

Yegg

Quote from: Polak on December 07, 2008, 06:35 PM
can you recommend any VB.net made bots source codes?

Take a look at specific functions that handle specific packets involved in the Battle.net protocol. You can find them in many VB6 bots. As for converting to VB.NET, most of it should be relatively simply. I'm sure MSDN will also be an aide in some of the conversions.

Sixen

PS, the current version of BnetDocs can be found here. It's not completely done, nor is it 100% correct, however the data for the packets is correct, and is what really matters. If you can get the required packets, then it will help you.

I lol'd at the old bnetdocs
QuoteThis webpage is under construction

Come back later

Last Updated: December 14, 2002
Blizzard Tech Support/Op W@R - FallenArms
The Chat Gem Lives!
http://www.diablofans.com
http://www.sixen.org

Polak

What's good with VB Express is that is has a converter to convert VB6 to VB.net, but when I click on the button in the toolbar menu it gives me this error message: The operation could not be completed. The system cannot find the file specified. Just my luck...


Polak

Question. I found a source code and it seems good, but I can't figure out what a few things are. The creator has ctlSock, strServer, and strPort in the code. Can someone tell me if they are fields or variables, what their datatype is, and the value?

Dale

Quote from: Polak on December 09, 2008, 05:58 PM
Question. I found a source code and it seems good, but I can't figure out what a few things are. The creator has ctlSock, strServer, and strPort in the code. Can someone tell me if they are fields or variables, what their datatype is, and the value?

I'm making an educated guess that ctlSocket is the socket (winsock) which is a control. and strServer is being passed as a string and strPort is being passed as a string as well, sir.

Sixen

Quote from: Dale on December 09, 2008, 06:07 PM
I'm making an educated guess that ctlSocket is the socket (winsock) which is a control. and strServer is being passed as a string and strPort is being passed as a string as well, sir.

And that being said, strServer is one of the 4 battle.net servers (or any of their various IPAddresses), and strPort is any number from 6112-6119.
Blizzard Tech Support/Op W@R - FallenArms
The Chat Gem Lives!
http://www.diablofans.com
http://www.sixen.org

Polak

So I should set strPort as a integer = 6112 and strServer as double = 63.240.202.139 ?

Barabajagal

Uh.... "str" tends to mean String. But port is usually an integer, ya.