|
|
Author |
Message |
Mrsticky
Group: Members Joined: 05 Feb 2014 Posts: 18 Gold: 2.30
Status: Warn:  Reputation: 2
|
#1 Posted: 13 Feb 2014 10:49 pm Post subject: Need help finding something in D2NT 3.3 |
|
|
Got an issue with my Leach fighter script, NO WHERE in this bot script/ configs/ leach configs/ char configs can i find the area where i change the enter tp command for when you have it set to not enter unsafe tps.
Anyone know where i can find this, or did MUDDYS D2NT 3.3 come without this script line written in it.
Got a spare Leach fighter in a friends baal runs, because hes afriad of R/D and blah blah he has it set to do Shenk first, for some reason if i have Enter unsafe tp on it goes into the shenk tp, then kills some stuff and exits game when it hits an error. But if i have it set to not enter unsafe tp it'll just sit in town and never enter throne tp.
Any ideas? |
|
Back to top |
|
 |
|
 |
Jeff
Group: Loser Joined: 23 Jul 2012 Posts: 3573 Gold: Locked Clan: Weed

Status: Warn:  Reputation: 30

|
#2 Posted: 13 Feb 2014 11:01 pm Post subject: |
|
|
You can always use the newest etal, i don't have muddy's
https://github.com/D2etal/Etal
or direct download: https://github.com/D2etal/Etal/archive/master.zip
Code: | //------------------------------------------------------------------------------
// Leech, Leech Fighter & Team Botting Settings
//------------------------------------------------------------------------------
NTConfig_Leader = "config me"; // Leaders name. (Don't set to yourself.)
NTConfig_PartyOnlyLeader = false; // Party only with leader (NTConfig_Leader)? (If true, NTConfig_PublicMode MUST be set false in the general config section below).
NTConfig_PartyMaxTime = 20; // Time in seconds the leecher has to party with leader before exiting game
NTConfig_LeechBo = false; // Set false to disable BO & BC cast by leecher.
NTConfig_LeechExitDelay = 500; // Delay before leecher exits game after leader in milliseconds. Use this to stagger leechers exit times to avoid crashes.
//NTConfig_Script.push("NTLeechCows.ntj"); // Leech fighter cow script. Must run leader with NTCow.ntj
NTConfig_WaitForCowPortal = 240; // time in seconds to wait for the leader to make cow portal before aborting the script
//NTConfig_Script.push("NTTravLeader.ntj"); // Trav Leader
LeechTrav_TakeTp = "config me"; // Message from leader signifying you to take portal. (Must be different than Diablo & Baal tp messages.)
//NTConfig_Script.push("NTTravLeech.ntj"); // Trav Leecher (NTConfig_Leader must be configured above).
NTConfig_TakeTpTravincal = "config me"; // This must match leaders LeechTrav_TakeTp & must be different than Diablo & Baal tp messages.
//NTConfig_Script.push("NTUniversalDiabloLeech.ntj"); // (NTConfig_Leader must be configured above).
NTConfig_LeechChaos = 0; // 0 = Portal Leecher, 1 = Leech follow, 2 = Leech Fighter (leech portals).
NTConfig_followDelay = 8000; // Delay in milliseconds to enter follow portal
ChaosLocx = 7763; ChaosLocy = 5267; // Hide location for Passive leecher alternate = ChaosLocx = 7767; ChaosLocy = 5263;
NTConfig_TakeTpDiablo = "config me"; // Message from leader signifying you to take portal. (Must be different than Baal & Trav tp messages.)
NTConfig_UseChatCommandPortal = true; // Use portal after TakeTpDiablo message? (False will attempt taking first TP made by leader, ignores TakeTpDiablo.)
//NTConfig_Script.push("NTUniversalBaalLeech.ntj");
NTConfig_LeechBaal = 1; // 1 = Leech Fighter (Tele), 2 = Leech Fighter (Walking), 3 = Passive Leecher (Corner dunce).
NTConfig_TakeTpBaal = "config me"; // Message from leader signifying you to take portal. (Must be different than Diablo & Trav tp messages.)
NTConfig_LeechPrecast = false; // Do you want your leecher to precast?
NTConfig_TeleEachWaveHelper = false; // Teleport bot before each wave to keep merc close (not position based yet)?
leechpos = [15118, 5003]; // X,Y coord for leechers to stand (passive leecher only).
NTConfig_LeechHydra = 0; // 0 = Don't Move, 1 = Right Side, 2 = Left Side. (Use left side if you have a leecher grabing xp shrines. (Settings Below))
NTConfig_FollowtoWorldStone = true; // Go down to Baal in WS Chamber after waves?
NTConfig_WaitAtPassiveSPotForBaal = false; // leech fighters will wait at passive leech spot for baal to enter WS Chamber. Helpful if you having problems with baal bugging and not entering portal
NTConfig_GrabShrine = "config me"; // Use shrine & return to act 5 portal Area (Leaders hot tp message is very effective, also must be different than Diablo & Trav tp messages).
_FindXPArea = []; // Area ID's, (2, 3, 4, 5, 6, 7). Set array empty "[]" to leech without grabbing shrines.
NTConfig_ClearAroundShrine = false; // Clear around shrine before going back to town?
//NTConfig_Script.push("NTHelper.ntj"); // See http://www.projectetal.com/forums/index.php?threads/beta-ish-release-of-nthelper-ntj.14623/
NTConfig_DoNotFollowAreas = [34, 35, 36, 107, 128, 129, 130, 124, 100, 101, 102]; // Won't take a WP or TP to these areas
NTConfig_DoNotAttackAreas = [34, 35, 36, 107, 128, 129, 130, 124, 100, 101, 102]; // Won't attack in these areas
NTConfig_AllowCommands = false; // Allows leader to issue commands such as 'exit', 'town', 'follow', etc. 'follow' is ON by default.
NTConfig_PortalAtLeechersCorpses = true; // Make a TP at players corpses when they die near you
NTConfig_MessageDeadPlayers = false; // Send a msg to those players when they die
NTConfig_DeadPlayerMsg = "My tp for your corpse"; // The actual message to send
NTConfig_GreetPlayers = false; // Greet players who join your party
NTConfig_GreetMsg = "Hello, %name%!"; // The message to send
NTConfig_HelperHumor = false; |
|
|
Back to top |
|
 |
