Register for your free account! | Forgot your password?

Go Back   elitepvpers > Other Online Games > Diablo 2
You last visited: Today at 18:37

  • Please register to post and access all features, it's quick, easy and FREE!

Advertisement



Probs mit D2NT oder Redvex...

Discussion on Probs mit D2NT oder Redvex... within the Diablo 2 forum part of the Other Online Games category.

Reply
 
Old   #1
 
elite*gold: 0
Join Date: Dec 2010
Posts: 21
Received Thanks: 1
Probs mit D2NT oder Redvex...

Habe ein paar Probleme mit meinem Barbaren Dia-Baal Bot. Ich bin mir sicher es sind nur Einzeiler... aber ich finde hier nichts im Forum was mir hilft.

1. Ich will Diablo machen, und er soll alles im CS clearen aber ein TP am Eingang öffnen, sodass die Party hinterher joinen kann. Er macht das TP aber immer erst am Stern von Diablo.
2. Wie stelle ich den Party-Invite Intervall höher? Es leaven sehr viele Leute weil mein Barbar sie nicht einlädt, oder die Gruppe nicht annimmt, wenn er eingeladen wird.
3. Wie stelle ich ein das er das nächste game in den Channel postet im Chat. Wie er etwas in den Channel postet, ist kein Problem. Nur wie stelle ich die Varriable Gamename ein?

Wäre super wenn ihr mir helfen könntet. Vorallem das zweite Problem bringt mich zum verzeifeln.

Liebe Grüße
Gabbaclumsy is offline  
Old 01/16/2011, 02:43   #2

 
elite*gold: 250
Join Date: Mar 2010
Posts: 840
Received Thanks: 184
du kannst in deiner char config einstellen, ab wo der char das cs machen soll. Das kommt allerdings auch drauf an welche modded version du benutzt.
benutz am besten den sterni 3.8. da is auch das mit der party kein problem

Den folgenden code im scripts ordner abspeichern als NTBot_Chan.ntj (is nur als beispiel) und dann noch acc + charnamen + channel in dem script eintragen (ziemlich weit oben). Gamename etc bekommt er durch den manager.
Danach im Manager die Datei als entrypoint einstellen

Code:
/**
*	This file was modified by 				
*	Check the programming section for updates and further scripts							*
*	Last Update: 05/28/2010							
*/

var gameMinLength		= 120000;	// time in milliseconds, minimum game length, 180 seconds default (1 game/3 minutes)
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		= 15000;		// time in milliseconds to wait between making games
var createGameThresholdRandom	= 5000;		// 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			= 1000;		// wait X milliseconds before next action after a click event
var textDelay			= 1000;		// 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	= 1000;	// how long to wait when a Game Does Not Exist occurs - minimum - default 10 minutes
var gameDoesNotExistDelayMax	= 100;	// 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 joinChatAfterLogin		= true;		// join chat after login
var joinRandomChannel		= false;		// if this is true, will join a random channel, otherwise it will use the channel below..
var joinChannelInChat		= "OP LastBaal";		// leave blank not to join a private channel
var channelLogin			= true;	// type ".login" once after joining the channel
var channelUsers 			= new Array(); // dynamic array that holds channel users
//---------------------------------------------------------------------------------------------------------------------------------------------------------
// add any char/account here that is supposed to perform chat actions/game announcements or join a private channel
channelUsers.push("AccName");
channelUsers.push("Charname");
//----------------------------------------------------------------------------------------------------------------------------------------------------------
//These key expressions are replaced that way: %game --> "gamename-",%counter --> number of the next game, %time --> time in seconds till game creation, %password --> game password
//Note that the announcement will start after the first run, so there won't be any anncouncement right after login
var gameAnnouncement		= "Join %game%counter in %time seconds."; // leave blank not to post a channel announcement
var gameAnnouncementDelay	= 5000;		// wait X milliseconds before posting the announcement message (don't set this too low!)
var gameAnnouncementDelayRandom = 500; // random amount of time to add to a to the announcement delay
//----------------------------------------------------------------------------------------------------------------------------------------------------------
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

