Register for your free account! | Forgot your password?

You last visited: Today at 22:56

  • Please register to post and access all features, it's quick, easy and FREE!

 

JD3 - Diablo 3 Java Bot

Reply
 
Old   #1
 
elite*gold: 0
Join Date: Nov 2007
Posts: 12
Received Thanks: 3
JD3 - Diablo 3 Java Bot

Hi,

Als ich vor einer Weile in einem anderen Forum von einer Methode gelesen habe, ohne zu kämpfen Gold zu farmen,
dachte ich mir, dass ich mir dafür ein Script schreibe bzw. einen Bot programmiere.
Das ganze ist jetzt mein erster Versuch eine Art Bot für ein Spiel zu programmieren, da ich aber recht gut programmiere habe ich das jetzt einfach mal gemacht.

Der Bot unterstützt im Moment folgende Auflösungen:
(schreibt eure Auflösung in diesen Thread und ich erweitere den Bot)
  • 1920x1080
  • 1600x900
  • 1440x900
  • 1366x768
  • 1280x1024
  • 1280x720
  • 800 x 600

Der Bot ist in Java programmiert und basiert auf der Klasse "robot".
Diese Klasse führt ganz einfach Mausklicks aus. Das ganze ist natürlich sicherer, da der Bot nicht ins Spiel eingreift, allerdings hat es auch den Nachteil, dass man nebenher nichts anderes machen kann.

Anleitung
  1. Den Bot starten (jd3.jar) - WICHTIG: Man benötigt die neueste Version von Java! ()
  2. Diablo 3 starten
  3. Diablo 3 auf Vollbildfenstermodus umstellen
  4. Eine Quest in Akt 3 auswählen (man muss bei dieser in der Stadt starten)
  5. Den Bot wieder öffnen, so dass das Fenster vom Bot über Diablo 3 ist

Der Bot kann auch Screenshots machen (z.B. um per Internet den aktuellen Goldstand zu sehen). Dazu muss ein Haken bei "save screenshot" gesetzt werden und ein Screenshotordner eingegeben werden.

Download (0.1.2)



Changelog

- added logfile
- added support 800 x 600

Alte Versionen

0.1.1 -
0.1 -

Passwort (falls benötigt): nudl3r

Screenshot

You must register and activate your account in order to view images.

Viel Spaß beim Benutzen meines Bots

Über Verbesserungsvorschläge und Kritik freue ich mich. Ich will den Bot auch nur besser machen

Gruß,
viron/nudl3r



Viron is offline  
Thanks
3 Users
Old   #2
 
elite*gold: 0
Join Date: Jul 2012
Posts: 95
Received Thanks: 26
schon jemand benutzt und auf viren gecheckt?


Bosskonovic is offline  
Old   #3
 
elite*gold: 0
Join Date: Nov 2007
Posts: 12
Received Thanks: 3
Quote:
Originally Posted by Bosskonovic View Post
schon jemand benutzt und auf viren gecheckt?
Hier der Scan von VirusTotal, falls dir das etwas bringt Ansonsten kanns gerne auch jemand selbst auf Viren überprüfen.

Viron is offline  
Old   #4
 
elite*gold: 0
Join Date: Jul 2012
Posts: 95
Received Thanks: 26
bin zu misstrauisch, ich werde den bot erst ausprobieren, wenn mindestens 5 leute damit zufrieden waren und sich keiner beschwert hat.


Bosskonovic is offline  
Old   #5
 
elite*gold: 0
Join Date: Apr 2010
Posts: 197
Received Thanks: 18
"ohne zu kämpfen Gold zu farmen,"

wie soll das den gehen?

kannste bisschen was zu dein bot erklären?

ok hab das nunn mal getestet

er sammelt das kleine buch auf wo gold rausdroppt
links unten bei dem händler

weiß ja nicht ob das viel erfolg bringt ^^
bzw ob man da viel damit sammelt ^^
sm0ker91 is offline  
Old   #6
 
elite*gold: 0
Join Date: Nov 2007
Posts: 12
Received Thanks: 3
Quote:
Originally Posted by sm0ker91 View Post
"ohne zu kämpfen Gold zu farmen,"

wie soll das den gehen?

kannste bisschen was zu dein bot erklären?

ok hab das nunn mal getestet

er sammelt das kleine buch auf wo gold rausdroppt
links unten bei dem händler

weiß ja nicht ob das viel erfolg bringt ^^
bzw ob man da viel damit sammelt ^^
Mit 186% gold find hab ich damit ca. 80k pro Stunde in Inferno gemacht. Das ist nicht schlecht, dafür dass man keine Repkosten usw. hat finde ich.

