September 02, 2014, 02:47:59 PM

Author Topic: etal bot strange issue..  (Read 6995 times)

Darkness

  • Guest
etal bot strange issue..
« on: March 12, 2011, 09:50:06 AM »
Not a very big one, but issue nonetheless..  for some reason, and not sure what codes even to list, my bot will not end the game unless it hits the max time. With that, it either waits for a while, or ends prematurely. Any ideas? or even an idea as to what scripts to look in or post?

cky3_17

  • Guest
Re: etal bot strange issue..
« Reply #1 on: March 12, 2011, 10:10:06 AM »
ok i LITERALLY just posted the same issue. i hope we get some answers O.o

Offline cooptheking03

  • D2NT Specialist
  • Big Boss Man
  • PureKaoz HeRo
  • *******
  • Posts: 1710
  • Reputation 4
  • I Run This Chizz
    • View Profile
Re: etal bot strange issue..
« Reply #2 on: March 12, 2011, 12:58:37 PM »
Apparently from doing a little research this is a KNOWN bug in etalbot. Apparently if you run another script (pindle/eldritch/shrenk) it 'fixes' this issue.
*if etal is so much better...why does it have a bug like this..LOL*(sorry im a d2nt user myself)
I do not know MUCH about etalbot...however, i can offer some  help
please post a few things...(use the codebox and you will probalby have to do it in several posts)
Character configuration file
NTBot.ntj
NTBotGame.ntj
NTToolsThread.ntj
I Do Not Do Support Via PM.
I Can Help Xfer Anycore/Anyrealm/Anytime.
PM me here or on JSP : TheAmazingShac0

PureKaoz.com

Re: etal bot strange issue..
« Reply #2 on: March 12, 2011, 12:58:37 PM »

Darkness

  • Guest
Re: etal bot strange issue..
« Reply #3 on: March 12, 2011, 03:10:28 PM »
nt bot:
Code: [Select]
///////////////////////////////////////////////////
//        characters in your game setting: //
///////////////////////////////////////////////////
var characterdiff        =  "70"; //use this to keep those pesky spam bots out of the f'ing game
//note you must manually hit the check box the first time for this to work
var maxNumberOfPlayersss = "8"; //use this to set the maximum number of players allowed in your game

///////////////////////////////////////
//        Channel Settings:      // //These controll what if any channel you join
///////////////////////////////////////
var joinChatAfterGame = true; // join chat after leaving a game
var joinRandomChannel = false; // if this is true, will join a random channel, otherwise it will use the channel below..
var joinChannelInChat = "blah blah"; // Channel you want your bot to join, leave blank to not join a private channel

///////////////////////////////////////
//        Message Settings:      // // These controll what your bot sais to the leechers will also send a log incommand to a channel bot
///////////////////////////////////////
var chatMessageOnJoin = ""; // Chat Message to say Login command for channel bot will only be sent once
var chatMessageAfterGame1 = ".."; // Optional chat message Line #1 to say after each game on Channel
var chatMessageAfterGame2 = ""; // Optional chat message Line #2 to say after each game on Channel
var chatMessageAfterGame3 = ""; // Optional chat message Line #3 to say after each game on Channel
var chatMessageAfterGame4 = "Next Game Will Soon Begin.."; // Optional chat message Line #4 to say after each game on Channel
var chatMessageAfterGame5 = ""; // Optional chat message Line #5 to say after each game on Channel

/////////////////////////////////////// // These will let you send a message with a game name password and time to your leechers
//      Game Message Settings:       // // var saygamename must be true for any of these to work
/////////////////////////////////////// // You cant NOT have a - in you game name it will bug it out
var saygamename = true; // Must be true for any of the game message settings to work
var nextgamemessage = "next game should be"; // This will come befor your next game name eg "New game is"
var saypassword = true; // This will togle if the bot says your game pw
var saytime = true; // This will togle if the bot says how much time till creation
var timemessage = "in about"; // This will come after your pw and befor the time eg. "in about" xx seconds say time MUST be true for this to be used

//////////////////////////////////////
//       Minimum Game Length:       //
//////////////////////////////////////

var gameMinLength = 120000; // time in milliseconds, minimum game length, 180 seconds default (1 game/3 minutes)

////////////////////////////////////////
//        Connection Settings:        //
////////////////////////////////////////

