![]() |
[D2NT] Erweitertes Itemlog
1 Attachment(s)
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 fileDas 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 [Only registered and activated users can see links. Click Here To Register...]. |
Eine blöde frage:
was ist der unterschied zwischen deins und dem einen von eon? welches ist denn nun besser :) ? |
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
|
Quote:
Quote:
LG Muddy |
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.
|
So, dieser Fehler kommt sobald der Bot das Spiel installiert, nachdem ich deine Files ins Verzeichnis kopiert habe:
[Only registered and activated users can see links. Click Here To Register...] LG jammy Edit: Habs selbst gelöst, habe die entsprechende Zeile einfach auskommentiert. |
Dann aber noch ne Frage, gerade kam die Meldung:
Creating new log file for xyz: 2010-04-21-itemlog.xml oder sowas in der Art. Aber die Datei finde ich nirgends. |
Quote:
Danke für die Infos, habe es angepasst, neue Version ist im Anhang. :) LG Muddy |
Quote:
Das Logfile findest du im ordner "...\logs\<dein charname>\". Übertragen auf das obige sollte das Logfile also folgenden Pfad haben: "...\logs\xyz\04-21-10_itemlog.xml" LG Muddy |
Quote:
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? |
Quote:
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. LG Muddy |
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 :/ |
Quote:
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();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. LG Muddy |
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 :/
|
Quote:
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... :rolleyes: Lg Muddy |
hi,also bei mir (3.0) klappt das soweit sehr gut.Danke ;) nur eine kleinigkeit stört etwas ^^ und zwar zeigt er im Manager Log nur die "kept" sachen an,ist ja schön übersichtlich aber interessant wäre noch wenn er bei uniques picked und sold mit aufführt. Gut das kann ich im .xml nach schauen aber ist halt zwei Mausklicks umständlicher ;) könnte man das ohne grossen Aufwand ändern?
|
in der NTSnagIt.ntl in libs/common/
gibt es die zeile Quote:
|
Nette sache :) Danke
hab seit der Installation aber noch nichts gefunden was im normalen Manager log angezeigt würde, aber: Das XML File ist aber irgendwie nicht richtig formatiert. Der Internet Explorer kanns gar nicht anzeigen. Firefox zeigt alles direkt hintereinander, ohne Zeilenumbruch oder so. Dort steht auch nicht der Fundort oder so... Wird Cubing auch angezeigt? Ich lasse pul-vex automatisch cuben jetzt. Bitte schildere mir kurz, wie ich Tränke und Gold Pick wieder einschalten kann, das habe ich irgendwie doch gern drin. |
Der D2NT Log funktioniert einwandfrei. Wollte schon immer gern die Runen die Orange haben :) Das EON Teil hatte bei mir auch nicht richtig funktioniert, da waren Sonderzeichen drin.
Jetzt hab ich drei Wünsche: Das XML Log brauche ich eigentlich nicht. Ich würds gerne abschalten. Geht das einfach oder bzw. wo muss ich gucken? Wie oben gesagt, ich würde doch gerne Gold und Tränke angezeigt haben...ist irgendwie ein Lebenszeichen, meine Pickit ist sehr klein, Pul-Vex werden gecubt, da steht nie viel im Log. Durch die Gold/Tränke seh ich das die Pickit fehlerfrei durchlaufen wird. Meine Pul-Vex werden ja gecubt und im D2NT Log nicht mehr angezeigt leider. Wäre es möglich diese nun doch im D2NT Log anzuzeigen? |
Quote:
Das Abschalten wird einfach gehen mit der nächsten Version die ich Updloade, wird entweder heute Abend spät oder morgen Abend, da ich jetzt gerade aus der Fachhochschule komme und nun erstmal ne runde Gitarre spiele und danach noch was vorbereiten muss. :) Gold und Tränke kann ich wählbar einbinden, dass verkaufte Items geloggt werden auch. Bezüglich des Cubens muss ich mal schaun ob ich das auch einbinde, da müsste ich mich aber erst ne Runde mit den entsprechenden Funktionen befassen, um die voll zu verstehen. Wollte ich an sich schon erledigt haben, allerdings war ich am Wochenende mit meiner Goldbarb Implementierung, sowie einer Funktion zum Öffnen sämtlicher Truhen, beschäftigt genug. Ich hoffe das wird heute Abend noch was, aber ich kann nichts versprechen... Lg Muddy |
Update 26.04
So, die aktuelle Version steht nun zum Download bereit.
Hinzugekommen sind in erster Linie ein paar globale Variablen, mit denen sich bestimmte Funktionen (de-)aktivieren lassen, ohne dass man sich groß durch Scripte wühlen muss. Die Variablen müssen in der jeweiligen Charconfig initialisiert werden, ansonsten ist mit Fehlermeldungen zu rechnen. Sollte in der Config dann in etwa so aussehen: Code:
NTConfig_UseXMLItemlog = true; // Log kept and sold items as well in a XML log fileDas mit dem Cubing ist vorgemerkt, ich werd mich definitiv mal damit befassen wenn ich Zeit habe und schauen was möglich ist. :) Bei eventuellen Fehlern bitte hier melden! Lg Muddy |
hey, läuft klasse.
Danke für die schnellen Änderungen :) Edit: grad ein Fehler aufgetaucht. NTSnagit.ntl(132) TypeError:_item.name is undefined |
lagert es jetzt in einer datei ab? so was man zwischen den daten hin und her switchen kann oder wird für jeden tag ne extra datei angelegt?... und wenns voll ist kommts noch immer zu den "auslagerungen" uuuunnnd für 3.0 verwendbar?...viele fragen danke für die antworten^^
|
kann es sein das du dies versehentlich in der NTConfig.ntl gelöscht hast ??
var NTConfig_CastRedemption; var NTConfig_CheckSafe; |
Quote:
- .nip Files selbst geschrieben oder garantiert frei von Syntaxfehlern? - Spiel auf englisch? (sollte mal dazu schreiben, dass das nur mit englischem D2 getestet ist und ich keine Aussage darüber treffen kann wie es mit nem deutschen D2 läuft) Quote:
Es wird jeden Tag eine neue XML Datei erstellt, in die dann geschrieben wird. Mit dem Begriff "Auslagerungen" kann ich hier wenig anfangen, es treten definitiv merkliche Laufzeiten auf wenn die XML Datei sehr groß ist, falls das gemeint war. Das kann ich derzeit nicht optimieren, da mir schlicht die Syntax zum Setzen von Dateipointern fehlt und es leider keine brauchbare Referenz dazu gibt. Und das durch Testen herauszufinden ist dank der Case Sensitivität doch relativ anstrengend... Mit 3.0 geschrieben und getestet (Englisches D2 siehe oben). ;) Quote:
Deshalb kann ich dazu wenig sagen, wenn du dort neue Variablen hast dann müsstest du doch eigentlich auch an sich wissen woher. ;) Lg Muddy |
Das .nip ist in Ordnung...das Problem ist auch nur mit dieser letzten Version hier aufgetaucht, die erste Version lief 12 Stunden oder so ohne Problem.
Die Bots laufen in English, ja...direct txt. ehm ich les grad, "mit 3.0" geschrieben...ich nutze 3.1...kanns daran liegen? In 3.0 gabs doch ewig so ein Syntax Problem wo der Bot immer stehengeblieben ist. |
Quote:
Meine Sorcs laufen jedenfalls mit der aktuellen Version, bisher noch keine schwerwiegenden Fehler, nur Log Fehler weil die Sachen schon geloggt sind (sollte mal ausleeren gehen :D). Das kann natürlich durchaus sein, dass noch Fehler drin sind, ist ja nichtmal unwahrscheinlich. Aber dann müsste ich sie doch wenigstens bei mir reproduzieren können oder? Vielleicht kannst du ja feststellen wann genau bzw. in welcher Situation der Fehler auftritt. Das würde mir jedenfalls mehr sagen als die von dir geschilderte Fehlermeldung, denn die bringe ich mit fehlerhaften .nip Files in Verbindung. Lg Muddy |
ok, ich werde das noch mal installieren und schauen ob irgenwas "besonderes"
passiert wenn sie stehenbleibt. Achja der Unterschied war noch das ich diesmal die Version mit den Script Befehlen genommen habe. Das lasse ich jetzt mal. |
grad passiert in Baal Wave 3.
Es lag nichts besonders herum, potions und ein rare spear, konnte aber nicht lange gucken weil Wave 4 kam und der Bot gechickt hat (zum Glück geht das trotzdem er steht) Meine Pickit ist nur eine kleine Datei, das läuft seit zwei Wochen 24/7 problemlos. Ich bin überzeugt es liegt an der 3.0 Schade, ich hätte es so gern benutzt :( |
Quote:
Cobalt-60 |
Habs nun seit ein paar Tagen laufen und läuft einwandfrei - auch mit mehren Bots gleichzeitig. Thanks steht ja schon.. wollte bloß nochmal loben (Y) thumbs up
|
Quote:
Bei mir spackt das meistens komischerweise nach Baal Welle 3 ab. Gehen die Leute, die diesen Itemlogger und D2NT 3.1 benutzen und die keine Fehler haben, auch zu Baal? Mir war noch aufgefallen, das er die Essenzen nun zwar aufsammelt, aber nicht cubt...das kommt weil ich nun in 3.1 durch den Itemlogger wieder einen Teil von 3.0 drinnen habe...der Essenzenteil fehlt im Code in 3.0... Ich versuch selbst mal das auf 3.1 bringen, zumindest den Teil ohne XML Logger. |
stellt euren client auf englisch
|
Quote:
|
Quote:
Andererseits aber nicht wirklich selbst getestet, da ich keine Essenzen einsammle... :rolleyes: Aber versuch mal ruhig, wenns hinterher geht wissen wir mehr. :) Bei mir läuft nach wie vor alles wunderbar, werde mich daher jetzt wieder mehr meiner Find Item Implementierung widmen, um diese auf Releaseniveau zu bringen. Lg Muddy |
Quote:
Welle 3 passiert. Ich habs mir angeguckt und wieder weggelegt. Ich programmier schon den ganzen Tag auf der Arbeit ich hab Abends dazu einfach keine Lust mehr :awesome: Es würde bei mir sicher auch perfekt laufen...mit 3.0, ich will aber nicht downgraden. Ich könnt in den Tisch beissen. Naja Hauptsache die beiden Mädels schaffen an. |
Nettes Script und wahrscheinlich für dich zudem noch sehr nützlich um eine Menge Annis zu kassieren sofern nichtsahnende und gutgläubige User wie ich einer bin sich die Scripts nicht genauer ansehen.
Sobald der Clone im Botgame erscheint spammt eine nette kleine Zeile in der NTBotGame.ntj das Game und PW zu -wahrscheinlich- deinem Account. Sich als Gönner hinstellen aber im geheimen sowas einzubinden ist wirklich dreist und ich werde Abstand davon nehmen. Danke dass mein Vertrauen in Diablo Spieler direkt wieder auf Null angekommen ist. Unglaublich.. |
Damit hätte ich ja nicht gerechnet...also in Zukunft wirklich jedes Codeschnippsel checken.
Bitter. Gut das Teil bei mir nicht durchgehend funktioniert hat. |
Quote:
wo genau soll die zeile sein? |
NTBotgame.ntj
Say("/w *Jazzclub World Event in " + me.gamename + "//" + me.gamepassword + "!"); |
| All times are GMT +2. The time now is 17:42. |
Powered by vBulletin®
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.
SEO by vBSEO ©2011, Crawlability, Inc.