Register for your free account! | Forgot your password?

Go Back   elitepvpers > Other Online Games > Diablo 2 > Diablo 2 Programming
You last visited: Today at 13:25

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

Advertisement



Muddy’s D2NT – FAQ [NO QUESTIONS]

Discussion on Muddy’s D2NT – FAQ [NO QUESTIONS] within the Diablo 2 Programming forum part of the Diablo 2 category.

Closed Thread
 
Old   #1
Administrator
 
Muddy Waters's Avatar
 
elite*gold: 41364
Join Date: Jan 2010
Posts: 22,729
Received Thanks: 12,625
Muddy’s D2NT – FAQ [NO QUESTIONS]

Hey folks,

As I’m almost done with the upcoming update I figured it might be a good idea to start the FAQ right away. I did a bit of brainstorming on how to approach this and then came up with the idea of including everyone in its creation.
So many of you already did such a great job at answering questions in the release topic and helping users with various issues, so why do all the work myself when you could as well give me a hand with this?
What I’d basically like you to do is to pick one of the questions and then answer it in detail, so that even people who are absolutely clueless are able to get your point.
Also, I figured that our English-speaking members have really been having a hard time with all those explanations in German so far which is why the main language of this FAQ is going to be English. This means, each and every answer to a question in the FAQ has to be in English. You may of course add a German version as well, but an English version is mandatory.

Here are some rules for posting in this topic:
  • Make sure to post a reservation before you start working on a question.
  • Do not posts questions or anything in this topic that is not a contribution to the FAQ or a reservation. Anything but the latter will be deleted!
  • Your contributions should more or less match my idea of proper language (capitalization when necessary, proper punctuation, proper use of BB codes; to put it in a nutshell: high readability).
  • If you think a question is missing that should definitely be included in the FAQ, please contact me via PM or drop a message on my profile.

__________________


Hallo Leute,

Da ich fast fertig bin mit dem kommenden Update, dachte ich mir es wäre wohl eine gute Idee direkt schon mal mit der FAQ zu beginnen. Ich habe mir ein wenig den Kopf darüber zerbrochen, wie man das am besten angehen kann und bin dann auf die Idee gekommen, alle in die Erstellung mit einzubinden.
So viele von euch haben schon tolle Arbeit bei der Beantwortung von Fragen und der Hilfe bei diversen Problemen geleistet, warum also die ganze Arbeit alleine machen, wenn ihr mir dabei genauso gut zur Hand gehen könnt?
Was mir von euch wünschen würde, ist, dass ihr euch eine der Fragen herauspickt und diese dann im Detail beantwortet, sodass auch absolut ahnungslos Leute in der Lage sind es zu verstehen.
Mir ist außerdem aufgefallen, dass es unsere englisch sprachigen Mitglieder bisher immer recht schwer gehabt haben mit all den Erklärungen auf Deutsch darum wird die Hauptsprache dieser FAQ Englisch sein. Ihr dürft natürlich auch gerne eine deutsche Version hinzufügen, aber eine englische Version ist zwingend erforderlich.

Hier sind einige Regeln zum Posten in diesem Thema:
  • Postet grundsätzlich eine Reservierung, bevor ihr mit der Arbeit an einer Frage beginnt.
  • Postet hier keine Fragen oder irgendwas anderes in diesem Thema, was kein Beitrag zur FAQ oder eine Reservierung ist. Alles außer letzterem wird kommentarlos gelöscht!
  • Euer Beitrag sollte mehr oder weniger meiner Vorstellung von anständiger Sprache entsprechen (Groß- und Kleinschreibung, korrekte Zeichensetzung, Einsatz von BB Codes; um es kurz zu machen: hohe Lesbarkeit)
  • Wenn ihr glaubt hier würde eine Frage fehlen, die definitiv in der FAQ enthalten sein sollte, meldet euch bitte per PM oder hinterlasst eine Nachricht auf meinem Profil.


__________________
FAQ









How can I make my bot harvest organs?
How can I make my bot do UT?




What is the MWTools entry point good for?








Color table:
Black - done
Orange - creation pending
Red - missing
Muddy Waters is offline  
Thanks
14 Users
Old 08/16/2011, 20:34   #2

 
lanara's Avatar
 
elite*gold: 139
Join Date: Oct 2006
Posts: 12,058
Received Thanks: 24,256
Q: How can I get rid of those annoying overhead messages?

A: You can turn the overhead messages on or off in the global settings of your char config. The file MWConfig_GlobalSettings.ntl is located in the folder scripts\NTBot\char_configs. In this file you have to look for a variable called MWConfig_ShowOverheadStatus, which can have the following values asigned:
  • true - Overhead messages are visible
  • false - Overhead messages are not visible

So to disable the overhead messages you need to set it to false.

Code:
[COLOR="Green"]// Set to true to enable overhead status messages. NOTE: This will be visible for everyone in the game so you might not want to activate it when doing public games.[/COLOR]
MWConfig_ShowOverheadStatus = [B][COLOR="Blue"]false[/COLOR][/B];
__________________

Q: Wie kann ich diese nervigen Meldungen über dem Char ausschalten?

A: Man kann die Statusmeldungen über dem Char in den Global Settings der Charconfig an- oder ausschalten. Die Datei MWConfig_GlobalSettings.ntl befindet sich im Ordner scripts\NTBot\char_configs. In der Datei muss man nach der Variable MWConfig_ShowOverheadStatus suchen, der folgende Werte zugewiesen werden können:
  • true - Die Meldungen über dem Char sind aktiviert
  • false - Die Meldungen über dem Char sind deaktiviert.

Um die Statusmeldungen auszuschalten muss der Wert dementsprechend auf false gesetzt werden.

Code:
[COLOR="Green"]// Set to true to enable overhead status messages. NOTE: This will be visible for everyone in the game so you might not want to activate it when doing public games.[/COLOR]
MWConfig_ShowOverheadStatus = [B][COLOR="Blue"]false[/COLOR][/B];
lanara is offline  
Thanks
9 Users
Old 08/16/2011, 21:11   #3
Administrator
 
Muddy Waters's Avatar
 
elite*gold: 41364
Join Date: Jan 2010
Posts: 22,729
Received Thanks: 12,625
Q: How to set up auto mule?

First of all, please note that I didn't add ldevil's full auto mule yet which means you will have to create both the accounts and chars yourself.
In other words: the accounts and chars you select below must exist, but apart from that, setting up auto mule is rather simple.

Okay, let's get going and have a look at the global config (MWConfig_GlobalSettings.ntl):
Code:
[Color=Green]//------------------------------------------------------------------------------[/Color]
[Color=Green]// General Configuration[/Color]
[Color=Green]//------------------------------------------------------------------------------[/Color]

[Color=Green]// Set to false will disable auto mule for all chars. Note that you have to set both this variable and MWConfig_Automule.Activated (in you char config) to true in order to enable auto mule for a char.	[/Color]
MWConfig_Automule.Enabled = [B][I][Color=Navy]true[/Color][/I][/B];
This variable achtually allows you to disable auto mule for all chars at once which of course also means you have to set it to true if you'd like to use auto mule.

