[D2NT] Public Botten for Dummies

09/12/2010 13:48 jeanschris#241
Quote:
Originally Posted by lanara View Post
Code:
function NTMain()
{
   
   Include("libs/common/NTCommon.ntl");
   NTC_IncludeLibs();
   NTC_IncludeConfig("NTBot/char_configs");

   NT_LoadConfig();
   NTSI_LoadNIPFiles("NTBot/item_configs");

   NTA_Initialize(); 
   
   RegisterEvent(EVENT_GAMEMSG, NT_GameMsgEvents);

   if(!NTTM_CheckAct())
   {
      NTC_SendMsgToScript("NTBotGame.ntj", "NTTM_CheckAct()");
      return;
   }
    if(!NTM_TakeWaypoint(111))
    {
        NTC_SendMsgToScript("NTBotGame.ntj", "NTM_TakeWaypoint()");
        return;
    }
    NTP_DoPrecast(true);
   if(me.areaid != 109)
   {
   if(!NTTM_TownMove("waypoint"))
   {
      NTC_SendMsgToScript("NTBotGame.ntj", "NTTM_TownMove()");
      return;
   }

   if(!NTM_TakeWaypoint(109))
   {
      NTC_SendMsgToScript("NTBotGame.ntj", "NTM_TakeWaypoint()");
      return;
   }
   }
       
   NTTMGR_TownManager();
   
   NTTM_TownMove("portalspot");

   for(i = 0; i <= 100; i++)
   {
      if(NTC_InMyParty(NTConfig_Leader))
         break;

      Delay(200);
   }

   while(me.areaid == 109 && NTC_InMyParty(NTConfig_Leader))
   {
            if(NTConfig_CoLeechTPMsg == "")
                NTM_UsePortal("BluePortal", 131, NTConfig_Leader); // 50
      Delay(1000);
       
   }
   NTA_ClearPosition(20, true, 2);
   NTP_DoPrecast(false);

   while(NTC_InMyParty(NTConfig_Leader))
   {
   
   NT_ClearThroneInt();

   while(1)
   {
      if(me.classid == NTC_CHAR_CLASS_PALADIN || me.classid == NTC_CHAR_CLASS_BARBARIAN)
         NTM_MoveTo(me.areaid, 15092, 5028);
      else
         NTM_MoveTo(me.areaid, 15089, 5010);

      if(me.GetState(2))
         NTC_PutSkill(109, NTC_HAND_RIGHT);

      for(i = 0 ; i < 6 ; i++)
      {
         _wave = NT_ThroneCheckInt();
         if(_wave > 0)
            break;

         NTC_Delay(500);
      }

      _starttick = GetTickCount();

      while(_wave == 0)
      {
         if(!NT_ThronePreAttackInt())
            NTC_Delay(200);

         if(GetTickCount()-_starttick > 15000)
         {
            NT_ClearThroneInt();

            _starttick = GetTickCount();
         }

         _wave = NT_ThroneCheckInt();
      }

      switch(_wave)
      {
      case 1: 
         NTA_ClearPosition(40, true, 2); 
         NTP_DoPrecast(true); 
         break; 
      case 2: 
         NTM_MoveTo(me.areaid, me.x, me.y-1); 
         NTA_ClearPosition(40, true); 
         NTTMGR_CheckSafe(NTConfig_CheckSelfSafe, NTConfig_CheckMercSafe); 
         break; 
      case 3: 
         NTM_MoveTo(me.areaid, me.x, me.y-1); 
         NTA_ClearPosition(40, true, 2); 
         NTSI_PickItems();
         NT_CheckHydraInt(); 
         break; 
      case 4: 
         NTM_MoveTo(me.areaid, me.x, me.y-1); 
         NTA_ClearPosition(40, true, 2); 
         break; 
      case 5: 
         NTM_MoveTo(me.areaid, me.x, me.y-1); 
         NTA_ClearPosition(40, true, 2); 
         break;
      default:
         NTA_ClearPosition(40, true, 1);
         break;
      }

      if(_wave == 5)
         break;
   }

   if(NTConfig_KillBaal)
   {
      var _portal;

      if(!NTTMGR_CheckSafe(NTConfig_CheckSelfSafe, NTConfig_CheckMercSafe))
      {
         NTC_SendMsgToScript("NTBotGame.ntj", "NTTMGR_CheckSafe()");
         return;
      }

      NTM_MoveTo(me.areaid, 15092, 5010);

      NTP_DoPrecast(true);

      while(NTC_FindUnit(NTC_UNIT_MONSTER, 543))
         NTC_Delay(500);

      _portal = NTC_FindUnit(NTC_UNIT_OBJECT, 563, 1);

      if(!_portal)
      {
         NTC_SendMsgToScript("NTBotGame.ntj", "NTC_FindUnit()");
         return;
      }

      if(!NTM_UsePortal("Portal", 132, null, _portal))
      {
         NTC_SendMsgToScript("NTBotGame.ntj", "NTM_UsePortal()");
         return;
      }

      NTM_MoveTo(me.areaid, 15138, 5916);
            NTA_Initialize()
            
      if(!NTA_KillMonster(544))
      {
         NTC_SendMsgToScript("NTBotGame.ntj", "NTA_KillMonster()");
         return;
      }

      NTSI_PickItems();
   }

   }

   NTC_SendMsgToScript("NTBotGame.ntj", "SCRIPT_END");

}


