Register for your free account! | Forgot your password?

You last visited: Today at 17:27

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

Advertisement



[Release] Muddy's D2NT

Discussion on [Release] Muddy's D2NT within the Diablo 2 Programming forum part of the Diablo 2 category.

Reply
 
Old 03/08/2012, 21:41   #5926
 
elite*gold: 0
Join Date: May 2009
Posts: 55
Received Thanks: 12
Quote:
Originally Posted by Makavelli19 View Post
Aber es läuft doch alles super, nur nach dem run crasht er halt iwei :/
wie stelle ich mein diablo auf englisch?

wäre nett wenn mir da jemand weiterhelfen könnte
steht alles auf der ersten Seite, können hier manche nicht lesen ?
Nimms nicht persönlich
lg
DauerZocker123 is offline  
Thanks
2 Users
Old 03/08/2012, 23:00   #5927
 
kal_el's Avatar
 
elite*gold: 0
Join Date: Jan 2009
Posts: 7,310
Received Thanks: 2,205
Quote:
Zitat von Holywater72
hi hab mal ne frage warum verlässt mein bot also muddys nach jeden run (nach schenk )
das komplette game danke schon mal
Quote:
Originally Posted by DeathFromHeaven View Post
Dein diablo II läuft aber schon auf englisch, oder? Klingt so nach ner deutschen Version
da haben wir noch einen...selbes prob.

da wär ich jez gar ned draufgekommen das zu fragen...man sieht es schon als selbstverständlich an ... tztz*

btw. hab mal per pm auf die quicklinks verwiesen...hatten ja schon kontakt
kal_el is offline  
Thanks
1 User
Old 03/09/2012, 11:13   #5928
 
elite*gold: 0
Join Date: Mar 2012
Posts: 7
Received Thanks: 0
Danke erstmal.
Mein Diablo ist nun auf Englisch umgestellt.

Das Problem besteht jedoch immernoch !? :/
Makavelli19 is offline  
Old 03/09/2012, 11:17   #5929
 
elite*gold: 0
Join Date: Oct 2011
Posts: 121
Received Thanks: 126
Im Manager auch "Direct Txt" angekreuzt?
-Sun- is offline  
Old 03/09/2012, 11:30   #5930
 
elite*gold: 0
Join Date: Mar 2012
Posts: 7
Received Thanks: 0
Quote:
Originally Posted by -Sun- View Post
Im Manager auch "Direct Txt" angekreuzt?
DANKE DIR !!!!!
Makavelli19 is offline  
Old 03/09/2012, 22:00   #5931
 
elite*gold: 0
Join Date: Feb 2012
Posts: 7
Received Thanks: 0
Hi i am wondering how low i can set the Snagdelay without crashing the game.
right now it looks like this::

// This is the delay in milliseconds before picking up items. Do not set this too low!
NTConfig_SnagDelay = 650;

i would like to take up items before others in my bot game. right now everyone is taking my items cause i am slow to pick them up.
-------------------------------------------------------------------------------------

Another question:
Where do i set time before leaving my own game after last kill script is complete?
Now i am leaving directly as the boss dies if no items in my picklist is dropped. and it seems to make me get stuck at "Diablo not responding" (Game freeze).
-------------------------------------------------------------------------------------

Thank you in advance: /G
thekesho is offline  
Old 03/10/2012, 01:28   #5932
 
elite*gold: 0
Join Date: Mar 2012
Posts: 7
Received Thanks: 0
Wie kann ich einstellen,
dass ich mit einem installierten Diablo 2 LOD mehrere bots zum laufen bringe?
- verschieden CD-Keys habe ich bereits


Sehr lästig, D2 ständig neu zu installieren ! :/

Hoffe auf eine schnelle Rückmeldung
Danke im vorraus
Makavelli19 is offline  
Old 03/10/2012, 04:06   #5933
 
Dextra's Avatar
 
elite*gold: 0
Join Date: Dec 2007
Posts: 280
Received Thanks: 16
Question

Ich habe mal wieder ein schwerwiegendes Problem.

Folgendes Szenario:

Ich habe 5 Palas (Hammer) alle stufe +90, gestattet und geskillt wie es in jedem guide steht, jeder Pala kommt auf +3k Life mit Bo.

Nun habe ich mir Muddys bot geladen, eingestellt und erstmal serienmäßig 2-3 Tage laufen lassen.

Fazit: Alles ok, selten abstürze gehabte, war alles zu verkraften doch ein nachteil: die pickit ist leider etwas mau!

Nun dachte ich mir: Besorgste dir eine neue!

Gesagt getan, Pickit geladen, geschaut ob alles soweit in Ordnung ist und es ist nix dran zu bemängeln (mit den Augen eines Laien).

Nun hatte ich dir Bots die letzte Nacht laufen lassen und siehe da:

ca. 70 Runs jeder geschafft und die Absturzbilanz: 5-10 (jeder bot unterschiedlich)

Nun hab ich die faxxen dicke, ich weiß nicht woran es liegen kann...

Wäre sehr dankbar wenn mal jmd hier eine analyse machen könnte ob es die Pickit ist, oder der fehler woanders steckt.

Wäre sehr dankbar

Gruß

Dex

Btw: Rechtschreibfehler dürft ihr behalten! Schaut aufn Tacho wann ich das geschrieben habe!