Next step taking care of the char specific auto mule setting, so let's open your char config (NTConfig_<YourCharClass>_<YourCharName>.ntl) and find the section called "Automule Configuration":
Code:
[Color=Green]//------------------------------------------------------------------------------[/Color]
[Color=Green]// Automule Configuration[/Color]
[Color=Green]//------------------------------------------------------------------------------	[/Color]

[Color=Green]// Set to true to enable auto mule.[/Color]
MWConfig_Automule.Activated = [B][I][Color=Navy]true[/Color][/I][/B];

[Color=Green]// The maximum stash load in percent before auto mule is triggered.[/Color]
MWConfig_Automule.MaxLoad = [Color=Red]95[/Color];

[Color=Green]// Set to true to show your stash's current load whenever managing stash.[/Color]
MWConfig_Automule.ShowCurrentLoad = [B][I][Color=Navy]true[/Color][/I][/B];

[Color=Green]// Set to true to finish your current game before muling, otherwise the game is left right away in case your stash is full.[/Color]
MWConfig_Automule.FinishGame = [B][I][Color=Navy]true[/Color][/I][/B];

[Color=Green]// Define which items are not to be touched when muling.[/Color]
MWConfig_Automule.DontMule.push([Color=Gray]"mule/dont_mule.nip"[/Color]);
MWConfig_Automule.DontMule.push([Color=Gray]"mule/gems.nip"[/Color]);
Most important thing is to set MWConfig_Automule.Activated to true. MWConfig_Automule.MaxLoad is basically the load threshold for triggering auto mule.
MWConfig_Automule.ShowCurrentLoad is really just a gimmick, it doesn't affect the auto mules's operation at all.
If your bot does not keep that many items due to some spohisticated Nips, you should definitely MWConfig_Automule.FinishGame to true, no need to hurry.
MWConfig_Automule.DontMule is an array to which you can add some Nips. You can use these Nips to specifiy which items are not to be touched when dropping the items that are to be muled. The default settings should basically do, no need to change anything.

Time for the real deal, also known as the auto mule config. Please note that all changes made in the following files will require a restart of the corresponding D2 window to take effect.

When you open the bot's entry point (NTBot.ntj) you should find these settings:
Code:
[Color=Green]// Mule Settings[/Color]
[B][I][Color=Navy]var[/Color][/I][/B] JoinRetries = [Color=Red]5[/Color];						[Color=Green]// How many attempts before giving up the mule game[/Color]?
[B][I][Color=Navy]var[/Color][/I][/B] JoinRetryDelay = [Color=Red]55[/Color];					[Color=Green]// Seconds to wait between Retry Attempts[/Color]
[B][I][Color=Navy]var[/Color][/I][/B] TimeBeforeMuleGame = [Color=Red]1[/Color];					[Color=Green]// Minutes to wait before creating the aame[/Color]
[B][I][Color=Navy]var[/Color][/I][/B] TimeAfterMule = [Color=Red]5[/Color];						[Color=Green]// Minutes to wait before logging back to bot account[/Color]
There is no need to change JoinRetries or JoinRetryDelay, you should, however, increase both TimeBeforeMuleGame and TimeAfterMule in case your runs usually don't last more than some minutes, in order to avoid realm downs.

We are nearly done now, last thing to do is setting up the auto mule config.
But before I start, I'd like to explain what the property CharLoc means which we will need in the config.
The CharLoc is basically a number indicating a chars position on an account, starting at zero. I've illustrated this in the code box below:
Code:
CharLoc: 0  |	Charloc: 1
____________|_____________
CharLoc: 2  |	Charloc: 3
____________|_____________
CharLoc: 4  |	Charloc: 5
____________|_____________
CharLoc: 6  |	Charloc: 7
____________|_____________
Since this should be clear by now, let's have a look at the mule config:
Code:
[B][I][Color=Navy]function[/Color][/I][/B] NT_LoadMuleConfig()
{
	[B][I][Color=Navy]var[/Color][/I][/B] _newMule;

	Automule.MuleIsFullThreshold = [Color=Red]0[/Color].[Color=Red]90[/Color];
	
	[B][I][Color=Navy]switch[/Color][/I][/B](me.account.toLowerCase())
	{
		[Color=Green]//------------------------------------------------------------------------------[/Color]
		[Color=Green]// Full account sample - Copy the below case if you'd like to assign a full mule account to your bot char.[/Color]
		[Color=Green]// Note: you have to create both the account and the mules yourself before using them for auto mule.[/Color]
		[Color=Green]//[/Color]
		[B][I][Color=Navy]case[/Color][/I][/B] [Color=Gray]"your_bot's_lower_case_account_name_goes_here"[/Color]: 	[Color=Green]// <-- Enter your bot's account name here. (lower case only!)[/Color]
			Automule.GameName = [Color=Gray]"SomeGameName"[/Color]; 				[Color=Green]// Enter the name of your mule game here. Note: don't use the same game for multiple bot chars.[/Color]
			Automule.GameNamePassword = [Color=Gray]"SomePassword"[/Color];			[Color=Green]// Enter the password of your mule game here.[/Color]
			
			[B][I][Color=Navy]for[/Color][/I][/B]([B][I][Color=Navy]var[/Color][/I][/B] i = [Color=Red]0[/Color]; i < [Color=Red]8[/Color]; i++)
			{
				_newMule = [B][I][Color=Navy]new[/Color][/I][/B] Mule(); 							[Color=Green]// Create a new mule object. (no need to change anything here)[/Color]
				_newMule.Account = [Color=Gray]"YourMuleAccNameGoesHere"[/Color]; 	[Color=Green]// Enter the name of your mule account here.[/Color]
				_newMule.Password = [Color=Gray]"YourMulePWGoesHere"[/Color]; 		[Color=Green]// Enter the password for your mule account here.[/Color]
				_newMule.NipFiles.push([Color=Gray]"mule/all.nip"[/Color]); 		[Color=Green]// Enter any number of mule paths here.[/Color]
				_newMule.CharLoc = i; 							[Color=Green]// Enter the the mule's location here. Check the FAQ if you don't know what this is about.[/Color]
				Automule.Mules.push(_newMule);					[Color=Green]// Add the mule you just created. (no need to change anything here)[/Color]
			}
			
			[B][I][Color=Navy]break[/Color][/I][/B];
		[Color=Green]//[/Color]
		[Color=Green]//[/Color]
		[Color=Green]//------------------------------------------------------------------------------[/Color]
		
		[Color=Green]//------------------------------------------------------------------------------[/Color]
		[Color=Green]// Single mule sample - Copy the below case if you'd like to assign single mules (even from different accounts) to your bot char.[/Color]
		[Color=Green]// Note: you have to create both the account and the mules yourself before using them for auto mule.[/Color]
		[Color=Green]//[/Color]
		[B][I][Color=Navy]case[/Color][/I][/B] [Color=Gray]"your_bot's_lower_case_account_name_goes_here"[/Color]: 	[Color=Green]// <-- Enter your bot's account name here. (lower case only!)[/Color]
			Automule.GameName = [Color=Gray]"SomeGameNameI"[/Color]; 				[Color=Green]// Enter the name of your mule game here. Note: don't use the same game for multiple bot chars.[/Color]
			Automule.GameNamePassword = [Color=Gray]"SomePasswordI"[/Color]; 		[Color=Green]// Enter the password of your mule game here.[/Color]
			
			_newMule = [B][I][Color=Navy]new[/Color][/I][/B] Mule(); 								[Color=Green]// Create a new mule object. (no need to change anything here)[/Color]
			_newMule.Account = [Color=Gray]"YourMuleAccNameGoesHere"[/Color]; 		[Color=Green]// Enter the name of your mule account here.[/Color]
			_newMule.Password = [Color=Gray]"YourMuloePWGoesHere"[/Color]; 			[Color=Green]// Enter the password for your mule account here.[/Color]
			_newMule.NipFiles.push([Color=Gray]"mule/all.nip"[/Color]);				[Color=Green]// Enter any number of mule paths here.[/Color]
			_newMule.CharLoc = [Color=Red]0[/Color];								[Color=Green]// Enter the the mule's location here. Check the FAQ if you don't know what this is about.[/Color]
			Automule.Mules.push(_newMule);						[Color=Green]// Add the mule you just created. (no need to change anything here)[/Color]
			
			_newMule = [B][I][Color=Navy]new[/Color][/I][/B] Mule(); 								[Color=Green]// Create a new mule object. (no need to change anything here)[/Color]
			_newMule.Account = [Color=Gray]"YourOtherMuleAccNameGoesHere"[/Color];	[Color=Green]// Enter the name of your mule account here.[/Color]
			_newMule.Password = [Color=Gray]"YourOtherMulePWGoesHere"[/Color]; 		[Color=Green]// Enter the password for your mule account here.[/Color]
			_newMule.NipFiles.push([Color=Gray]"mule/all.nip"[/Color]);				[Color=Green]// Enter any number of mule paths here.[/Color]
			_newMule.CharLoc = [Color=Red]1[/Color];								[Color=Green]// Enter the the mule's location here. Check the FAQ if you don't know what this is about.[/Color]
			Automule.Mules.push(_newMule);						[Color=Green]// Add the mule you just created. (no need to change anything here)[/Color]
			
			[B][I][Color=Navy]break[/Color][/I][/B];
		[Color=Green]//[/Color]
		[Color=Green]//[/Color]
		[Color=Green]//------------------------------------------------------------------------------[/Color]
	}
}
Automule.MuleIsFullThreshold is global (i.e. affects every mule on every account) and is the the maximum load of a mule. If the mule's actual load exceeds this value it will be skipped and not used for muling.
This data is of course only available if a char has already been used for auto mule at least once.

