• Welcome to Valhalla Legends Archive.
 

Diablo II Bot Dev

Started by Spilled, April 27, 2005, 12:54 PM

Previous topic - Next topic

Spilled

Hi, im trying to learn how to create a Diablo II Pindle Bot. How would i go about creating this to run my character through pindle runs using Diablo II Loader? Is the game ran in a sub window? If so how would i control the character and what messages would i send the sub window? Any help or tutorial would be much appreciated I am interested in learning this. Thanks in advance.

MyndFyre

QuoteEvery generation of humans believed it had all the answers it needed, except for a few mysteries they assumed would be solved at any moment. And they all believed their ancestors were simplistic and deluded. What are the odds that you are the first generation of humans who will understand reality?

After 3 years, it's on the horizon.  The new JinxBot, and BN#, the managed Battle.net Client library.

Quote from: chyea on January 16, 2009, 05:05 PM
You've just located global warming.

Hdx

Pindel is a spacific monster in D2, that is always at a spacific place, and he drops good itls, and give decent EXP. This guy just wants to get items w/o doing the actuall playing. And i assume he heard about AutoIT, that would be a decent lang. to make a "bot" like that in.
~-~(HDX)~-~

Proud host of the JBLS server www.JBLS.org.
JBLS.org Status:
JBLS/BNLS Server Status

Spilled

How would i go about making such a program as this in the language that im currently using? Any help is appreciated thanks in advance.

Yegg

What language are you using? I'm assuming it is Visual Basic 6?

Blaze

#5
http://www.hiddensoft.com/AutoIt/

I think this is what hdx was talking about. Its a really simple scripting language.


edit:
http://www.hiddensoft.com/AutoIt/diablo.php Hehe :P
Quote
Mitosis: Haha, Im great arent I!
hismajesty[yL]: No

Spilled

Yes, the current language im using is VB6 and im pretty sure it possible to make this program in VB6. What im asking is how would i get the controls of the character in VB6 and go about controlling his movements to do pindle/meph/andy runs whichever i decide to make it for. Thanks in advance all.

iago

It's easy!

- Make the standard connection to Diablo II
- Also connect to the realm server
- Log in with the appropriate character
- Tell Battle.net that you're creating a game
- Tell Battle.net that you're entering a game
- Decompress the incoming packets
- Find the appropriate information to move to the right location
- Send game packets that'll get you to that location
- Find the appropriate information about the monsters from the decompressed packets
- Send the information to attack those monsters
- Find the info about the dropped items
- Send the info to pick them up

Now, if you narrow your question down to any of those steps, you might get more help.
This'll make an interesting test for broken AV:
QuoteX5O!P%@AP[4\PZX54(P^)7CC)7}$EICAR-STANDARD-ANTIVIRUS-TEST-FILE!$H+H*


Spilled

Actually i was more planning this bot to be exterior and get the handles on Diablo II Loader and run it from there, Somewhat like jhj bot worked. Ideas?

Yegg

You want this bot to control mouse movements and click action? Maybe even some keyboard events? So it would work like your "basic advanced" macro?

Spilled

jhj bot in no way moves your mouse, but moves your guy without mousemovement. How would i do this?

Yegg

Apparently that bot is sending packets to the game server, and it is sending packets through a socket that has established a connection to the game server. Do what iago suggested. There are some open source diablo game bots on bnetweb.com and zeroforce.net.

LivedKrad

This is news to me, how are the packets compressed iago? I was comparing the packet format for D2GS (in-game) to a packet I logged while in the game. Seemed uncompressed to me, however I could be completely wrong and need to be enlightened by your infinite knowledge.

P.S.- I think I may have found the answer to our question regarding the murder rate of America.

iago

Quote from: LivedKrad on April 27, 2005, 04:04 PM
This is news to me, how are the packets compressed iago? I was comparing the packet format for D2GS (in-game) to a packet I logged while in the game. Seemed uncompressed to me, however I could be completely wrong and need to be enlightened by your infinite knowledge.

The Server -> Client are compressed with some kind of Huffman compression algorithm.

Besides that, it seems like the "bot" probably injects a .dll and takes over certain events, and makes false function calls.  Assuming that's true, doing it in VB isn't possible.  VB is too high-level, you don't have the kind of control you get with C.
This'll make an interesting test for broken AV:
QuoteX5O!P%@AP[4\PZX54(P^)7CC)7}$EICAR-STANDARD-ANTIVIRUS-TEST-FILE!$H+H*


Yegg

Are you sure that a language such as VB6 has a task that it cannot handle? Especially those kind of dll files. I think it could handle it.