Moin zusammen,
vielleicht geht es einigen anderen ja auch so, dass sie frei nach dem Motto "Never touch a running system" dem 1.7er treu geblieben sind.
Da ich bei mir mittlerweile schon in fast allen Scripten kleinere Veränderungen vorgenommen habe, dachte ich mir, ich poste mal die nützlichsten für andere 1.7er Freunde.
Ich fange an dieser Stelle erstmal mit zwei Kleinigkeiten an, vielleicht gibts später mehr.
Punkt 1: Gold wird zu langsam aufgehoben (2 Sekunden Delay)
An sich ne sehr simple Sache, aber für Freunde des Gamblens die gerne etwas Gold mitnehmen sicherlich ziemlich nervig. Grund für die Verzögerung beim Picken von Gold ist eine Schleife in einer Funktion in der "NTSnagIt.ntl".
Hier mal die besagte Funktion im Original:
An dieser Stelle ist anzumerken, dass der Wert der Variable mode der Klasse snagitem für Gold den Wert 3 oder 5 annimmt. Als Folge läuft die for Schleife also für Gold immer 20 mal durch und gibt dann false zurück. Etwas ungeschickt, ob das so gedacht war weiss man nicht, ich meine in 2.1 wurde es als "bug" bezeichnet und entfernt. Um die Änderung gering zu halten erweitern wir einfach die if-Bedingung etwas.
Das ganze sieht dann so aus:
Nun wird läuft die Schleife bei Gold nurnoch einmal durch, die 300ms Delay sollten bleiben und stören auch nicht weiter. Im Grunde könnte man die for-Schleife wohl auch ganz entfernen, da nach meinen Tests alles andere beim ersten durchlauf gepickt wird, aber das sparen wir uns mal, so gehts ja schließlich auch.
Punkt 2: Tränke nach Bedarf Picken
Auch hier ein Feature, dass in den neueren Versionen von Haus aus verfügbar ist, in 1.7 muss man dafür selbst Hand anlegen. Hierbei ist anzumerken, dass ich mir die Funktionen bei Cybervirus abgeschaut habe. Warum soll man schließlich das Rad neu erfinden? (Auch wenn vorher einige Fehler in den Funktionen waren )
Zunächst müssen dazu mal die neuen Funktionen einfügen. Und zwar in die "NTTown.ntl". Folgende Funktionen sind dafür notwendig:
Code:
function NTT_CheckBeltJuvies()
{
var _needed_juvs = 0;
for(var i = 0 ; i < 4 ; i++)
{
_NTT_BeltColNeeded[i] = NTT_GetNeededPotionsColInt(NTConfig_BeltColType[i], i);
if(NTConfig_BeltColType[i] == "rv")
_needed_juvs = _needed_juvs + _NTT_BeltColNeeded[i];
}
return _needed_juvs;
}
function NTT_CheckBeltHealing()
{
var _needed_hp = 0;
for(var i = 0 ; i < 4 ; i++)
{
_NTT_BeltColNeeded[i] = NTT_GetNeededPotionsColInt(NTConfig_BeltColType[i], i);
if(NTConfig_BeltColType[i] == "hp")
_needed_hp = _needed_hp + _NTT_BeltColNeeded[i];
}
return _needed_hp;
}
function NTT_CheckBeltMana()
{
var _needed_mp = 0;
for(var i = 0 ; i < 4 ; i++)
{
_NTT_BeltColNeeded[i] = NTT_GetNeededPotionsColInt(NTConfig_BeltColType[i], i);
if(NTConfig_BeltColType[i] == "mp")
_needed_mp = _needed_mp + _NTT_BeltColNeeded[i];
}
return _needed_mp;
}
Nachdem die Funtionen nun bekannt sind muss natürlich noch der entsprechende Aufruf erfolgen. Dies geschieht mal wieder in der "NTSnagIt.ntl" und sieht wie folgt aus:
Der Teil in rot ist neu, hier wird überprüft ob das betrachtete Item eine Art von Trank ist. Wenn ja wird nun mit den Funktionen weiter oben überpüft wieviele Tränke dieser Art benötigt werden. Ist der Rückgabewert Null, wird der betrachtete Trank liegen gelassen.
So, das soll es vorerst gewesen sein, ich hoffe dem ein oder anderem hilft das weiter.
Falls jemand Fehler findet bitte melden, sollte an sich alles soweit passen.
gut dass dus nochmal schreibst, sonst hätte es ja keiner bemerkt^^ die Gold aufheb funktion is echt nett =)
Ich fands auch furchtbar nervig, zumal ich auf Goldfind ausgelegte Bots habe, bei denen das eine echte Erleichterung ist. Und schnell gemacht ist es allemal.
Ich spiele übrigens gerade mit dem Gedanken meine Itemlogger Version zu posten. Dieser loggt sämtliche stats gepickter Items nebst einiger Zusatzinfos in ein xml file. An sich extrem schick, allerdings basiert die Basis nicht auf meinem Mist, auch wenn ich mal wieder einiges editiert habe, um das ganze wirklich gut nutzbar zu machen. Jemand ne Idee wie man sowas semi-veröffentlichen könnte? Vielleicht ein Archiv mit Passwort oder so...
wir haben ja paar so "ich will meine items loggen " freaks ^^
und wen du aufs original verweist..creator... seite..etc. und credits gibts...die veränderungen bekannt gibst, wirds auch keine probs geben.
wir haben ja paar so "ich will meine items loggen " freaks ^^
und wen du aufs original verweist..creator... seite..etc. und credits gibts...die veränderungen bekannt gibst, wirds auch keine probs geben.
regards
Alles klar, dann lege ich mal los, wird etwas mehr, darum werde ich es wohl auf mehrere Beiträge strecken.
Punkt 3: Agor's itemlog adaptiert und erweitert für D2NT 1.7.2
Meines Wissens nach ursprünglich von agor verfasst, für das zusätzlich Loggen der location war snyles verantwortlich, der diese Funktion nachträglich hinzugefügt hat hat.
Credits gehen also in erster Linie an diese beiden Herren.
Dann hätten wir noch ein paar kleine Änderungen meinerseits:
- Sockelzahlen ins Log eingefügt
- Stats von Runen werden korrekt angezeigt
- diverse Layout und Farbanpassungen im Log
- Angabe der Absolutdefense für alle Arten von Rüstungrn
- Angabe etwaiger Absolutschadenswerte für alle Arten von Waffen (eventuell buggy)
-Behebung eines Bugs, der die Verwendung mit D2NT 1.7 unmöglich machte
- Änderung der Log Speicherung: Nun wird ein Log file für den jeweiligen Tag angelegt
- Angabe des Itemtyps im Log
- Einbinden des loggers fürs gambling
- jede Menge kleinkram
Für die die sich nichts drunter vorstellen können, hier mal ein Bildchen:
(Verzeihung dass es so groß ist, aber resizing per BB Code wollte leider nicht)
Anforderungen:
- der Logger wird NUR bei englischem D2 funktionieren (ob euer D2 ohnehin englisch ist oder ihr es nachträglich umstellt ist natürlich egal)
-D2NT 1.7.2, vermutlich auch kompatibel zu neueren Versionen
- ein bisschen Verstand um das ganze zu implementieren
Features:
Jedes gepickte Item wird beim Verkaufen oder Behalten in ein log file gespeichert. Dieses wird jeden Tag neu erstellt (ansonsten wird es mit der Zeit zu groß und führt zu massiven delays). Dabei werden folgende Attribute geloggt: Datum/Uhrzeit, Char(indirekt), Fundort(ungenau), Itemlevel, Itemtyp, Itemname, Itemqualität(magic, set, etc...), sowie sämtliche Stats.
Dadurch bekommt man eine schicke Übersicht auch über die Dinge, die nicht behalten wurden und kann so beispielsweise Fehler in der Pickit Config ausmachen oder sehen, dass doch einiges gepickt wurde, was grundsätzlich hätte gut sein können.
Soviel zur Einführung, in meinem nächsten Beitrag gehts dann ans Eingemachte.
Im Anhang finden sich die benötigten Dateien. Ich habe die Stellen/Funktionen bei denen Änderungen vorgenommen worden mit Comments versehen, wer also nur das ändern möchte was er braucht findet die Sachen so hoffentlich schneller.
Was ich oben noch vergessen hatte; Bekannte Probleme:
Sorgt dafür, dass nicht ins Inventar ausgelagert wird, ansonsten wird das Item bei jedem Identen neu geloggt.
Es kann zu Problemen kommen wenn ihr das Log öffnet, während der bot versucht darin zu schreiben. Also immer nur mal eben reinschauen, am besten wenn der Bot gerade nicht Identet. (Wobei ich das auch immer mache wie es mir passt) Sollte obiges passieren, kann es sein dass nur der XML Kopf in eurem log file steht, in diesem Fall manuell <itemlog> /n </itemlog> einfügen oder das alte löschen, dann wird automatisch beim Start eines games ein neues erstellt.
Ein neu erstelltes Log sollte in etwa so aussehen:
Weiter gehts mit dem was zusätzlich noch gemacht werden muss:
Im Ordner logs findet sich ein Ordner den ich mal provokativ "CHARNAME" genannt habe.
Wie man sich unschwer denken kann muss dieser den Namen eures bzw. eurer Chars haben. Am besten ihr kopiert den Ordner und benennt ihn danach um, die beiden dateien in dem Ordner sind notwendig für die spätere formatierte Ausgabe im Browser, sprich damit alles schick aussieht.
In diesem Ordner werden später auch die Log files gespeichert, welche ihr mit einem handelsüblichen Browser öffnen könnt.
Zusätzlich habe ich noch zwei globale bool Variablen eingeführt, damit man das Log bei bedarf auch deaktivieren kann. Diese sind schon in der beigefügten NTConfig.ntl deklariert, ihr müsst sie aber natürlich noch in eurer char config initialisieren.
Das sollte dann wie folgt aussehen:
Code:
NTConfig_FullLog = true; //Log any item which is picked and either sold or kept
NTConfig_LogToManager = false; // Log Pickups to the Manager's Log as well
Die Namen lassen schon darauf schließen, erstere Variable ist für das Itemlog zuständig, zweitere legt fest, ob Pickups auch nochmal im Log des D2NT Managers auftauchen sollen.
Das isses dann auch schon, an sich eine ganz einfache Sache.
Ich hoffe ich habe keine Fehler reingebaut und es ist halbwegs verständlich.
Ich weiss nicht ob das für ganz ohne programmiertechnische Vorschädigung zu verstehen ist, aber darum stehts ja auch in der Programming Sektion, ist also eher für Leute gedacht, die ein bisschen Ahnung mitbringen.
Bei Fehlern in den Scripten selbst bitte melden, man baut doch schnell mal kleine Fehler ein, wobei ich das Ganze in der Form schon eine Weile erfolgreich nutze und daher grobe Fehler in den Scripten relativ sicher ausschließen kann. Viel Spaß beim Testen!
LG
Muddy
P.S.: Das Passwort für das ZIP-Archiv lautet "muddy"
saubere Arbeit! Ist es möglich das auch für den aktuellen D2NT zu implementieren?
Ist in Arbeit, kann aber noch ein paar Tage dauern da ich gerade erst beginne mich mit D2NT 3.0 zu befassen.
Bin schon sehr gespannt, nach dem überfliegen des Change Logs gibts doch einige schicke neue Funktionen.
Beispielsweise sollte das auslesen der Lvl requirements endlich korrekt funktionieren, diese werde ich dann mit ins Log einbinden.
fehlt natürlich noch sowas wie ein config Eintrag etc, auch bin ich mir nicht sicher ob die Ethflag Abfrage so funktioniert, allerdings funktioniert dein Log so wieder.
€: Das einzige Problem das ich jetzt mit dem Bot noch hab ist dass er manchmal Items nicht in die Truhe legen kann und dann bei jedem Inventarcheck das log mit Kept zuspammt.
soweit so gut, dummerweise passt aber die itemlogger Funktion selbst nicht mehr ganz, da ich die ja speziell auf 1.7.2 angepasst hatte.
Der String item.itemdesc sieht in 3.x deutlich anders aus als es noch in 1.7.2 der Fall war. Hier kommen nun im Grunde sämtliche Item stats vor, die gab es so früher nicht und man musste sie zusätzlich aus dem item Objekt auslesen. Darum sollte die obige Version oben ohne weitere Änderung Falschausgaben liefern bzw. stats doppelt ausgeben.
Grundsätzlich habe ich zwar schon eine für 3.x adaptierte Version, die unter anderem auch die normale Ausgabe im Manager etwas anpasst. Allerdings gefällt mir das so optisch noch nicht...
Ich habe an sich im hinterkopf die in obigem string enthaltenen Farbcodes mit zu übernehmen und die XML Ausgabe entsprechend anzupassen. Also eine Farbgebung der XML Ausgabe die der D2 Internen bzw. der des Managers entspricht.
Dazu muss ich aber zunächst Funktionen entwickeln die den item.itemdesc String entsprechend formatieren, oder ich muss die XML Ausgabe entsprechend anpassen. Zweiteres wäre zwar schick aber würde mir deutlich schwerer fallen, da ich was XML Programmierung angeht etwas doof bin.
Mit anderen Worten, ich weiss noch nicht genau wann ich das fertig bekomme. Falls starker Bedarf besteht könnte ich allerdings die Version die ich aktuell nutze als vorab Version posten. Die führt allerdings ab und an noch zu Fehlern und die stats der item werden nur in einer Farbe angezeigt.
Wirklich Zeit zum weitermachen werde ich vermutlich erst wieder am Wochenende haben.
Möglich, dass er anders aussieht, allerdings funktioniert das Log einwandfrei.
Beim Mouseover über dem Item werden die Stats ausgegeben und bisher nach einigen Einträgen noch keinen Fehler entdeckt. Das einzige was ich bisher mangels Eth Item nicht testen konnte, ist wie das ausgegeben wird.
Möglich, dass er anders aussieht, allerdings funktioniert das Log einwandfrei.
Beim Mouseover über dem Item werden die Stats ausgegeben und bisher nach einigen Einträgen noch keinen Fehler entdeckt. Das einzige was ich bisher mangels Eth Item nicht testen konnte, ist wie das ausgegeben wird.
Es kann aber nicht korrekt funktionieren.
Ich hatte Funktionen geschrieben die feststellen, ob das item eine Waffe oder eine Rüstung. Falls ja wurde der Beschreibung damage bzw. die defense hinzugefügt. Diese Werte sind bei 3.0 schon alle in der Objektvariablen item.itemdesc enthalten, folglich ergeben sich dabei doppelte Ausgaben.
Achja, die if Abfrage bezüglich des item flags sollte so stimmen, auch wenn mans kompakter hätte schreiben können.
Ich denke ich poste demnächst mal meinen Zwischenstand.
[D2NT] linkliste für ein paar Modifikationen 10/21/2010 - Diablo 2 - 39 Replies hi,hab hier eine liste von links für ein paar modifikationen für den D2NT.leider ist alles in englich.
If you're getting an nip file error, use this (CLICK HERE) by gumshield
D2NT 3.1 API references by bajazzle
Blizzhackers • View topic - D2NT 3.1 Sort-of-API
Latest D2NT 3.1 download thread
3.1 + Rusher + Leecher -
[GUIDE] Handy aufpimpen gefällig? 03/12/2010 - Tutorials - 17 Replies Huhu, heute zeige ich euch wie ihr ganz easy und schnell Themes,
Spiele, Sounds uvm. auf euer Handy laden könnt
GUIDE:
1. Ihr geht auf Free ringtones, themes, wallpapers, games for mobile phone - mobile9
2. Ihr geht oben auf "GALLERY"
3. Dann bei "Select a phone" euer Handy raussuchen
4. Dann bei "Select Category" eure gewünschte Kategorie auswählen
HINWEIS: Themes = Hintergründe
Yang gefällig? kein prob 03/12/2010 - Metin2 Trading - 86 Replies Hi com, da ich zurzeit auf fast jeden server accs habe und mit sehr viel yang mitdem ich nicht weiß wohin damit ^^ habe ich mir gedacht ich vk es .
HABE YANG AUF JEDEN SERVER
Naja die preise sind meiner meinung nach billig wenn man vergleicht .
Alle Serverpreise sind gleich.
(das yang auf server 23 kostet soviel wie auf s1 usw usw)
MIndestkauf 10€
Forum gefällig? :P 08/22/2009 - Main - 6 Replies Ich frag ma ganz blöd: Will wer ein Forum? :P
Hab mir vor kurzem eins zugelegt als übung für HTML/Java Scripten ;)
Es war ursprünglich für nen Clan gedacht, der hat aba dicht gemacht :(
Ich un meine Mods (alle Kumpel von mir und zu 100% vertrauenswürdig)
ham jetz allerdings kb die Arbeit so wegzuschmeißen ...
Von daher:
Namens modifikationen 01/23/2007 - World of Warcraft - 2 Replies Hi ,
Um mich kurz zu fassen :
ich suche etw. was die GILDEN Namenvon geg. Spielern größer anzeigen lässt .
Bsp:
Compotias
<Rumpelstielzchen>
Danke für alle antworten .
Eluo