Tante Edit: Und teilweise ruckeln sich die Bots bei mir richtig einen ab... ich bin ratlos woran das liegen kann. Desweiteren fällt mir auch ein das dass Duriel script leicht Buggy ist wenn irgendwelche Viecher vor dem Eingang stehen.
Attached Files
File Type: rar Muddy's D2NT.rar (1.09 MB, 5 views)
Dextra is offline  
Old 03/10/2012, 07:32   #5934
 
fghtrt's Avatar
 
elite*gold: 0
Join Date: Jul 2010
Posts: 197
Received Thanks: 127
Quote:
Originally Posted by Makavelli19 View Post
Wie kann ich einstellen,
dass ich mit einem installierten Diablo 2 LOD mehrere bots zum laufen bringe?
- verschieden CD-Keys habe ich bereits


Sehr lästig, D2 ständig neu zu installieren ! :/

Hoffe auf eine schnelle Rückmeldung
Danke im vorraus
Eigentlich ganz einfach:
1.) D2 einmal installieren
2.) aus jedem deiner vorhandenen Keysets mit jeweils eine xyz.mpq bauen
3.) die erstellten .mpq ins Diablo2-Verzeichnis kopieren
4.) im D2NT Manager im Charprofil unter CD-Key die .mpq eintragen mit der der entsprechende Char rennen soll; steht hier nix wird der Key der Installation aus der Registry benutzt
fghtrt is offline  
Thanks
2 Users
Old 03/10/2012, 10:57   #5935
 
elite*gold: 0
Join Date: Nov 2009
Posts: 25
Received Thanks: 6
hi leute,
meine sorc will immernoch nicht den diablo killen. er öffnet das letzte seal, schreibt "killing diablo" und entweder verlässt die sorc dann das spiel oder das fenster friert ein.
kann das an der diablo.ntj, ntbot.ntj oder an der charconfig liegen?
um eine lösung wär ich sehr dankbar!
sideluxe is offline  
Old 03/10/2012, 11:01   #5936
 
kal_el's Avatar
 
elite*gold: 0
Join Date: Jan 2009
Posts: 7,310
Received Thanks: 2,205
Tipp:
D2 einmal installieren, dann so oft kopieren wie du´s brauchst (umbenennen), und dann die mpq´s deinen kopien zuweisen. dann läuft es auch 100%. denn mit einer installation "kann" es passieren das die bots (je nachdem) nach 20 sec. das game verlassen. so wars bei mir.
pro bot eine dia kopie mit mpq und es lief.
muss ned sein....kann aber sein.

ansonsten so wie von fghrt beschrieben.

links





Quote:
hi leute,
meine sorc will immernoch nicht den diablo killen. er öffnet das letzte seal, schreibt "killing diablo" und entweder verlässt die sorc dann das spiel oder das fenster friert ein.
kann das an der diablo.ntj, ntbot.ntj oder an der charconfig liegen?
um eine lösung wär ich sehr dankbar!
hab keinen plan:
vielleicht nochmal neu laden und einstellen und testen.
der fehler kann da liegen, wo du zuletzt rumgebastelt hast
kal_el is offline  
Old 03/10/2012, 13:23   #5937
 
elite*gold: 0
Join Date: Nov 2009
Posts: 25
Received Thanks: 6
Quote:
hab keinen plan:
vielleicht nochmal neu laden und einstellen und testen.
der fehler kann da liegen, wo du zuletzt rumgebastelt hast
hab ich jetzt gemacht und geht immernoch nicht...
hab jetzt noch ne 2. sorc als leechfighter eingestellt und die will ständig den diablo killen, aber verlässt dann mit dem leader das spiel.
ich glaube in der bot.ntj is ein fehler drin?

Code:
/**
*	This file was modified by 
*	Check the programming section for updates and further scripts
*	Last Update: 13:32 01.09.2011
*/

//------------------------------------------------------------------------------
// Delays
//------------------------------------------------------------------------------

var GameMinLength				= 120;							// Time in seconds, 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				= 15;							// 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		= 20;							// Time in seconds to wait for a login to Time out and click cancel and retry.
var CharacterScreenTimeout		= 10;							// Time in seconds to wait for character screen to appear.
var PleaseWaitTimeout			= 10;							// Time in seconds to wait for a please wait popup.
var CreateGameThreshold			= 20;							// Time in seconds to wait between making games.
var CreateGameThresholdRandom	= 5;							// Time in seconds to randomly add +/- to the game create time.
var CreateGameTimeout			= 15;							// Time in seconds to register a failed to create game.
var WaitInLineTimeout			= 60;							// Time in seconds 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 GameDoesNotExistDelayMin	= 10;							// How long to wait when a Game Does Not Exist occurs - minimum - default 10 minutes.
var GameDoesNotExistDelayMax	= 15;							// How long to wait when a Game Does Not Exist occurs - maximum - default 15 minutes.
var GameDoesNotExistTimeout		= 30;							// How long to wait for the dialog to disappear (default 30 seconds, don't change this).
// Control
var LoginDelay					= 5000;							// Time in milliseconds to wait before submitting login information.
var ClickDelay					= 2000;							// Wait X milliseconds before next action after a click event.
var TextDelay					= 2500;							// Wait X milliseconds before next action after inserting text into a textbox.
var ClickDelayRandom			= 500;							// Random amount of Time in milliseconds to add to a click.
var TextDelayRandom				= 500;							// Random amount of Time in milliseconds to add to a text set.
// Channel
var WaitBeforeEnterChatMin		= 1000;							// Min time in milliseconds to wait before entering chat.
var WaitBeforeEnterChatMax		= 2000;							// Max time in milliseconds to wait before entering chat.
var WaitInChatBeforeActionsMin	= 2000;							// Min time in milliseconds to wait before joining channel.
var WaitInChatBeforeActionsMax	= 3000;							// Max time in milliseconds to wait before joining channel.
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 UseFileBackupTimeMax		= 30;							// Time in minutes that may pass since last file update - The backup File is updated at the beginning of every single game and is read everytime the name of your previous game is undefined (e.g. at restarts); Set to 0 to deactivate file backup.

