Welcome to Chaox.us
Diablo 2 LOD Battle.net US East Ladder Channel: Clan ChX
Don't forget to favorite www.Chaox.us
 
Clan ChxClan Chx  HomeHome  Log inLog in  RegisterRegister  

Share | 
 

 Having Bot Trouble

View previous topic View next topic Go down 
AuthorMessage
ArguedStar
Active Member
Active Member
avatar

Posts : 33
Registered : 2012-02-17

Nick-Name : AC

PostSubject: Having Bot Trouble   5/30/2012, 10:02 pm

i need a copy of Etal bot NTBotGame file cuz something happen nd its not working anymore...
Back to top Go down
Kyle
Administrator
Administrator
avatar

Posts : 3709
Registered : 2007-10-03

Nick-Name : Kyle/Kail

PostSubject: Re: Having Bot Trouble   5/30/2012, 10:48 pm

Code:
var CurScriptIndex = 0;
var LastScript = false;
var Rev = "911.P-HF988";

// Provalone Edit //
//Include("libs/common/NTExp.ntl");
//NTE_InitializeStats();
//
var SoJNotify = false;
var CloneDiabloString = GetLocaleString(11005);
var SoJString = GetLocaleString(11004).substr(3);
var CloneDiabloNotify = false;
var SoJNotify = false;
var SoJElapsedTime = 0;