The switch statement is used to assign your mule accounts to your bot accounts. That's why you have to copy one of the default cases and then change it accordingly.
Please note that the account name is converted to lower case, so you always want your cases to be lower case, too. If your account name was "ILikeUsingCapitalLetters", the case should look like this:
Code:
[B][I][Color=Navy]case[/Color][/I][/B] [Color=Gray]"ilikeusingcapitalletters"[/Color]:
	[Color=Green]// ...[/Color]
	[B][I][Color=Navy]break[/Color][/I][/B]; [COLOR="Green"]// NOTE: Each and every case must end with a break![/COLOR]
The default config features two samples. First one can be used to add multiple chars from the same mule account by using just a few lines of code thanks to a . The other one is meant to be used if your mules are in a way scattered, i.e. you have various (single) mules on various accounts.

When using the full account sample, make sure that the CharLoc is the indexed variable of the loop (i.e. i) which it already is by default, so better don't change it.
When using the single mule sample, make sure always to specify the proper CharLoc.

These are obviously only samples. You can add multiple accounts per bot char, as well as mix for loops for full accounts and single mules.
Here's another example:
Code:
[B][I][Color=Navy]case[/Color][/I][/B] [Color=Gray]"mypreciousbotaccount"[/Color]:
	Automule.GameName = [Color=Gray]"MyMuleGame"[/Color];
	Automule.GameNamePassword = [Color=Gray]"GotOne"[/Color];
	
	[Color=Green]// Let's add a full account (8 mules).[/Color]
	[B][I][Color=Navy]for[/Color][/I][/B]([B][I][Color=Navy]var[/Color][/I][/B] i = [Color=Red]0[/Color]; i < [Color=Red]8[/Color]; i++)
	{
		_newMule = [B][I][Color=Navy]new[/Color][/I][/B] Mule();
		_newMule.Account = [Color=Gray]"MyFullMuleAccount"[/Color];
		_newMule.Password = [Color=Gray]"MyPassword"[/Color];
		_newMule.NipFiles.push([Color=Gray]"mule/VerySpecific.nip"[/Color]);
		_newMule.CharLoc = i;
		Automule.Mules.push(_newMule);
	}
	
	[Color=Green]// Let's say I had another mule account, but I'd like to use only the first 4 chars on that account for auto mule.[/Color]
	[Color=Green]// All we have to do is decreasing the end value of the loop from 8 to 4:[/Color]
	[B][I][Color=Navy]for[/Color][/I][/B]([B][I][Color=Navy]var[/Color][/I][/B] i = [Color=Red]0[/Color]; i < [Color=Red]4[/Color]; i++)
	{
		_newMule = [B][I][Color=Navy]new[/Color][/I][/B] Mule();
		_newMule.Account = [Color=Gray]"HalfMuleAccount"[/Color];
		_newMule.Password = [Color=Gray]"MyPassword"[/Color];
		_newMule.NipFiles.push([Color=Gray]"mule/LessSpecific.nip"[/Color]);
		_newMule.CharLoc = i;
		Automule.Mules.push(_newMule);
	}
	
	[Color=Green]// Of course we also got some scattered chars that we'd like to be used for auto mule.[/Color]
	_newMule = [B][I][Color=Navy]new[/Color][/I][/B] Mule();
	_newMule.Account = [Color=Gray]"SomeRemoteAccount"[/Color];
	_newMule.Password = [Color=Gray]"MyPassword"[/Color];
	_newMule.NipFiles.push([Color=Gray]"mule/all.nip"[/Color]);
	_newMule.CharLoc = [Color=Red]7[/Color];
	Automule.Mules.push(_newMule);
	
	[Color=Green]// ... and another one.[/Color]
	_newMule = [B][I][Color=Navy]new[/Color][/I][/B] Mule();
	_newMule.Account = [Color=Gray]"SomeOtherRemoteAccount"[/Color];
	_newMule.Password = [Color=Gray]"MyPassword"[/Color];
	_newMule.NipFiles.push([Color=Gray]"mule/all.nip"[/Color]);
	_newMule.CharLoc = [Color=Red]0[/Color];
	Automule.Mules.push(_newMule);
	
	[B][I][Color=Navy]break[/Color][/I][/B];