var unableToConnectRetry = 5; // time in minutes to retry connecting on connection fail (real value is +/- 1 min)
var realmDownRetry = 300; // time in minutes to retry connecting on a realm down (default is 300 minutes)
var disconnectedRetry = 5; // time in minutes to retry on a disconnection (usually ip ban related)
var cdkeyInUseRetry = 5; // time in minutes to retry on a cdkey in use error message (set to 0 to stop)
var connectingToBnetTimeout = 20000; // time in milliseconds to wait for a login to time out and click cancel and retry
var characterScreenTimeout = 10000; // time in milliseconds to wait for character screen to appear
var pleaseWaitTimeout = 10000; // time in milliseconds to wait for a please wait popup
var createGameThreshold = 5000; // time in milliseconds to wait between making games
var createGameThresholdRandom = 1000; // time in milliseconds to randomly add +/- to the game create time
var createGameTimeout = 15000; // time in milliseconds to register a failed to create game
var waitInLineTimeout = 60000; // time in milliseconds to wait in lines for a create game (60 second default)
var characterSelectDelay = 1000; // time in milliseconds to wait before selecting a character on the char screen
var loginDelay = 1000; // time in milliseconds to wait before submitting login information
var clickDelay = 500; // wait X milliseconds before next action after a click event
var textDelay = 500; // wait X milliseconds before next action after inserting text into a textbox
var clickDelayRandom = 500; // random amount of time to add to a click
var textDelayRandom = 500; // random amount of time to add to a text set
var gameDoesNotExistDelayMin = 600000; // how long to wait when a Game Does Not Exist occurs - minimum - default 10 minutes
var gameDoesNotExistDelayMax = 900000; // how long to wait when a Game Does Not Exist occurs - maximum - default 15 minutes
var gameDoesNotExistTimeout = 30000; // how long to wait for the dialog to disappear (default 30 seconds, don't change this)
var waitBeforeEnterChatMin = 1000; // min how long to wait before entering chat
var waitBeforeEnterChatMax = 2000; // max how long to wait before entering chat
var waitInChatBeforeActionsMin = 2000; // min how long to wait before joining channel
var waitInChatBeforeActionsMax = 3000; // max how long to wait before joining channel
var waitBeforeNextLineChatMin = 500; // Minimum ammount of time to add after each text line
var waitBeforeNextLineChatMax = 1500; // Maximum ammount of time to add after each text line

// DONT EDIT ANYTHING BELOW THIS

// D2NT Manager Command
const D2NT_MGR_LOADING = 1;
const D2NT_MGR_READY = 2;
const D2NT_MGR_LOGIN = 3;
const D2NT_MGR_CREATE_GAME = 4;
const D2NT_MGR_INGAME = 5;
const D2NT_MGR_RESTART = 6;
const D2NT_MGR_CHICKEN = 7;
const D2NT_MGR_PRINT_STATUS = 8;
const D2NT_MGR_PRINT_LOG = 9;
var alreadyLoggedIn = false; // will only send the login command once leave as unless you want to login everytime you join a channel
var lastGameMade = GetTickCount();
var lastGameStatus = 0;
var nextGameMake = 0;
var inGameAt = 0;
var chatActionsDone = false;
var lastGameFailed = false;
var tempDelay = Random(waitBeforeNextLineChatMin, waitBeforeNextLineChatMax);
var gameInfo = "";
var bugignor = true;
Include("libs/controlInfo.ntl");

var controlData = new controlInfo();

function NTMain()
{
Delay(1000);

var _ingame = false;

controlData.clickDelay = clickDelay;
controlData.textDelay = textDelay;
controlData.clickDelayRandom = clickDelayRandom;
controlData.textDelayRandom = textDelayRandom;

while(1)
{
if(me.ingame)
{
if(!inGameAt)
inGameAt = GetTickCount();

if(!_ingame)
{
RunGC(); // run garbage collector between each game

if(Load("NTBot/NTBotGame.ntj"))
{
_ingame = true;

if(me.playtype > 0)
sendEventToOOG(D2NT_MGR_INGAME, "In Game[IP:" + me.gameserverip.split(".")[3] + "]", 0);
else
sendEventToOOG(D2NT_MGR_INGAME, "In Game", 0);

lastGameStatus = 2; // in game successful
}
}

Delay(1000);
}
else
{
if(_ingame)
{
_ingame = false;

sendEventToOOG(D2NT_MGR_READY, "", 0);
}

locationAction(controlData.getLocation());

Delay(500);
}
}
}