function D2NTStatus(where, time, message) { return SendCopyData('D2NT Manager', null, where << 16 | time, message); }
function NTMain()
{
   Delay(1000);

   //Print(COLOR_4 + "[+] NTBot 4.2 [+]");

   Include("libs/common/NTCommon.ntl");
   NTC_IncludeLibs();
   NTC_IncludeConfig("NTBot/char_configs");
   Include("libs/common/NTExp.ntl");

   NT_LoadConfig();
   NTE_InitializeStats();

   if(NTConfig_FreeSpace == 0)
      Print(COLOR_2 + "Please don't forget to set NTConfig_FreeSpace in your character config to avoid your inv filling");
   
   NT_ClearMessages(); // leech improvements
   
   NTSI_LoadNIPFiles("NTBot/item_configs");

   // ubi21 Enigma reset start
   ////////////////////////////
   NTU_LogExitStatus("F");

   // ubi21 Enigma reset end
   ////////////////////////////   

   if(NTConfig_StartDelay > 0);
      NTC_Delay(NTConfig_StartDelay);

   GetPath(me.areaid, me.x, me.y, me.x, me.y, true);

   SetUIState(0x0A, true);

   // ubi21 Enigma reset start
   ////////////////////////////   
   if(!NTT_PutBackEnigma()) {
      NTC_Delay(240000); // Wait 4 mins to prevent r/d 240000
      ExitGame();
   }
   // ubi21 Enigma reset end
   ////////////////////////////   

   if(NTConfig_CheckPassword && !me.gamepassword){
      Print(COLOR_1 + "1No password found exiting game");//s
      NTC_SendLogToOOG(NTC_LOG_COMMON, COLOR_1 + "Exiting Game- No Password");
      NTC_Delay(2000);      
      ExitGame();
   }

   NTT_GetCorpses();

   if(NTConfig_Script.length > 0)
   {
      NTCU_InitCubing();

      NTT_ClearInventory();
      NTT_ClearBelt();

      // ubi21 Enigma reset start
      ////////////////////////////      
      if(!NTT_LookForEnigma()) {
         if (GetUIState(0x01))
            SetUIState(0x01, false);   
         NTC_Delay(240000); // Wait 4 mins to prevent r/d 240000
         ExitGame();      
      }
      // ubi21 Enigma reset end
      ////////////////////////////

      if(NTConfig_GoWestFromLut){ // if bot starts in act 2 use warriv to go to act 1
         GoWestFromLutGholein();
      }

      Load("NTBot/tools/NTToolsThread.ntj");

      if(NTConfig_KillHostilePlayer)
         Load("NTBot/tools/NTHostileWatch.ntj");
      if(LogHostiles)
         Load("NTBot/tools/NTHostileCatch.ntj");
      if(DPSMeter)
         Load("NTBot/tools/DPS.ntj");

      RegisterEvent(EVENT_GAMEMSG, NT_GameMsgEvents);
      RegisterEvent(EVENT_KEYDOWN, NT_KeyEvents);
      RegisterEvent(EVENT_SCRIPTMSG, NT_ScriptMsgEvents);

      Load("NTBot/bots/" + NTConfig_Script[CurScriptIndex]);
      SetStatusText(Rev + " "+ NTConfig_Script[CurScriptIndex]);

      Include("libs/common/NTSnagit.ntl");
      NTSI_ClearIgnoredItems();

      NTC_LogCurScript(NTConfig_Script[CurScriptIndex]);//jinay item log

      var leaderParty = false;
      
      while(!LastScript || CloneDiabloNotify || SoJNotify || NTC_InMyParty(NTConfig_Leader)) // SoJNotify is a part of soj addon
      {
         NTC_Delay(1000);
         
         for(var i = 0 ; i < NTConfig_Script.length && !leaderParty ; i++)
         {
            if(NTConfig_Script[i].toLowerCase().indexOf("leech") != -1)
            {
               for(var j = 0 ; j < 15 && !NTC_InMyParty(NTConfig_Leader) ; j++)
                  Delay(1000);
               
               if(NTC_InMyParty(NTConfig_Leader))
               {
                  leaderParty = true;
               }
               else
               {
                  NTC_PrintPossibleLeaders();
                  Print(COLOR_1 + "Can't find leader!");
                  Delay(500);
                  Print(COLOR_1 + "You either have it spelled or cased wrong");
                  Delay(500);
                  Print(COLOR_1 + "Or leader is not in game");
                  Delay(500);
                  Print(COLOR_1 + "Check logs/namelog/" + me.charname + "-leaderName.txt for possible leader names from this game"); // this should print a list of all toons in game so people can C/P if they are having probs
                  Delay(1500);
                  ExitGame();
               }
               break;
            }
         }
      
         if(leaderParty && !NTC_InMyParty(NTConfig_Leader)){
            NTE_ComputeStats(false);
            Delay(350);
            _Checkscript = GetScript();
            if(_Checkscript){
               NTC_StopScriptLeecher();
               Delay(150);   
            }         
            NTC_CancelMenus();
            Delay(NTConfig_LeechExitDelay);            
            ExitGame();
         }

         // soj addon by kolton
         if(SoJNotify)
         {
            SoJElapsedTime += 1;
            
            if(LastScript)
            {
               NTTM_CheckAct();
               SetStatusText(COLOR_4 + "Waiting for SoJ sales... " + COLOR_0 + (NTConfig_SoJWaitTime*60-SoJElapsedTime));
            }
            
            if(SoJElapsedTime >= NTConfig_SoJWaitTime*60)
               SoJNotify = false;
         }
         // soj addon end
      }
   }

   // Provalone Edit
   NTE_ComputeStats(false);
   //
   if(NTConfig_PublicMode && NTConfig_PropsForEtal > 0) {
      Include("NTBot/char_configs/EtalPR.ntl");
      for(var i = 0 ; i < NTConfig_PropsForEtal ; i++) {
         Say(NTC_RandomSelect(etalSpam));
         Delay(1500);
      }
      Say("Check out d2etal.com");
      Delay(1000); // change this to 1 second
   }
   ExitGame();
}

