D2NT wie kaufe ich automatisch Tränke?

10/07/2010 20:27 Evil Knievel#16
Quote:
Originally Posted by lanara View Post
Ähm nein, das müsstest du hier ändern:
Code:
    if(_numhppots - (_NTT_BeltSize * _numhpcols) [COLOR="Red"]>= -2[/COLOR])
        _needpotions = true;
    if(_nummppots - (_NTT_BeltSize * _nummpcols) [COLOR="Red"]>= -2[/COLOR])
        _needpotions = true;
Dann geht er, wenn er nurnoch 2 oder weniger von den jeweiligen Pots hat.
Danke lanara. Ich kenn mich mit der Java-Sprache net so aus ^^ Wenn ich es auf die von dir beschriebene Weise ändere, kauft er auch neue Pots, wenn beispielsweise nur noch 1 Heilpot vorhanden ist, aber mehr als 2 Manapots??
10/07/2010 23:28 lanara#17
Quote:
Originally Posted by Evil Knievel View Post
Danke lanara. Ich kenn mich mit der Java-Sprache net so aus ^^ Wenn ich es auf die von dir beschriebene Weise ändere, kauft er auch neue Pots, wenn beispielsweise nur noch 1 Heilpot vorhanden ist, aber mehr als 2 Manapots??
Ja, natürlich.
10/07/2010 23:50 Evil Knievel#18
Kann man auch was einstellen, dass ein kämpfender Bot, der alle seine Tränke im Kampf verbraucht hat, den Kampf unterbricht und per TP in die Stadt geht um neue Tränke zu kaufen. Ich hab TeleChicken aktiv und nach dem Kampf gegen Meppel hätt ich gern, dass er die Truhen rundrum öffnet. Da ist allerdings öfters ne Ghul-Boss-Gruppe, so dass schnell alle Heilpots aufgebraucht sind. Der Portelt sich dann weg bei wenig Life (wegen TeleChick) kann sich aber natürlich nicht heilen, geht wieder zu den Monstern (kann aber nicht richtig angreifen) und portelt sich wieder in Sicherheit. Das Spielchen hat der Bot bei mir 5 min gemacht.
10/07/2010 23:57 lanara#19
Quote:
Originally Posted by Evil Knievel View Post
Kann man auch was einstellen, dass ein kämpfender Bot, der alle seine Tränke im Kampf verbraucht hat, den Kampf unterbricht und per TP in die Stadt geht um neue Tränke zu kaufen. Ich hab TeleChicken aktiv und nach dem Kampf gegen Meppel hätt ich gern, dass er die Truhen rundrum öffnet. Da ist allerdings öfters ne Ghul-Boss-Gruppe, so dass schnell alle Heilpots aufgebraucht sind. Der Portelt sich dann weg bei wenig Life (wegen TeleChick) kann sich aber natürlich nicht heilen, geht wieder zu den Monstern (kann aber nicht richtig angreifen) und portelt sich wieder in Sicherheit. Das Spielchen hat der Bot bei mir 5 min gemacht.
Man könnte einbaun, dass er beim Telechick direkt mit schaut, ob noch genug Tränke vorhanden sind. Dazu in der NTAttack.ntl folgendes hinzufügen:

Code:
function NTTMGR_TeleChick(simple)
{
   var _LifeMax, _ManaMax;
   _LifeMax = me.hpmax;
   _ManaMax = me.mpmax;
            if(NTConfig_TeleChicken > 0)
            {
            if(parseInt(me.hp*100/_LifeMax) < NTConfig_TeleChicken)
            {
            NTC_SendLogToOOG(NTC_LOG_COMMON, "ÿE00000TeleChicken")
            NTM_MoveTo(me.areaid, me.x+30, me.y+30);
            [COLOR="Red"]NTTMGR_CheckSafe(NTConfig_CheckSelfSafe, NTConfig_CheckMercSafe)[/COLOR]
            NTC_Delay(4500);
            NTM_MoveTo(me.areaid, me.x-30, me.y-30);
            }
            }
}
10/08/2010 17:06 Evil Knievel#20
Mhh, also der Bot geht immer noch nicht in die Town, wenn er TeleChicken macht und dabei keine Heiltränke hat. Also es ist so, ich hab normalerweise zwei Reihen Heiltränke und zwei Reihen Manatränke im Gürtel. Wieder die Situation unten bei Meppel. Er killt Meppel, will an die Truhen und kämpft gegen nen Boss-Mob Ghule. Dabei verbraucht er alle Heiltränke. Er macht TeleChicken, hat keine Heiltränke mehr ABER noch mehr als 4 Manatränke, geht aber nicht in die Town. Könnte es daran liegen, dass bei dem Code
Quote:
Originally Posted by lanara View Post
Ähm nein, das müsstest du hier ändern:
Code:
    if(_numhppots - (_NTT_BeltSize * _numhpcols) [COLOR="Red"]>= -2[/COLOR])
        _needpotions = true;
    if(_nummppots - (_NTT_BeltSize * _nummpcols) [COLOR="Red"]>= -2[/COLOR])
        _needpotions = true;