As you can see, I've just assigned a total of 14 mule chars to my bot account. Also note, how the nips of the first mules are quite specific and then become more and more generic. This is because the chars to be added first, will also be the first ones used for muling.
It obviously isn't very useful, to use a mule that picks basically anything and then use one that for instance only picks up keys. So in case you are using mules that are only to pick certain items, make sure you put add them in the proper order.

Make sure you haven't set any level requirements!
If your char main char creates a mule game having level requirements, it is likely that you mule(s) will not be able to join it. To get rid of existing level requirements, just start Diablo 2 and manually create one game without level requirements.
Muddy Waters is offline  
Thanks
14 Users
Old 08/18/2011, 23:02   #4
Administrator
 
Muddy Waters's Avatar
 
elite*gold: 41364
Join Date: Jan 2010
Posts: 22,729
Received Thanks: 12,625
Q: Am I using the most recent version?

The most recent version is: 1.30 (Rev. 5)

The most recent version is always attached to the first post in the release topic, i.e. .

You can also check your D2NT folder and check the change log found in "Muddy's D2NT Change Log.txt". Open that file and scroll all the way down to the notes on the last update. Assuming you are using the most recent version, the headline above these notes should say: "1.2 - > 1.30"
Muddy Waters is offline  
Thanks
2 Users
Old 08/19/2011, 08:49   #5

 
lanara's Avatar
 
elite*gold: 139
Join Date: Oct 2006
Posts: 12,058
Received Thanks: 24,256
Q: Can I make my bot join random public games?

A: Yes it is possible to join random public games. You need to open the NTBot.ntj that is located in the scripts folder. There you have to find the variable JoinRandomGamesChars and write all chars that should join random public games in the array. At JoinGameKeywords in the same file you can specify what keywords should be part of the gamename to join.

To join random public Dia+Baal runs it should look like that:

Code:
[COLOR="Blue"][B]var[/B][/COLOR] JoinGameKeywords			= [COLOR="blue"][B]new[/B][/COLOR] Array([COLOR="Green"]"dia"[/COLOR], [COLOR="green"]"baal"[/COLOR]);
[COLOR="blue"][B]var[/B][/COLOR] JoinRandomGamesChars		= [COLOR="blue"][B]new[/B][/COLOR] Array([COLOR="green"]"CharnameOne"[/COLOR], [COLOR="green"]"CharnameTwo"[/COLOR]);
Please note that all changes made in in your entry point will require a restart of the corresponding D2 window to take effect.
__________________

Q: Kann ich meinen Bot dazu bringen in zufällige öffentliche Spiele zu gehen?

A: Ja es ist möglich in zufällige Spiele zu gehen. Öffnet zuerst die Datei NTBot.ntj, die sich im Ordner scripts befindet. Dort muss man nach der Variable JoinRandomGamesChars suchen und alle Chars die öffentlichen Spiele joinen sollen im Array eintragen. Bei JoinGameKeywords in der selben Datei kann man einstellen welche Schlüsselwörter das Spiel haben muss, in das der Bot gehen soll.

Um immer in zufällige Dia+Baal Spiele zu gehen müsste es so aussehen:

Code:
[COLOR="Blue"][B]var[/B][/COLOR] JoinGameKeywords			= [COLOR="blue"][B]new[/B][/COLOR] Array([COLOR="Green"]"dia"[/COLOR], [COLOR="green"]"baal"[/COLOR]);
[COLOR="blue"][B]var[/B][/COLOR] JoinRandomGamesChars		= [COLOR="blue"][B]new[/B][/COLOR] Array([COLOR="green"]"CharnameOne"[/COLOR], [COLOR="green"]"CharnameTwo"[/COLOR]);
Bitte beachtet, dass sämtliche Änderungen im Entry Point einen Neustart des betroffenen D2 Fensters erfordern, bevor diese in Kraft treten.
lanara is offline  
Thanks
8 Users
Old 08/19/2011, 12:34   #6
Administrator
 
Muddy Waters's Avatar
 
elite*gold: 41364
Join Date: Jan 2010
Posts: 22,729
Received Thanks: 12,625
Q: What’s up with those weird belt settings?

Unlike Vanilla D2NT, my version uses are more or less powerful belt class that takes care of most things related to potions and your belt.
It does not only enable you to buy potions way more quickly than in Vanilla D2NT or replace potions of lower quality with better ones when running a bot script, but also removes the necessity of specifying which potion type a particular column is used for.

That's why the settings also differ from the ones in Vanilla D2NT. The belt settings are located in your char config and should look like this by default:
Code:
[Color=Green]//------------------------------------------------------------------------------[/Color]
[Color=Green]// Belt Configuration[/Color]
[Color=Green]//------------------------------------------------------------------------------[/Color]

[Color=Green]// Available types : "hp" = health, "mp" = mana, "rv" = rejuvenation.[/Color]
[Color=Green]// Define how many columns are used for each potion type.[/Color]
MWConfig_BeltColType[[Color=Gray]"hp"[/Color]].Columns = [COLOR="Red"]1[/COLOR];
MWConfig_BeltColType[[Color=Gray]"mp"[/Color]].Columns = [COLOR="Red"]1[/COLOR];
MWConfig_BeltColType[[Color=Gray]"rv"[/Color]].Columns = [COLOR="Red"]2[/COLOR];

[Color=Green]// 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.[/Color]

MWConfig_BeltColType[[Color=Gray]"hp"[/Color]].MinPots = [COLOR="Red"]3[/COLOR];
MWConfig_BeltColType[[Color=Gray]"mp"[/Color]].MinPots = [COLOR="Red"]3[/COLOR];

[Color=Green]// Visit Town and buy potions if your char lacks mana when trying to loot a corpse or teleport.[/Color]
MWConfig_BuyPotionsOnLackOfMana = [B][I][Color=Navy]true[/Color][/I][/B];

[Color=Green]// Set to true to replace low quality potions with higher quality potions that just dropped.[/Color]
MWConfig_ReplaceLowQualityPotions = [B][I][Color=Navy]true[/Color][/I][/B];
MWConfig_BeltColType[<type>].Columns
This variable describes how many columns are used for each type of potion. When setting these values, make sure the the total does not exceed 4 which is obviously the maximum amount of potions.

MWConfig_BeltColType[<type>].MinPots
This is a threshold for buying potions and of course only works for potions that are buyable, i.e. mana and health potions. This setting only takes effect if your char is in town anyway, you char will not visit town due to this setting.
You can also set this to 0 to skip buying potions entirely, or set it to 1 to only buy potions if a column is completely empty.

MWConfig_BuyPotionsOnLackOfMana
Setting this to true this will have your char visit town when using teleport or find item while having less than 5% mana and no potions left.

MWConfig_ReplaceLowQualityPotions
Setting this to true will make your char replace low quality potions. For instance if your char has 4 (small) rejuvenation potions in his belt and is to use one column for rejuvenation potions, he will drink one of those rejuvenation potions in case a full rejuvenation potion drops and then pick the full rejuvenation potion.
Note that both the higher and the lower quality potions must be included in your nips. Though this should basically work for every potion quality, I recommend using this only for rejuvenation and full rejuvenation potions and not for greater and super healing/mana potions in order to keep replacing potions to a minimum.
Muddy Waters is offline  
Thanks
6 Users
Old 08/19/2011, 13:24   #7
Administrator
 