function NT_GameMsgEvents(msg, type)
{

   // ubi21 Enigma reset start
   ////////////////////////////
   var _holdPauseCheck = "";
   // ubi21 Enigma reset end
   ////////////////////////////

   _area = GetArea();   
   
   if(type == 4)
   {
      if(msg.indexOf(CloneDiabloString) != -1)
      {
         CloneDiabloNotify = true;
         SoJNotify = false;

         NTC_SendLogToOOG(NTC_LOG_COMMON, COLOR_4 + CloneDiabloString);
         SetStatusText(COLOR_1 + CloneDiabloString);
         D2NTStatus("Stop", 0, "Stop"); //This is a fake ID itll just interrupt the current status loop. Simple but effective.
         D2NTStatus(8, 0, CloneDiabloString);
         me.maxgametime = 0;

         // ubi21 Enigma reset start
         ////////////////////////////

         _holdPauseCheck = NTU_GetExitStatus();
         while(_holdPauseCheck == "T") {
            NTC_Delay(500);
            _holdPauseCheck = NTU_GetExitStatus();
         }
         // ubi21 Enigma reset end
         ////////////////////////////

         NTC_StopScript(NTConfig_Script[CurScriptIndex]);
         NTC_Delay(500);

         NTTM_CheckAct();
      }
      else if(msg.indexOf(SoJString) != -1 && !CloneDiabloNotify && NTConfig_SoJWaitTime > 0)
      { // part of soj addon. !CloneDiabloNotify was added to prevent timer start on oversales after Diablo walks.
         SoJNotify = true;
         SoJElapsedTime = 0;
         
         NTC_SendLogToOOG(NTC_LOG_COMMON, COLOR_4 + msg);
         
         me.maxgametime = 0;
      }
   }

   else if(type == 1 && (msg.toLowerCase().indexOf("d2nt") != -1 || msg.toLowerCase().indexOf("error") != -1 || msg.toLowerCase().indexOf("fail") != -1))
   {
      var date = new Date().toLocaleFormat("<%a, %b %d, %H:%M>");
      var logfile = FileOpen("logs/errorlog/"+me.charname+"-errorlog.txt", 2);
      if(!logfile)
         var logfile = FileOpen("logs/errorlog/"+me.charname+"-errorlog.txt", 1);

      logfile.WriteLine(date + " - " + msg);
      logfile.Close();
   }

   else if(type == 1 && (msg.toLowerCase().indexOf("skipped") != -1 ))
   {
      var date = new Date().toLocaleFormat("<%a, %b %d, %H:%M>");
      var logfile = FileOpen("logs/skiplog/"+me.charname+"-skiplog.txt", 2);
      if(!logfile)
         var logfile = FileOpen("logs/skiplog/"+me.charname+"-skiplog.txt", 1);

      logfile.WriteLine(date + " - " + msg + " ( " + _area.name + " ) ");
      logfile.Close();
   }
   else if(type == 0 && msg.indexOf(NTConfig_Leader) != -1){ // leech improvements
      if(msg.indexOf(NTConfig_TakeTpBaal) != -1){ // all baal leech scripts will use the same one
         //Print(COLOR_8 + "received take baal take tp message")         
         NT_File("logs/messagecomands/"+me.charname+"-baal.txt", 1, "takebtp")
      }
      else if(msg.indexOf(NTConfig_GrabShrine) != -1){ // so you can set the var for grabbing shrine different from the take tp one
         //Print(COLOR_8 + "received take shrine message")
         NT_File("logs/messagecomands/"+me.charname+"-baal.txt", 1, "grabshrine")
      }
      else if(msg.indexOf(NTConfig_TakeTpDiablo) != -1){ // all diablo leech scripts will use the same one
         //Print(COLOR_8 + "received take diablo tp message")         
         NT_File("logs/messagecomands/"+me.charname+"-diablo.txt", 1, "takedtp")
      }
      else if(msg.indexOf(NTConfig_TakeTpTravincal) != -1){ // all diablo leech scripts will use the same one
         //Print(COLOR_8 + "received take travincal tp message")                  
         NT_File("logs/messagecomands/"+me.charname+"-trav.txt", 1, "takettp")
      }
      // add in something here that if leader recieves a message indexOf("entered") it will send the join game message.  make sure it is something specific to entered battlenet message
   }

}