// 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 lastGameMade = GetTickCount();
var lastGameStatus = 0;
var nextGameMake = 0;
var inGameAt = 0;
var chatActionsDone = false;
var lastGameFailed = false;
var	joinedChannel = false;
var justJoined = 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(justJoined)
		{
			justJoined = false;
			if(isChannelUser(me.account, me.charname))
			{
				for(var i = 0; i < 3; i++)
				{
					SetStatusText("ÿc2Chat actions enabled!");	
					Delay(750);
					SetStatusText("");	
					Delay(750);
				}
			}
			else
			{
				for(var i = 0; i < 3; i++)
				{
					SetStatusText("ÿc1Chat actions disabled!");	
					Delay(750);
					SetStatusText("");	
					Delay(750);
				}
			}
		}
		if(!chatActionsDone && isChannelUser(me.account, me.charname))
		{
			chatActionsDone = true;
			Delay(Random(waitInChatBeforeActionsMin, waitInChatBeforeActionsMax));
			if(!joinedChannel && (joinRandomChannel || joinChannelInChat != ""))
			{
				var rndChannel = getRandomString(Random(3,10));
				SetStatusText("ÿc8Joining Channel " + (joinRandomChannel ? rndChannel : joinChannelInChat) );
				Delay(1000);
				Say("/join " + (joinRandomChannel ? rndChannel : joinChannelInChat));
				joinedChannel = true;
				Delay(1000);
				if(channelLogin)
				{
					SetStatusText("ÿc8Channel Login...");
					Say(".login");
					Delay(1000);
				}
			}
		}
	case 1:	// Lobby
		if(location.id == 1 && joinChatAfterLogin)
		{
			Delay(Random(waitBeforeEnterChatMin, waitBeforeEnterChatMax));
			controlData.click(controlData.controls.lobby.button.enterChat);
			break;
		}
		if(GetTickCount() > nextGameMake)
		{
			var _control;

			lastGameFailed = false;

			switch(lastGameStatus)
			{
			case 0:
				_control = controlData.get(controlData.controls.lobby.button.create);
				if(_control && _control.pressed)
				{
					controlData.click(controlData.controls.lobby.button.join);
					Delay(500);
				}

				controlData.click(controlData.controls.lobby.button.create);
				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();
				lastGameFailed = true;
				Delay(5000);
				
			case 2:
				outputGameLength();
				lastGameStatus = 0;
				setNextGameMake();
				if(lastGameFailed)
				{
					SetStatusText("ÿc1Failed to join!");
					sendEventToOOG(D2NT_MGR_PRINT_LOG, "ÿE00000Game " + ((getGameCounter(me.gamename, true)) ? ("(" + getGameCounter(me.gamename, true) + ")") : "") + " creation failed!", 0)
					Delay(2500);
				}
				sendEventToOOG(D2NT_MGR_PRINT_STATUS, location.name, 0);
				break;
			}
		}
		else
		{
			if(joinChannelInChat && gameAnnouncement && me.gamename && isChannelUser(me.account, me.charname))
			{
				var tempDelay = (gameAnnouncementDelay > 5000) ? gameAnnouncementDelay : 5000 + 
							(gameAnnouncementDelayRandom > 500) ? Random(0, gameAnnouncementDelayRandom) : 500;
				var gameText = gameAnnouncement;
				gameText = gameText.replace("%password", me.gamepassword);
				gameText = gameText.replace("%game", getGameName(me.gamename));
				gameText = gameText.replace("%counter", getGameCounter(me.gamename, false));
				gameText = gameText.replace("%time", parseInt((nextGameMake - GetTickCount() - tempDelay)/1000+3.0));
				if(parseInt((nextGameMake - GetTickCount() - tempDelay)/1000+3.0) > 5)
				{	
					Delay(tempDelay);
					Say(gameText);
				}
			}
			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
		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);
		}
		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);
		SetStatusText("ÿc1Game akready exists!");
		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, showNextGameStatus)
{
	if(arguments.length < 3)
		showNextGameStatus = false;
	
	endtime = GetTickCount() + time;

	while(endtime > GetTickCount())
	{
		sendEventToOOG(D2NT_MGR_PRINT_STATUS, location.name + " (" + parseInt((endtime-GetTickCount())/1000) + "s)", 0);
		if(showNextGameStatus)
		{
			if(lastGameFailed && parseInt((endtime-GetTickCount())/1000) > 30)
			{
				if(parseInt((endtime-GetTickCount())/1000) % 30 == 0)
				{
					SetStatusText("ÿc1Last game failed!");
					Delay(5000);
				}
				if(me.gamename && getGameCounter(me.gamename, false))
					SetStatusText("ÿc8Next game: " + getGameName(me.gamename) + getGameCounter(me.gamename, false) + " (" + parseInt((endtime-GetTickCount())/1000) + "s)");
				else
					SetStatusText("ÿc8Game creation pending... (" + parseInt((endtime-GetTickCount())/1000) + "s)");
			}
			else if(parseInt((endtime-GetTickCount())/1000) >= 0)
			{
				if(me.gamename && getGameCounter(me.gamename, false))
					SetStatusText("ÿc8Next game: " + getGameName(me.gamename) + getGameCounter(me.gamename, false) + " (" + parseInt((endtime-GetTickCount())/1000) + "s)");
				else
					SetStatusText("ÿc8Game creation pending... (" + parseInt((endtime-GetTickCount())/1000) + "s)");
			}
			if(me.ingame)
				endtime = GetTickCount();
		}
		Delay(1000);
	}
	if(showNextGameStatus)
		SetStatusText("ÿc8Creating game...");
}

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.substr(0, lastGameString.lastIndexOf('-')+1));
}