// Internal function
function NT_ClearThroneInt()
{
    var _attackpos = [15083, 5014, 15092, 5028, 15107, 5059, 15081, 5056, 15095, 5067];

    for(var i = 0 ; i < _attackpos.length ; i += 2)
    {
        NTM_MoveTo(me.areaid, _attackpos[i], _attackpos[i+1]);

        NTA_ClearPosition(30, true, 2);
    }
    NTM_MoveTo(me.areaid, 15093, 5041);
    NTA_ClearPosition(50, true, 2);
}

function NT_ThroneCheckInt()
{
    var _monster;

    if(!NTC_FindUnit(NTC_UNIT_MONSTER, 543))
        return 5;

    _monster = NTC_FindUnit(NTC_UNIT_MONSTER);

    if(_monster)
    {
        do
        {
            if(NTA_IsValidMonster(_monster))
            {
                if(_monster.classid == 23 || _monster.classid == 62)
                    return 1;

                if(_monster.classid == 105 || _monster.classid == 381)
                    return 2;

                if(_monster.classid == 557)
                    return 3;

                if(_monster.classid == 558)
                    return 4;

                if(_monster.classid == 571)
                    return 5;
            }
        } while(_monster.GetNext());
    }

    return 0;
}

function NT_ThronePreAttackInt()
{
    if(me.classid == NTC_CHAR_CLASS_SORCERESS)
    {
        if(NTConfig_AttackSkill[3] == 56 || NTConfig_AttackSkill[3] == 59)
            return NTC_CastSkill(NTConfig_AttackSkill[3], 0, 15092, 5028);
    }
    else if(me.classid == NTC_CHAR_CLASS_PALADIN)
    {
        if(NTConfig_AttackSkill[3] == 112)
        {
            if(NTConfig_AttackSkill[4] > 0)
                NTC_PutSkill(NTConfig_AttackSkill[4], NTC_HAND_RIGHT);

            return NTC_CastSkill(NTConfig_AttackSkill[3], 2);
        }
    }
    return false;
}

function NT_CheckHydraInt()
{
    var _hydra1, _hydra2, _hydra3;

    _hydra1 = NTC_FindUnit(NTC_UNIT_MONSTER, 351);
    _hydra2 = NTC_FindUnit(NTC_UNIT_MONSTER, 352);
    _hydra3 = NTC_FindUnit(NTC_UNIT_MONSTER, 353);

    if((_hydra1 && _hydra1.GetStat(172) != 2 && _hydra1.GetState(105))
        || (_hydra2 && _hydra2.GetStat(172) != 2 && _hydra2.GetState(105))
        || (_hydra3 && _hydra3.GetStat(172) != 2 && _hydra3.GetState(105)))
    {
        NTM_MoveTo(me.areaid, 15118, 5002);

        if(me.GetState(2))
            NTC_PutSkill(109, NTC_HAND_RIGHT);

        NTC_PingDelay(5000);
    }
}

function NT_GameMsgEvents(msg, type)
{
    if(type == 0 && msg.indexOf(NTConfig_Leader) != -1 && msg.indexOf(NTConfig_CoLeechTPMsg) != -1 && NTConfig_CoLeechTPMsg != "")
    {
        while(me.areaid == 109)
        {
            NTM_UsePortal("BluePortal", 131, NTConfig_Leader);    
        }
    }
}










ty aber nun bekomme ich die meldung

nttm townmove failed
09/12/2010 14:17 lanara#242
Ja das kommt davon, wenn mans nicht testet. *hust* :o

09/12/2010 16:54 Vilsa-Limette#243
HI

