[Release] Muddy's D2NT

01/13/2012 18:39 Muddy Waters#5251
Quote:
Originally Posted by High-Volt4ge View Post
Ich habe folgendes Problem.
Im D2NT Manager werden nicht alle gefundenen Gegenstände aufgeführt und zum anderen fehlt im Manager und in der Itemlog der Ort.
Das Ergebnis des Ortes lautet immer "undefined".

Ich hoffe, dass ich solch einen Beitrag bei meiner Suche nicht übersehen habe.

Danke ;)
Mit gefunden meinst du auch tatsächlich aufgehoben, i.e. gestasht?

Zu dem anderen Problem: existiert der Ordner "../scripts/Data/"? Wenn nicht, solltest du diesen erstellen, ansonsten können die Positionsdaten nicht gespeichert werden.

Quote:
Originally Posted by worthless1337 View Post
Habe mir vor vier Tagen auf Empfehlung hin Muddys D2NT runtergeladen und eingerichtet.
Ging kinderleicht und funktionierte auf Anhieb einwandfrei.
Dank und grosses Lob an Muddy und die anderen, die an dem schoenen Programm beteiligt waren und alle, die hier im Forum gegenseitige Hilfe leisten!

Gibt aber einige Dinge, wo ich noch gerne wissen wuerde, wie es geht.

1. Wie pausiere ich den Bot?
Gibt es eine Taste, mit der ich den Bot ingame anhalten/pausieren kann?

2. Wie richte ich ein, dass meine Sorc auf Dia teleportiert anstatt ihn aus Entfernung anzugreifen?
Weil, es ist ja hinreichend bekannt, dass man den Char direkt vor Dia positionieren sollte, um den Feuerschaden zu verringern.
Koennte es sein, dass das an der Einstellung liegt, dass der Char sich in Sicherheit teleportieren soll, wenn ihm Monster zu nahe kommen?
Weil, wenn das so ist, koennte man evt. ein weiteres Konfigurationsflag fuer NTA_KillMonster() o.ae. einrichten, das bestimmt, ob ein Char auf Dia telen soll oder aus Entfernung angreifen soll? Oder gibt es Entsprechendes bereits?
1. Im Normalfall mit der Pause Taste.

2. Siehst du richtig, da würde normalerweise die Funktion zum Ausweichen greifen, sprich man müsste den Angriffsalgorithmus entsprechend anpassen und das Ausweichen für dieses Ziel auszusetzen. Was aber relativ simpel wäre, dazu müsstest du nur eine if-Anweisung leicht verändern:
Code:
if(MWConfig_KeepDistanceToMonsters) // <-- Zeile 1034
// Zu:
if(MWConfig_KeepDistanceToMonsters && target.classid != 243)
Das näher heran bewegen könnte man auf zweierlei Arten umsetzen. Entweder du fügst im Diablo Script einfach einen entsprechenden NTM_MoveTo() Aufruf ein, oder du schreibst auch hier den Angriffsalgorithmus um und lässt eine andere Reichweite verwenden, wenn das aktuelle Ziel Diablo ist.
01/13/2012 18:40 mirkoregge#5252
#1 einfach mal die Pause/Break-Taste auf der Tastatur betätigen ;)
edit: Muddy war schneller -.-
01/13/2012 19:35 worthless1337#5253
Quote:
Originally Posted by Muddy Waters View Post
1. Im Normalfall mit der Pause Taste.
Quote:
Originally Posted by mirkoregge View Post
#1 einfach mal die Pause/Break-Taste auf der Tastatur betätigen ;)
Hatte das schon versucht, aber es passierte nichts.
Habe es eben nochmal versucht und festgestellt, dass dazu das D2-Fenster den Fokus haben muss.
Ich lasse naemlich momentan den Bot noch alle Ringe und Amus unid einsammeln, und geniesse das Idden... ist naemlich immer eine Freude, wenn man einen Soj oder ein Maras identifiziert hat :)
Danke! :)