function getGameCounter(lastGameString, simple)
{
	var myCount, countString;
	if(!lastGameString)
		return "-1";
	else
	{
		countString = lastGameString.slice(lastGameString.lastIndexOf('-')+1);
			
		switch(countString)
		{
			case "08":
				myCount = 9;
				break;
			case "09":
				myCount = 10;
				break;
			default:
				myCount = parseInt(countString) + 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;
}
FoGzone is offline  
Reply


Similar Threads Similar Threads
D2NT mit fastmode von redvex + realm fix (tutorial)
10/27/2018 - Diablo 2 - 140 Replies
hi liebe Leutz, dieser tutorial beschreibt wie man einen redvex realm fix macht und den d2nt bot mit redvex/fastmod startet gehe unter C:\Windows\System32\drivers\etc hier ist eine datei namens hosts(host), diese ziechst du dir auf dem desktop (damit du sie bearbeiten kannst)___(seite offen lassen) *wer sich nicht ganz sicher ist was er tut, sollte sich davor eine sicherheits kopie von der hosts machen!!!
probs d2nt via proxy + sockscap
09/30/2010 - Diablo 2 - 1 Replies
benutzte "your freedom + sockscap" darüber d2 starten kein problem aber wenn ich den d2nt manager starte hab ich probs .... manager geht auf aber wenn ich versuche zu starten öffnet sich kein fenster ... jemand ne ahnung woran es liegt? sufu spukt mir zwar proxy topics aus aber scheint keiner das prob zu haben
D2NT Probs
07/19/2010 - Diablo 2 - 3 Replies
Hallo Leute, habe hier ein Problem mit D2NT. Folgende Fehlermeldung tritt auf, wenn mein char auf dem Weg zur Gräfin ist. Wenn er lvl 5 betritt erscheint ... <D2NT Error> C:\Dokumente udn Einstelllungen\Benutzername\Destop\D2NT The Blue Bird V1.1\D2NT\scripts\libs\common\NTItemsparser.ntl (60): SyntaxError:missing; before statement Kennt wer das Problem? Wie kann ich es lösen? Danke im vorraus!
PickIt D2NT oder Redvex
07/18/2010 - Diablo 2 - 3 Replies
1. Gibts sowas für den D2NT? wie zb den Loader/maphack so ne art erweiterung? 2. Gibts bei der Redvex Version Bans?
Realm down probs d2nt
04/29/2010 - Diablo 2 - 7 Replies
Hey hab z.z. iwie dauernd Realmdown-.- trotz das ich zeit erhöt habe . runs dauern 8-10 minuten 20sec zwischen create. jmd ne ahnung woran es liegen kann?greetz



All times are GMT +2. The time now is 18:37.


Powered by vBulletin®
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
SEO by vBSEO ©2011, Crawlability, Inc.
This site is protected by reCAPTCHA and the Google Privacy Policy and Terms of Service apply.

Support | Contact Us | FAQ | Advertising | Privacy Policy | Terms of Service | Abuse
Copyright ©2024 elitepvpers All Rights Reserved.