[Release] Muddy's D2NT

01/04/2011 14:59 getgoodson#511
Hallo zusammen

Mein Problem: Mein barb greift niemanden an. Er öffnet Truhen und geht dann wieder in die Stadt. Das ganze sieht etwa so aus:

//------------------------------------------------------------------------------
//Attack Configuration
//------------------------------------------------------------------------------
NTConfig_AttackSkill[0] = 154; // First skill. Set to 0 if you won't
NTConfig_AttackSkill[1] = 151; // Primary skill to boss.
NTConfig_AttackSkill[2] = 0; // Reserved
NTConfig_AttackSkill[3] = 151; // Primary skill to others.
NTConfig_AttackSkill[4] = 0; // Reserved
NTConfig_AttackSkill[5] = 152; // Secondary skill in case monster is immune to primary skill. Set to 0 if you won't
NTConfig_AttackSkill[6] = 0; // Reserved
NTConfig_ClearPosition = true; // Set to true if you want to clear area after killing boss.

// *************** Attack time limitation **************
// Every target will only be attacked for the time specified and is then skipped
MWConfig_AttackTimeLimit[0] = 20; // Maximum time in seconds to attack normal monsters
MWConfig_AttackTimeLimit[1] = 60; // Maximum time in seconds to attack super uniques
MWConfig_AttackTimeLimit[2] = 30; // Maximum time in seconds to attack champions
MWConfig_AttackTimeLimit[3] = 30; // Maximum time in seconds to attack bosses
MWConfig_AttackTimeLimit[4] = 30; // Maximum time in seconds to attack minions


weiss eigentlich nicht, was ich falsch gemacht habe, und hoffe, jemand von euch kann mir dabei helfen, das Problem zu lösen.

Vielen Dank!
01/04/2011 17:22 Nuru der Stadtmasseur#512
Erstmals besten Dank für die neuen Updates, da sind einige sehr geniale Sachen mit an Board (Cubing, etc. )

Ich hätte nur eine Frage / Bitte: Ich weiß zwar, dass du nur Sachen implementierst, die du selbst brauchst, aber besteht irgendwann die Möglichkeit Idevils Automule - Funktion fix in deinen Bot hineinzunehmen?

Mit den neuen Updates ist Bluedevil ja leider nicht mehr aktuell, soweit ich das mitbekommen habe und ich würde das ziemlich genial finden.

Vielleicht lässt sich da ja etwas machen?! :)
01/04/2011 21:12 Muddy Waters#513
Ich melde mich etwas verspätet, da ich die letzten Tage nur wenig Zeit hatte.

Quote:
Originally Posted by Daarmy View Post
Hab die Lösung schon gefunden.

Feedback:
-Ein add-on wie bei sterni, das fixt das es nur eine Party gibt. ( Medix hat so etwas gescriptet ) <-- Im normalfall sollte der Bot jeden Einladen, der noch nicht in der Party ist
-Town Chicken <-- Was habe ich mir darunter vorzustellen
-Pickit Check <-- Finde ich unnötig, da meine .nip Files von Haus aus korrekt sind und sich jeder der unsicher ist und daran rumbastelt das dazu existierende Script einbinden kann
-eine Ich war tot message für den NT Manager ( damit man den tot, und nicht nur das chicken sieht) ist im Sternenlooper, gucks dir einfach an.
--> Chicken regelt normalerweise die Core, nur die entsprechenden thresholds werden von außen über das me Objekt definiert...Ich halte es für ungenau und eigentlich auch irgendwie unnötig, da der Exp Balken dies eigentlich auch schon ausdrückt ;)

Edit:
Mein Leader char möchte keinen Channel joinen, ist aber angestellt das er es soll <-- Schick mir mal den Entry Point per PM, falls du es noch nicht selbst gelöst hast ;)
Quote:
Originally Posted by Onkarion View Post
Hallo allerseits,

da ich ein kleines Problem hab, melde ich mich auch mal zu Wort:
Ich habe eine FB/FO-Sorc laufen und mit diesem Bot schlägt sie sich ziemlich gut!
Nur bei Doppelimmunen telt sie sich gerne quasi auf deren Rücken und lässt sich nach dem Runterstatiken lieb hauen, bis der Merc ihn getötet hat oder sie chicked.
Bei den Bossen und Shenk/Eldrich hält sie zum Statiken schön Abstand. Jetzt würd ich die Gegner, die gerne mal Doppelimmun sind, in der Attack.ntl in der Funktion MWA_UseStaticOnTarget(monster) eintragen. Bei der Gräfin finde ich aber die zugehörige Nummer in den Monsterlisten (Ordner sdk bzw. mpqdata) nicht.
Bin ich blind oder wo finde ich diese Nummer?
Bei Bluebird gab es die Möglichkeit Monsternamen mit target.name == "The Countess" einzugeben.
Kann ich das in deiner Attack.ntj auch machen und wenn ja, an welcher Stelle trage ich das am Besten ein?

