[Release] Muddy's D2NT

12/10/2010 20:51 Muddy Waters#436
Quote:
Originally Posted by fred9x9 View Post
Hallo Muddy!
Betr.: Soso im Classic mode
hier : Mein Lieblingsproblem, fire/cold -immune im cs
Also,
Hier erstmal Auszug aus der ..._soso.ntl

Code:
//------------------------------------------------------------------------------
    // Attack Configuration Classic Soso
    //------------------------------------------------------------------------------
    NTConfig_AttackSkill[0] = 50;    // First skill. Set to 0 if you won't
    NTConfig_AttackSkill[1] = 64;    // Primary skill to boss.
    NTConfig_AttackSkill[2] = 47;    // Primary untimed skill to boss. Set to 0 if you won't
    NTConfig_AttackSkill[3] = 64;    // Primary skill to others.
    NTConfig_AttackSkill[4] = 47;    // Primary untimed skill to others. Set to 0 if you won't
    NTConfig_AttackSkill[5] = 47;    // Secondary skill in case monster is immune to primary skill. Set to 0 if you won't
    NTConfig_AttackSkill[6] = 47;    // Secondary untimed skill. Set to 0 if you won't
    NTConfig_AttackSkill[7] = 43;    // Alternative untimed skill which is used if the target is immune to your untimed skill - mostly useful for FB/FO/Meteor sorcs or other sorcs that are using the same untimed Skills
    NTConfig_ClearPosition = true;    // Set to true if you want to clear area after killing boss.

    MWConfig_CheckImmunitySkills = [1, 2, 3, 4, 5, 6];        // 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 = 1;        // Determine what the char is supposed to do when attacking immune Monsters; 0: Don't do anything (D2NT standard), 1: Get close to the target, use static field in case the monster is not immune to lightning, 2: Skip the Monster
    MWConfig_KeepDistanceToMonsters = true;        // Always check if monsters are closing in and back off, in case they get too close (Note: Activating this option will lead to ignoring the spectype of monsters when clearing rooms or spots --> Champions and bosses won't be attacked first, but the monster which is closest, no matter if it's a boss or a normal monster)
    // If you don't wish to evade monsters in a certain area, add it's areaid to MWConfig_EvasionExceptions - Check the file "areas.txt" in the sdk folder to view all areaids
    MWConfig_EvasionExceptions.push(73)
Im Cs killt sie fireimmunes mit coldorb und telekinese,
coldimmunes mit fireball
Cold und fireimmunes ignoriert sie und ich weiss nicht warum, sie sollte sich doch drantelen und... Ist zwar ärgerlich, aber dumm wird es erst wenn DeSeis oder Infector cold/fireimmun sind, dann macht die Soso garnichts mehr und wartet auf timeout. Eigentlich dachte ich auch hier "drauftelen und telekinese oder so. Nix ist.
Einstellungen in der charconfig hab ich schon viele versucht, sowohl checkimmunity, behaviouronimmuine, attakskills und static.
Bin wohl Bissel zu ... zum zum.
Kannst du mir helfen? B i d d e
Gehts mit dem Script oder kann man nur in der NTAttack was erreichen?
Vielleicht erinnerst du dich, ich habe das Problem schon etwas länger :pimp:
Bei der Variable bzw. dem Array MWConfig_CheckImmunitySkills müssen an sich nur die jeweiligen Elemente einmal drin sein.
Wenn du jetzt definieren möchtest, dass ein Monster beispielsweise bei Fire und Cold Immunität als Immun gilt, dann reicht es die Indizes zweier deiner Skills mit dem entsprechenden Element einzufügen.
Deine Variante ist zwar nicht falsch, aber so wäre es eleganter.