//------------------------------------------------------------------------------
// Game settings
//------------------------------------------------------------------------------

var PlayersPerGame				= 8;							// Maximum number of players to be set when creating a game.
var CharacterDifference			= 0;							// Level difference to be set when creating games. Set to 0 not to use level restrictions.
var GameDescription				= "daddy";	// The description to be used for your game. Set to "" not to enter a game description.

var JoinRandomGamesChars		= new Array("");// Dynamic array that holds chars that are to join public games.
var JoinGameKeywords			= new Array("dia", "baal");		// If your char is set to join public games, games will only be joined if the game name contains one of the given keywords.

//------------------------------------------------------------------------------
// Channel Settings
//------------------------------------------------------------------------------

var IgnoreWispers				= true;							// Set to true to ignore all incoming wispers from players that are not on your friendlist.
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			= "";				// Leave blank not to join a private channel.
var PerformChannelLogin			= false;						// 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("YourCharNameGoesHere");
// Or
ChannelUsers.push("YourAccountNameGoesHere");

// The following key expressions will be replaced by their actual values:  %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 usually won't be any anncouncement right after login - If the gamename is undefined, the bot will try to load the backup file to announce the upcoming game properly.
var GameAnnouncement			= "Creating %game%counter//%password in about %time seconds.";

//------------------------------------------------------------------------------
// Auto Mule
//------------------------------------------------------------------------------

var JoinRetries					= 5;							// How many attempts before giving up the mule game?
var JoinRetryDelay				= 55;							// Seconds to wait between Retry Attempts.
var TimeBeforeMuleGame			= 1;							// Minutes to wait before creating the game.
var TimeAfterMule				= 3;							// Minutes to wait before logging back to bot account.
var WaitOnBlockedAccount		= 2;							// Minutes to wait if the mule account is currently being used by another char (this delay will be used up to 20 times).

//------------------------------------------------------------------------------
// Misc
//------------------------------------------------------------------------------

var MaximumLocationLoops		= 5;							// The maximum number of loops for a single location; if the window is does not respond and is caught in an infinite loop it will be restarted when the number of loops exceeds the one you specify here.

//---------------------------------------------------------------------------------------------------------------------------------------------------------
//															DONT EDIT ANYTHING BELOW THIS!
//---------------------------------------------------------------------------------------------------------------------------------------------------------

// AutoMule Variables and Stuff
const DGDebug = false;

function AutomuleData()
{
	this.InProgress = false;
	this.PreventRecover = false;
	this.IsWaiting = false;
	this.State = "notmuling";
	this.CurrentAccount = 0;
	this.MuleIndex = 0;
	this.IsReady = true;

	// Account creation variables
	this.CreateAccount = false;
	this.CharCreateNumber = -1;
	this.RegMail = "";
	this.MuleFull = false;
	this.AccName;
	this.AccPw;
	this.AccPrefix;
	this.AccSuffix = new Array();
	this.NewAccPw = new Array();
	this.UserNumbers;
	this.IsLadder;
	this.IsHC;
	this.IsClassic;
	this.RandomNameLength;
	this.GameName;
	this.GamePassword;
	
	this.Mules = new Array();
	this.MuleAccs;
	this.MulePws;
	this.NipFiles = new Array();
	this.CharLoc;
	
	this.MuleIsFullThreshold;
	this.JoinBug;
	this.NewCharBug = 0;
	this.FullAuto = false;
}

var Automule = new AutomuleData();

Include("libs/controlInfo.ntl");
Include("libs/common/NTCommon.ntl");
Include("NTBot/mule_configs/NTConfig_AutoMule.ntl");
NT_LoadMuleConfig();

Include("libs/common/DGAutoMule.ntl");

// 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 LocationLoops = new Array(2);
var ChatActionsDone = false;
var LastGameFailed = false;
var JoinedChannel = false;
var JustJoined = true;
var MadeAnnouncement = false;

// This is for recovering purpose, delete mulestate file is you get stuck
DGAM_ReadMuleStats();
MWAM_ReleaseUsedAccounts();
MWAM_InitializedMuleLoads(false);

var ControlData = new controlInfo();