Aber sonst ist der Bot genial! - Weiter so :handsdown:
Das mit dem drangehen ist durchaus so gedacht, das Verhalten bei Immunen kannst du in der Config definieren.

Deine Möglichkeit geht natürlich auch, die passende Funktion hast du ja auch schon gefunden. Übrigens eines meiner frühen Werke, dementsprechend einfach ist der Aufbau. :D
Code:
function MWA_UseStaticOnTarget(monster)
{
    var _isStaticTarget = false;
    switch(monster.classid)
    {
        //case 156: //Andariel
        case 211: //Duriel
        case 242: //Mephisto
        case 243: //Diablo
        case 544: //Baal
            _isStaticTarget = true;
            break;
    }
    switch(monster.name)
    {
        case GetLocaleString(22500): // Eldritch The Rectifier
        case GetLocaleString(22435): // Shenk The Overseer
            _isStaticTarget = true;
            break;
    }
    return _isStaticTarget;
}
Wie man sieht werden hier zwei Überprüfungen durchgeführt, einmal nach classids und einmal nach LocaleStrings. Letzteres entspricht dem von dir vorgeschlagenen String.

Du könntest also entweder unten einen Fall für "The Countess" einfügen.
Oder du schreibst stattdessen die LocaleString ID (2875), was etwas eleganter wäre.

Oder du machst es noch schicker und definierst das Ziel über classid und spectype.
Das sähe dann so aus:
Code:
function MWA_UseStaticOnTarget(monster)
{
    var _isStaticTarget = false;
    switch(monster.classid)
    {
        //case 156: //Andariel
        case 211: //Duriel
        case 242: //Mephisto
        case 243: //Diablo
        case 544: //Baal
            _isStaticTarget = true;
            break;
        case 45:
            if(monster.spectype & 0x02)
                _isStaticTarget = true;
            break;
    }
    switch(monster.name)
    {
        case GetLocaleString(22500): // Eldritch The Rectifier
        case GetLocaleString(22435): // Shenk The Overseer
            _isStaticTarget = true;
            break;
    }
    return _isStaticTarget;
}
Was du machst ist egal, das Resultat wird dasselbe sein. ;)

Quote:
Originally Posted by getgoodson View Post
Hallo zusammen

Mein Problem: Mein barb greift niemanden an. Er öffnet Truhen und geht dann wieder in die Stadt. Das ganze sieht etwa so aus:

//------------------------------------------------------------------------------
//Attack Configuration
//------------------------------------------------------------------------------
NTConfig_AttackSkill[0] = 154; // First skill. Set to 0 if you won't
NTConfig_AttackSkill[1] = 151; // Primary skill to boss.
NTConfig_AttackSkill[2] = 0; // Reserved
NTConfig_AttackSkill[3] = 151; // Primary skill to others.
NTConfig_AttackSkill[4] = 0; // Reserved
NTConfig_AttackSkill[5] = 152; // Secondary skill in case monster is immune to primary skill. Set to 0 if you won't
NTConfig_AttackSkill[6] = 0; // Reserved
NTConfig_ClearPosition = true; // Set to true if you want to clear area after killing boss.

// *************** Attack time limitation **************
// Every target will only be attacked for the time specified and is then skipped
MWConfig_AttackTimeLimit[0] = 20; // Maximum time in seconds to attack normal monsters
MWConfig_AttackTimeLimit[1] = 60; // Maximum time in seconds to attack super uniques
MWConfig_AttackTimeLimit[2] = 30; // Maximum time in seconds to attack champions
MWConfig_AttackTimeLimit[3] = 30; // Maximum time in seconds to attack bosses
MWConfig_AttackTimeLimit[4] = 30; // Maximum time in seconds to attack minions


weiss eigentlich nicht, was ich falsch gemacht habe, und hoffe, jemand von euch kann mir dabei helfen, das Problem zu lösen.

Vielen Dank!
Dein Barb ist aber schon ein entsprechend geskillter WW Barb, oder?
Ansonsten sieht - jedenfalls der Teil der Config - gut aus. ;)
Quote:
Originally Posted by fertoker1 View Post
Erstmals besten Dank für die neuen Updates, da sind einige sehr geniale Sachen mit an Board (Cubing, etc. )

Ich hätte nur eine Frage / Bitte: Ich weiß zwar, dass du nur Sachen implementierst, die du selbst brauchst, aber besteht irgendwann die Möglichkeit Idevils Automule - Funktion fix in deinen Bot hineinzunehmen?