Ich hoffe einfach, dass ich den Bot in Zukunft noch verbessern kann und evtl. auch noch andere Methoden zum Farmen von Gold einbauen kann.
Viron is offline  
Old   #7
 
elite*gold: 0
Join Date: Jul 2012
Posts: 95
Received Thanks: 26
is definitiv zu wenig gold per hour.. dein bot wird sich wohl nicht durchsetzen, der arreat bot ist momentan wohl der beste. :-)
Bosskonovic is offline  
Old   #8
 
elite*gold: 50
Join Date: May 2008
Posts: 2,216
Received Thanks: 1,821
Quote:
Originally Posted by Viron View Post
Der Bot ist in Java programmiert und basiert auf der Klasse "robot".
Diese Klasse führt ganz einfach Mausklicks aus. Das ganze ist natürlich sicherer, da der Bot nicht ins Spiel eingreift, allerdings hat es auch den Nachteil, dass man nebenher nichts anderes machen kann.
Punkte zum Thema "kann nebenbei nichts anderes machen".


+ MouseClicks per Controllsend direkt an das Handle des Spiels, damit bleibt die normale Maus unangetastet.

+ Genauso weitere Tastatur eingaben, alles per Controllsend an das Handle, den dann kann man nebenbei machen was man will, der Bot läuft wirklich "paralell".

+ Robot ist im speziellen nicht dafür gedacht solche Controllsends zu machen // wenn du aber über JNI/JNA die Windows API benutzt kannst du das alles machen, was eben auch in AutoIT (AutoHotkey) funktioniert (und gerade in diesem Aspekt des "kann nebenbei nichts anderes machen" viel hilft).



Screenshots machen finde ich eine schöne sache, was man damit gleich machen kann ist das weiter zu nutzen.

Natürlich kann man den Goldwert einfach auslesen, aber vielleicht nur aus "Spaß" kann man auch einen Schrifterkennungsprozes benutzen um daraus die Goldmenge auszulesen, die man dann sogar per SMS verschicken kann, oder per Tweet (ganz witzig sowas, einfach das man es mal gemacht hat).
*Ist eben schon eine Herausforderung auf Memory Read/write zu verzichten, den damit geht vieles weitaus schneller und einfacher.



Vorrausgesetzt du willst mehr zeit investieren und einfach mal viele bereiche abklappern wie und was man alles mit einem bot machen kann (gerade in java ist das noch mal ne Ecke "spezieller" als in C/C++), kann man sich den Programmcode gleich Modular aufbauen, das man wirklich austauschbare teile hat für GUI / Launcher / BotControll / Extras (wie Screenshots etc.), damit kann man dann verschiedenste Konzepte testen ohne das gleich alles von allem Abhängig ist.


Sehr schön um Fehler zu vermeiden ist auch gleich ein Test-Driven Konzept zu verwenden, das geht bei bots sehr gut und erspart viel viel VIELE Stunden Bugsuche (den hat man mal tiefgreifende Bugs die nicht ständig auftreten, findet man die einfach niemals).


Ebenfalls schön für "gut mal gemacht zu haben" einen Kalender, TimeTable.
Da kann man dann Zeiten einstellen wann der Bot etwas tun soll, ob er automatisch ausgehen soll zu einer Zeit, nur 1 Stunde laufen soll, usw. usw.

Das wird besonders interessant wenn die BotControll mehrere Bots unterhält und koordiniert, die nicht nur normale Runs ausführen, sondern auch ab und zu das AH "abchecken", andere Routinen laufen lassen zum Verkaufen von Items oder automatisch "neue" Accounts hochleveln sollen.


Das klingt alles erstmal extrem viel und ist auch einfach "viel zu viel" zum einfach mal nebenbei machen, aber ich spreche aus eigener Erfahrung (und ich habe meine Bots auch in java laufen) man kann wirklich sehr sehr viele Gimmicks einbauen die einem wirklich den "Edge" geben gegen die anderen Bots die unterwegs sind.

Anstelle von hardcoded Abläufen ist es auch sinnvoll diese in xml / jason als Profile abzuspeichern, einfach damit man sie einfacher verarbeiten kann (austauschen, löschen, multiplizieren). Gerade mit einem zeitplan kommen diese Profile richtig zur geltung, da man genau sagen kann wie lange ein Profil dauert, wann es ausgeführt werden soll und auch mehrere Bots die gleichen Profile ausführen können (oder unterschiedliche, auf basis des gleichen Codes).


Kurz gesagt:

+ Nutzung der Windows API für Controllsend, bessere kontrolle über alles auf betriebssystem Ebene (Window des Spiels, Prozesse usw.).

+ Einstellbare Profile

+ TimeTable Option (24h/7d ist nicht sehr sinnvoll)