function locationAction(location)
{
switch(location.id)
{
case 3: // Lobby Chat
if(!chatActionsDone)
{
chatActionsDone = true;
Delay(Random(waitInChatBeforeActionsMin, waitInChatBeforeActionsMax));

if(joinRandomChannel || joinChannelInChat != "")
{
Say("/join " + (joinRandomChannel ? getRandomString(Random(3,10)) : joinChannelInChat));
Delay(1000);
if(!alreadyLoggedIn){
    alreadyLoggedIn = true;
if (chatMessageOnJoin.length > 0){
Say(chatMessageOnJoin);
}
}
Delay(500);
chatActionsDone = true;
}
}
case 1: // Lobby
if(location.id == 1 && joinChatAfterGame)
{
Delay(Random(waitBeforeEnterChatMin, waitBeforeEnterChatMax));
controlData.click(controlData.controls.lobby.button.enterChat);
break;
}

if(GetTickCount() > nextGameMake)
{
lastGameFailed = false;

switch(lastGameStatus)
{
case 0:
password = (me.gamepassword);
game = (getGameName(me.gamename));
counter = (getGameCounter(me.gamename, false));
time = (parseInt((nextGameMake - GetTickCount() - tempDelay)/1000+3.0));
if (saygamename){{
gameInfo += nextgamemessage + " " + game + counter;
}
if (saypassword){
gameInfo += "//" + password
}
if (saytime){
gameInfo += " " + timemessage + " " + time + " seconds"
}
}
if(joinChatAfterGame){
if(chatMessageAfterGame1.length > 0){
Say(chatMessageAfterGame1);
if(chatMessageAfterGame1.length > 0){
Delay(tempDelay);
}
}
if(chatMessageAfterGame2.length > 0){
Say(chatMessageAfterGame2);
if(chatMessageAfterGame2.length > 0){
Delay(tempDelay);
}
}
if(chatMessageAfterGame3.length > 0){
Say(chatMessageAfterGame3);
if(chatMessageAfterGame3.length > 0){
Delay(tempDelay);
}
}
if(chatMessageAfterGame4.length > 0){
Say(chatMessageAfterGame4);
if(chatMessageAfterGame4.length > 0){
Delay(tempDelay);
}
}
if(chatMessageAfterGame5.length > 0){
Say(chatMessageAfterGame5);
if(chatMessageAfterGame5.length > 0){
Delay(tempDelay);
}
}
if(saygamename) {
if(bugignor){
bugignor = false;
gameInfo = "";
}
else{
Say(gameInfo)
Delay(tempDelay)
gameInfo = "";
}
}
}
controlData.click(controlData.controls.lobby.button.create);
//controlData.click(controlData.controls.lobby.create.button.useCharacterDifference);//checks the use character diff box...does this every time so no go
controlData.setText(controlData.controls.lobby.create.editBox.characterDifference,(characterdiff)); //level restriction
controlData.setText(controlData.controls.lobby.create.editBox.maxNumberOfPlayers, (maxNumberOfPlayersss)); //max players
nextGameMake = GetTickCount() + createGameTimeout; // set our timeout
sendEventToOOG(D2NT_MGR_PRINT_STATUS, location.name, 0);
break;
case 1: // game failed, rollover to reset timer
inGameAt = GetTickCount(); // reset inGameAt, to wait how long we should have waited..
lastGameFailed = true;
case 2:
outputGameLength();
lastGameStatus = 0;
setNextGameMake();
sendEventToOOG(D2NT_MGR_PRINT_STATUS, location.name, 0);
break;
}
}
else
timeoutDelay(nextGameMake-GetTickCount(), location, true);
break;

case 2: // Waiting In Line
if(GetTickCount()-lastGameMade > waitInLineTimeout)
controlData.click(controlData.controls.lobby.inLine.button.cancel);
break;

case 4: // Create Game
sendEventToOOG(D2NT_MGR_CREATE_GAME, location.name, 0);

locationTimeout(5000, location);

lastGameMade = GetTickCount();
lastGameStatus = 1; // pending creation
break;

case 5: // Join Game
break;

case 6: // Ladder
break;

case 7: // Channel List
break;

case 8: // Main Menu
if(controlData.getCurrentRealmIndex() == me.gatewayid)
{
outputGameLength();
controlData.click(controlData.gameTypes[me.playtype]);
}
else
controlData.click(controlData.controls.mainMenu.button.gateway);
break;

case 9: // Login
sendEventToOOG(D2NT_MGR_PRINT_STATUS, location.name, 0);
Delay(loginDelay);

controlData.setText(controlData.controls.login.editBox.accountName, me.account);

sendEventToOOG(D2NT_MGR_LOGIN, location.name, 0);

locationTimeout(5000, location);
break;

case 10: // Login Error (this is a fatal error, so stop)
sendEventToOOG(D2NT_MGR_RESTART, location.name, 10);
Delay(3500);
break;

case 11: // Unable To Connect
timeoutDelay(unableToConnectRetry*60*1000, location)
controlData.click(controlData.controls.login.unableToConnect.button.ok);
break;

case 12: // Character Select
var _time, _control;

sendEventToOOG(D2NT_MGR_PRINT_STATUS, location.name, 0);

for(_time = 0 ; _time < characterScreenTimeout ; _time += 500)
{
_control = controlData.get(controlData.controls.characterSelect.textBox.characterInfo[me.charloc]);
if(_control && _control.GetText() != undefined)
break;

Delay(500);
}

if(_time < characterScreenTimeout)
{
Delay(characterSelectDelay);

controlData.click(controlData.controls.characterSelect.textBox.characters[me.charloc], 0, 0, 1);
controlData.click(controlData.controls.characterSelect.textBox.characterInfo[me.charloc], 0, 0, 1);

// reset last game made, so it doesnt make a game immediately
inGameAt = 0;
setNextGameMake();
}
else
{
controlData.click(controlData.controls.characterSelect.button.exit);
timeoutDelay(realmDownRetry*60*1000, location);
}
break;

case 13: // Realm Down - Character Select screen
controlData.click(controlData.controls.characterSelect.button.exit);
timeoutDelay(realmDownRetry*60*1000, location);
break;

case 14: // Character Select - Disconnected
timeoutDelay(disconnectedRetry*60*1000, location);
controlData.click(controlData.controls.characterSelect.disconnected.button.ok);
break;

case 15: // New Character
break;

case 16: // Character Select - Please Wait popup
if(!locationTimeout(pleaseWaitTimeout, location))
controlData.click(controlData.controls.characterSelect.pleaseWait.button.cancel);
break;

case 17: // Lobby - Lost Connection - just click okay, since we're toast anyway
controlData.click(controlData.controls.lobby.lostConnection.button.ok);
break;

case 18: // D2 Splash
controlData.click(controlData.controls.d2Splash.textBox.copyright);
break;

case 19: // Login - Cdkey In Use
timeoutDelay(cdkeyInUseRetry*60*1000, location);
controlData.click(controlData.controls.login.cdkeyInUse.button.ok);
break;

case 20: // Single Player - Select Difficulty
controlData.click(controlData.singlePlayerDifficulties[me.diff]);
break;

case 21: // Main Menu - Connecting
if(!locationTimeout(connectingToBnetTimeout, location))
controlData.click(controlData.controls.mainMenu.connecting.button.cancel);
break;

case 22: // Login - Invalid Cdkey (classic or xpac)
sendEventToOOG(D2NT_MGR_RESTART, location.name, 3600);
Delay(3500);
break;

case 23: // Character Select - Connecting
if(!locationTimeout(characterScreenTimeout, location))
controlData.click(controlData.controls.characterSelect.button.exit);
break;

case 24: // Server Down - not much to do but wait..
break;

case 25: // Lobby - Please Wait
if(!locationTimeout(pleaseWaitTimeout, location))
controlData.click(controlData.controls.lobby.pleaseWait.button.cancel);
break;

case 26: // Lobby - Game Name Exists
sendEventToOOG(D2NT_MGR_PRINT_LOG, "?E00000Game already exists", 0);

inGameAt = 0;
lastGameStatus = 0;
setNextGameMake();

locationTimeout(15000, location);
break;

case 27: // Gateway Select
controlData.clickRealmEntry(me.gatewayid);
controlData.click(controlData.controls.gateway.button.ok);
break;

case 28: // Lobby - Game Does Not Exist
inGameAt = Random(gameDoesNotExistDelayMin, gameDoesNotExistDelayMax);
lastGameStatus = 0;
setNextGameMake();

locationTimeout(gameDoesNotExistTimeout, location);
break;
}
}