Mit den neuen Updates ist Bluedevil ja leider nicht mehr aktuell, soweit ich das mitbekommen habe und ich würde das ziemlich genial finden.

Vielleicht lässt sich da ja etwas machen?! :)
Schwierig, weil ich mich dann erstmal in IDevil's Arbeit einarbeiten und sämtliche Änderungen nachvollziehen müsste.
Dinge einbinden, von denen man nichts versteht, wäre aus meiner Sicht reichlich dämlich.

Ich weiss, eigentlich wollte ich das schon lange nachvollzogen haben, bin aber drüber weg gekommen und angesichts der nahenden Klausurphase wird mein Zeitplan nun von Tag zu Tag enger und wenn ich dann doch mal Zeit finde, arbeite ich lieber an meinem OrganHarvest und Rush Script weiter, weil der Spaßfaktor beim Entwickeln einfach höher ist, als beim Nachvollziehen. :o

Aus meiner Sicht sage ich daher erstmal für die nächsten 1-2 Monate nein, danach müsste man mal schauen.
Was IDevil in der Zwischenzeit tolles damit anstellt bleibt natürlich einzig und allein seiner Phantasie und Kreativität überlassen. :)

Obwohl ich in meiner persönlichen Version schon wieder einiges verändert habe, es wird also vermutlich nochmal ein Update geben, ich habe aber keine Ahnung wann.
Das Change Log ist noch fast gar nicht aktualisiert und die Funktionen könnten auch ein bisschen mehr Doku gebrauchen.
Dafür gibt es eine Stash Füllstandsanzeige auf Basis von Farbinterpolation.
Ich versuche ausserdem alte Funktionen, die etwas kryptisch geschrieben sind, umzuschreiben und anständig zu kommentieren.
Ich fuhr mal eine Weile unheimlich auf if-Anweisungen in Kurzform ab, was zu einigem Code geführt hat, der diesen Namen auch im wahrsten Sinne des Wortes verdient. :rolleyes:
Das ganze gilt es nun etwas zu entschlüsseln und stilistisch etwas aufzubessern. :)

Lg
Muddy
01/04/2011 21:20 getgoodson#514
Quote:
Originally Posted by Muddy_Waters View Post


Dein Barb ist aber schon ein entsprechend geskillter WW Barb, oder?
Ansonsten sieht - jedenfalls der Teil der Config - gut aus. ;)
na klar :) der barb telt nur, öffnet truhen und geht dann wieder in die stadt, ohne irgendwas zu killen, obwohl ich ww/amok/kriegschrei/loot, etc habe..bo gibt er sich immerhin -.-
bin echt am verzweifeln. gibt es noch irgendwas anderes, was ich einstellen muss (oder falsch eingestellt haben könnte), was dieses Problem zur Folge hat?? (hab die config aus dem thread hier kopiert und nur zwei, drei dinge für mich abgeändert..)
01/04/2011 21:26 RezChams#515
Sehr gute Antworten.

Ich habe mir erlaubt das Medix Leechbot fix Script zu implantieren.
Danke trozdem.
01/04/2011 21:41 Muddy Waters#516
Quote:
Originally Posted by getgoodson View Post
na klar :) der barb telt nur, öffnet truhen und geht dann wieder in die stadt, ohne irgendwas zu killen, obwohl ich ww/amok/kriegschrei/loot, etc habe..bo gibt er sich immerhin -.-
bin echt am verzweifeln. gibt es noch irgendwas anderes, was ich einstellen muss (oder falsch eingestellt haben könnte), was dieses Problem zur Folge hat?? (hab die config aus dem thread hier kopiert und nur zwei, drei dinge für mich abgeändert..)
Halte ich für unwahrscheinlich, denke eher, dass meine Slotdefinitions Funktion stresst, weil du irgendein Equipment benutzt, was ich nicht mit bedacht habe.

Such mal bitte die Funktion NTA_BarbarianAttackInt(target, firstorder) innerhalb der attack library.

Dort solltest du folgende if-Anweisung finden:
Code:
if(_MWA_Attack_Slot < 0)
{
    _MWA_Attack_Slot = MWC_GetSlotID("attack");
    
    if(_MWA_Attack_Slot < 0)
        return 1;
}
Füge folgende Ausgabe ein:
Code:
if(_MWA_Attack_Slot < 0)
{
    _MWA_Attack_Slot = MWC_GetSlotID("attack");
    
   [COLOR=Red] Print("Primary Slot: " + _MWA_Attack_Slot);[/COLOR]
    
    if(_MWA_Attack_Slot < 0)
        return 1;
}
Teste dann nochmal, ist die Ausgabe -1, ist meine Funktion Schuld und ich wüsste gerne das exakte Equipment deines Barbs. ;)

