Register for your free account! | Forgot your password?

You last visited: Today at 16:32

  • 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 04/18/2011, 22:56   #1351
 
elite*gold: 5
Join Date: Apr 2010
Posts: 689
Received Thanks: 151
AutoRush problem:

Ich starte mit 2 Chars (habs auch mit nur einem probiert) den Rushentry. Eröffne ein game (connecte mit dem 2ten). Dann hol ich meine Soso, die als Rusher True eingestellt ist und den korrekten namen des Spieleröffners als Quester drin hat und connecte das Game ebenfalls.
Dann kommt:
Quests Scheduled:
Meinchar: .InvalidateQuester
Quester Status: Invalidated

Er geht los teleportiert zu andy, und die anderen beiden rühren nicht ihren ***** (bei ihnen steht Waiting for all characters to join) Die zu ziehen charakter sind auf 2 angegeben. Die zusatzquests hab ich auskommentiert b.z.w in der Charconfig rausgelöscht.

Jemand ne idee?
Derbeth is offline  
Old 04/18/2011, 23:02   #1352
Administrator
 
Muddy Waters's Avatar
 
elite*gold: 41364
Join Date: Jan 2010
Posts: 22,727
Received Thanks: 12,652
Quote:
Originally Posted by Derbeth View Post
AutoRush problem:

Ich starte mit 2 Chars (habs auch mit nur einem probiert) den Rushentry. Eröffne ein game (connecte mit dem 2ten). Dann hol ich meine Soso, die als Rusher True eingestellt ist und den korrekten namen des Spieleröffners als Quester drin hat und connecte das Game ebenfalls.
Dann kommt:
Quests Scheduled:
Meinchar: .InvalidateQuester
Quester Status: Invalidated

Er geht los teleportiert zu andy, und die anderen beiden rühren nicht ihren ***** (bei ihnen steht Waiting for all characters to join) Die zu ziehen charakter sind auf 2 angegeben. Die zusatzquests hab ich auskommentiert b.z.w in der Charconfig rausgelöscht.

Jemand ne idee?
Denke da stimmt was mit der Anzahl an zu rushenden Chars nicht.

Tipp mit irgend nem Char ".start" ein, dann gehts los, unabhängig davon, ob schon alle da sind.

Achja, und wenn der Quester ohnehin das Spiel erstellt, solltest du MWConfig_ActiveQuestersName einfach mit ner leeren Zeichenkette initialisieren, dann wird der Ersteller automatisch als Quester eingeteilt (jedenfalls wenn das Charlevel <= 70 ist).

LG
Muddy
Muddy Waters is offline  
Old 04/18/2011, 23:05   #1353
 
elite*gold: 5
Join Date: Apr 2010
Posts: 689
Received Thanks: 151
danke für deine schnelle antwort
Das ist nicht das problem den der Rusher startet ja. (mit einem char muss ichs über .start starten). Dann geht er genau gleich los bringt dieselbe meldung im chat und wartet wieder in den katas auf die jungs doch die stehen immer noch da und da steht oben immer noch Waiting for all characters to join..
Derbeth is offline  
Old 04/18/2011, 23:18   #1354
Administrator
 
Muddy Waters's Avatar
 
elite*gold: 41364
Join Date: Jan 2010
Posts: 22,727
Received Thanks: 12,652
Quote:
Originally Posted by Derbeth View Post
danke für deine schnelle antwort
Das ist nicht das problem den der Rusher startet ja. (mit einem char muss ichs über .start starten). Dann geht er genau gleich los bringt dieselbe meldung im chat und wartet wieder in den katas auf die jungs doch die stehen immer noch da und da steht oben immer noch Waiting for all characters to join..
Könnte ich die RushConfig mal sehen?

Klingt irgendwie sehr seltsam, gehen wir einfach mal von einem Problem in der Config aus, aber dazu kann ich erst was sagen, wenn ich diese auch sehe.

LG
Muddy
Muddy Waters is offline  
Old 04/18/2011, 23:22   #1355
 
elite*gold: 5
Join Date: Apr 2010
Posts: 689
Received Thanks: 151
1. Quester
Code:
/**
*	This file was written by 
*	Check the programming section for updates and further scripts
*	Last Update: 02/27/2011
*/