function sendEventToOOG(locationId, statusString, pendingTime)
{
return SendCopyData("D2NT Manager", null, (locationId<<16)|pendingTime, statusString);
}

function setNextGameMake()
{
lastGameMade = GetTickCount();
nextGameMake = lastGameMade + createGameThreshold + Random(0-createGameThresholdRandom, createGameThresholdRandom) + inGameAt;
inGameAt = 0;
chatActionsDone = false;
}

function outputGameLength()
{
if(inGameAt)
{
duration = GetTickCount() - inGameAt;

inGameAt = (duration < gameMinLength ? gameMinLength - duration : 0);
}
}

function locationTimeout(time, location)
{
endtime = GetTickCount() + time;

while(controlData.getLocation().id == location.id && endtime > GetTickCount())
{
sendEventToOOG(D2NT_MGR_PRINT_STATUS, location.name + " (" + parseInt((endtime-GetTickCount())/1000) + "s)", 0);
Delay(500);
}

return (controlData.getLocation().id != location.id);
}

function timeoutDelay(time, location)
{
endtime = GetTickCount() + time;

while(endtime > GetTickCount())
{
sendEventToOOG(D2NT_MGR_PRINT_STATUS, location.name + " (" + parseInt((endtime-GetTickCount())/1000) + "s)", 0);
Delay(1000);
}
}

function getRandomString(_length)
{
_retString = "";
_charSet = "0123456789abcdefghijklmnopqrstuvwxyz";

while(_length--)
{
_retString += _charSet.charAt(Random(0, _charSet.length-1));
Delay(1);
}

return _retString;
}
function getGameName(lastGameString)
{
   if(!lastGameString)
      return "";
   else
      return (lastGameString.split("-")[0] + "-");
}

function getGameCounter(lastGameString, simple)
{
   var myCount;
   if(!lastGameString)
      return "-1";
   else
   {
      switch(lastGameString.split("-")[1])
      {
         case "08":
            myCount = 9;
            break;
         case "09":
            myCount = 10;
            break;
case "99":
myCount = 00;
break;
         default:
            myCount = parseInt(lastGameString.split("-")[1]) + 1;
            break;
      }
      if(!simple)
      {
         if(myCount <= 9)
            return ('0' + myCount);
      }
      return myCount;
   }
}
function isChannelUser(accountname, charname)
{
for(var i = 0; i < channelUsers.length; i++)
{
if(accountname.toLowerCase() == channelUsers[i].toLowerCase() || charname.toLowerCase() == channelUsers[i].toLowerCase())
return true;
}
return false;
}

ntbotgame:
Code: [Select]
var CurScriptIndex = 0;
var LastScript = false;

var CloneDiabloString;
var CloneDiabloNotify = true;

// Provalone Edit //
Include("libs/common/NTExp.ntl");
NTE_InitializeStats();
//

function NTMain()
{
Delay(1000);

//Print("?c4[+] NTBot 4.2 [+]");

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


NT_LoadConfig();
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("?c1No password found exiting game");//s
NTC_SendLogToOOG(NTC_LOG_COMMON, "?E00000 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
////////////////////////////

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

if(NTConfig_KillHostilePlayer)
Load("NTBot/tools/NTHostileWatch.ntj");

if(NTConfig_CheckCloneDiablo)
{
CloneDiabloString = GetLocaleString(11005);
RegisterEvent(EVENT_GAMEMSG, NT_GameMsgEvents);
}

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

Load("NTBot/bots/" + NTConfig_Script[CurScriptIndex]);
SetStatusText("r426.P  " + NTConfig_Script[CurScriptIndex]);

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

while(!LastScript || CloneDiabloNotify)
{
NTC_Delay(500);
}
}

// Provalone Edit
NTE_ComputeStats(false);
//
ExitGame();
}

function NT_GameMsgEvents(msg, type)
{

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

if(type == 4 && msg.indexOf(CloneDiabloString) != -1)
{
CloneDiabloNotify = true;

NTC_SendLogToOOG(NTC_LOG_COMMON, "?c4" + CloneDiabloString);
SetStatusText(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 (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();
}
}

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();

NTC_Delay(300);
ClickMap(NTC_CLICK_LUP, NTC_SHIFT_NONE, null);

SetStatusText("?c1r426.P  Paused " + NTConfig_Script[CurScriptIndex]);
}
else
{
Load("NTBot/bots/" + NTConfig_Script[CurScriptIndex]);
SetStatusText("r426.P  " + NTConfig_Script[CurScriptIndex]);
}
}
break;

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

if(_script.running)
{
_script.Stop();

NTC_Delay(300);
ClickMap(NTC_CLICK_LUP, NTC_SHIFT_NONE, null);

SetStatusText("?c;r426.P  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("?c!r426.P  Back to " + NTConfig_Script[CurScriptIndex]);
break;
}

case 34: //Page Down
_script = NTC_FindScript(NTConfig_Script[CurScriptIndex]);

if(_script.running)
{
_script.Stop();
SetStatusText("?c;r426.P  Stopped " + NTConfig_Script[CurScriptIndex]);
}
else if(++CurScriptIndex < NTConfig_Script.length)
SetStatusText("?c!r426.P  Skipped to " + NTConfig_Script[CurScriptIndex]);
else if(++CurScriptIndex >= NTConfig_Script.length)
{
CurScriptIndex = 0
SetStatusText("?c2r426.P  Skipped to " + NTConfig_Script[CurScriptIndex]);
}
break;
case 97: //1 (Num Lock)
{
NTU_DropItems();
}
break;
case 100: //4 (Num Lock)
{
NTU_KeyPressList();
}
break;
case 101: //5 (Num Lock)
{
NTU_TLInventory();
}
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 "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("r426.P " + NTConfig_Script[CurScriptIndex]);
NTC_LogCurScript(NTConfig_Script[CurScriptIndex]);
}
else{
LastScript = true;

}

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

_area = GetArea();

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

if(++CurScriptIndex < NTConfig_Script.length)
{
NTTM_CheckAct();
Load("NTBot/bots/" + NTConfig_Script[CurScriptIndex]);
SetStatusText("r426.P " + NTConfig_Script[CurScriptIndex]);
NTC_LogCurScript(NTConfig_Script[CurScriptIndex]);
}
}
}

nttoolsthread:
Code: [Select]
var _NTLW_timerLastDrink = new Array(5);

function NTMain(){

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

var _count = 0;
var _LifeMax, _ManaMax;
var _merc;
var _player, _mypartyid;

var _ping = 0;

//Print("?c3Loaded ToolsThread script");

NT_LoadConfig();

_LifeMax = me.hpmax;
_ManaMax = me.mpmax;

if(NTConfig_LifeChicken > 0)
me.chickenhp = parseInt((_LifeMax*NTConfig_LifeChicken)/100);

if(NTConfig_ManaChicken > 0)
me.chickenmp = parseInt((_ManaMax*NTConfig_ManaChicken)/100);

for(var i = 0 ; i < 5 ; i++)
_NTLW_timerLastDrink[i] = 0;

while(1){
if(!NTC_InTown()){
if(_LifeMax != me.hpmax){
_LifeMax = me.hpmax;

if(NTConfig_LifeChicken > 0)
me.chickenhp = parseInt((_LifeMax*NTConfig_LifeChicken)/100);
}

if(_ManaMax != me.mpmax){
_ManaMax = me.mpmax;

if(NTConfig_ManaChicken > 0)
me.chickenmp = parseInt((_ManaMax*NTConfig_ManaChicken)/100);
}

if(parseInt(me.hp*100/_LifeMax) < NTConfig_LifeRejuvThresh || parseInt(me.mp*100/_ManaMax) < NTConfig_ManaRejuvThresh)
NTLW_DrinkPotInt(2);

else{
if(parseInt(me.hp*100/_LifeMax) < NTConfig_LifeThresh)
NTLW_DrinkPotInt(0);

if(parseInt(me.mp*100/_ManaMax) < NTConfig_ManaThresh)
NTLW_DrinkPotInt(1);
}

_merc = NTC_GetMerc();

if(_merc){
if(parseInt(_merc.hp*100/_merc.hpmax) < NTConfig_MercChicken){

var _area;

_area = GetArea();

if(_area)
SendCopyData("D2NT Manager", null, 7<<16, "?E00000Game is terminated by chicken (" + _area.name + ")");

else
SendCopyData("D2NT Manager", null, 7<<16, "?E00000Game is terminated by chicken (unknown area)");

ExitGame();
break;
}

if(parseInt(_merc.hp*100/_merc.hpmax) < NTConfig_MercRejuvThresh)
NTLW_DrinkPotInt(4);

else if(parseInt(_merc.hp*100/_merc.hpmax) < NTConfig_MercLifeThresh)
NTLW_DrinkPotInt(3);
}
}

if(_count++ > 10){
if(NTConfig_PublicMode){
_player = GetPlayerUnit();

if(_player){
_mypartyid = _player.partyid;

while(_player.GetNext()){
if(me.quitonhostile){
if(GetPlayerFlag(me.gid, _player.gid, 9)){
NTC_SendLogToOOG(NTC_LOG_COMMON, "?c2" + "Hostile players detected.");
NTC_Delay(250);
ExitGame();
}
}
if(_player.partyid == 65535 || _player.partyid != _mypartyid){

if(_player.partyflag == 2){
me.ClickParty(_player, 2);
break;
}

if(_player.partyid == 65535){

if(_player.partyflag == 4)
continue;

me.ClickParty(_player, 2);
//NTC_Delay(NTC_DELAY_FRAME);

//if(_player.partyflag == 4 || (_player.partyid != 65535 && _player.partyid == _mypartyid))
//break;
}
}
}
}
}


if(NTConfig_PatryOnlyLeader){

_player = GetPlayerUnit();

if(_player){
_mypartyid = _player.partyid;
while(_player.GetNext()){
if(me.quitonhostile){
if(GetPlayerFlag(me.gid, _player.gid, 9)){
NTC_SendLogToOOG(NTC_LOG_COMMON, "?c2" + "Hostile players detected.");
NTC_Delay(250);
ExitGame();
}
}
if(_player.name == _leader && _player.partyflag == 2
&& (_player.partyid == 65535 || _player.partyid != _mypartyid)){

me.ClickParty(_player, 2);
break;
}
}
}
}
_count = 0;

}

if(me.ping >= 900){
   _ping++;
   
   if(_ping % 5 == 0)
  Print("?c3" + "High ping:" + "?c4" + me.ping);
   
   if(_ping >= 50){
  NTC_SendLogToOOG(NTC_LOG_COMMON, "?c3" + "High ping. Exiting game.");
  NTC_Delay(250);
  ExitGame();
   }
}

else
   _ping = 0;


NTC_Delay(200);
}
}

// Internal function
function NTLW_DrinkPotInt(type){

var _pottype;
var _result;
var _tNow = new Date();

if(type == 2 || type == 4){
if(_NTLW_timerLastDrink[type] && (_tNow-_NTLW_timerLastDrink[type] < 1000))
return false;
}
else{
if(_NTLW_timerLastDrink[type] && (_tNow-_NTLW_timerLastDrink[type] < 3000))
return false;
}

if(me.mode == 0 || me.mode == 17)
return false;

switch(type){
case 0:
case 3:
_pottype = "hp";
break;
case 1:
_pottype = "mp";
break;
default:
_pottype = "rv";
break;
}

for(var i = 0 ; i < 4 ; i++){
if(NTConfig_BeltColType[i] == _pottype){
if(type < 3)
_result = me.UseBelt(i);
else
_result = me.UseBelt(i, true);
if(_result){
_NTLW_timerLastDrink[type] = new Date();

return true;
}
}
}

return false;
}