function NT_KeyEvents(keycode)
{
   var _script;

   switch(keycode)
   {
   case 19:   //Pause/Break
      _script = NTC_FindScript(NTConfig_Script[CurScriptIndex]);
      if(_script)
      {
         if(_script.running)
         {
            _script.Stop();
            NT_ClearMessages();
            NTC_Delay(300);
            ClickMap(NTC_CLICK_LUP, NTC_SHIFT_NONE, null);

            SetStatusText(COLOR_1 + Rev + "    Paused " + NTConfig_Script[CurScriptIndex]);
         }
         else
         {
            Load("NTBot/bots/" + NTConfig_Script[CurScriptIndex]);
            SetStatusText(Rev + "  " + NTConfig_Script[CurScriptIndex]);
         }
      }
      break;

   case 33: //Page Up
      _script = NTC_FindScript(NTConfig_Script[CurScriptIndex]);

      if(_script.running)
      {
         _script.Stop();
         NT_ClearMessages();
         NTC_Delay(300);
         ClickMap(NTC_CLICK_LUP, NTC_SHIFT_NONE, null);

         SetStatusText(COLOR_11 + Rev + "    Stopped " + NTConfig_Script[CurScriptIndex]);
         break;
      }
      else
      {
         for(i=0; i<NTConfig_Script.length-1; i++)
         {
            if(CurScriptIndex < NTConfig_Script.length-1)
               CurScriptIndex++;
            else
               CurScriptIndex = 0;
         }

         SetStatusText(COLOR_14 + Rev + "    Back to " + NTConfig_Script[CurScriptIndex]);
         break;
      }

   case 34:   //Page Down
      _script = NTC_FindScript(NTConfig_Script[CurScriptIndex]);
   
      if(_script.running)
      {
         _script.Stop();
         NT_ClearMessages();
         SetStatusText(COLOR_11 + Rev + "    Stopped " + NTConfig_Script[CurScriptIndex]);
      }
         else if(++CurScriptIndex < NTConfig_Script.length)
            SetStatusText(COLOR_14 + Rev + "    Skipped to " + NTConfig_Script[CurScriptIndex]);
         else if(++CurScriptIndex >= NTConfig_Script.length)
         {
            CurScriptIndex = 0;
            SetStatusText(COLOR_2 + Rev + "    Skipped to " + NTConfig_Script[CurScriptIndex]);
         }
         break;
   case 97:   //1 (Num Lock)
      {
         NTU_DropItems();
      }
      break;
   case 98:   //2 (Num Lock)
      {
         NTU_DevelopementTools();
      }
      break;
   case 99:   //3 (Num Lock)
      {
         NTU_LogPrint("logs/testlog/"+me.charname+"-Coords.txt", " New Coord[" + me.x + ", " + me.y + "] " );
      }
      break;
   case 100:   //4 (Num Lock)
      {
         NTU_KeyPressList();
      }
      break;
   case 101:   //5 (Num Lock)
      {
         NTU_TLInventory();
      }
      break;
   case 102:   //6 (Num Lock)
      {
         NTU_CursorILvl();
      }
      break;
   case 105:   //9 (Num Lock)
      {
         NTU_CheckMyStats();
      }
      break;
   case 106:   //* (Num Lock)
      {
         NTU_CheckCoord();
      }
      break;
   case 107:   //+ (Num Lock)
      {
         NTU_TLNipCheck();
      }
      break;


   }
}