function NTMain()
{
	var _ingame, _scriptPath;
	
	Delay(1000);

	_ingame = false;
	
	ConnectingToBnetTimeout *= 1000;
	GameMinLength *= 1000;
	CharacterScreenTimeout *= 1000;
	PleaseWaitTimeout *= 1000;
	CreateGameThreshold *= 1000;
	CreateGameThresholdRandom *= 1000;
	CreateGameTimeout *= 1000;
	WaitInLineTimeout *= 1000;
	GameDoesNotExistDelayMin *= 1000*60;
	GameDoesNotExistDelayMax *= 1000*60;
	GameDoesNotExistTimeout *= 1000;

	ControlData.ClickDelay = ClickDelay;
	ControlData.TextDelay = TextDelay;
	ControlData.ClickDelayRandom = ClickDelayRandom;
	ControlData.TextDelayRandom = TextDelayRandom;
	
	RegisterEvent(EVENT_SCRIPTMSG, DGAM_MuleMsgEvents);

	while(true)
	{
		if(me.ingame)
		{
			if(!InGameAt)
				InGameAt = GetTickCount();
			
			if(!_ingame)
			{
				if(Automule.InProgress)
				{
					if(DGDebug)
						NTC_SendLogToOOG(NTC_LOG_COMMON, "[Debug] Joined Mule Game");
						
					switch(Automule.State)
					{
						case "notmuling": // Done or not yet started
							// No... we really are not supposed to be here
							Automule.InProgress = false;
							ExitGame();
							NTC_SendLogToOOG(NTC_LOG_COMMON, "AutoMule Error, try again.");
							SetStatusText("ÿc1AutoMule Error... (Wait 60s)");    
							Delay(60000);
							break;
							
						case "mulestart": // Still on Bot Account
							_scriptPath = "NTBot/bots/NTPermGameandMule.ntj";
							break;
							
						case "mule": //Muleing
						case "mulefull": // Mule Full
						case "done": // Next Account
						case "recover": // Recovering
							_scriptPath = "NTBot/bots/NTPickStuff.ntj";
							break;

						default:
							_scriptPath = "NTBot/NTPermGameandMule.ntj";	
							break;
					}
				
					if(DGDebug)
						NTC_SendLogToOOG(NTC_LOG_COMMON, "Debug: Load " + _scriptPath);
						
					RunGC();
					
					if(Load(_scriptPath))
					{
						_ingame = true;
						Automule.JoinBugCount = 0;
						MadeAnnouncement = false;
						LocationLoops[1] = 0;
						
						MW_WriteBackupFile();

						if(me.playtype > 0)
							NT_SendEventToOOG(D2NT_MGR_INGAME, "Currently in Mule Game", 0);
						else
							NT_SendEventToOOG(D2NT_MGR_INGAME, "Oops, that's not gonna work honey.", 0);
						
						LastGameStatus = 2; // in game successful
					}
				}
				else
				{
					RunGC(); // run garbage collector between each game

					if(Load("NTBot/MWBotGame.ntj"))
					{
						_ingame = true;
						MadeAnnouncement = false;
						LocationLoops[1] = 0;
						
						MW_WriteBackupFile();
						
						if(me.playtype > 0)
							NT_SendEventToOOG(D2NT_MGR_INGAME, "In Game [IP:" + me.gameserverip.split(".")[3] + "]", 0);
						else
							NT_SendEventToOOG(D2NT_MGR_INGAME, "In Game", 0);

						LastGameStatus = 2; // in game successful
					}
				}	
			}

			Delay(1000);
		}
		else
		{
			if(Automule.IsWaiting)
				Delay(1000);
			else
			{
				if(_ingame)
				{
					_ingame = false;
					NT_SendEventToOOG(D2NT_MGR_READY, "", 0);
					Delay(4000);
				}
				
				if(Automule.InProgress)
					DGAM_DoMuleLocationAction();
				else
					NT_LocationAction(ControlData.getLocation());
					
				Delay(500);
			}
		}
	}
}

function NT_LocationAction(location)
{
	var _randomChannel, _output, _control;
	
	MW_CheckLocationLoops(location);
	
	switch(location.id)
	{
	case 3: // Lobby Chat
		if(JustJoined)
		{
			JustJoined = false;
			if(MW_ArrayContainsUser(ChannelUsers))
				_output = "ÿc2Chat actions enabled!";
			else
				_output = "ÿc1Chat actions disabled!";
			
			for(var i = 0; i < 3; i++)
			{
				SetStatusText(_output);
				Delay(500);
				SetStatusText("");
				Delay(500);
			}
			
			if(IgnoreWispers)
			{
				Say("/o igw");
				Delay(500);
			}
		}
		
		if(!ChatActionsDone && MW_ArrayContainsUser(ChannelUsers))
		{
			ChatActionsDone = true;
			
			Delay(Random(WaitInChatBeforeActionsMin, WaitInChatBeforeActionsMax));
			
			if(!JoinedChannel && (JoinRandomChannel || JoinChannelInChat != ""))
			{
				_randomChannel = NT_GetRandomString(Random(3,10));
				SetStatusText("ÿc8Joining Channel ÿc;" + (JoinRandomChannel ? _randomChannel : JoinChannelInChat));
				
				Delay(500);
				
				Say("/join " + (JoinRandomChannel ? _randomChannel : JoinChannelInChat));
				JoinedChannel = true;
					
				if(PerformChannelLogin)
				{
					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)
		{
			LastGameFailed = false;

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

					ControlData.click(ControlData.controls.lobby.button.join);
				}
				else
				{
					_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
				NT_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:
				NT_OutputGameLength();
				LastGameStatus = 0;
				NT_SetNextGameMake();
				if(LastGameFailed)
				{
					SetStatusText("ÿc1Failed to join!");
					NT_SendEventToOOG(D2NT_MGR_PRINT_LOG, "ÿBE0000Game creation failed!", 0);
					Delay(1000);
				}
				NT_SendEventToOOG(D2NT_MGR_PRINT_STATUS, location.name, 0);
				break;
			}
		}
		else
		{
			if(JoinChannelInChat && !MadeAnnouncement && MW_ArrayContainsUser(ChannelUsers))
			{
				if(MW_AnnounceGame())
					MadeAnnouncement = true;
			}
			
			MW_TimeoutDelay(NextGameMake - GetTickCount(), location, !MW_ArrayContainsUser(JoinRandomGamesChars));
		}
		break;
		
	case 2: // Waiting In Line
		if(GetTickCount() - LastGameMade > WaitInLineTimeout)
			ControlData.click(ControlData.controls.lobby.inLine.button.cancel);
		break;

	case 4: // Create Game
		if(!MW_ArrayContainsUser(JoinRandomGamesChars))
		{
			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);
			}
			
			_control = ControlData.get(ControlData.controls.lobby.create.button.useCharacterDifference);
			if(_control)
			{
				if(CharacterDifference == 0 && _control.pressed || CharacterDifference >= 1 && CharacterDifference <= 99 && !_control.pressed)
				{
					ControlData.click(ControlData.controls.lobby.create.button.useCharacterDifference);
					Delay(1000);
				}
			}
			
			_control = ControlData.get(ControlData.controls.lobby.create.editBox.maxNumberOfPlayers);
			if(_control)
			{
				if(PlayersPerGame >= 1 && PlayersPerGame <= 8 && _control.text != PlayersPerGame.toString())
				{
					ControlData.setText(ControlData.controls.lobby.create.editBox.maxNumberOfPlayers, PlayersPerGame.toString());
					Delay(1000);
				}
			}
			
			_control = ControlData.get(ControlData.controls.lobby.create.editBox.characterDifference);
			if(_control)
			{
				if(_control.text != CharacterDifference.toString())
				{
					ControlData.setText(ControlData.controls.lobby.create.editBox.characterDifference, CharacterDifference.toString());
					Delay(1000);
				}
			}

			if(GameDescription)
			{
				ControlData.setText(ControlData.controls.lobby.create.editBox.gameDescription, GameDescription);
				Delay(1000);
			}
			
			NT_SendEventToOOG(D2NT_MGR_CREATE_GAME, location.name, 0);

			NT_LocationTimeout(5000, location);

			LastGameMade = GetTickCount();
			LastGameStatus = 1; // pending creation
		}
		break;

	case 5: // Join Game
		if(MW_ArrayContainsUser(JoinRandomGamesChars))
		{
			var _games, _game;

			_games = ControlData.get(ControlData.controls.lobby.join.textBox.gameList).GetText();
			_game = "";
			
			if(_games)
			{
				for(var i = 0; i < _games.length; i++)
				{
					for(var j = 0; j < JoinGameKeywords.length; j++)
					{
						if(_games[i].toLowerCase().indexOf(JoinGameKeywords[j].toLowerCase()) > -1)
						{
							_game = _games[i];
							i = _games.length;
							break;
						}
					}
				}
			}
			
			if(_game != "")
			{
				SetStatusText("ÿc8Joining Game: " + _game);
				Delay(250);
				ControlData.setText(ControlData.controls.lobby.join.editBox.gameName, _game);
				Delay(1000);
				ControlData.click(ControlData.controls.lobby.join.button.joinGame);

				NT_LocationTimeout(5000, location);
				LastGameMade = GetTickCount();
				LastGameStatus = 1; // pending creation
			}
			else
				Delay(2500);
			
			ControlData.click(ControlData.controls.lobby.button.create);
			Delay(500);
			ControlData.click(ControlData.controls.lobby.button.join);
			Delay(500);
		}
		break;

	case 6: // Ladder
		break;

	case 7: // Channel List
		break;

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

	case 9: // Login
		NT_SendEventToOOG(D2NT_MGR_PRINT_STATUS, location.name, 0);
		Delay(LoginDelay);

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

		NT_SendEventToOOG(D2NT_MGR_LOGIN, location.name, 0);

		NT_LocationTimeout(5000, location);
		break;

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

	case 11: // Unable To Connect
		MW_TimeoutDelay(UnableToConnectRetry*60*1000, location);
		ControlData.click(ControlData.controls.login.unableToConnect.button.ok);
		break;

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

		NT_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;
			NT_SetNextGameMake();
		}
		else
		{
			ControlData.click(ControlData.controls.characterSelect.button.exit);
			MW_TimeoutDelay(RealmDownRetry*60*1000, location);
		}
		break;

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

	case 14: // Character Select - Disconnected
		MW_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(!NT_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
		MW_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(!NT_LocationTimeout(ConnectingToBnetTimeout, location))
			ControlData.click(ControlData.controls.mainMenu.connecting.button.cancel);
		break;

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

	case 23: // Character Select - Connecting
		if(!NT_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(!NT_LocationTimeout(PleaseWaitTimeout, location))
			ControlData.click(ControlData.controls.lobby.pleaseWait.button.cancel);
		break;
		
	case 26: // Lobby - Game Name Exists
		NT_SendEventToOOG(D2NT_MGR_PRINT_LOG, "ÿBE0000Game already exists", 0);
		SetStatusText("ÿc1Game already exists!");
		InGameAt = 0;
		LastGameStatus = 0;
		NT_SetNextGameMake();

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

		NT_LocationTimeout(GameDoesNotExistTimeout, location);
		break;
	}
}

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

function NT_SetNextGameMake()
{
	LastGameMade = GetTickCount();
	NextGameMake = LastGameMade + CreateGameThreshold + Random(0 - CreateGameThresholdRandom, CreateGameThresholdRandom) + InGameAt;
	InGameAt = 0;
	ChatActionsDone = false;
}

function NT_OutputGameLength()
{
	var _duration;
	
	if(InGameAt)
	{
		_duration = GetTickCount() - InGameAt;

		if(_duration < GameMinLength)
			InGameAt = GameMinLength - _duration;
		else
			InGameAt = 0;
	}
}