Muddy Waters's Avatar
 
elite*gold: 41364
Join Date: Jan 2010
Posts: 22,729
Received Thanks: 12,625
Q: What is the proper attack setting for …?

Sorceress
Druid
Assassin
Amazone
Necromancer
Barbarian
Paladin

// TODO: Add comments...
Muddy Waters is offline  
Thanks
13 Users
Old 08/24/2011, 16:54   #8
Administrator
 
Muddy Waters's Avatar
 
elite*gold: 41364
Join Date: Jan 2010
Posts: 22,729
Received Thanks: 12,625
Q: Why does my bot not make channel announcements?

Channel announcements can be set in entry point. (NTBot.ntj)
Please note that all changes made in in your entry point will require a restart of the corresponding D2 window to take effect.

Code:
[Color=Green]//---------------------------------------------------------------------------------------------------------------------------------------------------------[/Color]
[Color=Green]// Add any char/account here that is supposed to perform chat actions/game announcements or join a private channel[/Color]
ChannelUsers.push([Color=Gray]"YourCharNameGoesHere"[/Color]);
[Color=Green]// Or[/Color]
ChannelUsers.push([Color=Gray]"YourAccountNameGoesHere"[/Color]);

[Color=Green]// 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[/Color]
[Color=Green]// 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[/Color]
[B][I][Color=Navy]var[/Color][/I][/B] GameAnnouncement			= [Color=Gray]"Creating %game%counter//%password in about %time seconds."[/Color]; [Color=Green]// Leave blank not to post a channel announcement[/Color]
[B][I][Color=Navy]var[/Color][/I][/B] GameAnnouncementDelay		= [Color=Red]5000[/Color];			[Color=Green]// Wait X milliseconds before posting the announcement message (don't set this too low!)[/Color]
[B][I][Color=Navy]var[/Color][/I][/B] GameAnnouncementDelayRandom	= [Color=Red]500[/Color];			[Color=Green]// Random amount of time to add to a to the announcement delay[/Color]
[B][I][Color=Navy]var[/Color][/I][/B] UseFileBackupTimeMax		= [Color=Red]30[/Color];			[Color=Green]// 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.[/Color]
[Color=Green]//----------------------------------------------------------------------------------------------------------------------------------------------------------[/Color]
Because all bots use the same entry point, those chars that are to announce their game in channel must be set as a channel user, i.e. added to the corresponding array using the push() method.
This array called ChannelUsers holds either the name or account name (case insensitive) of your char, all you have to do is replacing "YourCharNameGoesHere"/"YourAccountNameGoesHere" with your actual char or account name.
You can copy these lines and add as many char/account names as you like. You can also add all char/account names in a single line:
Code:
ChannelUsers.push([Color=Gray]"YourFirstAccountNameGoesHere"[/Color], [Color=Gray]"YourSecondAccountNameGoesHere"[/Color], [Color=Gray]"SomeCharNameGoesHere"[/Color], [Color=Gray]"YourThirdAccountNameGoesHere"[/Color]);
If this was done properly, there should be a green status text that says "Chat actions enabled". Note that JoinChannelInChat must not be empty and JoinChatAfterLogin must be set to true in order to make channel announcements.

GameAnnouncement is used to define the actual game announcement. There are several fixed expressions that will be replaced by their proper values:
Code:
[COLOR="Green"]/*		If the name of your last game was "Baalrun-05" and the password "xyz"...
%game		- this would be replaced by "Baalrun-"
%counter	- this would be replaced by "06"
%time		- this would be replaced by the time in seconds until creation of the next game
%password	- this would be replaced by "xyz"
*/[/COLOR]
Note:
The actual values for those expressions are derived from your last game. That's why the announcement will not work, if your char hasn't been in a game yet.
Muddy Waters is offline  
Thanks
3 Users
Old 08/24/2011, 17:34   #9
Administrator
 
Muddy Waters's Avatar
 
elite*gold: 41364
Join Date: Jan 2010
Posts: 22,729
Received Thanks: 12,625
Q: I keep getting an error that says “NT_LoadConfig is undefined”. How can I fix this?

There are basically two things that can cause this error:
  1. You did not name the config properly and renamed the default config, instead of creating a copy and then renaming the copy.
  2. Your config contains syntax errors, i.e. expressions that do not comply with JS syntax rules.

1. Improper Naming
You always want to make sure that your config is named properly.

Alway copy the default config for your character class (NTConfig_<Class>.ntl) and then rename the copy accordingly.
The proper format is: NTConfig_<Class>_<Charname>.ntl

If we had a paladin whose name was "SomePaladin", the proper name of his char config should be: NTConfig_Paladin_SomePaladin.ntl
Some people tend to tell you that proper casing matters when it comes to renaming your char config, but just like all file names, these are actually case insensitive.

2. Syntax Errors
This is a very common problem, especially for folks who are not that much into programming.

Just like any other programming or scripting language, JavaScript features a set of syntax rules.
The char config is actually nothing but a JavaScript function which is why each and every line of your config that is not commented out, must comply with these rules.
Non compliance will result in the config not being included which will futhermore lead to an error message that says "NT_LoadConfig is not defined" which is the very JavaScript function a.k.a. char config mentioned above.

Fixing this will require some experience. If you lack that experience, better , but don't forget posting your char config in [Code] tags.
Also, I highly recommend using an editor that supports syntax highlighting (e.g. ) for editing configs. This increases readability of your config tremendously which as well helps avoiding mistakes.
Muddy Waters is offline  
Thanks
3 Users
Old 08/24/2011, 18:08   #10
Administrator
 
Muddy Waters's Avatar
 
elite*gold: 41364
Join Date: Jan 2010
Posts: 22,729
Received Thanks: 12,625
Q: I keep getting some error in NTItemParser.ntl. How can I fix this?

This error is not caused by an actual error in the library mentioned itself, but is caused by an error in your nips that leads to an exception when trying to evaluate the erroneous nip line.

My version features a nip check function that helps you locating the erroneous lines.
To activate it, open your global config (MWConfig_GlobalSettings.ntj) and set the corresponding variable to true:
Code:
[Color=Green]//------------------------------------------------------------------------------[/Color]
[Color=Green]// General Configuration[/Color]
[Color=Green]//------------------------------------------------------------------------------[/Color]

[Color=Green]// Set to true to always check the selected Nips for errors after including them. Check "..\scripts\Logs\NipErrors.txt" for a precise error description![/Color]
MWConfig_RunNipCheck = [B][I][Color=Navy]true[/Color][/I][/B];
This function is then executed every time your nips are loaded. It will tell you if there are any errors and - in case there are any - write a precise error description to "..\scripts\Logs\NipErrors.txt".
However, it won't tell you how to fix the error, taking care of this is still up to you. In case you need help with fixing the error, , but don't forget to post your error log in [Code] tags so we get an idea of the problem.
Muddy Waters is offline  
Thanks
6 Users
Old 08/24/2011, 19:55   #11

 
lanara's Avatar
 