function NT_ScriptMsgEvents(msg)
{
   var _area;

   switch(msg)
   {
   case "QuitGame":
      NTC_StopScript(NTConfig_Script[CurScriptIndex]);
      NTC_CancelMenus();
      LastScript = true;
      break;
   case "HOSTILE":
      NTC_SendMsgToScript(NTConfig_Script[CurScriptIndex], "pause");
      break;
   case "SCRIPT_END":
      if(++CurScriptIndex < NTConfig_Script.length)
      {
         NTTM_CheckAct();
         Load("NTBot/bots/" + NTConfig_Script[CurScriptIndex]);
         SetStatusText(Rev + "  " + NTConfig_Script[CurScriptIndex]);
         NTC_LogCurScript(NTConfig_Script[CurScriptIndex]);
      }
      else{
         LastScript = true;


      }

      break;
   default:
      Print(COLOR_1 + NTConfig_Script[CurScriptIndex] + " : " + msg + " failed");

      _area = GetArea();

      if(_area)
         NTC_SendLogToOOG(NTC_LOG_COMMON, COLOR_1 + NTConfig_Script[CurScriptIndex] + " : " + msg + " failed (" + _area.name + ")");
      else
         NTC_SendLogToOOG(NTC_LOG_COMMON, COLOR_1 + NTConfig_Script[CurScriptIndex] + " : " + msg + " failed (unknown area)");

      if(++CurScriptIndex < NTConfig_Script.length)
      {
         NTTM_CheckAct();
         Load("NTBot/bots/" + NTConfig_Script[CurScriptIndex]);
         SetStatusText(Rev + "  "  + NTConfig_Script[CurScriptIndex]);
         NTC_LogCurScript(NTConfig_Script[CurScriptIndex]);
      }
      else
         LastScript = true;
      break;
   }
}

function NT_ClearMessages(){ // leech improvemetst
   for(var i = 0 ; i < NTConfig_Script.length ; i++){
      if(NTConfig_Script[i].toLowerCase().indexOf("leech") != -1){
         if(NTConfig_Script[i].toLowerCase().indexOf("baal") != -1){
            NT_File("logs/messagecomands/"+me.charname+"-baal.txt", 1, " ");
         }
         if(NTConfig_Script[i].toLowerCase().indexOf("diablo") != -1){
            NT_File("logs/messagecomands/"+me.charname+"-diablo.txt", 1, " ");
         }
         if(NTConfig_Script[i].toLowerCase().indexOf("trav") != -1){
            NT_File("logs/messagecomands/"+me.charname+"-trav.txt", 1, " ");
         }
      }
   }
}

function NTC_CancelMenus() { // more koreans
   while (GetUIState(0x01) || GetUIState(0x08) || GetUIState(0x0C) || GetUIState(0x0F) || GetUIState(0x14) ||
      GetUIState(0x17) || GetUIState(0x19) ||  GetUIState(0x1A) || GetUIState(0x24)){   
      
      for (var i = 0; i < 40; i++){
         if ((i % 20) == 0){
            me.Cancel(1);
         }
         Delay(100);
         if (!GetUIState(0x01) && !GetUIState(0x08) && !GetUIState(0x0C) && !GetUIState(0x0F) && !GetUIState(0x14) &&
               !GetUIState(0x17) && !GetUIState(0x19) &&  !GetUIState(0x1A) && !GetUIState(0x24)){
            
            NTC_PingDelay(300);
            break;
         }
      }
   }
}

function NTC_StopScriptLeecher(){      
   _script = NTC_FindScript(NTConfig_Script[CurScriptIndex]);
   if(_script){
      if(_script.running){
         _script.Stop();
         NTC_Delay(150);
         ClickMap(NTC_CLICK_LUP, NTC_SHIFT_NONE, null);
      }
   }
   return;
}

function NTC_PrintPossibleLeaders()
{
   var _player;
   var _myPartyId;

   _player = GetPlayerUnit();

   if(_player)
   {
      do
      {
         if( _player.name == me.name)
            continue;
         NTC_LogPrintSimple("logs/namelog/"+me.charname+"-leaderName.txt", _player.name);         
      } while(_player.GetNext());
   }
   return false;
}

_________________

~I survived the 2012 apocalypse~
Back to top Go down
http://www.d2chaox.com
 
Having Bot Trouble
View previous topic View next topic Back to top 
Page 1 of 1
 Similar topics
-
» Trouble with Muggers
» Chinese ID problem
» (Fixed) Malkavian lines in Tv broadcast
» Online Hosting Trouble?????
» Trouble sniping

Permissions in this forum:You cannot reply to topics in this forum
Clan Chx :: Games :: Diablo II-
Jump to: