after many of you kept complaining about having freezes that would stop your bot from doing more runs (which is extremely annoying especially when you are not at home), I have written a little program in order to counter that issue.
Unfortunately, it cannot stop those freezes from happening. Instead it just deals with the consequences by closing any D2 window that doesn't respond.
Additionally, I've added some features including minimization, rearrangement or closing of all D2 windows at once, making this program not only useful for folks having troubles with freezes, but also for those of you who are just running multiple D2s and would take kindly of some convenient window functions.
Closing of any Diablo 2 window that is not responding
Hiding active Diablo 2 windows
Rearranging active Diablo 2 windows
Resizing active Diablo 2 windows
Closing of all active Diablo 2 windows at once
Requirements
Vista/Win7 (it might also work on XP SP3, though this is just an assumption and not a confirmed fact)
.NET Framework 4.0
Some Diablo 2 windows (Note: this program is not related to my D2NT version and thus will work with any Diablo 2 window)
Installation
Just extract the included executable anywhere you want (preferably in you D2NT folder).
File Name
CRC32
VT
MPM.exe
E2E18624
Note that you are using this software at your own risk! I will not take any responsibility for any sort of damage to your hardware, software or your general well-being.
__________________
That's about it, feedback or bug reports are highly appreciated! Note that this is the initial release which might contain some serious bugs that I am currently not aware of.
först. sehr nice, wenns so schön funzt wirds mir das botten auf jeden fall wieder verbessern is scho scheisse wennde morgens anmachst, abends heimkommst und der duo-bot nimmer läuft weil der leader nen d2-freeze vor n paar stunden gehabt hat :>
vorweg erstmal: das Programm erfüllt seinen Zweck! Juhu!
Was ich besonders toll finde, neben dem Ende der dauerhaft eingefrorenen Fenster, sind window size und rearrange. Um mal eben bei allen reinzugucken einfach genial.
Ein paar Verbesserungen/Korrekturen sind noch möglich:
1. Wenn ich bei Window size manuell eine Größe eingebe und diese dann noch mal korrigiere, muss ich erst auf eine Standardgröße rearrangen und dann auf die neue manuel gesetzte, da er das ansonsten nicht umsetzt und die zuerst eingegebene Größe beibehält.
2. Als ich die window size korrigieren wollte war die Pfeiltastenbelegung spiegelverkehrt Mit rechter Pfeiltaste nach links und andersrum...
3. Bei einer anderen windows size (außer 800*600) kann man nicht mehr mit der Maus im Fenster arbeiten; sie wird dabei nicht an die richtige Position gesetzt und wenn ich nach rechts unten gehe verschwindet der Mauszeiger gänzlich. Wäre fürs mulen sehr praktisch gewesen
4. bei einem D2-Fenster hat sich der bot "falsch" eingeloggt. Er ist in das Auswahlfenster für Offenes Battle.net/TCP/IP gerutscht und da leider hängen geblieben. Habe noch keine Ahnung warum das passiert ist, hatte ich vorher schon zwei, drei mal und hat nichts mit dem Process Monitor zu tun (wer hier einen Tipp hat, immer her damit ). Dabei ist mir nur aufgefallen, dass der Process Monitor wenn so etwas passiert, nicht mehr die anderen Fenster mit einem Freeze schließen kann. Sobald ich das Auswahlfenster für Offenes Battle.net/TCP/IP verlassen hatte, killte er auch das gefreezte Fenster...
So das waren die ersten Eindrücke. Wie als erstes geschrieben: ein tolles Tool, das seinen Zweck erfüllt und noch ein paar geile Zusätze mitbringt!
ich muss das ding als admin ausführen sonst crasht es sobald es nen prozess killen will.
In dem Fall werde ich mal Dialoge und entsprechendes Exception Handling einfügen, danke für den Hinweis.
Quote:
Originally Posted by Traycas
Hallo zusammen,
vorweg erstmal: das Programm erfüllt seinen Zweck! Juhu!
Was ich besonders toll finde, neben dem Ende der dauerhaft eingefrorenen Fenster, sind window size und rearrange. Um mal eben bei allen reinzugucken einfach genial.
Ein paar Verbesserungen/Korrekturen sind noch möglich:
1. Wenn ich bei Window size manuell eine Größe eingebe und diese dann noch mal korrigiere, muss ich erst auf eine Standardgröße rearrangen und dann auf die neue manuel gesetzte, da er das ansonsten nicht umsetzt und die zuerst eingegebene Größe beibehält.
2. Als ich die window size korrigieren wollte war die Pfeiltastenbelegung spiegelverkehrt Mit rechter Pfeiltaste nach links und andersrum...
3. Bei einer anderen windows size (außer 800*600) kann man nicht mehr mit der Maus im Fenster arbeiten; sie wird dabei nicht an die richtige Position gesetzt und wenn ich nach rechts unten gehe verschwindet der Mauszeiger gänzlich. Wäre fürs mulen sehr praktisch gewesen
4. bei einem D2-Fenster hat sich der bot "falsch" eingeloggt. Er ist in das Auswahlfenster für Offenes Battle.net/TCP/IP gerutscht und da leider hängen geblieben. Habe noch keine Ahnung warum das passiert ist, hatte ich vorher schon zwei, drei mal und hat nichts mit dem Process Monitor zu tun (wer hier einen Tipp hat, immer her damit ). Dabei ist mir nur aufgefallen, dass der Process Monitor wenn so etwas passiert, nicht mehr die anderen Fenster mit einem Freeze schließen kann. Sobald ich das Auswahlfenster für Offenes Battle.net/TCP/IP verlassen hatte, killte er auch das gefreezte Fenster...
So das waren die ersten Eindrücke. Wie als erstes geschrieben: ein tolles Tool, das seinen Zweck erfüllt und noch ein paar geile Zusätze mitbringt!
DANKE MUDDY!!!
LG, Traycas
1. Du musst deine Eingabe auch immer mit Enter bestätigen, erst dann wird der dortige Wert auch tatsächlich im Objekt gespeichert, das die aktuelle Fenstergröße wiederspiegelt. Wobei vorher noch der jeweils nicht eingegebene Wert auf Basis des eingegeben Wertes gesetzt wird, damit das Format 4:3 bleibt.
Ich habe übrigens für sämtliche Steuerelemente Tooltips geschrieben, also im Zweifel einfach mal länger mit der Maus drüber gehenm, dann sollte dort erklärt sein, was ein Steuerelement macht.
2. Auf was beziehst du dich damit genau, sprich bei was war das der Fall?
3. Das ist bekannt, andere Größen als die Standardgrößen dienen auch nur der Übersicht, es hat schon seinen Sinn, dass man die Fenster normalerweise nicht skalieren kann.
4. Würde ich jetzt ebenfalls nicht direkt damit in Verbindung bringen. Wobei man das wohl lösen könnte, wenn man die controlInfo Klasse entsprechend erweitert.
In jedem Fall schonmal danke für das ausführliche Feedback.
1. Du musst deine Eingabe auch immer mit Enter bestätigen, erst dann wird der dortige Wert auch tatsächlich im Objekt gespeichert, das die aktuelle Fenstergröße wiederspiegelt. Wobei vorher noch der jeweils nicht eingegebene Wert auf Basis des eingegeben Wertes gesetzt wird, damit das Format 4:3 bleibt.
Ich habe übrigens für sämtliche Steuerelemente Tooltips geschrieben, also im Zweifel einfach mal länger mit der Maus drüber gehenm, dann sollte dort erklärt sein, was ein Steuerelement macht.
2. Auf was beziehst du dich damit genau, sprich bei was war das der Fall?
3. Das ist bekannt, andere Größen als die Standardgrößen dienen auch nur der Übersicht, es hat schon seinen Sinn, dass man die Fenster normalerweise nicht skalieren kann.
4. Würde ich jetzt ebenfalls nicht direkt damit in Verbindung bringen. Wobei man das wohl lösen könnte, wenn man die controlInfo Klasse entsprechend erweitert.
In jedem Fall schonmal danke für das ausführliche Feedback.
LG
Muddy
1. Eingabe bestätigen, OK! Tooltips, sorry, bin anscheinend nie so lange an einer Stelle verweilt um Deine Ausführungen zu sehen
2. ich hatte bei der manuellen window size 500*irgendwas drinstehen und wollte die 500 korrigieren. Klickte mit der Maus zwischen die beiden 00, drückte die Pfeiltaste nach links und der Curser wanderte nach rechts...
3. wäre zu schön gewesen...
4. controlInfo Klasse ; Natürlich kann ich Dich zum Bahnhof mitnehmen; mein Bobycar parkt direkt vor der Tür
Hört sich für mich nach etwas mehr Programmieraufwand an. Da es nicht so häufig auftritt und es sich vielleicht nach der Neuinstallation meines Rechners nachher von sich aus erledigt, warte ich mal ab... Sollte es zukünftig noch auftreten, würde ich mich nach Deinen Prüfungen natürlich über Deine Hilfe freuen!
1. Eingabe bestätigen, OK! Tooltips, sorry, bin anscheinend nie so lange an einer Stelle verweilt um Deine Ausführungen zu sehen
2. ich hatte bei der manuellen window size 500*irgendwas drinstehen und wollte die 500 korrigieren. Klickte mit der Maus zwischen die beiden 00, drückte die Pfeiltaste nach links und der Curser wanderte nach rechts...
3. wäre zu schön gewesen...
4. controlInfo Klasse ; Natürlich kann ich Dich zum Bahnhof mitnehmen; mein Bobycar parkt direkt vor der Tür
Hört sich für mich nach etwas mehr Programmieraufwand an. Da es nicht so häufig auftritt und es sich vielleicht nach der Neuinstallation meines Rechners nachher von sich aus erledigt, warte ich mal ab... Sollte es zukünftig noch auftreten, würde ich mich nach Deinen Prüfungen natürlich über Deine Hilfe freuen!
LG, Traycas
Das mit dem spiegelverkehrt lag daran, dass ich die Textboxen auf RightToLeft stehen hatte, wird dann mit der nächsten version besser.
Ich bezog mich mit der Anmerkung übrigens auf die Klasse von njaguar, die alles regelt was in Menu und Lobby abläuft.
Quote:
Originally Posted by lanara
Nette Sache, vor allem das mit dem Rearrange ist sehr toll.
Spätestens als ich die die MainWindowHandles über die Prozesse hatte, juckte mir die Idee einfach in den Fingern.
Denn das hatte ich vorher immer manuell gemacht, um das Geschehen aus dem Augenwinkel mitzuverfolgen, allerdings ist das ein ziemlicher Krampf jedes mal 8 Fenster manuell zu Positionieren - so ist es doch sehr viel angenehmer.
Ich bezog mich mit der Anmerkung übrigens auf die Klasse von njaguar, die alles regelt was in Menu und Lobby abläuft.
Nein, ich fahre Bobycar, keinen Jaguar
OK, sollte es weiter auftreten gucke ich da mal rein! Heute Morgen war aber diesbezüglich alles gut!
Mein Rechner ist neu installiert und die SSD läuft erste Sahne und zudem noch geräuschlos. Dem entsprechend über Nacht die Bots laufen lassen. Mein Smiter hat sich aufgehangen, ebenso wie mein Hammerdin. Beide Prozesse wurden nicht beendet und neu gestartet. Der Prozess vom Smiter war rot gekennzeichnet im PM, der vom Hammerdin noch grün und im PM unter dem vom Smiter. Ich habe das Gefühl, dass wenn ein Fenster nicht mehr reagiert und der PM es nicht geschlossen bekommt, er die anderen nicht mehr prüft oder beim ersten Prozess irgendwie hängen bleibt...
Zur Konfiguration:
Vista mit Adminrechten für Dia ,PM, D2NT mit 4 Bots
1. Smiter macht: Countess, Summoner, Nihlathak, OrganHarvest, Eltrich/Schenk, UberTristram
2. Light/Blizzard-Sorc/GoldBarb/Hammerdin in einem Spiel
Light/Blizzard-Sorc: Dia, Baal, Mausoleum, Pit, AncientTunnels
Hammerdin: LeechFight Dia/Baal, RiverOfFlame
GoldBarb: LeechFight Dia/Baal, SuperChests, Travincal
Wenn Du noch irgendwelche Infos brauchst, melde Dich. Hoffe das hilft soweit. Ggf. weitere Fehlermeldungen heute Abend, aber ich hoffe, dass alles durchläuft
Beide Prozesse wurden nicht beendet und neu gestartet. Der Prozess vom Smiter war rot gekennzeichnet im PM, der vom Hammerdin noch grün und im PM unter dem vom Smiter. Ich habe das Gefühl, dass wenn ein Fenster nicht mehr reagiert und der PM es nicht geschlossen bekommt, er die anderen nicht mehr prüft oder beim ersten Prozess irgendwie hängen bleibt...
same here.
über tag und nacht laufen gelassen, heut wieder heim und der prozess von meinem hdin hat sich seit urzeiten aufgehängt, genau wie der vom sum nec, beide machen superchests, pit clearen, keyset und andy/meppel. prozessmanager war bei mir genau wie bei traycas.
windows 7 32 bit, pm als admin, mwnt. keinerlei andere programme aktiv gewesen.
€: fail hatte nen screen gemacht aber nicht gespeichert und zwischenzeitlich was anderes in die ablage kopiert -.-.
Ich stell mal meine Erfahrung bezüglich Freeze vor:
Mir ist aufgefallen, dass bei mir Freezes auftreten, wenn ich Teambot laufen lasse.
Zu dem treten Freezes auf, wenn LagExit vorkommt, also wenn der Char das Game während eines Lags verlassen will.
Und es treten Freezes auf, wenn man manuell auf Speichern/Spiel verlassen drückt. Da aber nur ab und an.
Bei reinen MF-Runs kommt es zu Restarts, wenn der Char voll ist, aber noch etwas identen will. Oder wenn er was aufheben will und nicht kann.
Gerade hat es nochmal meinen Barb erwischt beim Verlassen des Spiels und es wurde auch nicht beendet. Die anderen beiden waren schon zwei Spiele weiter. Im PM stand der Prozess noch grün. Sch..., dass ich vorhin nicht geguckt hatte, wobei es die anderen Spiele erwischt hat
Der Barb musste übrings das Spiel beenden, da die Sorc fertig war. Also hat es nicht selber durch Skriptende verlassen...
Greets Traycas
Edit:
War nochmal weg und fand nun folgendes vor:
Prozess 5492 wurde mit rotem Eintrag richtig erkannt, aber nicht geschlossen! War mein Smiter mitten im run.
Prozess 5688 war ebenfalls gefreezed, wurde nicht als solches erlkannt und entsprechend nicht geschlossen. Hier war es wieder der Barb, dessen Spiel geschlossen wurde, weil die Sorc als Leader fertig war.
[Release] Muddy's D2NT 01/25/2021 - Diablo 2 Programming - 7420 Replies AnnouncementPlease note: development discontinued! / Bitte beachten: Entwicklung eingestellt!
English
I am discontinuing development of this version and will henceforth focus on bot development using D2BS.
According to this, there won't be any major updates, but merely smaller bug fixes at best.
Focusing on D2BS, I will decrease my efforts in supporting this project, since it has become way too time-consuming.
I might still check this topic every now and then and offer my support, but...
ProcMon (Process Monitor) 10/05/2008 - Dekaron Private Server - 2 Replies This is a program I found, which is undownloadable from anywhere meaning you can't google it or search for it. What it does is tells you every single thing that a program or game (any process) does. Every single step about what it opens to when it closes, what files it extracted to play or open. SO it might be useful for something. Good luck and hope this program will be useful.
What can be found:
Maybe with this program you'll be able to find out what logintool.exe patches and write file...