Und ich glaube fast, ich weiss woran das liegt, jedenfalls wenn deine Funktion genau so aussieht wie meine.
Such mal in der NTAttack library den Statik Block im Algoithmus der Sorc raus.
Die Zeile sieht sollte dann so aussehen:
Code:
if((_immuneTarget && NTConfig_BehaviourOnImmuneMonster == 1 [COLOR=Red]&& MWA_FindNearbyMonsters(15, target) < 3 && NTC_GetMerc()[/COLOR] || MWA_UseStaticOnTarget(target)) && NTConfig_CastStatic < 100 && parseInt(target.hp * 100 / target.hpmax) > NTConfig_CastStatic && NTA_GetResistance(target, NTA_DAMAGE_LIGHTNING) <= 80)
Den markierten Part entfernst du einfach, sodass das ganze so aussieht:
Code:
if((_immuneTarget && NTConfig_BehaviourOnImmuneMonster == 1 || MWA_UseStaticOnTarget(target)) && NTConfig_CastStatic <  100 && parseInt(target.hp * 100 / target.hpmax) >  NTConfig_CastStatic && NTA_GetResistance(target,  NTA_DAMAGE_LIGHTNING) <= [COLOR=Red]99[/COLOR])
Eventuell setzt du auch noch die Maximale Resistenz hoch, wie unten gezeigt.
Obige Zeile dient übrigens dazu, zu verhindern, dass die liebe LoD Sorc ohne Merc in einen Mob Monster portet und dann das zeitliche segnet.
Für Classic ist aber speziell der Merc teil fatal und wird dazu führen, dass in 99% der Fälle kein Statik benutzt wird. :rolleyes:

Da habe ich wohl mal wieder zu sehr als LoD Spieler gedacht... :o

Lg
Muddy
12/10/2010 22:32 Twinstyle#437
Hey :)

Ich weiß zwar das du genug zu tun hast, aber ich hätte ne geile idee für noch ein weiteres Feature. Wäre es möglich eine Funktion einzubaun das der bot ein game mit einem bestimmten Namen erstellt und dann dort einfach nichts tut, außer jeden charnamen der joint einem anderen acc zu whispern? Das wär für mich voll praktisch, da könnt ich im fenstermodus n trade game aufmachen und nebenbeim angenehm im fullscreen zocken :)

Kannst dir ja mal durch den Kopf gehn lassen

mfg
12/11/2010 00:26 Muddy Waters#438
Quote:
Originally Posted by Twinstyle View Post
Hey :)

Ich weiß zwar das du genug zu tun hast, aber ich hätte ne geile idee für noch ein weiteres Feature. Wäre es möglich eine Funktion einzubaun das der bot ein game mit einem bestimmten Namen erstellt und dann dort einfach nichts tut, außer jeden charnamen der joint einem anderen acc zu whispern? Das wär für mich voll praktisch, da könnt ich im fenstermodus n trade game aufmachen und nebenbeim angenehm im fullscreen zocken :)

Kannst dir ja mal durch den Kopf gehn lassen

mfg
Naja, technisch ist das schon möglich.
Ich sehe sowas aber kritisch, wenn es auf breiter Basis benutzt wird. Darum werde ich das garantiert nicht hier einbauen oder was vergleichbares öffentlich anbieten.
Du könntest dir das aber vermutlich leicht selber schreiben, der Aufwand ist eher gering. ;)

Lg
Muddy
12/11/2010 09:53 Twinstyle#439
Also ich kann sowas leider bestimmt nicht schreiben, ich hab keine Ahung von der Materie. Aber mich würde interessieren in wie fern du das kritisch siehst? Wo liegen deine bedenken?

mfg
12/11/2010 11:30 seifenoper#440
Schlag sowas im Sternlooper vor, die bauen jedes Eintagsfliegenscript ein.
12/11/2010 11:45 Muddy Waters#441
Quote:
Originally Posted by Twinstyle View Post
Also ich kann sowas leider bestimmt nicht schreiben, ich hab keine Ahung von der Materie. Aber mich würde interessieren in wie fern du das kritisch siehst? Wo liegen deine bedenken?

mfg
Schicke dir gleich mal eine PM. ;)

Quote:
Originally Posted by seifenoper View Post
Schlag sowas im Sternlooper vor, die bauen jedes Eintagsfliegenscript ein.
Bitte mach Sterni's Arbeit nicht so runter, der war ein sehr aktives und immer hilfbereites Mitglied als er noch aktiv war. :(

Er hatte eben einen anderen Ansatz als ich...mehr Einbinden, weniger selbst entwickeln. Das ändert aber nichts daran, dass er sich hier echt Verdient gemacht hat. Zu einigen Dingen, die bei mir implementiert sind, hat Sterni damals die Idee geliefert und dafür bin ich ihm nach wie vor dankbar. :)