+ Multi-Account / Multi-Process (benötigt eine BotControll die als Hub dient für weitere Bot Prozesse)




Empfehlung:

Eine schöne Bibliothek für D3 (wenn du Memory Read/Writes nutzen willst) ist D3Advanced.

Die kannst du mit JNI/JNA (ich mag JNA mehr, ist einfach schöner zu benutzen) relativ unproblematisch verwenden und bietet effektiv alles was man braucht (kann man auch selbst machen, aber das ist wirklich sehr viel arbeit so eine Bibliothek zu machen).


Viel spaß dabei ^^
TheOnlyOne652089 is offline  
Thanks
1 User
Old   #9
 
elite*gold: 0
Join Date: Nov 2007
Posts: 12
Received Thanks: 3
Quote:
Originally Posted by TheOnlyOne652089 View Post
Punkte zum Thema "kann nebenbei nichts anderes machen".


+ MouseClicks per Controllsend direkt an das Handle des Spiels, damit bleibt die normale Maus unangetastet.

+ Genauso weitere Tastatur eingaben, alles per Controllsend an das Handle, den dann kann man nebenbei machen was man will, der Bot läuft wirklich "paralell".

+ Robot ist im speziellen nicht dafür gedacht solche Controllsends zu machen // wenn du aber über JNI/JNA die Windows API benutzt kannst du das alles machen, was eben auch in AutoIT (AutoHotkey) funktioniert (und gerade in diesem Aspekt des "kann nebenbei nichts anderes machen" viel hilft).
Hört sich interessant an Werde ich auf jeden Fall ausprobieren. Danke.

Quote:
Originally Posted by TheOnlyOne652089 View Post
Screenshots machen finde ich eine schöne sache, was man damit gleich machen kann ist das weiter zu nutzen.

Natürlich kann man den Goldwert einfach auslesen, aber vielleicht nur aus "Spaß" kann man auch einen Schrifterkennungsprozes benutzen um daraus die Goldmenge auszulesen, die man dann sogar per SMS verschicken kann, oder per Tweet (ganz witzig sowas, einfach das man es mal gemacht hat).
*Ist eben schon eine Herausforderung auf Memory Read/write zu verzichten, den damit geht vieles weitaus schneller und einfacher.
Auch das wäre auf jeden Fall einen Versuch wert.
Wenn ich ehrlich bin hatte ich das eigentlich geplant - also dass einfach nur der Goldwert ausgelesen werden. Allerdings wurde daraus aus Faulheit dann einfach nur eine Screenshotfunktion.

Quote:
Originally Posted by TheOnlyOne652089 View Post
Vorrausgesetzt du willst mehr zeit investieren und einfach mal viele bereiche abklappern wie und was man alles mit einem bot machen kann (gerade in java ist das noch mal ne Ecke "spezieller" als in C/C++), kann man sich den Programmcode gleich Modular aufbauen, das man wirklich austauschbare teile hat für GUI / Launcher / BotControll / Extras (wie Screenshots etc.), damit kann man dann verschiedenste Konzepte testen ohne das gleich alles von allem Abhängig ist.

Sehr schön um Fehler zu vermeiden ist auch gleich ein Test-Driven Konzept zu verwenden, das geht bei bots sehr gut und erspart viel viel VIELE Stunden Bugsuche (den hat man mal tiefgreifende Bugs die nicht ständig auftreten, findet man die einfach niemals).
Man könnte fast sagen, dass der Code schon etwas Modular aufgebaut ist. Es gibt eine Klasse welche Standardfunktionen für Diablo 3 enthält wie z.B. startGame, exitGame, usw. und dann die verschiedenen Klassen für bestimmte Abläufe. Bis jetzt gibt es da eben die Klasse "Chest".
Werde den Bot aber auf jeden Fall noch stärker in diese Richtung entwickeln.

Quote:
Originally Posted by TheOnlyOne652089 View Post
Ebenfalls schön für "gut mal gemacht zu haben" einen Kalender, TimeTable.
Da kann man dann Zeiten einstellen wann der Bot etwas tun soll, ob er automatisch ausgehen soll zu einer Zeit, nur 1 Stunde laufen soll, usw. usw.

Das wird besonders interessant wenn die BotControll mehrere Bots unterhält und koordiniert, die nicht nur normale Runs ausführen, sondern auch ab und zu das AH "abchecken", andere Routinen laufen lassen zum Verkaufen von Items oder automatisch "neue" Accounts hochleveln sollen.

Das klingt alles erstmal extrem viel und ist auch einfach "viel zu viel" zum einfach mal nebenbei machen, aber ich spreche aus eigener Erfahrung (und ich habe meine Bots auch in java laufen) man kann wirklich sehr sehr viele Gimmicks einbauen die einem wirklich den "Edge" geben gegen die anderen Bots die unterwegs sind.