elite*gold: 139
Join Date: Oct 2006
Posts: 12,058
Received Thanks: 24,256
Q: How do I set up my Leecher?

First we start with configuring your char, therefor you need to open your char config which is located in the folder scripts\NTBot\char_configs. Here you'll have to select the script you want first, so just copy the ones you need from the Available Scripts passage to the Current schedule.

Code:
[COLOR="Green"]// ***************** Current schedule ******************[/COLOR]

MWConfig_Script.push([[COLOR="Gray"]"NTDiabloLeechFight.ntj"[/COLOR], 10]); MWConfig_StartAtStar = [COLOR="Blue"][B]true[/B][/COLOR]; MWConfig_EnterUnsafeTP = [COLOR="blue"][B]true[/B][/COLOR]; NTConfig_PreBuff = [COLOR="blue"][B]true[/B][/COLOR];	NTConfig_Leader = [COLOR="gray"]"LeaderNameGoesHere"[/COLOR];												// If the Leecher should go to a WP and buff up before he goes into the TP. (Needs River of Flame WP for Diablo and Frigid Highlands WP for Baal)
MWConfig_Script.push([[COLOR="gray"]"NTBaalLeechFight.ntj"[/COLOR], 10]); NTConfig_KillBaal = [COLOR="blue"][B]true[/B][/COLOR]; MWConfig_DoBaalPreAttack = [COLOR="blue"][B]true[/B][/COLOR]; MWConfig_EnterUnsafeTP = [COLOR="blue"][B]true[/B][/COLOR]; NTConfig_Leader = [COLOR="gray"]"LeaderNameGoesHere"[/COLOR];
Now you have to change the variables that come with the scripts. Some of them are only used for Diablo or Baal Leech scripts, like MWConfig_StartAtStar or NTConfig_KillBaal. But there are also some that are used for both of them. If you run Diablo and Baal together, you only need to set them once and can delete the duplicate entry. If you don't do that, always the last assignment will define it.

NTConfig_Leader is the most important one, here you have to set the name of the Leader, that your char follows. To do it, just write his name between the quotation marks.


MWConfig_EnterUnsafeTP defines if your char goes into the TP as soon as it comes up, whether its safe or unsafe, or if he should wait for a Safe TP message from the Leader.
  • true - Your char will enter the TP as soon as it comes up.
  • false - Your char will wait until the Leader says that the TP is safe. Therefor you will have to set a Safe TP Message.

If you want your char to join only Safe TPs, you will have to set a message for that. This can be done in your Global Settings (MWConfig_GlobalSettings.ntl) at MWConfig_Announcements.BaalTpSafe for Baal and MWConfig_Announcements.DiabloTpSafe for Diablo. The same Lines are used if you run a Leader char, so if you follow your own Leader, you won't have to change anything. If you got multiple Leechers that are following different runs, you will have to copy this line to your char config, to use unique Safe TP messages.


NTConfig_PreBuff can be used if you want to buff up your char before he enters the TP. This is especially useful for chars that are entering Unsafe TPs, because they can directly start killing when they go through the TP and don't have to risk their life while switching to CtA when its not safe yet. However you will need waypoints to do that, which is River of Flame for Diablo and Frigid Highlands for Baal.
  • true - Your char will go to a waypoint to buff himself at the beginning of the run.
  • false - Your char will buff himself after he joined the TP, as usual.

The other variables are script specific, here is the one that comes with the DiabloLeechFight script:

MWConfig_StartAtStar can be either true or false and defines where your Leecher starts to fight. This variable also exists for the Leader, so set it to the same value.
  • true - Your Leecher will start his fight at the Star spot, which is where Diablo spawns.
  • false - Your Leecher will start at the entrance of Chaos Santuary.

For Baal there are another 2 variables:

NTConfig_KillBaal sets if the Char should kill Baal or not. If its a pure Leecher, he will go through the portal and just wait until Baal is dead.
  • true - Your Leecher goes through the portal and either helps to kill Baal or waits until he is killed, depending on the script you use.
  • false - The run is finished after the last wave.

MWConfig_DoBaalPreAttack is only used for the LeechFighter and sets if your Char should use his Attacks before a wave spawns. This is only used for some chars like Hammerdin to cast hammers before the wave is spawned, so they just spawn right into the flying hammers.
  • true - Your char uses attacks before a wave spawns.
  • false - Your char will wait with his attacks until the wave is spawned.


After all this is done, we have to make sure that our Leecher also finds the runs from the Leader. To do this, open the NTBotLeech, which you can find with all the other Entry Points in your scripts folder. In this file we only need the first part, which are the settings.

Code:
[COLOR="SeaGreen"]//###################################################################
//##############################Settings#############################
//###################################################################[/COLOR]
	
var LeaderAccountName          = [COLOR="Gray"]"LeaderAccount"[/COLOR];
var LeaderName                 = [COLOR="gray"]"LeaderName"[/COLOR];
var GamePassword               = "1";
var JoinGameAgain              = [COLOR="Blue"][B]false[/B][/COLOR]; [COLOR="Green"]// Set to true to re-enter the same game after chicken or disconnect.[/COLOR]

var UseCDKeyChangeTrick        = [COLOR="blue"][B]false[/B][/COLOR]; [COLOR="green"]// Set to true to use multiple CD Keys[/COLOR]

var JoinRandomChannel          = [COLOR="blue"][B]false[/B][/COLOR];
var JoinChannelInChat          = [COLOR="gray"]"OP MyBaal"[/COLOR];
var FirstJoinMessage           = [COLOR="gray"]""[/COLOR]; [COLOR="green"]// Message to post right after joining chat. Set to "" not to post any message.[/COLOR]
var ChatMessageAfterGame       = [COLOR="gray"]""[/COLOR]; [COLOR="green"]// Message to post when joining chta after a game. Set to "" not to post any message.[/COLOR]

[COLOR="green"]// 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:[/COLOR]
DelayedJoinChars.push([COLOR="gray"]"LeecherOne"[/COLOR], [COLOR="gray"]"LeecherTwo"[/COLOR], [COLOR="gray"]"LeecherThree"[/COLOR]);
Most of it is kinda self-explanatory. Its very important that you write both, the account and the charname of your Leader at the corresponding variable. If you don't do this, the Leader won't be able to join the games. Also it is important, that both, the Leader and the Leecher have an english version of the game running.

JoinGameAgain defines if you rejoin the game, when you left it for some reason, like chicken or an error.

UseCDKeyChangeTrick needs to be set to true, if you want to switch your CD Keys. It is normal, that your char is writing stuff to the channel, while this is activated, thats just the way how he is counting the games. It is important, that you don't set the Game Name to Random in your Profile, because that might cause the bot to not write the Game Name correctly. So better set it to something short, like "123".

Last important thing here is the array DelayedJoinChars. If you have multiple Leechers running that should join the same game, they have to do it with a slight delay, or only the first one will be able to join. Simply write every char or account name inside the brackets, separated by commas.