Ansonsten dürfen wir weiter tüfteln. :)
Quote:
Originally Posted by Daarmy View Post
Sehr gute Antworten.

Ich habe mir erlaubt das Medix Leechbot fix Script zu implantieren.
Danke trozdem.
Was ein richtiger Chirurg ist...der implantiert es sich eben selbst. :D

Kein Thema. :)

Lg
Muddy
01/04/2011 21:56 getgoodson#517
Vielen Dank für die ausführliche Antwort!

Ja, scheinbar ist deine Funktion schuld: "Primary slot -1" kam jedesmal, wenn er versucht hat anzugreifen.

exaktes equip:

2grief pb
cot 'lem' upgraded zur corona
eni mp
Mondsichel amulett (manaleech, lifeleech, etc)
2x dwarf
chance guards upgraded zu vampirschienen
infernostrides upgraded zu wyrmlederstiefel
goldwrap upgraded zu trollgürtel

2. slot: 2x 6lem pb

inv: anni/torch/gheeds
5x gc (max/ar/life und eg)
9sc 10eg
cube

merc: eth schnitters/cot lem/duriels

was verträgt er wohl nicht?!
01/04/2011 22:13 Muddy Waters#518
Quote:
Originally Posted by getgoodson View Post
Vielen Dank für die ausführliche Antwort!

Ja, scheinbar ist deine Funktion schuld: "Primary slot -1" kam jedesmal, wenn er versucht hat anzugreifen.

exaktes equip:

2grief pb
cot 'lem' upgraded zur corona
eni mp
Mondsichel amulett (manaleech, lifeleech, etc)
2x dwarf
chance guards upgraded zu vampirschienen
infernostrides upgraded zu wyrmlederstiefel
goldwrap upgraded zu trollgürtel

2. slot: 2x 6lem pb

inv: anni/torch/gheeds
5x gc (max/ar/life und eg)
9sc 10eg
cube

merc: eth schnitters/cot lem/duriels

was verträgt er wohl nicht?!
Liegt an den Griefs, der liest schlicht den +dmg nicht aus, sondern nur den Basis Schaden der Waffe und kommt daher auf identische Schadenswerte.
Aber das zeigt noch einen weiteren Fehler auf, der aus dem letzten Fix dieser Funktion rührt. Theoretische würde es jetzt schon funktionieren, wenn du statt denn LEMed PBs Rohlinge mit niedrigerem Schaden nimmst.
Kannst die Waffen auch übergangsweise mal in die Kiste legen, dann sollte es auch schon klappen.

Ich werde mal schnell einen Fix dazu schreiben, dann musst du nur die Funktion anpassen und es sollte alles gehen. ;)

Ich editiere das in 10-20Mins hier rein.

Lg
Muddy