Quote:
Originally Posted by Muddy Waters View Post
2. Siehst du richtig, da würde normalerweise die Funktion zum Ausweichen greifen, sprich man müsste den Angriffsalgorithmus entsprechend anpassen und das Ausweichen für dieses Ziel auszusetzen. Was aber relativ simpel wäre, dazu müsstest du nur eine if-Anweisung leicht verändern:
Code:
if(MWConfig_KeepDistanceToMonsters) // <-- Zeile 1034
// Zu:
if(MWConfig_KeepDistanceToMonsters && target.classid != 243)
Das näher heran bewegen könnte man auf zweierlei Arten umsetzen. Entweder du fügst im Diablo Script einfach einen entsprechenden NTM_MoveTo() Aufruf ein, oder du schreibst auch hier den Angriffsalgorithmus um und lässt eine andere Reichweite verwenden, wenn das aktuelle Ziel Diablo ist.
Danke fuer die Infos! Dann bin ich ja ungefaehr auf der richtigen Spur.
Muss mir diese Funktionen noch genauer ansehen und verstehen.
Und dann erstmal sehen, ob temporaeres Zuruecksetzen des "Ausweichteleportiermodus" reicht oder noch mehr Code sinnvoll waere, z.B. um Dia hinterherzutelen, wenn er abhaut o.ae.

Werde mir das wohl am WE vornehmen, nachdem ich anhand der Affixtabellen und meiner uralten MMbot pickit-Konfig meine NIP-Konfiguration soweit habe, dass ich zufrieden bin mit dem, was Magics und Rares im Stash landet.
01/13/2012 20:49 Northern Light#5254
gibt es ein script bei dem der leechfighter bei dia / baal
kämpft aber ohne tele...
use eni aber nur wegen frw und skills...
möchte aber nicht das der leechfighter telt...
01/13/2012 23:40 High-Volt4ge#5255
Das mit dem Ort hat sich jetzt geklärt, auch wenn vorher der Ordner schon existent war.
Aber es bleibt weiterhin das Problem im Manager-Fenter, dass unter "Item-Log" keine Gegenstände aufgeführt werden, die aufgehoben wurden, welche auch in der item.nip (meist normal.nip). Diese Datei enthält keine Fehler, weil der Debuger auch mal lief ;)

Neues Problem ist nun, dass die Eigenschaften von Gegenständen in der Itemlog.xml als "undefined" dargestellt werden.

Sorry, dass ich damit so nerve
01/14/2012 22:07 shozpokta#5256
Hallo,

ich habe schon so viel ausprobiert in meiner Light-Soso-Config, leider komme ich nicht weiter und der Bot macht iwie was er will.

Code:
	// Specify your attack skills below. NOTE: Constants for all skill ids can be found in "scripts\libs\common\MWSkills.ntl".
	NTConfig_AttackSkill[0] = 0;	// Cast your first spell once. Set to 0 if you won't
	NTConfig_AttackSkill[1] = 49;	// Cast your primary spell to boss.
	NTConfig_AttackSkill[2] = 53;	// Cast your primary spell to others.
	NTConfig_AttackSkill[3] = 53;
	NTConfig_ClearPosition = true;	// Set to true if you want to clear area after killing boss.
	NTConfig_CheckSafe = true;	// Set to true to check for curses, merc and potion (go to town if needed)
	NTConfig_CastStatic = 60;	// Cast Static Field until monster's HP lower less than this percent. Set to 100 if you won't

	// Set to true if you want to clear area after killing boss. NOTE: This only affects a few botscripts.
	NTConfig_ClearPosition = true;
	
	// Set to true to clear area when killing a boss and the position is crowded by monsters. NOTE: Setting this to true may cause NTA_KillMonster() to fail way more often.
	MWConfig_ClearBossPosition = false;
	
	// This is the number of attacks to be performed before the the character tries to move to another position. Set to 0 not to reposition.
	MWConfig_AttacksBeforeRepositioning = 50;

	// Define a time limit for your attacks for each type of monster.
	MWConfig_AttackTimeLimit[0] = 20;	// Maximum time in seconds to attack a normal monster
	MWConfig_AttackTimeLimit[1] = 120;	// Maximum time in seconds to attack a super unique monster
	MWConfig_AttackTimeLimit[2] = 30;	// Maximum time in seconds to attack a champion
	MWConfig_AttackTimeLimit[3] = 120;	// Maximum time in seconds to attack a bosse
	MWConfig_AttackTimeLimit[4] = 30;	// Maximum time in seconds to attack a minion
	
	// Define when a monster is considered immune by entering the index of one or more of your attack skills. As an example: [1, 3] means that a monster is considered immune if it is immune to both NTConfig_AttackSkill[1] and NTConfig_AttackSkill[3], whatever those may be.
	MWConfig_CheckImmunitySkills = [1];
	
	// Select the behaviour of your character when encountering a monsters that is considered immune referring to the definition above.
	// 0: Don't do anything. (D2NT default)
	// 1: Get close to the monster, use static field if the monster is not immune to lightning.
	// 2: Skip the monster.
	// 3: Attack the monster using NTConfig_AttackSkill[1] and NTConfig_AttackSkill[2]
	NTConfig_BehaviourOnImmuneMonster = 3;
	
	NTConfig_AttackSkill[8] = -1;		// Skill to be used against user defined immunes.
	NTConfig_AttackSkill[9] = -1;		// Untimed Skill to be used against user defined immunes.
	
	// Always check if monsters are closing in and back off, in case they get too close. NOTE: You should at least have 105FCR in order to make this work smoothly.
	MWConfig_KeepDistanceToMonsters = true;
	// If you don't wish to evade monsters in a certain area, add it's areaid as an exception below. NOTE: All areaids can be found in "sdk\areas.txt".
	// MWConfig_EvasionExceptions.push(<areaid1>, <areaid2>, <areaidn>);