Dann geht er, wenn er nurnoch 2 oder weniger von den jeweiligen Pots hat.
der Bot doch erst in die Town geht, wenn von beiden Potarten, also Heil- und Mana-Pots, nur noch weniger als 2 vorhanden sind?
10/08/2010 17:17 bösewichtel#21
Das sind ja 2 Fallentscheidungen und 1 davon trifft ja zu - also kanns das ned sein meien ich
10/08/2010 17:35 lanara#22
So ist es. Sobald eines der beiden zutrifft, setzt er den Wert auf true, was zur Folge hat, dass er in die Stadt geht. Hast du denn auch wirklich alles in der NTTownManager.ntl richtig stehen jetzt?
10/08/2010 18:29 Evil Knievel#23
Eigentlich schon. Hab mir nochmal alle Posts angeschaut, sollte eigentlich alles stimmen.
Hier mal die Änderung der NTTownManager.ntl-Datei:

Code:
function NTM_CheckBelt()
{
    var _needpotions = false;
    var _NTT_BeltColNeeded = new Array(4);
    _NTT_BeltColNeeded[0] = 0;
    _NTT_BeltColNeeded[1] = 0;
    _NTT_BeltColNeeded[2] = 0;
    _NTT_BeltColNeeded[3] = 0;
    
    var _NTT_BeltSize = NTC_GetBeltSize();
    var _numhppots = 0;
    var _numhpcols = 0;
    var _nummppots = 0;
    var _nummpcols = 0;

    for(var i = 0 ; i < 4 ; i++)
    {
        _NTT_BeltColNeeded[i] = NTT_GetNeededPotionsColInt(NTConfig_BeltColType[i], i);
        if(NTConfig_BeltColType[i] == "hp")
        {
            _numhppots += _NTT_BeltColNeeded[i];
            _numhpcols++;
        }
        
        if(NTConfig_BeltColType[i] == "mp")
        {
            _nummppots += _NTT_BeltColNeeded[i];
            _nummpcols++;
        }
    }
    if(_numhppots - (_NTT_BeltSize * _numhpcols) == -3)
        _needpotions = true;
    if(_nummppots - (_NTT_BeltSize * _nummpcols) == -3)
        _needpotions = true;
        
    return _needpotions;
}

}
Und hier die Änderung der NTAttack.ntl-Datei:
Code:
function NTTMGR_TeleChick(simple)
{
   var _LifeMax, _ManaMax;
   _LifeMax = me.hpmax;
   _ManaMax = me.mpmax;
            if(NTConfig_TeleChicken > 0)
            {
            if(parseInt(me.hp*100/_LifeMax) < NTConfig_TeleChicken)
            {
            NTC_SendLogToOOG(NTC_LOG_COMMON, "ÿE00000TeleChicken")
            NTM_MoveTo(me.areaid, me.x+30, me.y+30);
            NTTMGR_CheckSafe(NTConfig_CheckSelfSafe, NTConfig_CheckMercSafe)
            NTC_Delay(4500);
            NTM_MoveTo(me.areaid, me.x-30, me.y-30);
            }
            }
}
10/08/2010 19:39 lanara#24
Ähm zunächst mal hast du die Funktion NTM_Checkbelt() genannt, heißt sie denn dann auch im CheckSafe so? Desweiteren:
Code:
if(_numhppots - (_NTT_BeltSize * _numhpcols) [COLOR="Red"]== -3[/COLOR])
        _needpotions = true;
    if(_nummppots - (_NTT_BeltSize * _nummpcols) [COLOR="Red"]== -3[/COLOR])
        _needpotions = true;
Wtf? Da ist es ja kein Wunder, dass nix passiert.
10/08/2010 20:20 Evil Knievel#25
@lanara

Code:
if(_numhppots - (_NTT_BeltSize * _numhpcols) [COLOR="Red"]== -3[/COLOR])
        _needpotions = true;
    if(_nummppots - (_NTT_BeltSize * _nummpcols) [COLOR="Red"]== -3[/COLOR])
        _needpotions = true;