Edit:
So, such die Funktion MWC_GetSlotID(type) innerhalb der common library.
Ersetz die komplette Funktion mit dieser hier:
Code:
function MWC_GetSlotID(type)
{
    var _items, _valI, _valII, _isCTAI, _isCTAII, _nonClassBoI, _nonClassBoII;
    
    _valI = 0;
    _valII = 0;
    _nonClassBoI = 0;
    _nonClassBoII = 0;
    _isCTAI = false;
    _isCTAII = false;

    _items = me.GetItems();
    
    if(_items)
    {
        for(var i = 0; i < _items.length; i++)
        {
            if(_items[i].mode == 1)
            {
                if(_items[i].itemloc == 4 || _items[i].itemloc == 5) // Slot I
                {
                    switch(type)
                    {
                        case "precast":
                            if((_items[i].itemflag & 0x4000000) && _items[i].itemprefix == 0x5027) // Check if the item is a CTA
                                _isCTAI = true;
                                
                            _nonClassBoI += _items[i].GetStat(97,149);    // Non Class Battle Orders
                            _valI += _items[i].GetStat(127);            // All Skills
                            if(me.classid == NTC_CHAR_CLASS_BARBARIAN)
                                _valI += _items[i].GetStat(107,149)     // Class Specific Battle Orders
                                                  + _items[i].GetStat(83,4)        // Barbarian Skills
                                                  + _items[i].GetStat(188,34);    // Warcries Skilltab
                            break;
                        case "teleport":
                            _valI += _items[i].GetStat(105);             // Faster Cast Rate
                            _valI += _items[i].GetStat(127) * 5;         // All Skills
                            break;
                        case "finditem":
                            _valI += _items[i].GetStat(79) * 0.75;         // Extra Gold
                            _valI += _items[i].GetStat(80);             // Magic Find
                            _valI += _items[i].GetStat(240);             // Magic Find per Level
                            
                            _valI += _items[i].GetStat(105);             // Faster Cast Rate
                            
                            _valI += _items[i].GetStat(127) * 10;         // All Skills
                            
                            _valI += _items[i].GetStat(83,4) * 10;         // Barbarian Skills
                            _valI += _items[i].GetStat(188,34) * 10;    // Warcries Skills
                            break;
                        case "attack":
                            _valI += _items[i].GetStat(21) + (_items[i].GetStat(22) - _items[i].GetStat(21)) / 2; // Base Damage
                            _valI += (_items[i].GetStat(48) + (_items[i].GetStat(49) - _items[i].GetStat(48)) / 2) / 2; // Fire Damage
                            _valI += (_items[i].GetStat(50) + (_items[i].GetStat(51) - _items[i].GetStat(50)) / 2) / 2; // Light Damage
                            _valI += (_items[i].GetStat(52) + (_items[i].GetStat(53) - _items[i].GetStat(52)) / 2) / 2; // Magic Damage
                            _valI += (_items[i].GetStat(54) + (_items[i].GetStat(55) - _items[i].GetStat(54)) / 2) / 5; // Cold Damage
                            _valI += _items[i].GetStat(58) * _items[i].GetStat(59) / 256; // Poison Damage
                            _valI += _items[i].GetStat(111); // + Damage
                            break;
                    }
                }
                else if(_items[i].itemloc == 11 || _items[i].itemloc == 12) // Slot II
                {
                    switch(type)
                    {
                        case "precast":
                        if((_items[i].itemflag  & 0x4000000) && _items[i].itemprefix == 0x5027) // Check if the item is a CTA
                            _isCTAII = true;
                        
                        _nonClassBoII += _items[i].GetStat(97,149);                // Non Class Battle Orders
                        _valII += _items[i].GetStat(127);                        // All Skills
                        if(me.classid == NTC_CHAR_CLASS_BARBARIAN)
                            _valII += _items[i].GetStat(107,149)                 // Class Specific Battle Orders
                                               + _items[i].GetStat(83,4)        // Barbarian Skills
                                               + _items[i].GetStat(188,34);        // Warcries Skilltab
                        break;
                        case "teleport":
                            _valII += _items[i].GetStat(105);             // Faster Cast Rate
                            _valII += _items[i].GetStat(127) * 5;         // All Skills
                            break;
                        case "finditem":
                            _valII += _items[i].GetStat(79) * 0.75;     // Extra Gold
                            _valII += _items[i].GetStat(80);             // Magic Find
                            _valII += _items[i].GetStat(240);             // Magic Find per Level
                            
                            _valII += _items[i].GetStat(105);             // Faster Cast Rate
                            
                            _valII += _items[i].GetStat(127) * 10;         // All Skills
                            
                            _valII += _items[i].GetStat(83,4) * 10;     // Barbarian Skills
                            _valII += _items[i].GetStat(188,34) * 10;    // Warcries Skills
                            break;
                        case "attack":
                            _valII += _items[i].GetStat(21) + (_items[i].GetStat(22) - _items[i].GetStat(21)) / 2; // Base Damage
                            _valII += (_items[i].GetStat(48) + (_items[i].GetStat(49) - _items[i].GetStat(48)) / 2) / 2; // Fire Damage
                            _valII += (_items[i].GetStat(50) + (_items[i].GetStat(51) - _items[i].GetStat(50)) / 2) / 2; // Light Damage
                            _valII += (_items[i].GetStat(52) + (_items[i].GetStat(53) - _items[i].GetStat(52)) / 2) / 2; // Magic Damage
                            _valII += (_items[i].GetStat(54) + (_items[i].GetStat(55) - _items[i].GetStat(54)) / 2) / 5; // Cold Damage
                            _valII += _items[i].GetStat(58) * _items[i].GetStat(59) / 256; // Poison Damage
                            _valII += _items[i].GetStat(111); // + Damage
                            break;
                    }
                }
            }
        }
    }
        
    if(me.classid == NTC_CHAR_CLASS_BARBARIAN && _nonClassBoI > 3)
        _valI += 3;
    else
        _valI += _nonClassBoI;
    
    if(me.classid == NTC_CHAR_CLASS_BARBARIAN && _nonClassBoII > 3)
        _valII += 3;
    else
        _valII += _nonClassBoII;
        
    if(_valI > _valII && me.classid == NTC_CHAR_CLASS_BARBARIAN || _isCTAI && !_isCTAII)
        return 0;
    else if(_valI < _valII && me.classid == NTC_CHAR_CLASS_BARBARIAN || !_isCTAI && _isCTAII)
        return 1;

    return -1;
}
01/04/2011 22:49 getgoodson#519
wow vielen dank! nun funktioniert es!