Das Problem ist, dass sich die Sorc immer in die Gruppe z.B. Gräfin oder Fürst de Sejs teleportiert, dann wieder raus und dann erst Blitz castet, kann die das nicht direkt machen oder "checkt" die das so? Kann ich mir nicht vorstellen ^^ Generell steht sie viel zu nach an den Monstern und auch bei den Wellen vor Baal steht sie halt in der Mitte, und wenn die Gegener spawnen, telet sie sich erst hin und dann wieder raus, dann kämpft sie erst.

Ich möchte, dass sie sich z.B. bis zu Diablo durchkämpft, sich nur zu den Light-Immunen hinteleportiert und der Merc den Rest macht.
Wie bau ich das da ein?
Auf der anderen Seite möchte ich, dass wenn sich die Sorc durchs Mausoleum kämpft und die Truhen aufmacht, die Light-Immunen ignoriert, kann man das trotzdem kombinieren?

Hoffe ihr könnt mir iwie helfen...
01/15/2012 06:50 ek654#5257
Quote:
Originally Posted by holywater63 View Post
wie und wo stelle ich ein das in muddys bot er die keys im würfel cubt und später dann auch die organe und dan übertrist macht danke euch schon mal im voraus
Code:
    // ***************** Current schedule ******************
    
    MWConfig_Script.push(["MWUberTristram.ntj", 10]); MWConfig_PauseOnLackOfOrgans = false; MWConfig_PauseOnKeptTorch = false;
    MWConfig_Script.push(["MWOrganHarvest.ntj", 10]); MWConfig_EnterInvalidUberPortals = true; MWConfig_PauseOnLackOfKeys = false; MWConfig_IntendedUberPortal = 0; // Matron's Den: 133; Forgotten Sands: 134; Furnace Of Pain: 135;
Einfach die 2 Scripts unter "Current schedule" einfügen und los gehts ;)

edit: sry wurde schon beantwortet.. irgendwie überlesen.
01/15/2012 10:52 fghtrt#5258
Quote:
Originally Posted by Northern Light View Post
gibt es ein script bei dem der leechfighter bei dia / baal
kämpft aber ohne tele...
use eni aber nur wegen frw und skills...
möchte aber nicht das der leechfighter telt...
Gibts einen Grund, die armen Leecher latschen zu lassen? Mir sind keine Scripts bekannt die das so garantieren. Muddys Leechfight-Scripts funktionieren zwar auch ohne Teleport, die Wegfindung ist allerdings, ähemm, gewöhnungsbedürftig. :) Mit Teleport (=Eni) gehts wesentlich besser und sicherer für den Leechfighter. Wenn du unbedingt laufen willst und trotzdem auf die Skills beim Leecher nichht verzichten willst, zieh dem Leechfighter doch einfach ne Chains of Honor an.

Quote:
Originally Posted by High-Volt4ge View Post
Das mit dem Ort hat sich jetzt geklärt, auch wenn vorher der Ordner schon existent war.
Aber es bleibt weiterhin das Problem im Manager-Fenter, dass unter "Item-Log" keine Gegenstände aufgeführt werden, die aufgehoben wurden, welche auch in der item.nip (meist normal.nip). Diese Datei enthält keine Fehler, weil der Debuger auch mal lief ;)