Ich habe heute Overnight deinen Bot druchlafuen lassen und als ich dann aufgestanden bin um die Drops zu checken hatte Diablo Keine Rückmeldung.
D.h. der Bot hat in 10-12h gerade mal 60 Baalruns gemacht :(
Dieses Problem hatte ich jetzt wohl schon rund vierten mal, anfangs dachte ich es sei ne einmaliege Sache aber es geht immer so weiter...

Müsste der Manager da nicht eigentlich nen Restart machen?
09/12/2010 17:37 lanara#244
Kann ich wie gesagt nicht wirklich viel dazu sagen, da ich das bei mir noch nicht hatte. :/ Mit welchen Chars hast du denn das Problem, wo hängt sich das Spiel auf? Hast du vllt. zuviele Sachen nebenher laufen?
09/12/2010 18:04 Vilsa-Limette#245
Quote:
Originally Posted by lanara View Post
Kann ich wie gesagt nicht wirklich viel dazu sagen, da ich das bei mir noch nicht hatte. :/ Mit welchen Chars hast du denn das Problem, wo hängt sich das Spiel auf? Hast du vllt. zuviele Sachen nebenher laufen?
char pala
beim game leaven
nein hab ich nicht
09/12/2010 20:49 jeanschris#246
Quote:
Originally Posted by Vilsa-Limette View Post
char pala
beim game leaven
nein hab ich nicht
das problem haben viele hier



ich habe schon länger das problem das der bot unglaublich viele joinbugs hat manchmal jedes dritte game obwohl ich genug zeit im channel verbringe beim öffnen danach geht es meist wieder


woran kann es liegen?
mir gehen dadurch dauernd die leecher flöten =(
09/14/2010 02:29 zombie1988#247
juten abend oder morgen is ja egal ich hab mich hier grad übr die ersten 20 seien gelesen und nix zu meinem problem gefunden und mien problem is ganz einfach hab als leader nen hdin und 2 co leencher einma nen baba hab ihm ne eni angezogen weil er kämpfen sollte und mir da nix anders bekannt is das er mit prügelt und de 2te is ne bowi forstpfeil multi strafe dex as can dex builde (auch ne eni an um eni bug zu umgehen :X ) der baba rennt bzw telt jut mit nur die ama rennt immer nur sinnlos in de stadt rum und kauft pfeile bzw kauft ne kampfaxt die das inventar verstopft dann hab ich die ama nur als lencher laufen lassen und habe das selbe problem am anfang vom spiel haut sie die pfeile raus kauft neue geht ma kurz in trohnsaal und kauf dann wieder welche bis inventar vol is is das bekannt bzw kann mir da wer helfen ich hab keinen plan woran es liegen kann

mgf
09/14/2010 13:43 Vilsa-Limette#248
Problem: Bin gerade vonner Schule (Ein ort der Freude :)) zurück gekommen und wollte ma gucken wie viele Runs mein lieber lieber Pala mitm D2nt4Dummies gemacht hat. Volgendes kam dabei heraus: Diablo 2 (Keine Rückmeldung).
In 6 Stunden 45 Runs gemacht xD.
Ich weiss du (lanara) kannst das Problem nicht lösen, da es dir nicht bekannt ist
aber ichv erstehe nicht wiso ich und viele anderen es haben aber du nicht.

Frage: Da ich dieses Problem nicht bei der D2ntversion vom Sterenlooper habe, habe ich mich gefragt ob ich nicht ein paar von den confics im D2nt4Dummies in den Sternenlooper packen kann?
Es ist von volgenden Scripst die Rede:
NTBot.ntj
NTBaal.ntj
und die Charcinfic vom Pala.
Kann ich diese Scripts von dir in den Sternenlooper packen ohne mit Fehlermeldungen etc... rechnen zu müssen?

Ty
09/14/2010 15:25 lanara#249
Quote:
Originally Posted by Vilsa-Limette View Post
Kann ich diese Scripts von dir in den Sternenlooper packen ohne mit Fehlermeldungen etc... rechnen zu müssen?
Sollte eigentlich gehn, da mein Bot ja auf dem von Sternenlooper basiert. Denk aber dran auch die Pickit mit zu übernehmen/ändern, sonst hebt der Bot auch keine Tränke auf.

@zombie1988: Zu Bow Ama kann ich nix sagen, da ich keine habe. Was den Enigma betrifft, du kannst bei den Co-Fightern auch NTConfig_Leech auf true stellen und damit den Enigmabug umgehen, falls du mit Chars ohne Eni/Tele spielst.
09/14/2010 17:07 jeanschris#250
Ich habe das im Sternenlooper schon probiert.

Damit passiert es auch noch aber nurnoch halb so oft.
09/16/2010 01:43 smarsch666#251
hm den channel joint der Bot bei mir .login schreibt er auch aber gamename nich ...

was mach ich falsch ?!
09/16/2010 09:13 lanara#252
Quote:
Originally Posted by smarsch666 View Post
hm den channel joint der Bot bei mir .login schreibt er auch aber gamename nich ...

was mach ich falsch ?!
Das schreibt er erst nach dem 1. Spiel.
09/16/2010 17:29 smarsch666#253
bei mir schreibt er gar nix -.-

kann mir wer die zeilen mal schicken wie sie ausgefüllt werden müssen ? hab irgendwie scho tausend mal probiert :(
09/16/2010 20:19 jeanschris#254
Quote:
Originally Posted by smarsch666 View Post
bei mir schreibt er gar nix -.-

kann mir wer die zeilen mal schicken wie sie ausgefüllt werden müssen ? hab irgendwie scho tausend mal probiert :(
channelUsers.push("DoomRider"); // Hier deinen Account Name eintragen
channelUsers.push("DoomRider"); // Hier deinen Char Name eintragen


hast du da deinen charnamen eingetragen?

in der NTBot.ntj
09/16/2010 21:35 smarsch666#255
ja acc und char name hab ich in die jeweiligen zeilen eingetragen