wirklich toll von dir, dass du dir so viel zeit nimmst und auch so schnell helfen kannst!

danke nochmals, jetzt kann ich endlich schlafen :D gute nacht!

edit: eine weitere frage: warum killt er nicht alle ratsmitglieder? etwa nach der hälfte fängt er an zu looten und verlässt danach das game (dieses erscheint aber grün, was finished successfully....) und ich meine beim verlassen des games kommt eine fehlermeldung, doch die sehe ich nie, das ich zu schnell im channel bin
01/04/2011 23:21 Muddy Waters#520
Quote:
Originally Posted by getgoodson View Post
wow vielen dank! nun funktioniert es!

wirklich toll von dir, dass du dir so viel zeit nimmst und auch so schnell helfen kannst!

danke nochmals, jetzt kann ich endlich schlafen :D gute nacht!

edit: eine weitere frage: warum killt er nicht alle ratsmitglieder? etwa nach der hälfte fängt er an zu looten und verlässt danach das game (dieses erscheint aber grün, was finished successfully....) und ich meine beim verlassen des games kommt eine fehlermeldung, doch die sehe ich nie, das ich zu schnell im channel bin
Versteht sich von selbst, wenn der Fehler auf meine Kappe geht. ;)

Und normalerweise sollte er die alle erledigen, kannst ja mal schauen ob das grundsätzlich immer so ist.
Die Fehlermeldung erscheint im Status Text Fenster? In dem Fall ist es keine Fehlermeldung, dort steht nur "Exiting game..." in rot. ;)

Versuch doch einfach mal danach noch irgendein Botscript auszuführen, deine Runs werden ansonsten ohnehin zu kurz. Ich persönlich lasse Barbs gerne Pit Level 1 und 2 säubern. :)

Lg
Muddy
01/04/2011 23:44 getgoodson#521
ne, jetzt klappts meistens, hatte wohl startschwierigkeiten :D
ja, jetzt hab ich die "fehlermeldung" auch lesen können :D
jo, ich mach noch solange, bis ich irgendwie auf durchschnittlich 3 minuten komme, das reicht ja. pit ist mir persönlich etwas zu lange...(10min+ wenn du alle leichen lootest!?)

edit: und wenn man bedenkt, dass man alle paar runs noch paar mins gamblen geht isses eh np :D
01/05/2011 14:44 getgoodson#522
doch nochmal kleinere probleme: ich habe fast in jedem game errors.
entweder beim travi wp:
NTM_MoveTo()failed (Travincal)
NTM_CheckAct() failed /travincal)

oder bei der Gräfin (mache ich anschliessend an travi):
NTA_KillMonster() failed (Town Cellar lvl 5)

so weit ich sehe kommt das nur, wenn die gräfin nach einer wirbelattacke noch steht, wenn sie stirbt nicht (naja logisch, aber er könnte ja auch mehrmals wirbeln)

eldritch killt er gar nicht (shenk ebenso fail)
hab ich meph drin, startet er gar nicht (auch error)

alles andere dauert mir zu lange, bzw ist der barb einfach zu schwach (seis :D)

und last but not least: er killt nicht immer alle ratsmitglieder (ähnlich wie bei der gräfin, wenn nach zwei, drei wirbel alles liegt super, aber wenn nicht, dann spult er sein programm mit looten etc ab und beendet den run obwohl noch ratsmitglieder (auch uniques) neben ihm stehen.)

und noch was kleines: wo sieht man, was für items er aufgenommen hat? im manager unter itemlog hatte ich bisher noch gar nichts (obwohl ich zum beispiel lowrunen wie ral in der pickit drin habe und er sie auch schon gefunden hat)

sorry fürs nochmalige stören, aber find den bot klasse und möchte ihn einfach auch richtig nutzen können.

Danke für die Hilfe!
01/05/2011 15:29 Muddy Waters#523
Quote:
Originally Posted by getgoodson View Post
doch nochmal kleinere probleme: ich habe fast in jedem game errors.
entweder beim travi wp:
NTM_MoveTo()failed (Travincal)
NTM_CheckAct() failed /travincal)

oder bei der Gräfin (mache ich anschliessend an travi):
NTA_KillMonster() failed (Town Cellar lvl 5)

so weit ich sehe kommt das nur, wenn die gräfin nach einer wirbelattacke noch steht, wenn sie stirbt nicht (naja logisch, aber er könnte ja auch mehrmals wirbeln)

eldritch killt er gar nicht (shenk ebenso fail)
hab ich meph drin, startet er gar nicht (auch error)

alles andere dauert mir zu lange, bzw ist der barb einfach zu schwach (seis :D)