Neues Problem ist nun, dass die Eigenschaften von Gegenständen in der Itemlog.xml als "undefined" dargestellt werden.

Sorry, dass ich damit so nerve
Diese Sachen aus der normal.nip sind nicht zufällig Gems und Runen, die für aktivierte Craftrezepte benötigt werden? Die werden nicht geloggt.

Zum undefined-Problem:

1.) läuft Muddys Bot auf englisch?

2.) Hast du im Logverzeichnis ein eigenes für den Botchar angelegt? (DEFAULT-Ordner kopieren und der Kopie den Namen des Chars geben)

3.) Möglichkeit die mir einfällt: was für eine D2NT.dll benutzt du? Nach Erscheinen von Patch 1.13d haben die Etal-Jungs einige Versionen der dll veröffentlicht, bevor eine erschien, mit der alles funktionierte. Bei einigen Versionen sponn das Itemlog.

Quote:
Originally Posted by shozpokta View Post

[code] // Specify your attack skills below. NOTE: Constants for all skill ids can be found in "scripts\libs\common\MWSkills.ntl".
NTConfig_AttackSkill[0] = 0; // Cast your first spell once. Set to 0 if you won't
NTConfig_AttackSkill[1] = 49; // Cast your primary spell to boss.
NTConfig_AttackSkill[2] = 53; // Cast your primary spell to others.
NTConfig_AttackSkill[3] = 53;
NTConfig_ClearPosition = true; // Set to true if you want to clear area after killing boss.
NTConfig_CheckSafe = true; // Set to true to check for curses, merc and potion (go to town if needed)
NTConfig_CastStatic = 60; // Cast Static Field until monster's HP lower less than this percent. Set to 100 if you won't

Das Problem ist, dass sich die Sorc immer in die Gruppe z.B. Gräfin oder Fürst de Sejs teleportiert, dann wieder raus und dann erst Blitz castet, kann die das nicht direkt machen oder "checkt" die das so? Kann ich mir nicht vorstellen ^^ Generell steht sie viel zu nach an den Monstern und auch bei den Wellen vor Baal steht sie halt in der Mitte, und wenn die Gegener spawnen, telet sie sich erst hin und dann wieder raus, dann kämpft sie erst.

Ich möchte, dass sie sich z.B. bis zu Diablo durchkämpft, sich nur zu den Light-Immunen hinteleportiert und der Merc den Rest macht.
Wie bau ich das da ein?
Auf der anderen Seite möchte ich, dass wenn sich die Sorc durchs Mausoleum kämpft und die Truhen aufmacht, die Light-Immunen ignoriert, kann man das trotzdem kombinieren?

Hoffe ihr könnt mir iwie helfen...
Das mit dem Ran- und Wegporten dürfte damit zu tun haben daß die Sorc die Mobs herunterstatict. das hier
Code:
NTConfig_CastStatic = 60;	// Cast Static Field until monster's HP lower less than this percent. Set to 100 if you won't
bitte auf 100 setzen. Damit ist das Problem bei "normalen" Monstern (zu denen auch die Siegelmobs im CS und die Wellen im Thronsaal zählen) schon erledigt. Für spezielle Superuniques wird trotzdem Static benutzt. Welche das sind wird ganz unten in der Charconfig definiert:
Code:
	// Cast Static Field until monster's HP lower below this percentage. Set to 100 not to use static field.
	NTConfig_CastStatic = 60;
	
	// Select the monsters you with to attack using static field. NOTE: If you do not add any monsters, static will be used against all monsters.
	MWConfig_StaticTargets.push(156); // Andariel
	MWConfig_StaticTargets.push(211); // Duriel
	MWConfig_StaticTargets.push(242); // Mephisto
	MWConfig_StaticTargets.push(243); // Diablo
	MWConfig_StaticTargets.push(544); // Baal
	MWConfig_StaticTargets.push(GetLocaleString(22500)); // Eldritch The Rectifier
	MWConfig_StaticTargets.push(GetLocaleString(22435)); // Shenk The Overseer
}
Zu den Lightimmunen im Chaos Sanct, Charconfig:
Code:
// Define when a monster is considered immune by entering the index of one or more of your attack skills. As an example: [1, 3] means that a monster is considered immune if it is immune to both NTConfig_AttackSkill[1] and NTConfig_AttackSkill[3], whatever those may be.
	MWConfig_CheckImmunitySkills = [1, 5];
	
	// Select the behaviour of your character when encountering a monsters that is considered immune referring to the definition above.
	// 0: Don't do anything. (D2NT default)
	// 1: Get close to the monster, use static field if the monster is not immune to lightning.
	// 2: Skip the monster.
	// 3: Attack the monster using NTConfig_AttackSkill[8] and NTConfig_AttackSkill[9]
	NTConfig_BehaviourOnImmuneMonster = 3;
	
	NTConfig_AttackSkill[8] = 53;		// Skill to be used against user defined immunes.
	NTConfig_AttackSkill[9] = 53;	// Untimed Skill to be used against user defined immunes.