If you got problems with your Leecher joining too fast, before the game is opened (could be caused by lagging Battle.net or a slow connection from the Leader), just set a higher value on the variable JoinDelay.


Last but not least you have to select the NTBotLeech.ntj as Entry Point in your Profile.




Thats it. Congratulation, you are now ready to leech.
lanara is offline  
Thanks
14 Users
Old 08/24/2011, 22:02   #12
Administrator
 
Muddy Waters's Avatar
 
elite*gold: 41364
Join Date: Jan 2010
Posts: 22,729
Received Thanks: 12,625
Q: How do I set up the super chest script properly?

Instead of having multiple bot scripts for each super chest, I've wrote a single script that should cover the vast majority - if not even all - super chests.
In order to have your bot farm super chests, activate the super chest script just like any other bot script:
Code:
MWConfig_Script.push([[Color=Gray]"MWSuperChests.ntj"[/Color], 20]); MWConfig_SuperChestClearAreaRadius = 10; MWConfig_SuperChestAreas = [[Color=Gray]"Cave Level 2"[/Color], [Color=Gray]"Mausoleum"[/Color], [Color=Gray]"Hole Level 2"[/Color], [Color=Gray]"Pit Level 2"[/Color], [Color=Gray]"Sewers Level 3"[/Color], [Color=Gray]"Halls of the Dead Level 3"[/Color], [Color=Gray]"Stony Tomb Level 2"[/Color], [Color=Gray]"Maggot's Lair Level 3"[/Color], [Color=Gray]"Ancient Tunnels"[/Color], [Color=Gray]"Tal Rasha's Tomb"[/Color], [Color=Gray]"Arachnid Lair"[/Color], [Color=Gray]"Swampy Pit Level 3"[/Color], [Color=Gray]"Flayer Dungeon"[/Color], [Color=Gray]"Sewers Level 2"[/Color], [Color=Gray]"Abbadon"[/Color], [Color=Gray]"Pit of Acheron"[/Color], [Color=Gray]"Drifter Cavern"[/Color], [Color=Gray]"Infernal Pit"[/Color], [Color=Gray]"Icy Cellar"[/Color], [Color=Gray]"Halls of Pain"[/Color]];
Set MWConfig_SuperChestClearAreaRadius to your desired value if you'd like clear the area around a super chest, set it to 0 not to clear the area and just open the super chest.

MWConfig_SuperChestAreas is an array in which you can specify which super chests are to be looted.
You can either enter the name of a super chest area, or its areaid.
Some areas include other areas. Whenever this is the case, adding either one of the areas will do.

I've added a table including some additional information below:
Area NameArea IDArea Level (H)TC (H)Additional Details
Act I 
"Cave Level 2"137866-
"Mausoleum"198566incl. Crypt
"Crypt"188566incl. Mausoleum
"Hole Level 2"158166-
"Pit Level 2"168566-
Act II 
"Sewers Level 3"497569-
"Halls of the Dead Level 3"578369-
"Stony Tomb Level 2"597969-
"Maggot's Lair Level 3"648569-
"Ancient Tunnels"658569-
"Tal Rasha's Tomb"66 - 728069incl. all tombs
Act III 
"Arachnid Lair"847975incl. Spider Cavern
"Spider Cavern"857975incl. Arachnid Lair
"Swampy Pit Level 3"908275-
"Flayer Dungeon"918375-
"Sewers Level 2"938575-
Act V 
"Frigid Highlands"1118187incl. Abbadon
"Abbadon"1258187incl. Frigid Highlands
"Pit of Acheron"1268287-
"Glacial Trail"1188387incl. Drifter Cavern
"Drifter Cavern"1168487incl. Glacial Trail
"Infernal Pit"1278387-
"Icy Cellar"1198387-
"Halls of Pain"1228387incl. Halls of Anguish
"Halls of Anguish"1238487incl. Halls of Pain
Muddy Waters is offline  
Thanks
9 Users
Old 08/25/2011, 11:58   #13
Administrator
 
Muddy Waters's Avatar
 
elite*gold: 41364
Join Date: Jan 2010
Posts: 22,729
Received Thanks: 12,625
Q: Why does my bot not use <InsertGenericPrecastSkillHere>?

Because you have to specify yourself which precast skills are to be used, only warcries (BC, BO, Shout) will be used automatically.

Precast skills can be specified in your char config (NTConfig_<CharClass>_<CharName>.ntl):
Code:
[Color=Green]//------------------------------------------------------------------------------[/Color]
[Color=Green]// Precast Configuration[/Color]
[Color=Green]//------------------------------------------------------------------------------[/Color]

[Color=Green]// Your precast skills can be defined in the array below. NOTE: Battle Command, Battle Orders and Shout will be cast automatically. Constants for all skill ids can be found in "scripts\libs\common\MWSkills.ntl".[/Color]
MWConfig_PrecastSkills = [MWS_SHIVER_ARMOR, MWS_ENCHANT];

[Color=Green]// Set this to true if you would like to switch slots right after casting BC, BO and Shout. If set to false, your char will remain with the BO Slot until the whole precast procedure is done.[/Color]
MWConfig_SwitchSlotsAfterBoPrecast = [B][I][Color=Navy]true[/Color][/I][/B];

[Color=Green]// Set this to true to force your bot to swap slots before precast. In case you are using CTA, set this to false.[/Color]
MWConfig_SwitchSlotsForPrecast = [B][I][Color=Navy]false[/Color][/I][/B];
MWConfig_PrecastSkills is an array that holds the skill ID of the skills you'd like to use for precast. To add a skill, just add its ID or the corresponding constant to the array.

I've listed the constants in the spoiler below:

MWConfig_SwitchSlotsAfterBoPrecast is useful if your main (i.e. non CTA) slot features a higher total of additional skills and thus would be the better choice for precasting. By setting this to true, your char will swap slots immediately after using the CTA slot for bo, so the main slot is selected while precasting.
If you set this to true, the CTA slot will be not only be used for warcries, but is also selected while using the remaining precast skills.

MWConfig_SwitchSlotsForPrecast should be set to true when not using a CTA, but some sort of precast weapon (e.g. ES staff) in second slot instead.
Muddy Waters is offline  
Thanks
8 Users
Old 08/25/2011, 12:40   #14
Administrator
 
Muddy Waters's Avatar
 
elite*gold: 41364
Join Date: Jan 2010
Posts: 22,729
Received Thanks: 12,625
Why can’t the waypoint catcher get the last waypoints in act 1?

Because for some reason, internal path calculation does not work properly in areas Jail Level 1-3.
I've already tried some workarounds, but none really lead to a satisfying solution for this issue.

That's why I removed those areas which leaves you in the unfortunate position of having to acquire the last waypoints in act I by hand.
Muddy Waters is offline  
Thanks
5 Users
Old 08/25/2011, 14:19   #15
Administrator
 
Muddy Waters's Avatar
 
elite*gold: 41364
Join Date: Jan 2010
Posts: 22,729
Received Thanks: 12,625
Q: How do I use the rush script?