Lg
Muddy
12/11/2010 13:39 fred9x9#442
Jo Muddy :-) erstmal DANKE.
das mit NTAttack library Statik Block der Soso funzt. Habe auch den Wert in der NTConfig_CastStatic && NTA_GetResistance(target, NTA_DAMAGE_LIGHTNING) <= 99) geändert.
Sie telt jetzt auf die fire/cold - immunes drauf und statict die down, aber ......
das war es dann, sie macht leider danach keine Anstalten zum Angriff, obwohl ich ihr ja nova oder telekinese anbiete, die sind ja beide untimed.
Noch eine Idee?
Aso, die geänderte NTAttack funzt auch bei LoD Chars, oder gibts da größere Probleme?
LG
Fred
12/11/2010 14:21 Muddy Waters#443
Quote:
Originally Posted by fred9x9 View Post
Jo Muddy :-) erstmal DANKE.
das mit NTAttack library Statik Block der Soso funzt. Habe auch den Wert in der NTConfig_CastStatic && NTA_GetResistance(target, NTA_DAMAGE_LIGHTNING) <= 99) geändert.
Sie telt jetzt auf die fire/cold - immunes drauf und statict die down, aber ......
das war es dann, sie macht leider danach keine Anstalten zum Angriff, obwohl ich ihr ja nova oder telekinese anbiete, die sind ja beide untimed.
Noch eine Idee?
Aso, die geänderte NTAttack funzt auch bei LoD Chars, oder gibts da größere Probleme?
LG
Fred
Naja, dass das in LoD funktioniert ist mir klar, nur war die Variante vorher etwas mehr auf die Sicherheit das Chars aus, da er natürlich in dem Fall nicht ausweichen würde, denn das würde ja in Konflikt mit dem Annäheren stehen.

Das wird sie in dem Fall nicht ausführen, da das gar nicht vorgesehen ist.
Wenn ich mir das so anschaue, habe ich das etwas engstirnig geschrieben und dabei sehr ein meine eigene Sorc gedacht, die den Gegnern mit FB und Orb zuleibe rückt.
Da ist es dann nur vorgesehen, dass sie bei Immunen Zielen (welche mit Infinity merc extrem selten sind) nah dran geht, eventuell Statik benutzt und dann wartet, bis der merc den Rest macht.

Eventuell überlege ich mir dafür noch eine Lösung, ich bin aber gerade damit beschäftigt einen Debug Modus fürs Manager Itemlog zu implementieren, bei dem dann zu jedem aufgenommenen Item auch die passende Zeile aus den .nip Files angezeigt wird.