function NT_LocationTimeout(time, location)
{
	var _endtime = GetTickCount() + time;

	while(ControlData.getLocation().id == location.id && _endtime > GetTickCount())
	{
		if(LocationLoops[1] > 1)
			NT_SendEventToOOG(D2NT_MGR_PRINT_STATUS, location.name + " [" + MWC_ConvertTicksToTimeString(_endtime - GetTickCount()) + "] [" + LocationLoops[1] + "]", 0);
		else
			NT_SendEventToOOG(D2NT_MGR_PRINT_STATUS, location.name + " [" + MWC_ConvertTicksToTimeString(_endtime - GetTickCount()) + "]", 0);
		
		Delay(1000);
	}

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

function MW_TimeoutDelay(time, location, showNextGameStatus)
{
	var _gamename, _outputString, _timeString;
	
	if(arguments.length < 3)
		showNextGameStatus = false;
	
	_endtime = GetTickCount() + time;
	_gamename = me.gamename;
	_timeString = "";
	
	if(!_gamename)
	{
		_gamename = MW_ReadBackupFile(0);
		
		if(_gamename)
			SetStatusText("ÿc8Using File Backup...");
	}
	
	while(_endtime > GetTickCount())
	{
		_timeString = " [" + MWC_ConvertTicksToTimeString(_endtime - GetTickCount()) + "]";
		
		NT_SendEventToOOG(D2NT_MGR_PRINT_STATUS, location.name + _timeString , 0);
		
		if(showNextGameStatus)
		{
			if(LastGameFailed && parseInt(_endtime-GetTickCount()) > CreateGameThreshold && parseInt((_endtime-GetTickCount())/1000) % 30 >= 0 && parseInt((_endtime-GetTickCount())/1000) % 30 <= 5)
			{
				_outputString = "ÿc1Last game failed!";
				_timeString = "";
			}
			else if(parseInt((_endtime-GetTickCount())/1000) >= 0)
			{
				if(_gamename && MW_GetGameCounter(_gamename, false))
					_outputString = "ÿc8Next game: " + MW_GetGameName(_gamename) + MW_GetGameCounter(_gamename, false);
				else
					_outputString = "ÿc8Game creation pending... ";
			}
			
			MWC_SetStatusText(_outputString, _timeString);
			
			if(me.ingame)
				_endtime = GetTickCount();
		}
		
		Delay(1000);
	}
	
	if(showNextGameStatus)
		SetStatusText("ÿc8Creating game...");
		
	return;
}

function NT_GetRandomString(length)
{
	_retString = "";
	_charSet = "0123456789abcdefghijklmnopqrstuvwxyz";

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

	return _retString;
}

function MW_GetGameName(lastGameString)
{
	if(!lastGameString)
		return "";
	else
		return lastGameString.substr(0, lastGameString.lastIndexOf('-') + 1);
}

function MW_GetGameCounter(lastGameString, simple)
{
	var _count, _countString;

	if(!lastGameString)
		return "-1";
	else
	{
		_countString = lastGameString.slice(lastGameString.lastIndexOf('-') + 1);
			
		if(_countString[0] == '0')
			_countString = _countString.substr(1);

		_count = parseInt(_countString) + 1;

		if(_count == 100)
			_count = 0;

		if(!simple)
		{
			if(_count <= 9)
				return '0' + _count;
		}

		return _count;
	}
}

function MW_ArrayContainsUser(array)
{
	for(var i = 0; i < array.length; i++)
	{
		if(me.account.toLowerCase() == array[i].toLowerCase() || me.charname.toLowerCase() == array[i].toLowerCase())
			return true;
	}
	return false;
}

function MW_ReadBackupFile(type)
{
	var _fhandle, _buffer, _time, _now, _retValue;
	
	_fhandle = FileOpen("/Logs/Temporary Data/" + me.charname + ".channel", 2);
	_retValue = "";
	_now = new Date();
	
	if(_fhandle && _now)
	{
		_buffer = _fhandle.ReadLine();
		
		if(_buffer)
		{
			_time = parseInt(_buffer);
			if(_now.getTime() - _time < UseFileBackupTimeMax*6E4)
			{
				_retValue = _fhandle.ReadLine();
				
				if(type > 0)
					_retValue = _fhandle.ReadLine();
			}
		}
		_fhandle.Close();
	}
	else if(_fhandle)
		_fhandle.Close();
	
	return _retValue;
}

function MW_WriteBackupFile()
{
	var _fhandle, _now;
	
	if(UseFileBackupTimeMax == 0)
		return false;
		
	_fhandle = FileOpen("/Logs/Temporary Data/" + me.charname + ".channel", 1);
	_now = new Date();

	if(_fhandle && _now)
	{
		_fhandle.WriteLine(_now.getTime());
		_fhandle.WriteLine(me.gamename);
		_fhandle.WriteLine(me.gamepassword);
		
		_fhandle.Close();
		
		return true;
	}
	else if(_fhandle)
		_fhandle.Close();
	
	return false;
}

function MW_CheckLocationLoops(location)
{
	if(!location)
		return false;
	
	if(!LocationLoops[0] || location.id != LocationLoops[0].id)
	{
		LocationLoops[0] = location;
		LocationLoops[1] = 0;
	}
	else if(LocationLoops[0].id != 5)
	{
		LocationLoops[1]++;
		
		if(LocationLoops[1] >= MaximumLocationLoops)
		{
			if(LocationLoops[1] < 1000)
				NT_SendEventToOOG(D2NT_MGR_PRINT_LOG, "ÿBE0000Location Loop Restart!;ÿc1Location Loops: " + LocationLoops[1] + "\nÿBE0000Location: " + LocationLoops[0].name + "\nÿBE0000Location ID: " + LocationLoops[0].id, 0);
			
			LocationLoops[1] = 1000; // Make sure the location loop notification is only shown once
			
			NT_SendEventToOOG(D2NT_MGR_RESTART, location.name, 0);
		}
	}
	
	return true;
}

function MW_AnnounceGame()
{
	var _gamePass, _gameName, _gameText, _delay;

	_gameName = me.gamename;
	
	if(!_gameName)
		_gameName = MW_ReadBackupFile(0);
		
	_gamePass = me.gamepassword;
	
	if(!_gamePass)
		_gamePass = MW_ReadBackupFile(1);
		
	if(_gameName && !me.ingame)
	{
		_delay = (GameAnnouncementDelay > 5000) ? GameAnnouncementDelay : 5000;
		_delay += (GameAnnouncementDelayRandom > 500) ? Random(0, GameAnnouncementDelayRandom) : 500;
		
		_gameText = GameAnnouncement.replace("%password", ((_gamePass) ? _gamePass : "N/A"));
		_gameText = _gameText.replace("%game", MW_GetGameName(_gameName));
		_gameText = _gameText.replace("%counter", MW_GetGameCounter(_gameName, false));
		_gameText = _gameText.replace("%time", parseInt((NextGameMake - GetTickCount() - _delay + ClickDelay + TextDelay) / 1000 + 5));
	
		if(_gameText.indexOf("NaN") > -1)
			return false;
		
		if(parseInt((NextGameMake - GetTickCount() - _delay + ClickDelay + TextDelay) / 1000) > 3)
		{
			Delay(_delay);
			
			return Say(_gameText);
		}
	}
	
	return false;
}
sideluxe is offline  
Old 03/10/2012, 16:31   #5938
 
kal_el's Avatar
 
elite*gold: 0
Join Date: Jan 2009
Posts: 7,310
Received Thanks: 2,205
was heißt... die will ihn ständig killen ?
und die andre will ihn gar nicht killen... was wollen die nun
an der ntbot.ntj kann es nicht liegen.
wenn dann in der charconfig.
klappt das denn mit den siegeln
telt der leader dann zur mitte... und wenn dia kommt, was dann?
kal_el is offline  
Old 03/10/2012, 16:56   #5939
 
mirkoregge's Avatar
 
elite*gold: 0
Join Date: Jan 2009
Posts: 3,170
Received Thanks: 1,191
Quote:
Originally Posted by Dextra View Post
Ich habe mal wieder ein schwerwiegendes Problem.

Folgendes Szenario:

Ich habe 5 Palas (Hammer) alle stufe +90, gestattet und geskillt wie es in jedem guide steht, jeder Pala kommt auf +3k Life mit Bo.

Nun habe ich mir Muddys bot geladen, eingestellt und erstmal serienmäßig 2-3 Tage laufen lassen.

Fazit: Alles ok, selten abstürze gehabte, war alles zu verkraften doch ein nachteil: die pickit ist leider etwas mau!

Nun dachte ich mir: Besorgste dir eine neue!

Gesagt getan, Pickit geladen, geschaut ob alles soweit in Ordnung ist und es ist nix dran zu bemängeln (mit den Augen eines Laien).

Nun hatte ich dir Bots die letzte Nacht laufen lassen und siehe da:

ca. 70 Runs jeder geschafft und die Absturzbilanz: 5-10 (jeder bot unterschiedlich)

Nun hab ich die faxxen dicke, ich weiß nicht woran es liegen kann...

Wäre sehr dankbar wenn mal jmd hier eine analyse machen könnte ob es die Pickit ist, oder der fehler woanders steckt.

Wäre sehr dankbar

Gruß

Dex

Btw: Rechtschreibfehler dürft ihr behalten! Schaut aufn Tacho wann ich das geschrieben habe!

Tante Edit: Und teilweise ruckeln sich die Bots bei mir richtig einen ab... ich bin ratlos woran das liegen kann. Desweiteren fällt mir auch ein das dass Duriel script leicht Buggy ist wenn irgendwelche Viecher vor dem Eingang stehen.
Ganz schön unfreundlicher Ton, dein Hauptproblem wird wohl hier liegen:
Code:
	//------------------------------------------------------------------------------
	// Potion Configuration
	//------------------------------------------------------------------------------
	
	NTConfig_LifeThresh = 0;		// Drink a normal potion if under this percent of life.
	NTConfig_LifeRejuvThresh = 65;	// Drink a rejuvenation potion if under this percent of life.
	NTConfig_ManaThresh = 0;		// Drink a normal potion if under this percent of mana.
	NTConfig_ManaRejuvThresh = 0;	// Drink a rejuvenation potion if under this percent of mana.
	
	NTConfig_MercLifeThresh = 0;	// This is the threshold to use a life potion on your merc in percent.
	NTConfig_MercRejuvThresh = 40;	// This is the threshold to use a rejuv potion on your merc in percent.
Code:
	//------------------------------------------------------------------------------
	// Belt Configuration
	//------------------------------------------------------------------------------
		
	// Available types : "hp" = health, "mp" = mana, "rv" = rejuvenation.
	// Define how many columns are used for each potion type.
	MWConfig_BeltColType["hp"].Columns = 0;
	MWConfig_BeltColType["mp"].Columns = 0;
	MWConfig_BeltColType["rv"].Columns = 4;
	
	// Define minimum number of potions per column. If the actual number of potions in a column is below this value, your char will visit a merchant when in town in order to buy potions.
	MWConfig_BeltColType["hp"].MinPots = 0;
	MWConfig_BeltColType["mp"].MinPots = 0;

	// Visit Town and buy potions if your char lacks mana when trying to loot a corpse or teleport.
	MWConfig_BuyPotionsOnLackOfMana = false;
	
	// Set to true to replace low quality potions with higher quality potions that just dropped.
	MWConfig_ReplaceLowQualityPotions = true;
original:
Code:
	//------------------------------------------------------------------------------
	// Potion Configuration
	//------------------------------------------------------------------------------
	
	NTConfig_LifeThresh = 70;		// Drink a normal potion if under this percent of life.
	NTConfig_LifeRejuvThresh = 60;	// Drink a rejuvenation potion if under this percent of life.
	NTConfig_ManaThresh = 30;		// Drink a normal potion if under this percent of mana.
	NTConfig_ManaRejuvThresh = 1;	// Drink a rejuvenation potion if under this percent of mana.
	
	NTConfig_MercLifeThresh = 50;	// This is the threshold to use a life potion on your merc in percent.
	NTConfig_MercRejuvThresh = 30;	// This is the threshold to use a rejuv potion on your merc in percent.
Code:
	//------------------------------------------------------------------------------
	// Belt Configuration
	//------------------------------------------------------------------------------
		
	// Available types : "hp" = health, "mp" = mana, "rv" = rejuvenation.
	// Define how many columns are used for each potion type.
	MWConfig_BeltColType["hp"].Columns = 1;
	MWConfig_BeltColType["mp"].Columns = 1;
	MWConfig_BeltColType["rv"].Columns = 2;
	
	// Define minimum number of potions per column. If the actual number of potions in a column is below this value, your char will visit a merchant when in town in order to buy potions.
	MWConfig_BeltColType["hp"].MinPots = 3;
	MWConfig_BeltColType["mp"].MinPots = 3;

	// Visit Town and buy potions if your char lacks mana when trying to loot a corpse or teleport.
	MWConfig_BuyPotionsOnLackOfMana = true;
	
	// Set to true to replace low quality potions with higher quality potions that just dropped.
	MWConfig_ReplaceLowQualityPotions = true;
mirkoregge is offline  
Thanks
3 Users
Old 03/10/2012, 17:17   #5940
 
kal_el's Avatar
 
elite*gold: 0
Join Date: Jan 2009
Posts: 7,310
Received Thanks: 2,205
joa, was ich da jez von mirko gepostet so sehe hast ja einiges verstellt...

wegen dem ruckeln...hast auch das verstellt in der charconfig?
Quote:
//------------------------------------------------------------------------------
// Pickit Configuration
//------------------------------------------------------------------------------

// Radius to check for dropped items. NOTE: The maximum is at about ~75, entering higher values will not have any effect.
NTConfig_SnagRange = 70;

// Set to true to check for dropped items whenever you kill a monster. (Recommended value to avoid crashes: false)
MWConfig_PickItemsInstantly = true;
mit false sollt es flüssiger laufen.

auch eine endlos lange pick kann zum ruckeln führen
kal_el is offline  
Reply


Similar Threads Similar Threads
[Release] D2NT 3.1 1.13c
07/17/2016 - Diablo 2 - 91 Replies
hi, hab eben den d2nt3.1 gefunden. ein neues baba script is dabei. release thread eon D2NT3.1
[Realease] Muddy's Waypoint Catcher
08/21/2013 - Diablo 2 Programming - 46 Replies
Moin zusammen, hier mal die erste Release Version eines kleinen Scripts genannt Waypoint Catcher. Das ganze ist jetzt nichtmal 24h alt, dementsprechend sind vermutlich noch einige Bugs vorhanden. Hinweise dazu nehme ich gerne entgegen. ;) Features: - Suchen sämtlicher Wegpunkte mit Ausnahme, wobei in Akt ein durch Probleme im Jail Bereich nach dem Wegpunkt Outer Cloister abgebrochen wird - Wahlweise auch mit TP an jedem gefundenen Wp, sodass man damit auch anderen (nicht-Bots) die...
[D2NT] Long Dia Release
05/10/2011 - Diablo 2 Programming - 28 Replies
Ein kleines Script für diablo, es startet beim eingang macht ein tp cleart den weg zum star macht am star noch ein tp dann läufts wie das normale nur cleart es schöner :) hoffe euch gefällts ich habs noch nicht wirklich getestet (2-3 runs) bugs können gerne hier gepostet werden verbesserungs vorschläge auch :D installation: 1.)Script in den Bot ordner kopieren 2.)Script im editor oder vergleichbaren öffnen 3.) Msg´s anpassen (ist nicht schwer) 4.) in der char config die zeile...
D2NT 3.0 Pickit release
10/22/2010 - Diablo 2 - 77 Replies
edit
Muddy's D2NT Help
07/29/2010 - Diablo 2 - 3 Replies
hi i just started to use the bot it work's great. how do i set up the skill's i use on my Sorc and pick up itme's? ..... if you reply to this post please use english



All times are GMT +1. The time now is 17:32.


Powered by vBulletin®
Copyright ©2000 - 2025, 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 ©2025 elitepvpers All Rights Reserved.