Mrsticky
Group: Members Joined: 05 Feb 2014 Posts: 18 Gold: 2.30
Status: Warn:  Reputation: 2
|
#3 Posted: 13 Feb 2014 11:17 pm Post subject: |
|
|
See this is my NtBotLeach for main settings, am i missing it? I can also paste NtBaalLeachfight
Code: | var DelayedJoinChars = new Array();
//###################################################################
//##############################Settings#############################
//###################################################################
var LeaderAccountName = "";
var LeaderName = "";
var GamePassword = "";
var JoinGameAgain = false; // Set to true to re-enter the same game after chicken or disconnect.
var UseCDKeyChangeTrick = false; // Set to true to use multiple CD Keys
var JoinRandomChannel = false;
var JoinChannelInChat = "OP Hawks.nest";
var FirstJoinMessage = ""; // Message to post right after joining chat. Set to "" not to post any message.
var ChatMessageAfterGame = ""; // Message to post when joining chta after a game. Set to "" not to post any message.
// If multiple leechers are to join the same game, they should do it slightly time shifted in order to avoid join bugs.
// Enter the names of your accounts OR chars below:
DelayedJoinChars.push("LeecherOne", "LeecherTwo", "LeecherThree");
//###################################################################
//##############################Delays###############################
//###################################################################
var GameMinLength = 180000;
// realm delays (minutes)
var UnableToConnectRetry = 2;
var RealmDownRetry = 60;
var DisconnectedRetry = 2;
var CdKeyInUseRetry = 2;
// interface delays (milliseconds)
var MultipleLeecherJoinDelay = 1000;
var JoinDelay = 100;
var ConnectingToBnetTimeout = 20000;
var CharacterScreenTimeout = 10000;
var PleaseWaitTimeout = 10000;
var CreateGameThreshold = 10000;
var CreateGameThresholdRandom = 1000;
var CreateGameTimeout = 15000;
var WaitInLineTimeout = 15000;
var CharacterSelectDelay = 5000
var LoginDelay = 1000;
var ClickDelay = 500;
var TextDelay = 500;
var ClickDelayRandom = 500;
var TextDelayRandom = 500;
var GameDoesNotExistDelayMin = 600000;
var GameDoesNotExistDelayMax = 900000;
var GameDoesNotExistTimeout = 30000;
var WaitBeforeEnterChatMin = 1000;
var WaitBeforeEnterChatMax = 2000;
var WaitInChatBeforeActionsMin = 2000;
var WaitInChatBeforeActionsMax = 3000;
//###################################################################
//###################################################################
//###############DO NOT CHANGE 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 LastGameMade = GetTickCount();
var LastGameStatus = 0;
var NextGameMake = 0;
var InGameAt = 0;
var ChatActionsDone = false;
var LastGameFailed = false;
var SayChatMsgAfterGame = true;
Include("libs/controlInfo.ntl");
var ControlData = new controlInfo();
var SameGame = "";
var OldGame = "";
var Game = "";
var Debug = false;
var JoinChatAfterGame = true;
function NTMain()
{
Delay(1000);
var _ingame = false;
ControlData.ClickDelay = ClickDelay;
ControlData.TextDelay = TextDelay;
ControlData.ClickDelayRandom = ClickDelayRandom;
ControlData.TextDelayRandom = TextDelayRandom;
while(1)
{
if(me.ingame)
{
OldGame = me.gamename;
if(!InGameAt)
InGameAt = GetTickCount();
if(!_ingame)
{
RunGC(); // run garbage collector between each game
if(Load("NTBot/MWBotGame.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;
SayChatMsgAfterGame = true;
sendEventToOOG(D2NT_MGR_READY, "", 0);
}
locationAction(ControlData.getLocation());
Delay(500);
}
}
}
function locationAction(location)
{
var _randomChannel, _leaderFound, _lines, _msg, _msgLines, _lineIndex, _chat, _regGameNameWhispered, _regOffline, _regInChat, _regGameName;
switch(location.id)
{
case 3: // Lobby Chat
sendEventToOOG(D2NT_MGR_PRINT_STATUS, location.name, 0);
if(!ChatActionsDone)
{
ChatActionsDone = true;
Delay(Random(WaitInChatBeforeActionsMin, WaitInChatBeforeActionsMax));
if(JoinRandomChannel || JoinChannelInChat != "")
{
SetStatusText("ÿc8Joining channel...");
Say("/join " + (JoinRandomChannel ? getRandomString(Random(3,10)) : JoinChannelInChat));
Delay(2000);
}
if(FirstJoinMessage)
{
Say(FirstJoinMessage);
Delay(1000);
}
}
if(SayChatMsgAfterGame)
{
if(ChatMessageAfterGame && OldGame != "")
Say(ChatMessageAfterGame);
SetStatusText("ÿc8Checking friendlist...");
Say("/f l");
SayChatMsgAfterGame = false;
Delay(1500);
}
Game = "";
if(_chat = ControlData.get(ControlData.controls.lobby.chat.textBox.channelText))
{
_leaderFound = false;
_lines = _chat.GetText();
for(_lineIndex = _lines.length - 1; _lineIndex > -1; _lineIndex--)
{
if(_leaderFound) // useless... :/
break;
if(_lines[_lineIndex].substring(0,1) == " ")
continue;
// retrieving the whole message
_msg = _lines[_lineIndex].replace(/^\s+|\s+$/, "");
_msgLines = 1;
while(_lines[_lineIndex + _msgLines] != undefined && _lines[_lineIndex+_msgLines].substring(0,2) == " ")
{
_msg += " " + _lines[_lineIndex + _msgLines].replace(/^\s+|\s+$/, "");
_msgLines++;
}
// checking if the _msg is a friendly whisper
if(_msg.toLowerCase().lastIndexOf(LeaderName.toLowerCase() + " (*" + LeaderAccountName.toLowerCase() + ")") > -1)
{
_regGameNameWhispered = /^.*(game|partie|spiel|partita|partida).*(nomm[^\s]*|called|chiamata)\s*([\w\s-]*\w)\s*\.\s*$/gi;
if(_msg.match(_regGameNameWhispered))
Game = _msg.replace(_regGameNameWhispered, "$3");
if(Game != "")
{
_leaderFound = true;
break;
}
}
// checking if the _msg is from the friend list
if(_msg.toLowerCase().lastIndexOf(": " + LeaderAccountName.toLowerCase() + ",") > -1)
{
_leaderFound = true;
_regOffline = /^.*(offline|desconectado).*$/gi;
_regInChat = /^.*(channel|canale?)\s*([\w\s-]*\w)\.?\s*$/gi;
_regGameName = /^.*(game|partie|spiel|partita|partida)\s*([\w\s-]*\w)\s*\(priv[^\)]*\)\.\s*$/gi;
if(_msg.match(_regOffline))
SetStatusText("ÿc8Leader is currently offline.");
else if(_msg.match(_regInChat))
SetStatusText("ÿc8Waiting for leader to create a game.");
else if(_msg.match(_regGameName))
Game = _msg.replace(_regGameName, "$2");
break;
}
}
if(!_leaderFound)
{
DebugInOOG("I couldn't find the leader in my friend list!");
SetStatusText("ÿc8Leader not found.");
}
if(Game != "")
{
DebugInOOG("Leader is in the game \"" + Game + "\"");
//ControlData.click(ControlData.controls.lobby.button.join);
//Delay(100);
if(!JoinGameAgain)
{
if(Game != SameGame)
{
SetStatusText("ÿc8Joining Game: " + Game);
if(UseCDKeyChangeTrick)
{
sendEventToOOG(D2NT_MGR_CREATE_GAME, location.name, 0);
Delay(1000);
}
ControlData.click(ControlData.controls.lobby.button.join);
Delay (200);
}
else
SetStatusText("ÿc8Waiting for next game...");
}
else
{
SetStatusText("ÿc8Joining Game: " + Game);
if (UseCDKeyChangeTrick)
{
sendEventToOOG(D2NT_MGR_CREATE_GAME, location.name, 0);
Delay(1000);
}
ControlData.click(ControlData.controls.lobby.button.join);
Delay (200);
}
}
}
else
DebugInOOG("I can\'t read the chat!");
if(Game != "")
SameGame = Game;
break;
case 1: // Lobby
if(location.id == 1 && JoinChatAfterGame)
{
Delay(Random(WaitBeforeEnterChatMin, WaitBeforeEnterChatMax));
ControlData.click(ControlData.controls.lobby.button.enterChat);
break;
}
break;
case 2: // Waiting In Line
if(GetTickCount()-LastGameMade > WaitInLineTimeout)
ControlData.click(ControlData.controls.lobby.inLine.button.cancel);
break;
case 4: // Create Game
if(!ControlData.get(ControlData.controls.lobby.create.editBox.gameName))
{
ControlData.click(ControlData.controls.lobby.button.join);
Delay (500);
ControlData.click(ControlData.controls.lobby.button.create);
Delay (500);
break;
}
sendEventToOOG(D2NT_MGR_CREATE_GAME, location.name, 0);
locationTimeout(5000, location);
LastGameMade = GetTickCount();
LastGameStatus = 1; // pending creation
break;
case 5: // Join Game
if (Game)
{
ControlData.setText( ControlData.controls.lobby.join.editBox.gameName, Game);
Delay(100);
ControlData.setText( ControlData.controls.lobby.join.editBox.password, GamePassword);
for(var i = 0; i < DelayedJoinChars.length; i++)
{
if(me.charname.toLowerCase() == DelayedJoinChars[i].toLowerCase() || me.account.toLowerCase() == DelayedJoinChars[i].toLowerCase())
{
Delay(MultipleLeecherJoinDelay * i);
break;
}
}
Delay(JoinDelay);
ControlData.click(ControlData.controls.lobby.join.button.joinGame);
RunGC(); // run garbage collector between each game
locationTimeout(5000, location);
LastGameStatus = 1; // pending join
}
else
{
DebugInOOG("No game to join : cancelling");
me.Cancel(1);
Delay(1000);
}
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, "yE00000Game 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;
default:
DebugInOOG("Unhandled location : "+location.id);
break;
}
//DebugInOOG("Location : "+location.id);
}
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> 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 DebugInOOG(logString)
{
if (Debug)
return SendCopyData("D2NT Manager", null, 9<<16, "-- Debug : " + logString);
else
return false;
} |
|
|
Back to top |
|
 |
Jeff
Group: Loser Joined: 23 Jul 2012 Posts: 3573 Gold: Locked Clan: Weed

Status: Warn:  Reputation: 30

|
#4 Posted: 13 Feb 2014 11:53 pm Post subject: |
|
|
leechstarter/ntleech is anything from logging into your account to joining a game
anything to do with in game is in your char config
paste your char config and this C:\Users\Owner\Desktop\EtalBot\D2NT\scripts\NTBot\bots\ the leech script your running (example) NTUniversalBaalLeech.ntj |
|
Back to top |
|
 |
|
|
You cannot post new topics in this forum You cannot reply to topics in this forum You cannot edit your posts in this forum You cannot delete your posts in this forum You cannot vote in polls in this forum You cannot attach files in this forum You cannot download files in this forum
|
D3jsp is proudly powered by phpBB © 2.0 Theme and Forum by tramway
|