Ich dachte, diese Schleife guckt, wie viel Pots von jeder Sorte noch da sind. Und ich dacht die von dir angegebene "-2" bedeutet, wenn nur noch 2 Tränke von jeder Sorte da sind, soll er in die Town gehen. Und da hab ich mir gedacht es kann net Schaden, wenn schon geht, wenn nur noch 3 da sind. Aber anscheinend hab ich die Schleifenabfrage net ganz verstanden ~~

Und zu NTM_CheckBelt(). Muss ich die Funktion in die NTAttack.ntl-Datei bei
der Funktion NTTMGR_TeleChick(simple) bei NTTMGR_CheckSafe(...) einfügen??

Ansonsten hab ich alles so gemacht wie du gesagt hast, also gleiche Namen verwendet und so und alles per copy/paste übernommen.
10/08/2010 20:29 bösewichtel#26
Du kannst glaube ich auch nicht einfach aus >= -2 (größer oder gleich) ein == (genau gleich) -3 machen.

Wenn Du eine Funktion "AlfredGünther" nennst, kannst Du nicht versuchen sie an anderer Stelle mit dem Namen "KarlDall" aufrufen zu wollen :>
10/08/2010 20:30 lanara#27
Quote:
Originally Posted by Evil Knievel View Post
@lanara

Code:
if(_numhppots - (_NTT_BeltSize * _numhpcols) [COLOR="Red"]== -3[/COLOR])
        _needpotions = true;
    if(_nummppots - (_NTT_BeltSize * _nummpcols) [COLOR="Red"]== -3[/COLOR])
        _needpotions = true;
Ich dachte, diese Schleife guckt, wie viel Pots von jeder Sorte noch da sind. Und ich dacht die von dir angegebene "-2" bedeutet, wenn nur noch 2 Tränke von jeder Sorte da sind, soll er in die Town gehen. Und da hab ich mir gedacht es kann net Schaden, wenn schon geht, wenn nur noch 3 da sind. Aber anscheinend hab ich die Schleifenabfrage net ganz verstanden ~~

Und zu NTM_CheckBelt(). Muss ich die Funktion in die NTAttack.ntl-Datei bei
der Funktion NTTMGR_TeleChick(simple) bei NTTMGR_CheckSafe(...) einfügen??

Ansonsten hab ich alles so gemacht wie du gesagt hast, also gleiche Namen verwendet und so und alles per copy/paste übernommen.
Dann musst du aber auch >= machen und nicht ==. Bei dir würde er nur in die Stadt gehen, wenn er noch genau 3 Pots hat. Und nein, ich meinte in der NTTownManager
Code:
function NTTMGR_CheckSafe(selfmask, mercmask)
{
    if(((selfmask&0x01) && [COLOR="Red"]NTM_CheckBelt()[/COLOR]) || ((mercmask&0x01) && NTT_CheckMerc()) || NTTMGR_CheckCurse(selfmask, mercmask))
        return NTTMGR_VisitTown();

    return true;
}
Ob du es da so hast.
10/08/2010 22:53 Evil Knievel#28
Ach, ich Esel. Das größer Zeichen ">" bei ">=" übersehen, als ich die "-2" übernommen hatte. ~~ So'n shiiiit. Alles andere hab ich aber. Bin wieder am Test *stöhhn*

€: Feedback: Klappt jetzt wunderbar. Danke lanara.
10/21/2010 20:42 Taxtor#29
Quote:
Originally Posted by lanara View Post
Ähm nein, das müsstest du hier ändern:
Code:
    if(_numhppots - (_NTT_BeltSize * _numhpcols) [COLOR="Red"]>= -2[/COLOR])
        _needpotions = true;
    if(_nummppots - (_NTT_BeltSize * _nummpcols) [COLOR="Red"]>= -2[/COLOR])
        _needpotions = true;
Dann geht er, wenn er nurnoch 2 oder weniger von den jeweiligen Pots hat.

Hab ich jetzt bei mir geändert aber irgendwie steht meine Zauberin immernoch ohne Manatränke im Kuhlevel :(

Weiß nicht, ob es damit zusammenhängt aber mein Gürtel: hp,mp,mp,rv
10/21/2010 23:40 BallersAcc2#30
Quote:
Originally Posted by Daarmy View Post
Insight ;)
this : P

und btw was soll denn der quatsch von metelneo1122 jedem ein thanks zu verpassen XD
( kannste mir ja uch gleich ma eins geben ) xD