Offline cooptheking03

  • D2NT Specialist
  • Big Boss Man
  • PureKaoz HeRo
  • *******
  • Posts: 1710
  • Reputation 4
  • I Run This Chizz
    • View Profile
Re: etal bot strange issue..
« Reply #4 on: March 12, 2011, 05:54:01 PM »
Do you have the most up to date SVN?
If so, do you have something along these lines in your character configuration file :
NTConfig_RunScriptAfterBaal = false;
please set to 'true';

If you do not have the most up to date SVN, please update it via the bulit in updater.
Then open your character configuration and change the above setting.

If this does not fix your issue, i will write a small script...that will take about 5-10 seconds that SHOULD solve your issue. (Tho, i personally do not have etal bot installed, so i say 'should' instead of 'will')

~Coop
I Do Not Do Support Via PM.
I Can Help Xfer Anycore/Anyrealm/Anytime.
PM me here or on JSP : TheAmazingShac0

Darkness

  • Guest
Re: etal bot strange issue..
« Reply #5 on: March 13, 2011, 04:20:33 PM »
i would try to update that but im not sure what the svn is?

PureKaoz.com

Re: etal bot strange issue..
« Reply #5 on: March 13, 2011, 04:20:33 PM »

Offline cooptheking03

  • D2NT Specialist
  • Big Boss Man
  • PureKaoz HeRo
  • *******
  • Posts: 1710
  • Reputation 4
  • I Run This Chizz
    • View Profile
Re: etal bot strange issue..
« Reply #6 on: March 13, 2011, 05:32:59 PM »
i would try to update that but im not sure what the svn is?
Etal bot is updated via the SVN service. It's basically an 'updater' inside the folder. you run it, it checks your database vs the servers database.
if match = do nothing
if no match = download new from the database and overwrite existing files in your folder.
If you cannot figure it out. I'll try and find the link to the Etal bot 'offical' page n stuff for you.
I Do Not Do Support Via PM.
I Can Help Xfer Anycore/Anyrealm/Anytime.
PM me here or on JSP : TheAmazingShac0

Darkness

  • Guest
Re: etal bot strange issue..
« Reply #7 on: March 14, 2011, 12:11:27 PM »
it all seems the same. and set the "NTConfig_RunScriptAfterBaal = false;" to true. still the same.

Offline Obliviate

  • PK Novice
  • ***
  • Posts: 143
  • Reputation 1
  • PureKaoz.Com ROCKS!!
    • View Profile
    • Obliviate's D2 USEast Clan Op TORC
Re: etal bot strange issue..
« Reply #8 on: March 14, 2011, 01:10:00 PM »
Here Is A List Of Stuff You Can Do When Running EtalBot:

Page Down = Scrolls through your config bosses, ty Thursty
Page Up = scrolls back through your config bosses and again ty Thursty

Number Pad 1 = Drop Items in Inventory and Stash
Number Pad 2 = Use NTU_DevelopementTools
    *Please note*
    Setting are configured within D2NT\scripts\libs\common\NTUtilities.ntl
    This is great for finding chest id's, monster id's etc.
Number Pad 3 = Prints the current x, y coord to logs/testlog/yourcharname/-Coords
Number Pad 4 = Prints this list ingame, lol.
Number Pad 5 = Item logging to a file in logs folder
Number Pad 6 = Displays Item Level of whats held on cursor.
Number Pad 9 = Lists character stats and other usefull info

Number Pad * = x,y coord and area id, name
Number Pad + = toothless nip checker

~~OBliviate~~


P.S

I Haven't Been On Here In A While.. I Have Been On GamersVault (GV) Looking At The New EtalBot Beta Release.
« Last Edit: March 14, 2011, 01:11:55 PM by Obliviate »
www.Obliviates-World.Webs.com ~~Clan In The Making~~

Offline cooptheking03

  • D2NT Specialist
  • Big Boss Man
  • PureKaoz HeRo
  • *******
  • Posts: 1710
  • Reputation 4
  • I Run This Chizz
    • View Profile
Re: etal bot strange issue..
« Reply #9 on: March 14, 2011, 01:17:30 PM »
it all seems the same. and set the "NTConfig_RunScriptAfterBaal = false;" to true. still the same.

HRM...
weird..Okay. That is the 'offical' fix for it via the support from Etal bot.
But yeah normally when you update it, it won't 'appear' different unless your a programmer. Usually it's little fixes in spelling/code/etc.
Anyways,
Let's try this just because..well..i want to know if it'll work and if it does "yay" if not..well..*facepalm* and I'm sorry to waste your time. :(