Rusher
The rusher is the char that actually does the porting and killing and can basically be any of your bot chars. He uses the usual entry point (NTBot.ntj).
The rush script is activated just like any other bot script by adding it to your script array:
Code:
MWConfig_Script.push([[Color=Gray]"MWRush.ntj"[/Color], [Color=Red]0[/Color]]); MWConfig_IsRusher = [B][I][Color=Navy]true[/Color][/I][/B];
Make sure that MWConfig_IsRusher is set to true. All other settings are made in the rush config (see next paragraph).

Please note: a properly named char config is to be considered mandatory. Changing the default config will not suffice.

Rush Config

The rush config ("../scripts/MWRush/MWRushConfig.ntl") contains the general settings for the rush and should look like this:
Code:
[Color=Teal]/**
*	This file was written by 
*	Check the programming section for updates and further scripts
*	Last Update: 12:59 25.08.2011
*/[/Color]

[B][I][Color=Navy]function[/Color][/I][/B] MW_LoadRushConfig()
{
	[Color=Green]// By default, the first char that enters the game and is level 70 or less will be set as active quester. (which is usually the char that creates the game)[/Color]
	[Color=Green]// You can also define the active quester yourself by entering a charname below. (case insensitive)[/Color]
	MWConfig_ActiveQuestersName = ""; 
	[Color=Green]// Specify the number of chars to be rushed - the rush will not start until all chars have joined the game and the party or you initiate it yourself by typing ".start".[/Color]
	MWConfig_NumberOfCharsToRush = [Color=Red]1[/Color]; 
	[Color=Green]// Whether your chars are supposed to get cubes when being rushed on normal difficulty.[/Color]
	MWConfig_GetHoradricCubesInNorm = [B][I][Color=Navy]true[/Color][/I][/B];
	[Color=Green]// Specify which quests are to be done during the rush.[/Color]
	[Color=Green]// Implemented Quests:	A1Q3; A1Q5; A2Q1 (buggy); A3Q4; A4Q1; A5Q1; A5Q3[/Color]
	MWConfig_QuestSchedule = [[Color=Gray]"A5Q1"[/Color]];
	[Color=Green]// Specify which acts are included in the rush.[/Color]
	MWConfig_RushActs = [[Color=Red]1[/Color], [Color=Red]2[/Color], [Color=Red]3[/Color], [Color=Red]4[/Color], [Color=Red]5[/Color]];
}
MWConfig_ActiveQuestersName
You can enter the name of your active quester here. If left empty, the first level <= 70 char to join the game will be the active quester (i.e. the char to that creates the game).

MWConfig_NumberOfCharsToRush
This is basically used to tell your rusher how many chars are to be rushed.
Your chars will then wait for all chars to join the game and your party before the rush is commenced.

MWConfig_GetHoradricCubesInNorm
Quite self explanatory, set this to true to have your chars get cubes when doing a rush on normal difficulty.

MWConfig_QuestSchedule
This is an array that holds string codes indicating which quests are to be done during the rush. It does not matter in which order the quests are added.

Here is a list including some comments on all quests currently implemented:
CodeNameComment
"A1Q3"The Search for Cain-
"A1Q5"Tools of the TradeLevel req.: 8
"A2Q1"Radament's LairLikely to cause errors due to obstacles in Sewers Level 3
"A3Q4"Lam Esen's Tome-
"A4Q1"The Fallen Angel-
"A5Q1"Siege on Harrogath-
"A5Q3"Prison of Ice-

MWConfig_RushActs
This array is used to specify which acts are to be done during the rush. In order to skip some acts, just remove the corresponding numbers from the array.

Quester

The quester is the char that is being rushed. You can of course control the quester yourself if you like, in that case, use Loader Only, MWTools.ntj or NTMap.ntj as entry point.

If you want your quester to be controlled by the bot, your entry point should be MWRush.ntj. You will have to join or create a game manually. Once in game, the rush script will start automatically. You can pause/restart it by pressing the pause key. This is useful if you get an error and then like to start over, skipping some acts and thus using a different config.

Note: when creating (a) profile(s) for your quester(s), always make sure that the NoSound check box is not checked! Activating NoSound will result in a crash & restart on changing acts and we obviously don't want that.

If you didn't specify an active quester in your config, the char who creates the game will usually be active quester. The active quester will join TPs and make sure that the quests are done properly. All other questers will only move if it's actually necessary.
Muddy Waters is offline  
Thanks
12 Users
Closed Thread


Similar Threads Similar Threads
[Release] WrathHunter script für Muddy Waters D2NT
06/22/2011 - Diablo 2 Programming - 31 Replies
Update auf v1.2.1 changelog v1.2.1 - Akt 2 Tombs hinzu. - looten von Chests wieder standardmäßig aktiviert (siehe Tipps). v1.2 - Weitere Gebiete hinzugefügt - MWC_Initialize(); Aufruf ersetzt durch NTA_Initialize();
Muddy´s Bot ohne Energieschild?
04/12/2011 - Diablo 2 - 2 Replies
Hallo zusammen, ich habe nun meine erste HC Soso fertig zum booten, habe eben auch schon erste Testlauf gestartet und da ist mir sofort aufgefallen, das er kein Energieschild und keine Eisrüstung castet. Bisher musste ich deswegen noch nie was einstellen, weil er das immer automatisch gemacht hat. Habe mir jetzt aber Muddy´s Bot drauf gezogen und dort castet er es nicht, habe auch schon alles abgesucht und auch hier im Forum nach einer Lösung gesucht, aber leider nix gefunden. Hoffe...
[D2NT] API Reference [NO QUESTIONS]
03/16/2011 - Diablo 2 Programming - 4 Replies
Dear community, this will be the home of the upcoming D2NT 3.1 API reference. This reference is supposed to be useful for everyone, therefore the official language in this topic is english. I would really appreciate if we could share some of the work. That's why I hope for some contributions. :) In this case, contributing basically means picking some function or object from the list below that has not been dealt with and write a reference for it. However, to make this really...
Muddy´s D2nt Bot Fehler.
03/02/2011 - Diablo 2 Programming - 1 Replies
Hallo, ich habe folgendes Problem. Ich habe mir mal Muddy´s D2nt Bot Ver. runtergeladen. Nun läuft alles supi, außer das er Kein Diablo + Baal macht. Wenn er mit den Runnen anfängt macht er alles das was er soll. Andy, Duriel, Meph, (Dann eiegentlich Diablo aber den lässt er aus). Dann gehts weiter mit Eldrich + Shenk, danach sollte Baalrun kommen, aber er leavt nach Shenk. Ich habe keine *//* vor den Baal und Diablo Scrip sind alle genau so eingestellt wie bei den restliche Bossen...
d2nt leech bot einstellen... d2nt config error..
07/09/2010 - Diablo 2 Programming - 2 Replies
hey mein bot zeigt mir die ganze zeit ein error und habe die einstellungen in der anleitung genauso... was tun? habe leader acc/ char name eingetragen. beide flistet. die eine datei aus baalleech rausgeholt und umbenannt und die // weg genommen habe beim manager auch auf d2nt leech eingestelln



All times are GMT +2. The time now is 13:25.


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.