function NT_LoadConfig()
{
	// 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)
	// You can also define the active quester yourself by entering a charname below. (case insensitive)
	MWConfig_ActiveQuestersName = "Derb_Gold"; 
	// 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".
	MWConfig_NumberOfCharsToRush = 2; 
	// Whether your chars are supposed to get cubes when being rushed on normal difficulty.
	MWConfig_GetHoradricCubesInNorm = true;
	// Specify which quests are to be done during the rush. (A4Q1 and A5Q1 are currently the only quests that work relatively well)
	//MWConfig_QuestSchedule = [0];
	// Specify which acts are included in the rush.
	MWConfig_RushActs = [1, 2, 3, 4, 5];
	
	
	MWConfig_Script.push(["MWRush.ntj", 0]);
	me.maxgametime = 0;
}
2.Rush Game
Code:
/**
*	This file was modified by 
*	Check the programming section for updates and further scripts
*	Last Update: 02/19/2011
*/

// Constants
const _CHAT_COMMAND_TRIGGER = '.';
// Global variables
var LeaveGame = false;

function NTMain()
{
	SetStatusText("ÿc8Initializing...");

	Include("libs/common/NTCommon.ntl");
	NTC_IncludeLibs();
	
	Include("NTBot/char_configs/NTConfig.ntl");
	Include("MWRush/MWRushConfig_Quester.ntl");
	
	NT_LoadConfig();
		
	if(NTConfig_StartDelay > 0);
		NTC_Delay(NTConfig_StartDelay);
	
	NTT_GetCorpses();

	RegisterEvent(EVENT_GAMEMSG, MW_ChatHandle);
	RegisterEvent(EVENT_KEYDOWN, MW_KeyEvents);
	RegisterEvent(EVENT_SCRIPTMSG, MW_ScriptMsgEvents);
		
	if(Load("NTBot/bots/MWRush.ntj"))
		Print("ÿc8Running MWRush.ntj");
		
	var _count = 0;

	while(!LeaveGame)
	{
		NTC_Delay(1000);
		
		if(_count > 5)
		{
			_count = 0;
			
			MWC_ManageParty();
		}
		
		_count++;
	}
	
	ExitGame();
}

function MW_ChatHandle(msg, type)
{
	var _message, _messenger;
	
	if(type == 0)
	{
		_message = msg.split("ÿc0: ")[1]; // Extract the message
	 
		if(_message.substr(0, _CHAT_COMMAND_TRIGGER.length) != _CHAT_COMMAND_TRIGGER)
			return;
		
		_message = _message.substr(_CHAT_COMMAND_TRIGGER.length, _message.length); // Remove the trigger
		
		_messenger = msg.split("ÿc0: ")[0].replace("ÿc4", ""); // Extract the name of the char that wrote the message

		NTC_SendMsgToScript("MWRush.ntj", _messenger + " " + _message.toUpperCase());
	}
}

function MW_KeyEvents(keycode)
{
	var _script;
	//Print("Keycode: " + keycode);
		
	switch(keycode)
	{
		case 19: // Pause (PAUSE)
			_script = NTC_FindScript("MWRush.ntj");
			
			if(_script)
			{
				if(_script.running)
				{
					_script.Stop();
					
					NTC_Delay(250);
					
					ClickMap(NTC_CLICK_LUP, NTC_SHIFT_NONE, null);
					
					MWC_SetStatusText("ÿc1Stopped ÿc4" + _script.name);
					
					NTC_Delay(500);
				}
				else if(Load("NTBot/bots/MWRush.ntj"))
					MWC_SetStatusText("ÿc8Running MWRush.ntj");
			}
			break;
		case 36: // Show coordinates (POS1/HOME)
			Print("Current Position: (ÿc2" + me.x + "ÿc0|ÿc1" + me.y + "ÿc0) [ÿc7" + me.areaid + "ÿc0]");
			break;
		case 46: // Stop Script
			NTC_StopScript("MWRush.ntj");
			
			MWC_SetStatusText("ÿc1Stopping Script...");
	
			LeaveGame = true;
			break;
		case 8: // Show Item Info (UNDO)
			MWI_ShowItemInfo();
			break;
	}
}