Anstelle von hardcoded Abläufen ist es auch sinnvoll diese in xml / jason als Profile abzuspeichern, einfach damit man sie einfacher verarbeiten kann (austauschen, löschen, multiplizieren). Gerade mit einem zeitplan kommen diese Profile richtig zur geltung, da man genau sagen kann wie lange ein Profil dauert, wann es ausgeführt werden soll und auch mehrere Bots die gleichen Profile ausführen können (oder unterschiedliche, auf basis des gleichen Codes).
Benutzereinstellungen usw. habe ich auf jeden Fall auch geplant. Dass ich diese dann in Form von XML o.ä. speichern werde erscheint mir auf jeden Fall sinnvoll.

Quote:
Originally Posted by TheOnlyOne652089 View Post
Empfehlung:

Eine schöne Bibliothek für D3 (wenn du Memory Read/Writes nutzen willst) ist D3Advanced.

Die kannst du mit JNI/JNA (ich mag JNA mehr, ist einfach schöner zu benutzen) relativ unproblematisch verwenden und bietet effektiv alles was man braucht (kann man auch selbst machen, aber das ist wirklich sehr viel arbeit so eine Bibliothek zu machen).
D3Advanced werde ich mir dann wohl auch mal anschauen. Allerdings würde ich doch ganz gerne weiterhin ohne Memory Reading/Writing auskommen.

JNI/JNA hört sich allerdings gut an. Werde so schnell wie möglich mal ausprobieren.

Quote:
Originally Posted by TheOnlyOne652089 View Post
Viel spaß dabei ^^
Werde ich haben denke ich
Auf jeden Fall vielen Dank für deine Tipps. Werde mir jetzt echt mal überlegen, wie ich meinen Bot in Zukunft in diese Richtung verbessern kann.

Gruß,
viron
Viron is offline  
Old   #10
 
elite*gold: 0
Join Date: Apr 2011
Posts: 117
Received Thanks: 46
er farmt nur die truhe in der stadt. dh ein game = 10 sekunden etwa?
würde nicht empfehlen zu nutzen, kann zu bann führen und mim nächsten patch wird die gamesanzahl pro stunde eh eingeschränkt

er farmt nur die truhe in der stadt. dh ein game = 10 sekunden etwa?
würde nicht empfehlen zu nutzen, kann zu bann führen und mim nächsten patch wird die gamesanzahl pro stunde eh eingeschränkt.

such dir eine längere farmrouter
bOOm_shacalaca is offline  
Old   #11
 
elite*gold: 0
Join Date: May 2009
Posts: 21
Received Thanks: 8
Rein aus Interesse, gibts den Sourcecode?
phoenix-ch is offline  
Old   #12
 
elite*gold: 0
Join Date: May 2012
Posts: 8
Received Thanks: 3
Source code gibts hier:
nicolaswhite is offline  
Old   #13
 
elite*gold: 0
Join Date: Nov 2007
Posts: 12
Received Thanks: 3
Quote:
Originally Posted by nicolaswhite View Post
Source code gibts hier:
Ist nicht nötig. Werde den Source Code gerne veröffentlichen.
Viron is offline  
Old   #14
 
elite*gold: 0
Join Date: Jul 2008
Posts: 19
Received Thanks: 1
Hallo zusammen und erstmal vielen Dank für deinen Bot hier! Mit Java zu proggen find ich super, so kann auch die Mac-D3 Gemeinde mit Botten!
Wärs möglich den "[Bot] Core of Arreat V2 (All races)" mit Java zu adaptieren? fänd ich grandios!
nuckel is offline  
Old   #15
 
elite*gold: 0
Join Date: Apr 2011
Posts: 117
Received Thanks: 46
sicherlich ist das möglich kannst dich ja mal ransetzen


bOOm_shacalaca is offline  
Thanks
1 User
Reply

Tags
bot, diablo 3, farm, gold, java



« Previous Thread | Next Thread »

Similar Threads
Diablo 2 LOD D2NT Ale-Diablo V1.0 BOT JAVA
Hallo leute ich bin richtig am verzwifeln.....ich will den bot mit meiner java laufen lassen da ich aber nicht so viel ahnung von so einem bot habe...
9 Replies - Diablo 2



All times are GMT +2. The time now is 22:56.


Powered by vBulletin®
Copyright ©2000 - 2017, Jelsoft Enterprises Ltd.
SEO by vBSEO ©2011, Crawlability, Inc.

Support | Contact Us | FAQ | Advertising | Privacy Policy | Abuse
Copyright ©2017 elitepvpers All Rights Reserved.