und last but not least: er killt nicht immer alle ratsmitglieder (ähnlich wie bei der gräfin, wenn nach zwei, drei wirbel alles liegt super, aber wenn nicht, dann spult er sein programm mit looten etc ab und beendet den run obwohl noch ratsmitglieder (auch uniques) neben ihm stehen.)

und noch was kleines: wo sieht man, was für items er aufgenommen hat? im manager unter itemlog hatte ich bisher noch gar nichts (obwohl ich zum beispiel lowrunen wie ral in der pickit drin habe und er sie auch schon gefunden hat)

sorry fürs nochmalige stören, aber find den bot klasse und möchte ihn einfach auch richtig nutzen können.

Danke für die Hilfe!
Das mit den Runen ist eine Einstellungssache, du kannst in der Config einstellen, ab wann eine Rune im Log erscheint. Hat den Sinn, dass bei mehreren Chars, die lowies suchen, nicht das ganze Itemlog daraus besteht.
Ansonsten taucht alles was in den nip Files enthalten ist und aufgehoben werden soll auch im Itemlog des Managers auf.

NTTM_CheckAct() und NTM_MoveTo() können durchaus mal fehlschlagen, aber es sollte eben nicht in einer Tour passieren.

Das mit den Monstern macht eigentlich keinen Sinn, eventuell ist doch noch ein Fehler in deiner Char Config. Ich denke dabei speziell an falsch gesetzte maximale Angriffszeiten oder falsch definierte Immunitäten, denn in diesem Fall, würde das aktuelle Ziel übersprungen und für alle weiteren Angriffe ignoriert.

Kontrollier das einfach nochmal. ;)

Lg
Muddy
01/05/2011 16:24 getgoodson#524
hmmm. also, das mit den items ist nun klar.

Char config habe ich wie gesagt übernommen.
ev habe ich das falsch verstanden:

// Attack Configuration
//------------------------------------------------------------------------------
NTConfig_AttackSkill[0] = 0; // First skill. Set to 0 if you won't
NTConfig_AttackSkill[1] = 151; // Primary skill to boss.
NTConfig_AttackSkill[2] = 0; // Reserved
NTConfig_AttackSkill[3] = 151; // Primary skill to others.
NTConfig_AttackSkill[4] = 0; // Reserved
NTConfig_AttackSkill[5] = 152; // Secondary skill in case monster is immune to primary skill. Set to 0 if you won't
NTConfig_AttackSkill[6] = 0; // Reserved
NTConfig_ClearPosition = true; // Set to true if you want to clear area after killing boss.

MWConfig_CheckImmunitySkills = [1, 3, 5]; // Define the condition for a monster being immune; Add skill numbers (0-6) here; Example: [1, 3] means that a monster is considered as immune if it is immune to both NTConfig_AttackSkill[1] and NTConfig_AttackSkill[3]
NTConfig_BehaviourOnImmuneMonster = 0; // Determine what the char is supposed to do when attacking immune Monsters; 0: Don't do anything (D2NT standard), 2: Skip the Monster
// Check self safe in field (NOT in town). Set to 0 if you won't

Ich habe das so verstanden, dass man den Skill einsetzen muss, den der Barb verwenden soll, wenn ein Monster gegen Mainskill immun ist. (hab also 5 eingegeben-> nun aber geändert, da es wohl bedeutet: ein Monster ist immun, wenn skill x + y nicht funktionieren.) hab das nun geändert (so wie oben)

das mit der Dauer der Attacke hört sich gut an (er wirbelt wirklich, auch jetzt noch, 3-4 mal durch die Ratsmitglieder, was dann nicht tot ist, wird ignoriert. Gräfin ist immer noch: instant death oder leave): aber wo finde ich das? in der char config hab ich nichts gesehen (von dem her glaube ich auch nicht, dass ich etwas falsch eingestellt habe...)
01/05/2011 19:25 Muddy Waters#525
Quote:
Originally Posted by getgoodson View Post
hmmm. also, das mit den items ist nun klar.

Char config habe ich wie gesagt übernommen.
ev habe ich das falsch verstanden:

// Attack Configuration
//------------------------------------------------------------------------------
NTConfig_AttackSkill[0] = 0; // First skill. Set to 0 if you won't
NTConfig_AttackSkill[1] = 151; // Primary skill to boss.
NTConfig_AttackSkill[2] = 0; // Reserved
NTConfig_AttackSkill[3] = 151; // Primary skill to others.
NTConfig_AttackSkill[4] = 0; // Reserved
NTConfig_AttackSkill[5] = 152; // Secondary skill in case monster is immune to primary skill. Set to 0 if you won't
NTConfig_AttackSkill[6] = 0; // Reserved
NTConfig_ClearPosition = true; // Set to true if you want to clear area after killing boss.