Damit bin ich jetzt gerade durch und teste, werde vermutlich aber auch nochmal die Begrenzung mit [MaxAmount] überarbeiten, da die aktuelle Implementierung nur mit Knoten im Kopf nachvollziehbar ist, was mir irgendwie missfällt. Das muss einfacher werden, darum schaue ich mir das gleich nochmal an. :)
Die Liste der noch zu machenden Dinge ist lang, darum weiss ich noch nicht, wann ich dazu komme, mich mit deinem Problem zu befassen. :(

Erinner mich im Zweifelsfall nochmal dran, ich vergesse schließlich gerne Dinge... :rolleyes:

Lg
Muddy
12/11/2010 16:19 fred9x9#444
Quote:
Originally Posted by Muddy_Waters View Post
Naja, dass das in LoD funktioniert ist mir klar, nur war die Variante vorher etwas mehr auf die Sicherheit das Chars aus, da er natürlich in dem Fall nicht ausweichen würde, denn das würde ja in Konflikt mit dem Annäheren stehen.

Das wird sie in dem Fall nicht ausführen, da das gar nicht vorgesehen ist.
Wenn ich mir das so anschaue, habe ich das etwas engstirnig geschrieben und dabei sehr ein meine eigene Sorc gedacht, die den Gegnern mit FB und Orb zuleibe rückt.
Da ist es dann nur vorgesehen, dass sie bei Immunen Zielen (welche mit Infinity merc extrem selten sind) nah dran geht, eventuell Statik benutzt und dann wartet, bis der merc den Rest macht.

Eventuell überlege ich mir dafür noch eine Lösung, ich bin aber gerade damit beschäftigt einen Debug Modus fürs Manager Itemlog zu implementieren, bei dem dann zu jedem aufgenommenen Item auch die passende Zeile aus den .nip Files angezeigt wird.

Damit bin ich jetzt gerade durch und teste, werde vermutlich aber auch nochmal die Begrenzung mit [MaxAmount] überarbeiten, da die aktuelle Implementierung nur mit Knoten im Kopf nachvollziehbar ist, was mir irgendwie missfällt. Das muss einfacher werden, darum schaue ich mir das gleich nochmal an. :)
Die Liste der noch zu machenden Dinge ist lang, darum weiss ich noch nicht, wann ich dazu komme, mich mit deinem Problem zu befassen. :(

Erinner mich im Zweifelsfall nochmal dran, ich vergesse schließlich gerne Dinge... :rolleyes:

Lg
Muddy

Jo Muddy, ich werde dich gaanz sicher daran erinnern :D
Btw, zum Static casten telet der Char ja an den Immunen und macht Static wie vorgegeben. ?Entgegen der Ausweichroutine? Aber er macht es tatsächlich. Dann lass ihn bidde auch zum lightkillen dran gehen. :handsdown:
LG
Fred
12/13/2010 17:42 xXx__xXx#445
wann machst den ein update?

lesen tut man viel, ^^ mach mal deinen überarbeitetn bot public oder?^^
12/13/2010 18:55 Muddy Waters#446
Quote:
Originally Posted by Kiffer17 View Post
wann machst den ein update?

lesen tut man viel, ^^ mach mal deinen überarbeitetn bot public oder?^^
Ich bin leider am Wochenende nicht wirklich dazu gekommen, weil ich mit studienrelevanten Dingen beschäftigt war.

Die nächste Klausurphase rückt auch wieder langsam näher, sodass ich mich ab und an einfach mal mit wichtigeren Dingen beschäftigen muss. ;)

Tut mir Leid, aber in dem Fall setze ich klare Prioritäten. :rolleyes:
Was nicht heisst, dass es nicht in nächster Zeit ein Update geben wird, ich kann nur keinen festen Termin nennen, es kommt, wenn es kommt. ;)

Lg
Muddy
12/13/2010 19:28 mariii#447
Hab den Bot eig normal eingestellt, allerdings kommt beim starten das:

...Muddy´s D2NT\scripts\NTBot\MWBotGame.ntj (56) : ReferenceError: NT_LoadConfig is not defined

Kann keinen Fehler finden...
wäre nett wenn ihr mir helft:confused:
12/13/2010 21:01 Muddy Waters#448
Quote:
Originally Posted by mariii View Post
Hab den Bot eig normal eingestellt, allerdings kommt beim starten das:

...Muddy´s D2NT\scripts\NTBot\MWBotGame.ntj (56) : ReferenceError: NT_LoadConfig is not defined

Kann keinen Fehler finden...
wäre nett wenn ihr mir helft:confused:
Die Meldung besagt, dass deine Char Config aufgrund eines Syntaxfehlers nicht geladen werden kann.

Du hast vermutlich irgendwelche Änderungen durchgeführt, die nicht mit der JavaScript Syntax konform waren. ;)
Wo genau ist aber aus der Fehlermeldung nicht ersichtlich.

Lg
Muddy
12/13/2010 21:16 fred9x9#449
Und oder nicht im .ntj Format abgespeichert. Am Besten neu auspacken und mit edit ++ bearbeiten. Es soll editoren geben, die lassen .ntj stehen, ist aber .txt z.B.
12/13/2010 22:01 lafaro#450
Moin, ich habe mal wieder eine Frage, ich hätte gern, dass der Bot beim Barb mit den BO Waffen telt (2x HOTO = 80fc!). Für das Leichenfleddern benutzt er schon den richtigen Waffenslot mit fc und +skills.
Leider telt er eben bei mir mit der saubeknackten 2hand hin und her und bleibt ab und an mal stecken. Ich möchte nicht undankbar erscheinen, aber ich glaube ich habe beim Sternenlooperbarbscript die Option in der Config schon gelesen.
Was muss ich editieren, bzw wo stehts geschrieben?
LG Lafaro :)