------------------------------Instructions------------------------
1) Open your Character configuration file
 1a) At the bottom of your 'Boss' Selection Area, add this line
Code: [Select]
NTConfig_Script.push("NTEndGame.ntj"); 1b) Save File + close
2) Open Notepad program.
 2a) Copy and Paste The following Code inside:
Code: [Select]
function NTMain()
{
Include("libs/common/NTCommon.ntl");
NTC_IncludeLibs();
NTC_IncludeConfig("NTBot/char_configs");

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

NTA_Initialize();

NTTM_TownMove("stash");

Delay(1000);

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

2b) At the top click File---->Save
2c) When the menu pops up save file as...  NTEndGame.ntj
     Then make sure to select "save as ALL FILE/ALL FILE TYPE"
2d) close it out and run it see if it exits game
I Do Not Do Support Via PM.
I Can Help Xfer Anycore/Anyrealm/Anytime.
PM me here or on JSP : TheAmazingShac0

PureKaoz.com

Re: etal bot strange issue..
« Reply #9 on: March 14, 2011, 01:17:30 PM »

Offline Obliviate

  • PK Novice
  • ***
  • Posts: 143
  • Reputation 1
  • PureKaoz.Com ROCKS!!
    • View Profile
    • Obliviate's D2 USEast Clan Op TORC
Re: etal bot strange issue..
« Reply #10 on: March 14, 2011, 01:25:07 PM »
I Am Trying This Now As Well!
Also Here Is The Link For: Setting Up SVN On Project Etal 2.0 :)

http://www.dev.d2etal.com/projects/etal/wiki/SVN_Guide

~~Obliviate~~
www.Obliviates-World.Webs.com ~~Clan In The Making~~

Offline cooptheking03

  • D2NT Specialist
  • Big Boss Man
  • PureKaoz HeRo
  • *******
  • Posts: 1710
  • Reputation 4
  • I Run This Chizz
    • View Profile
Re: etal bot strange issue..
« Reply #11 on: March 14, 2011, 01:33:38 PM »
KK I'm trolling jsp while i wait to see if it works :D
I Do Not Do Support Via PM.
I Can Help Xfer Anycore/Anyrealm/Anytime.
PM me here or on JSP : TheAmazingShac0

Offline Obliviate

  • PK Novice
  • ***
  • Posts: 143
  • Reputation 1
  • PureKaoz.Com ROCKS!!
    • View Profile
    • Obliviate's D2 USEast Clan Op TORC
Re: etal bot strange issue..
« Reply #12 on: March 14, 2011, 01:37:31 PM »
It Worked!!! Works Great!! I Owe You 1 ~~Coop!

~~Obliviate~~
www.Obliviates-World.Webs.com ~~Clan In The Making~~

Offline cooptheking03

  • D2NT Specialist
  • Big Boss Man
  • PureKaoz HeRo
  • *******
  • Posts: 1710
  • Reputation 4
  • I Run This Chizz
    • View Profile
Re: etal bot strange issue..
« Reply #13 on: March 14, 2011, 01:38:15 PM »
It Worked!!! Works Great!! I Owe You 1 ~~Coop!

~~Obliviate~~

<3

now send it to the Etal guys as a temp fix until they get their main programming fixed.
I Do Not Do Support Via PM.
I Can Help Xfer Anycore/Anyrealm/Anytime.
PM me here or on JSP : TheAmazingShac0

Offline Obliviate

  • PK Novice
  • ***
  • Posts: 143
  • Reputation 1
  • PureKaoz.Com ROCKS!!
    • View Profile
    • Obliviate's D2 USEast Clan Op TORC
Re: etal bot strange issue..
« Reply #14 on: March 14, 2011, 01:44:52 PM »
So everyone knows, this is a great place to add that line!

Code: [Select]
//------------------------------------------------------------------------------
// Misc. Scripts
//------------------------------------------------------------------------------

NTConfig_Script.push("NTEndGame.ntj"); // Ends Game After Last Boss/Script
//NTConfig_Script.push("mulelogger.ntj"); // uses mulelogger.ntj as entry point
NTConfig_Script.push("TLNipCheck.ntj"); // checks for errors in pickit file you can also use num pad "+" while bot is running
//NTConfig_Script.push("TLInventory.ntj"); // Add this line to your NT Config to run it
NTConfig_TLInventory_SkipEquipped   = true; // true = just log stash and inventory

Thanks ~~Coop,
~~Obliviate~~
www.Obliviates-World.Webs.com ~~Clan In The Making~~

PureKaoz.com

Re: etal bot strange issue..
« Reply #14 on: March 14, 2011, 01:44:52 PM »

 


Parse error: syntax error, unexpected '<' in /home4/purekaoz/public_html/pkaoz/Themes/default/Ads.template.php(642) : eval()'d code on line 1