function MW_ScriptMsgEvents(msg)
{
	var _area, _script;

	switch(msg)
	{
		case "SCRIPT_END":
			_script = NTC_FindScript("MWRush.ntj");
			
			if(_script && _script.running)
				_script.Stop();
			break;
		default:
			Print("ÿc1MWRush.ntj: " + msg + " failed");

			_area = MWC_FindArea();

			if(_area)
				NTC_SendLogToOOG(NTC_LOG_COMMON, "ÿE00000MWRush.ntj : " + msg + " failed (" + _area.name + ")");
			else
				NTC_SendLogToOOG(NTC_LOG_COMMON, "ÿE00000MWRush.ntj : " + msg + " failed (unknown area)");

			MW_ScriptMsgEvents("SCRIPT_END");
			break;
	}
}
3. Rush Entry
Code:
/**
*	This file was written by 
*	Check the programming section for updates and further scripts
*	Last Update: 02/25/2011
*/

// 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;

Include("libs/controlInfo.ntl");
Include("libs/common/NTCommon.ntl");

var ControlData = new controlInfo();
var LocationData = new Array("None", GetTickCount());

function NTMain()
{
	var _ingame, _gameStartTicks, _locationName;
	
	Delay(1000);

	_ingame = false;
	
	while(true)
	{
		if(me.ingame)
		{
			if(!_ingame)
			{
				RunGC();

				if(Load("MWRush/MWRushGame.ntj"))
				{
					_ingame = true;
					_gameStartTicks = GetTickCount();

					if(me.playtype > 0)
						NT_SendEventToOOG(D2NT_MGR_PRINT_LOG, "In Game [IP:" + me.gameserverip.split(".")[3] + "] (" + me.gamename + ((me.gamepassword) ? "//" + me.gamepassword : "") + ")", 0);
					else
						NT_SendEventToOOG(D2NT_MGR_PRINT_LOG, "In Game (" + me.gamename + ((me.gamepassword) ? "//" + me.gamepassword : "") + ")", 0);
				}
			}

			NT_SendEventToOOG(D2NT_MGR_PRINT_STATUS, "In Game [IP:" + me.gameserverip.split(".")[3] + "] [" + MWC_ConvertTicksToTimeString(GetTickCount() - _gameStartTicks) + "]", 0);
			
			Delay(500);
		}
		else
		{
			_locationName = ControlData.getLocation().name;
			
			if(_locationName && LocationData[0] != _locationName)
			{
				LocationData[0] = _locationName;
				LocationData[1] = GetTickCount();
			}
			
			if(_ingame)
				_ingame = false;
			
			NT_SendEventToOOG(D2NT_MGR_PRINT_STATUS, LocationData[0] + " [" + MWC_ConvertTicksToTimeString(GetTickCount() - LocationData[1]) + "]", 0);
			
			Delay(500);
		}
Besten dank fürs draufguckn
Derbeth is offline  
Old 04/19/2011, 00:08   #1356
Administrator
 
Muddy Waters's Avatar
 
elite*gold: 41364
Join Date: Jan 2010
Posts: 22,727
Received Thanks: 12,652
Änder mal bitte die Quest Initialisierung:
Code:
MWConfig_QuestSchedule = [];
Grundsätzlich keine Initialisierungen auskommentieren, in dem Fall geht das ausnahmsweise gut, weil die Variable mit einem Array Objekt vorinitialisiert ist, aber bei anderen Variablen kann das in die Hose gehen.

Das ist aber nicht Ursache deines Problems. Ich tippe ja nach wie vor auf eine falsche Benennung. Wie gesagt, am besten MWConfig_ActiveQuestersName immer mit einer leeren Zeichenkette initialisieren, das beugt Tippfehlern vor.

Was mich noch interessieren würde:
Was geben die beiden Quester ganz zu Beginn des Spiels aus?

LG
Muddy
Muddy Waters is offline  
Old 04/19/2011, 00:12   #1357
 
elite*gold: 5
Join Date: Apr 2010
Posts: 689
Received Thanks: 151
ich werds morgen testen, hab die bots schon aufn laptop eingestellt bastle jetzt nicht wieder zurück
Der erste sagt er sei der quester und der 2te sagt ich muss gar nix tuhen alles wird für mich gemacht.

übrigens siehst du den fehler in dieser zeile:

[Name] == Monarch && [Quality] == unique && [Defense] >= 148 // Stormshield

die wird mir nicht akzeptiert, muss sie rauskommentieren...
Merci
Derbeth is offline  
Old 04/19/2011, 00:30   #1358
Administrator
 
Muddy Waters's Avatar
 
elite*gold: 41364
Join Date: Jan 2010
Posts: 22,727
Received Thanks: 12,652
Quote:
Originally Posted by Derbeth View Post
ich werds morgen testen, hab die bots schon aufn laptop eingestellt bastle jetzt nicht wieder zurück
Der erste sagt er sei der quester und der 2te sagt ich muss gar nix tuhen alles wird für mich gemacht.

übrigens siehst du den fehler in dieser zeile:

[Name] == Monarch && [Quality] == unique && [Defense] >= 148 // Stormshield

die wird mir nicht akzeptiert, muss sie rauskommentieren...
Merci
Defense ist kein Property Keyword, sondern ein Stat Keyword.

Das muss so aussehen:
Code:
[Name] == Monarch && [Quality] == unique # [Defense] >= 148 // Stormshield
LG
Muddy
Muddy Waters is offline  
Old 04/19/2011, 01:34   #1359
 
Shrimps in Bierteig's Avatar
 
elite*gold: 0
Join Date: Feb 2011
Posts: 394
Received Thanks: 75
Also ich hab Lanara mal gefragt wie ich beim Nec, das hinkriege das er bei baal/dia und traiv decrepify auf die Bossmobs casted. Und ich wollte nur sichergehen, das ich das jetzt in die richtige Zeile einfüge^^

Code:
	if(MWConfig_AttacksBeforeRepositioning > 0 && _MWA_Attack_Time[3] % MWConfig_AttacksBeforeRepositioning == 0)
	{
		_vec = MWA_GetEvasionVector(4, 2, target);
		
		if(!_vec && !_vec.isZero())
			NTM_MoveTo(target.areaid, parseInt(target.x + _vec.x), parseInt(target.y + _vec.y), 0);
	}

	_viciousFoe = MWA_IsHazardousMonster(target);
	
[COLOR="Red"][B]		case 544: // Baal
			_viciousness += 5;
			break;
[/B][/COLOR]
	// Define the maximum values once as they are mostly constant anyway
Sollte das jetzt für Baal einfach so aussehen? Das währ die Zeilennr. 992 wo ich das eingefügt habe.

Und ich hab in den scripts nachgeschaut für dia und travi, aber ich hab keine ahnung welche die richtige nr ist^^ und wie das bei Dia aussehen würde :-/
Shrimps in Bierteig is offline  
Old 04/19/2011, 07:17   #1360
 
elite*gold: 0
Join Date: Mar 2009
Posts: 80
Received Thanks: 1
hallo
ich muss sagen der bot ist der hammer !!
jetzt hab ich ne frage er macht andy und verkauft dan sachen aber wen zb ein amu oder grosser zauber kommt geht er aus dem game startet neu und klinkt sich neu ein und dan wieder das selbe er will verkaufen und grht wieder raus undstartet neu !

wo kan da jetzt mein fehler liegen weil wen er läuft ist er ja supper ^^ bitte um hilfe !
joeleibnitz is offline  
Old 04/19/2011, 07:56   #1361
 
elite*gold: 5
Join Date: Apr 2010
Posts: 689
Received Thanks: 151
So also Monarch funktioniert jetzt natürlich

Aber Die autofollow beim rusher funktioniert noch nicht.
Habe jetzt den quester rausgenommen und die
MWConfig_QuestSchedule = []; wieder eingefügt, aber ist immer noch .invalidateQuester...
Derbeth is offline  
Old 04/19/2011, 10:26   #1362
 
elite*gold: 0
Join Date: Apr 2010
Posts: 27
Received Thanks: 10
Quote:
Originally Posted by joeleibnitz View Post
hallo
ich muss sagen der bot ist der hammer !!
jetzt hab ich ne frage er macht andy und verkauft dan sachen aber wen zb ein amu oder grosser zauber kommt geht er aus dem game startet neu und klinkt sich neu ein und dan wieder das selbe er will verkaufen und grht wieder raus undstartet neu !

wo kan da jetzt mein fehler liegen weil wen er läuft ist er ja supper ^^ bitte um hilfe !
klingt so als würdest du Dia nicht in english starten.
gery68 is offline  
Old 04/19/2011, 10:34   #1363
 
Shrimps in Bierteig's Avatar
 
elite*gold: 0
Join Date: Feb 2011
Posts: 394
Received Thanks: 75
Quote:
Originally Posted by Shrimps in Bierteig View Post
Also ich hab Lanara mal gefragt wie ich beim Nec, das hinkriege das er bei baal/dia und traiv decrepify auf die Bossmobs casted. Und ich wollte nur sichergehen, das ich das jetzt in die richtige Zeile einfüge^^

Code:
	if(MWConfig_AttacksBeforeRepositioning > 0 && _MWA_Attack_Time[3] % MWConfig_AttacksBeforeRepositioning == 0)
	{
		_vec = MWA_GetEvasionVector(4, 2, target);
		
		if(!_vec && !_vec.isZero())
			NTM_MoveTo(target.areaid, parseInt(target.x + _vec.x), parseInt(target.y + _vec.y), 0);
	}

	_viciousFoe = MWA_IsHazardousMonster(target);
	
[COLOR="Red"][B]		case 544: // Baal
			_viciousness += 5;
			break;
[/B][/COLOR]
	// Define the maximum values once as they are mostly constant anyway
Sollte das jetzt für Baal einfach so aussehen? Das währ die Zeilennr. 992 wo ich das eingefügt habe.

Und ich hab in den scripts nachgeschaut für dia und travi, aber ich hab keine ahnung welche die richtige nr ist^^ und wie das bei Dia aussehen würde :-/
Ok, das war wohl die falsche zeilennr^^ Thx @ Lanara

nur die frage ist jetzt, wo es genau da reingeschrieben wird?

Zeile 2224 - 2260 in der NTAttack.ntj

Code:
function MWA_IsHazardousMonster(target)
{
	var _viciousness, _damageType, _count;
	
	_viciousness = 0;
	_damageType = -1;
	
	switch(target.classid)
	{
		// Physical damage (type 0)
		case 310: // Doom Knight
		case 312: // Oblivion Knight
		case 472: // Hell Temptress WSK
		case 510: // Death Lord WSK
		case 571: // Minion Of Destruction
		case 638: // Vile Witch WSK
		case 691: // Undead Soul Killer Throne
		case 700: // Doom Knight Throne
		case 702: // Oblivion Knight Throne
			_damageType = 0;
			_viciousness++;
			break;
		// Elemental damage (type 1)
		case 640: // Black Soul WSK
		case 641: // Black Soul Throne
			_damageType = 1;
			_viciousness++;
			break;	
		// Both physical and elemental damage (type -1)
		case 345: // Council Member
		case 346: // Council Member
		case 347: // Council Member
		case 362: // Venom Lord
		case 558: // Venom Lord Throne
			_viciousness++;
			break;	
	}
und wie kommt das jetzt da rein? Bzw. Wo genau

case 544: // Baal
_viciousness += 5;
break;


thx für die hilfe
Shrimps in Bierteig is offline  
Old 04/19/2011, 11:03   #1364

 
lanara's Avatar
 
elite*gold: 139
Join Date: Oct 2006
Posts: 12,058
Received Thanks: 24,256
Code:
function MWA_IsHazardousMonster(target)
{
	var _viciousness, _damageType, _count;
	
	_viciousness = 0;
	_damageType = -1;
	
	switch(target.classid)
	{
		// Physical damage (type 0)
		case 310: // Doom Knight
		case 312: // Oblivion Knight
		case 472: // Hell Temptress WSK
		case 510: // Death Lord WSK
		case 571: // Minion Of Destruction
		case 638: // Vile Witch WSK
		case 691: // Undead Soul Killer Throne
		case 700: // Doom Knight Throne
		case 702: // Oblivion Knight Throne
			_damageType = 0;
			_viciousness++;
			break;
		// Elemental damage (type 1)
		case 640: // Black Soul WSK
		case 641: // Black Soul Throne
			_damageType = 1;
			_viciousness++;
			break;	
		// Both physical and elemental damage (type -1)
		case 345: // Council Member
		case 346: // Council Member
		case 347: // Council Member
		case 362: // Venom Lord
		case 558: // Venom Lord Throne
			_viciousness++;
			break;
[COLOR="Red"]		case 544: // Baal
			_viciousness += 5;
			break;	[/COLOR]
	}
lanara is offline  
Thanks
2 Users
Old 04/19/2011, 11:16   #1365
 
elite*gold: 0
Join Date: Nov 2010
Posts: 35
Received Thanks: 2
Übrigens in der neusten version fehlt in den char konfigs unter Verfügbaren scripts das "NTPindleskin.ntj"-Script
Muss man noch manuel hinzufügen.


mfg
Twinstyle
Twinstyle 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 16:33.


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.