Damit ballert die Sorc auch auf Blitzimmune Kettenblitze. Der Merc kann so den Rest erledigen während evtl. andereMonster in der Nähe ebenfalls geschädigt werden. Du kannst NTConfig_BehaviourOnImmuneMonster = 3; auch auf 1 setzen. Dann wird statt Kettenblitz Static benutzt, 3 ist in dem Fall aber sinnvoller. 2 würde die Lightimmunen ignorieren.

Mausoleum: kombinieren kann man das nicht, entweder du läßt es so auf standard wie oben eingestellt oder (wenn du nur die Truhen plündern willst) schaltest du einfach in der Config für dieses Script das Clear path ab.
01/15/2012 13:52 High-Volt4ge#5259
Quote:
Originally Posted by fghtrt View Post
Diese Sachen aus der normal.nip sind nicht zufällig Gems und Runen, die für aktivierte Craftrezepte benötigt werden? Die werden nicht geloggt.
Das erklärt das Problem mit den Runen.
Der Rest hat sich auch geklärt, nachdem ich den Data-Ordner und die itemlogger-datei nochmal neu kopiert habe.

Danke für die Hilfe! :handsdown:
01/15/2012 16:45 shozpokta#5260
Wie mach ich das mit dem Mausoleum denn?

Code:
	MWConfig_Script.push(["NTMausoleum.ntj", 10]); MWConfig_ClearPathSpectypes.Mausoleum = 0; MWConfig_ClearAreaSpectypes.Mausoleum = 0; NTConfig_KillBloodRaven = false;
Hab das jetzt auf 0 gestellt bzw. gelöscht, aber der greift immer noch alles an...

Und wie mach ich Pindle wenn das Portal zu ist?

Danke schonmal...
01/15/2012 16:49 worthless1337#5261
Wie kann ich bestimmen, dass Assassinenwaffen aufgehoben werden?
Wenn ich schreibe "[type] == katar", bekomme ich eine Meldung wg. unzulaessigem Keyword.

Habe die itemalias-Datei durchgesehen, habe aber keinen Hinweis gefunden. Muss das wohl uebersehen haben.
Weiss jemand das richtige Keyword?

Danke schon mal!

@ shozpokta
Quote:
Originally Posted by shozpokta View Post
Und wie mach ich Pindle wenn das Portal zu ist?
Gibts da nicht einen Skript fuer in der auskommentierten Sektion? ^^
01/15/2012 17:23 mirkoregge#5262
Es ist ja auch:
Code:
([Type] == HandToHand || [Type] == assassinclaw || [Type] == assassinitem)
nur zur Auswahl.

Katar heißt das Item selber; also [Name] == katar
01/15/2012 17:38 ek654#5263
Da mein Smither relativ wenig Mana hat geht er bei UT manchmal in die Stadt um Tränke zu kaufen, wenn er aber wieder zurück will stell er sich an den Ort wo normalerweise die TPs erscheinen, da das UT Portal aber bei der Kiste ist leavt er einfach das game.
Meines Erachtens denkt er dass das UT Portal bei dem Normalen TP spot ist?!
Ist das ein bekanntes leiden? Was könnte ich da machen außer mehr mana zu Staten ;)

Da er bei Lility manchmal chicken hat frage ich mich ob es einen einfachen weg gibt das er zuerst den Bereich um sie cleared und sie erst dann killt?
01/15/2012 18:03 jefke1988#5264
are there really errors in the standard, pickit??
01/15/2012 18:06 ek654#5265
No there are not ;)