Anmerkung: Durch einen groben Fehler in der letzten hochgeladenen Version wird mir im Falle eines World Events euer Spiel und Passwort mitgeteilt. Ich habe schlicht vergessen die entsprechende Funktion, die an sich nur für mich und meine eigenen Chars bestimmt war, vor Release zu entfernen.
Auch wenn ich garantiert nicht eure World Events ausbeuten werde, stellt das trotzdem eine riesen Sicherheitslücke dar, die so nie beabsichtigt war.
Darum sollten diejenigen die sich die Version in den letzten 2-3 Tagen runtergeladen haben auf alle Fälle schnellstmöglich die aktuelle Version runterladen, in der das Problem behoben ist.
Sollte ich Ingame oben genannte Mitteilungen erhalten, schicke ich auch dort nochmal die Aufforderung bitte die schnellstens die aktuelle Version zu verwenden, falls ihr sowas bekommen habt, die aktuelle Version findet sich im Anhang.
Ich kann mich an dieser Stelle nur nochmal entschuldigen, ich hatte nie vor World Events von anderen Leuten auszuhorchen!
Das ganze basiert ursprünglich auf einer Version von agor für D2NT 1.8.
Allerdings weicht sie von dieser mitunter nun sehr stark ab, aber ich wollte den Ursprünglichen Autor wenigstens erwähnt haben.
Ich habe das Log um einige Funktionen erweitert und einige bugs gefixt, sodass jetzt an sich alles recht stabil laufen sollte.
Eine meiner Funktionen überrpüft dabei auch, ob ein Item bereits geloggt ist. Die Auswertung davon habe ich nun verwendet, um auch die üblichen Einträge ins log dahingehend zu verbessern, dass mehrfach Log Einträge von beispielsweise unids drastisch reduziert werden. Die Zeitintervalle die hierbei überprüft werden sind für versierte Leute relativ einfach zu ändern, ich werde hier aber nicht weiter drauf eingehen, schaut euch einfach die NTI_IsLogged() Funktion an.
Features:
- Loggt sämtliche Items die gepickt, dann verkauft oder behalten, aber auch z.B. gegamblete Items in einem xml Itemlog, welches fest gespeichert wird und mit einem Handelsüblichen Browser einsehbar ist
- Überprüfung ob Items bereits im Log enthalten sind innerhalb eines gewissen Zeitrahmens (dies gilt nun auch für das Manager Itemlog, welches sich nun nach dem Rückgabewert meines Itemlogs richtet)
- kleinere Farbanpassungen des normalen Manager logs, sowie Erweiterung um die Anzeige des Fundorts und des Itemlevels
- Bei Bedarf können nun verkaufte Items im Manager Log angezeigt werden sowie auf die XML Log Funktion verzichtet werden
- vermutlich noch weitere die mir gerade nicht einfallen
Die logs werden jeweils für einen Tag angelegt. Ist ein Log sehr voll, können die Laufzeiten durchaus so lang werden, dass es sichtbar wird. Ich selber finde es nicht weiter schlimm, zumal es durch die Tageslogs ohnehin sehr spät auftritt.
Sollte sich jemand mit der Syntax für Dateipointer Operationen in D2NT auskennen, darf er das gerne entsprechend optimieren.
Anmerkungen:
- Merkbare Programmlaufzeiten bei großen Log Files (siehe oben, groß heisst 500 Zeilen aufwärts)
- jeweils ein Logfile für den aktuellen Tag
- nur mit Diablo II auf Englisch getestet, ich kann keine Aussage darüber treffen wie sich das bei einem nicht-englischen D2 verhält
Installation:
Ich habe die modifizierten Scripte in ein Rar-Archiv verpackt, die Ordnerstruktur ist dieselbe wie beim normalen D2NT, ich traue euch also zu, dass ihr das alleine platziert bekommt. Das Archivpasswort lautet "muddy".
Danach findet ihr im Ordner "logs" einen Ordner "CHARNAME". Davon einfach eine Kopie erstellen und nach eurem Char benennen.
Mit dem letzten Update sind ein paar neue globale Variablen eingeführt worden die in der Char Config initialisiert werden müssen.
Dazu bitte das hier hinzufügen:
Code:
NTConfig_UseXMLItemlog = true; // Log kept and sold items as well in a XML log file
NTConfig_LogSoldItems = true; // Adds sold items to the manager's itemlog
NTConfig_ShowGoldPickups = true; // Show Pickup message whenever gold is picked
NTConfig_ShowPotionPickups = true; // Show Pickup message whenever a potion is picked
Die Funktionen der einzelnen Variablen sollten sich von selbst erklären.
Das wars an sich schon. Beim Ausführen sollte nun, beim ersten zu loggenden Item, automatisch ein neues Logfile im Ordner eures Chars erstellt werden.
Darüber werdet ihr durch eine Ausgabe in Kenntnis gesetzt.
Die Logfiles können dann z.B. mit dem Firefox geöffnet und eingesehen werden (IE macht Probleme).
Viel Spaß beim Testen!
Bei Rückfragen oder Fehlern bitte melden.
LG
Muddy
Anmerkung: Ich werde hier keine Aktualisierungen mehr einfügen, da mir der Aufwand einzelne Scripts zu isolieren zu hoch ist. Die hier hochgeladene Version ist nicht mehr aktuell, eine aktuelle Version findet sich in meinem .
Nette Idee, habs aber wieder weg gemacht, nachdem ich die Dateien kopiert und ersetzt hatte, lief der Bot nicht mehr mit der folgenden Mitteilung. In meiner SOrcess_Charname.ntl fehlt irgendwas von wegen NSCU_Essence. Wenn du weisst, wie man das fixen kann, würd ich lieber dein Skript nutzen
was ist der unterschied zwischen deins und dem einen von eon? welches ist denn nun besser ?
Da ich das nicht kenne kann ich da leider nichts zu sagen.
Quote:
Originally Posted by jAmMyX
Nette Idee, habs aber wieder weg gemacht, nachdem ich die Dateien kopiert und ersetzt hatte, lief der Bot nicht mehr mit der folgenden Mitteilung. In meiner SOrcess_Charname.ntl fehlt irgendwas von wegen NSCU_Essence. Wenn du weisst, wie man das fixen kann, würd ich lieber dein Skript nutzen
Die Fehlerbeschreibung ist leider sehr unspezifisch, die genaue Fehlermeldung und der Kontext in dem sie auftrat wären interessant. Und welche D2NT Version du verwendest.
Verwende die normale 3.1-Version, also kein Bluebird oder so. Die Fehlermeldung kommt direkt nachdem der Bot ein Game erstellt hat. Poste gleich nochmal die ganze Fehlermeldung, bin grad noch unterwegs.
Übertragen auf das obige sollte das Logfile also folgenden Pfad haben: "...\logs\xyz\04-21-10_itemlog.xml"
hm, also hab den CHARNAME ordner vorhin kopiert und mit dem Namen der Sorc versehen, so wie auch das ..sorceress_CHARNAME.ntl.
Oder muss ich den Profilnamen des Bots nehmen? Weil im Ordner logs habe ich aktuell nur folgendes:
3 Ordner (CHARNAME, loc und den mit dem namen meiner Sorc)
In letztgenannten sind zwei Dateien:
- tooltip.js
- itemlog.xsl
sonst nix. im "normalen" D2NT Itemlogger im D2NT-Manager wurden gerade eine Pul-Rune sowie eine Regenbogenfacette geloggt. Hast du ne Ahnung wieso er das angeblich erstellte File für den heutigen Tag doch nicht erstellt hat? Was mache ich falsch? :/ Sicher dass es mit 3.1 geht?
hm, also hab den CHARNAME ordner vorhin kopiert und mit dem Namen der Sorc versehen, so wie auch das ..sorceress_CHARNAME.ntl.
Oder muss ich den Profilnamen des Bots nehmen? Weil im Ordner logs habe ich aktuell nur folgendes:
3 Ordner (CHARNAME, loc und den mit dem namen meiner Sorc)
In letztgenannten sind zwei Dateien:
- tooltip.js
- itemlog.xsl
sonst nix. im "normalen" D2NT Itemlogger im D2NT-Manager wurden gerade eine Pul-Rune sowie eine Regenbogenfacette geloggt. Hast du ne Ahnung wieso er das angeblich erstellte File für den heutigen Tag doch nicht erstellt hat? Was mache ich falsch? :/ Sicher dass es mit 3.1 geht?
Wurde die PUL Rune im Manager in orange geloggt, steht dahinter der Fundort und am Ende des Stats Tooltips das Item Level?
Hat der Ordner den exakten Namen deiner Sorc? (also nicht "Sorceress_" davor oder sowas, nur den exakten Namen des Chars)
Achja, und wenn er das tatsächlich nicht erstellt hat, müsste er bei jedem Item versuchen ein neues Logfile zu erstellen mit der dazu üblichen Meldung.
Ist das nicht der Fall, muss das Logfile existieren.
Und ja, ich habs zwar an sich nur mit 3.0 getestet, aber bis auf die Sache mit den Essenzen mit der du anfangs Probleme hattest sollte sich nicht so viel an den Scripten geändert haben.
Ja, die Rune ist orange geloggt, Fundort ist dabei und das ilvl im Tooltip ebenfalls vorhanden.
Der Ordner heisst genauso wie die Sorc ***. Muss ich den CHARNAME vllt löschen? Oder müssen es nur Großbuchstaben sein im Ordnernamen? Die Meldung über die Logfile-Erstellung erscheint nicht mehr.
Aber das Logfile ist definitiv nicht in dem Ordner mit dem Sorcnamen drin :/
Ja, die Rune ist orange geloggt, Fundort ist dabei und das ilvl im Tooltip ebenfalls vorhanden.
Der Ordner heisst genauso wie die Sorc jap. Muss ich den CHARNAME vllt löschen? Oder müssen es nur Großbuchstaben sein im Ordnernamen? Die Meldung über die Logfile-Erstellung erscheint nicht mehr.
Aber das Logfile ist definitiv nicht in dem Ordner mit dem Sorcnamen drin :/
Ersteres klingt schonmal gut.
Der CHARNAME Ordner ist egal, in den wird eh nicht geschrieben.
Hier mal ein kurzer Asuzug aus dem Quelltext, in dem man sehr schön sieht, nach welchem Muster Logfiles erstellt werden:
Code:
var currentDate = new Date();
var dateString = currentDate.toLocaleFormat("%m-%d-%y");
var filehandle = FileOpen("logs/"+me.charname+"/"+dateString+"_itemlog.xml", 2);
Interessant ist also nur der Ordner welcher vom Namen her dem Wert der Objektvariablen me.charname entspricht, was nichts anderes ist als der exakte Name deines Chars.
Schau mal ob der Ordnername auch in Punkto Groß- und Kleinschreibung mit deinem Charnamen übereinstimmt, auch wenn das an dieser Stelle an sich nicht das Problem sein sollte.
Ich werde das mal selber mit ner frischen 3.1er Version Testen, mal schauen ob ich da auch derartige Probleme habe, ich vermute aber eher nicht.
Achja, ich habe nochmal ein Update hochgeladen. Es stimmte was im Ausgabelayout nicht, sodass das Log einer recht unstrukturierten Wand aus Text entsprach. Also in jedem Fall darauf achten, dass die aktuelle "itemlog.xsl" aus dem CHARNAME Ordner benutzt wird, ansonsten ist das Logfile nicht wirklich brauchbar.
Hab jetzt mal im Ordner mti dem Charnamen eine .xml mit dem an sich richtigen Namen von heute erstellt und dann wieder gelöscht. Aber das erkennt er auch nicht, sprich normal müsste er dann ja davon ausgehen dass keine für heute angelegt ist und sie erstellen. Passiert aber auch nicht :/
Hab jetzt mal im Ordner mti dem Charnamen eine .xml mit dem an sich richtigen Namen von heute erstellt und dann wieder gelöscht. Aber das erkennt er auch nicht, sprich normal müsste er dann ja davon ausgehen dass keine für heute angelegt ist und sie erstellen. Passiert aber auch nicht :/
Ich habe es gerade bei mir mit 3.1 getestet, funktionierte problemlos.
Dein Problem erscheint mir immer seltsamer, kannst ja mal ein paar Screenshots eventuell Interessanter Ordner machen und mir per PM schicken, dann müssen wir das hier nicht weiter öffentlich diskutieren.
Was mich bei der Sache sehr wundert:
Die normale Manager Logausgabe ist vom Itemlog abhängig, um dort mehrfach Einträge zu vermeiden. Heisst, es arbeitet mit Rückgabewerten und sollte irgendwas beim schreiben des Logs schief gehen würde dementsprechend auch ein "false" zurückgegeben.
Anders ausgedrückt: Wenn das mein Itemlog nicht erfolgreich schreibt, würde es auch das Log des Managers nicht. Was es bei dir aber tut...
D2nt itemlog auslesen online mit handy? 06/01/2010 - Diablo 2 - 8 Replies Huhu ich hab ma eine frage hat wer ne idea ob ich irgendwie den itemlog und den gamelog von den ntbot mit meinem Handy auslesen könnte? ^^ ich arbeite sehr viel und würde immer gern wissen was mein bot schon so gefunden hat bzw ob auch alles i.o ist? Hat da wer ne idea?
D2NT itemlog frage... 05/15/2010 - Diablo 2 - 2 Replies hab gesehn das viele drops den falschen bossen zugeordnet werden... kann mir jemand sagen wie ich das korrigieren kann? (:
[Request] D2NT 3.0 Itemlog mit DropLocation 05/11/2010 - Diablo 2 Programming - 7 Replies Ich frage mich ob man irgendwie einstellen kann, dass der Bot anzeigt wo er etwas gedropt hat. Das wäre doch mal hilfreich.
Ich hab selbst schon ein wenig versucht. indem ich ihn ins Item log have posten lassen bei welchem script er das item stasht. Allerdings ist er beim stashen ja schon beim nächsten script.
auf jeden ging das so:
NTC_SendLogToOOG(NTC_LOG_ITEM, "Kept " + NTConfig_Script + NTC_ItemQualityToMGRColor.quality] + _items.name.split("\n") + ";" + _items.itemdesc);
...
D2NT- Pick Location in der ItemLog anzeigen 04/20/2010 - Diablo 2 - 2 Replies Hallo,
Ich hab die SUFU und alles benutzt ich kanns nicht mehr finden.... ich hatte bei meinem 3.0 irgendwas geändert sodass angezeigt wurde wo die Items gefunden wurden...
zb stand da dann kept Jah rune oder sowas...
Weiß jemand was ich da ändern musste welche Datei? Irgendwas unter Libs evt. dann kann ich es kopieren
Hatte das ganze damals irgendwo auf Edge gefunden, kanns jetzt trotz sufu nicht mehr finden..