MWConfig_CheckImmunitySkills = [1, 3, 5]; // Define the condition for a monster being immune; Add skill numbers (0-6) here; Example: [1, 3] means that a monster is considered as immune if it is immune to both NTConfig_AttackSkill[1] and NTConfig_AttackSkill[3]
NTConfig_BehaviourOnImmuneMonster = 0; // Determine what the char is supposed to do when attacking immune Monsters; 0: Don't do anything (D2NT standard), 2: Skip the Monster
// Check self safe in field (NOT in town). Set to 0 if you won't

Ich habe das so verstanden, dass man den Skill einsetzen muss, den der Barb verwenden soll, wenn ein Monster gegen Mainskill immun ist. (hab also 5 eingegeben-> nun aber geändert, da es wohl bedeutet: ein Monster ist immun, wenn skill x + y nicht funktionieren.) hab das nun geändert (so wie oben)

das mit der Dauer der Attacke hört sich gut an (er wirbelt wirklich, auch jetzt noch, 3-4 mal durch die Ratsmitglieder, was dann nicht tot ist, wird ignoriert. Gräfin ist immer noch: instant death oder leave): aber wo finde ich das? in der char config hab ich nichts gesehen (von dem her glaube ich auch nicht, dass ich etwas falsch eingestellt habe...)
Die Angriffszeiten sind aber von Haus aus so eingestellt, dass ein Monster erst dannn übersprungen wird, wenn es wirklich lange dauert.

Und das mit der Immunität hast du durchaus richtig verstanden.
So langsam gehen mir etwas die Ideen aus, auch das mit der Gräfin kann ich mir nicht so recht erklären.
Mein Barb macht das jedenfalls alles ohne Probleme. :rolleyes:

Initialisier mal testweise MWConfig_CheckImmunitySkills mit einem leeren Array, eventuell ist ja auch in der Funktion noch ein Fehler, der mir bisher nicht aufgefallen ist. Mein WW Barb läuft jedenfalls mit folgender Einstellung hervorragend:
Code:
//------------------------------------------------------------------------------
// Attack Configuration
//------------------------------------------------------------------------------
NTConfig_AttackSkill[0] = 154;    // First skill. Set to 0 if you won't
NTConfig_AttackSkill[1] = 151;    // Primary skill to boss.
NTConfig_AttackSkill[2] = 0;    // Reserved
NTConfig_AttackSkill[3] = 151;    // Primary skill to others.
NTConfig_AttackSkill[4] = 0;    // Reserved
NTConfig_AttackSkill[5] = 152;    // Secondary skill in case monster is immune to primary skill. Set to 0 if you won't
NTConfig_AttackSkill[6] = 0;    // Reserved
NTConfig_ClearPosition = true;    // Set to true if you want to clear area after killing boss.

// *************** Attack time limitation **************
// Every target will only be attacked for the time specified and is then skipped
MWConfig_AttackTimeLimit[0] = 20;    // Maximum time in seconds to attack normal monsters
MWConfig_AttackTimeLimit[1] = 60;    // Maximum time in seconds to attack super uniques
MWConfig_AttackTimeLimit[2] = 30;    // Maximum time in seconds to attack champions
MWConfig_AttackTimeLimit[3] = 30;    // Maximum time in seconds to attack bosses
MWConfig_AttackTimeLimit[4] = 30;    // Maximum time in seconds to attack minions

// **************** Behaviour on immunes ***************
MWConfig_CheckImmunitySkills = [];        // Define the condition for a monster being immune; Add skill numbers (0-6) here; Example: [1, 3] means that a monster is considered immune if it is immune to both NTConfig_AttackSkill[1] and NTConfig_AttackSkill[3]
NTConfig_BehaviourOnImmuneMonster = 0;    // Determine what the char is supposed to do when encountering immune Monsters; 0: Don't do anything (D2NT standard), 2: Skip the Monster

// Check self safe in field (NOT in town). Set to 0 if you won't
// 0x01 : Potion, 0x02 : Poison, 0x04 : Amplify Damage, 0x08 : Weaken, 0x10 : Iron Maiden, 0x20 : Decrepify, 0x40 : Lower Resist
NTConfig_CheckSelfSafe = 0;
// Check merc's safe in field (NOT in town). Set to 0 if you won't
// 0x01 : Death, 0x02 : Poison, 0x04 : Amplify Damage, 0x08 : Weaken, 0x10 : Iron Maiden, 0x20 : Decrepify, 0x40 : Lower Resist
NTConfig_CheckMercSafe = 0;
Vielleicht hilft das ja, auch wenn ich eher glaube, dass sich nichts ändert. :(

Lg
Muddy