[Release] Muddy's D2NT

04/23/2011 19:43 seltn#1501
[.Quote] den oberen Beitrag! [./Qoute] :rtfm:

Doch, doch, hat mir was gebracht.
Muss jetzt nur schauen, wie ich das mit einbaue.

So, dann beende ich hier mal das halbe Off-Topic Thema.
04/24/2011 02:01 19Miami#1502
sry wenn leicht offtopic aber wurde mit dem bot schon jemand gebannt?
sind die chancen auf nen ban höher mit redvex fastmod und magnet??
04/24/2011 03:02 Aceridos#1503
Ban weiß ich nix, glaub seit der Bannwelle '09 war nichtmehr viel mit Bannen, das macht das ganze aber nicht sicherer.
Zum 2. sollte klar sein, je mehr 3rd Party Programme zu verwendest, desto wahrscheinlicher ist ein detecten durch Warden

3 kg Drogen lassen sich meistens schwerer verstecken / leichter finden als 1 kg, auch wenn der Vergleich doch stark hinkt... muss an der Hitze liegen, ich kann obv. nicht pennen :(
04/24/2011 05:42 getgoodson#1504
so, ich wollte mal was neues ausprobieren und meinen cs barb laufen lassen. natürlich klappt das nicht ohne startschwierigkeiten :D

attack config sieht so aus

Code:
 
NTConfig_AttackSkill[0] = MWS_HOWL;		// This skill is used once whenever attacking a new target. Set to 0 to deactivate.
	NTConfig_AttackSkill[1] = MWS_BERSERK;	// Primary skill to bosses.
	NTConfig_AttackSkill[2] = 0;				// Reserved
	NTConfig_AttackSkill[3] = MWS_BERSERK;	// Primary skill to others.
	NTConfig_AttackSkill[4] = 0;				// Reserved
	NTConfig_AttackSkill[5] = 0;		// Secondary skill in case monster is immune to primary skill. Set to 0 to deactivate.
	NTConfig_AttackSkill[6] = 0;				// Reserved
	NTConfig_AttackSkill[7] = 0;				// Reserved
	NTConfig_ClearPosition = true;	// Set to true if you want to clear area after killing boss.
ich möchte, dass er die siegel öffnet, heult und dann den boss tötet (fastdiascript hab ich eines, das auch funktioniert)
folgende fehlermeldung taucht auf: MWS_HOWL is not defined. Ich versteh das nicht ganz, habe es beim gleichen ort wie warcry eingetragen (warcry funktioniert auf dem goldbarb super). Was muss ich ändern, dass er heult?

2. frage: was muss ich einstellen, damit er mit dem bo slot telt und nur für den kampf wechselt?

Code:
 // 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.
	MWConfig_SwitchSlotsAfterBoPrecast = true;
was verstehst du unter precast procedure? zum ziel hintelen gehört noch dazu? ich kanns leider nicht testen, da der barb ja gar nicht erst anfängt, wegen problem 1

vielen dank, mal wieder ;)
04/24/2011 10:31 Muddy Waters#1505
Das erste klingt für mich eher so, als wäre aus irgendeinem Grund die library mit den Skill Konstanten nicht inkludiert. Schau doch mal, ob du aus Versehen irgendwo die Include Anweisung entfernt hast. ;)

Zu der zweiten Frage:
In dem Fall deines Barbs ist das nicht von Bedeutung.

Denk dabei eher an Chars, die eventuell noch Minions casten. Hier kannst du dann direkt nach dem BO Precast auf den 1. Slot wechseln, sodass die Minions mit einem höheren Skill Level herbeigerufen werden.
Setzt du das auf false, wird auch für die Minions und andere Precasts der BO Slot verwendet.
Viel mehr ist an der Option nicht dran. :)

LG
Muddy
04/24/2011 11:37 getgoodson#1506
Quote:
Originally Posted by Muddy_Waters View Post
Das erste klingt für mich eher so, als wäre aus irgendeinem Grund die library mit den Skill Konstanten nicht inkludiert. Schau doch mal, ob du aus Versehen irgendwo die Include Anweisung entfernt hast. ;)

Zu der zweiten Frage:
In dem Fall deines Barbs ist das nicht von Bedeutung.

Denk dabei eher an Chars, die eventuell noch Minions casten. Hier kannst du dann direkt nach dem BO Precast auf den 1. Slot wechseln, sodass die Minions mit einem höheren Skill Level herbeigerufen werden.
Setzt du das auf false, wird auch für die Minions und andere Precasts der BO Slot verwendet.
Viel mehr ist an der Option nicht dran. :)

LG
Muddy
zu 1.: inkludiert...ok :) also du meinst, dass irgendwo die skills beschrieben sein müssen, welcher char, wann, welchen skill benutzt? davon bin ich auch ausgegangen. aber ich habe keinen plan, wo, ich was ändern muss. geändert habe ich selbst gar nichts (ausser in der charconfig)

[Only registered and activated users can see links. Click Here To Register...]

habe diesen beitrag von dir zu dem thema gelesen. ist es das? ist zwar nur für seis, aber bei den andern müsste mans auch so machen?

zu 2.: also einfach so lassen und der bot merkt von alleine, dass er im boslot telen soll?
04/24/2011 12:13 gery68#1507
Hi!
Hätte mal ne Anregung zum Organe farmen.Währe nett wenn er sobald er beim gegner ist ein Tp öffnen würde,um einen Smitt als Hilfe Eintritt zu gewähren.Hammerdin schafft es ja alleine nicht leicht.
04/24/2011 12:18 Muddy Waters#1508
Für die Skills habe ich ja eine eigene library definiert.

Dort werden entspechend benannten Konstanten die passenden Skill IDs zugewiesen.

Der Vorteil:
Char Configs, aber auch Funktionen, in denen die Konstanten zum einsatz kommen, werden viel leichter lesbar, weil man direkt lesen kann, um welchen Skill es sich handelt und nicht irgendeine nichtssagende Zahl vor sich hat.

Ich konnte mir die IDs jedenfalls nie merken, darum habe ich das so eingeführt. :o

Damit das funktioniert, muss aber die entsprechende library, in der diese Konstanten definiert sind (MWSkills.ntl) inkludiert, also eingebunden werden.

Dazu wird die Funktion Include() aufgerufen, das geschieht in der globalen Config und sieht dann so aus:
Code:
Include("libs/common/MWSkills.ntl");
Da nun in der MWSkills library definitiv eine Konstante namens MWS_HOWL definiert ist, schließe ich daraus, dass bei dir aus irgend einem Grund die library nicht inkludiert wurde und deshalb in dem laufenden Kontext keine Konstante mit der passenden Bezeichnung vorhanden ist.

Soviel zu den Hintergründen. :)

Was mich nun interessieren würde: Wie lautet die exakte Fehlermeldung?

Ich wüsste gerne, wo genau die Konstante nicht definiert sein soll. ;)

Zu 2:
Normalerweise sollte der Barb für längere Wegstrecken automatisch auf den Slot wechseln, welcher mehr FCR bietet. ;)

Quote:
Originally Posted by gery68 View Post
Hi!
Hätte mal ne Anregung zum Organe farmen.Währe nett wenn er sobald er beim gegner ist ein Tp öffnen würde,um einen Smitt als Hilfe Eintritt zu gewähren.Hammerdin schafft es ja alleine nicht leicht.
Das Script ist eigentlich tatsächlich auf einen Smiter mit Eni ausgelegt.

Aber das mit dem TP könntest du natürlich auch einfügen, füge dazu einfach im OrganHarvest Script in Zeile 636 folgenden Funktionsaufruf ein:
Code:
NTM_MakeTP();
LG
Muddy
04/24/2011 12:18 Shrimps in Bierteig#1509
Quote:
Originally Posted by gery68 View Post
Hi!
Hätte mal ne Anregung zum Organe farmen.Währe nett wenn er sobald er beim gegner ist ein Tp öffnen würde,um einen Smitt als Hilfe Eintritt zu gewähren.Hammerdin schafft es ja alleine nicht leicht.
Gib deinem smiter einfach eine eni zum organe farmen ;) das reicht vollkommen. Für UT selber, würd ich aber trozdem coh empfehlen.
04/24/2011 12:51 BigFatMonster#1510
ne frage zum organfarmen wenn das hier grad angesprochen wird.
sammelt der auch selber keys oder muss manden mit keys vollklatschen und dann machen lassen?

noch ne frage:
bei den scripts war jetzt kein fastdia script bei.
was muss ich beim script ändern, dass er nur die siegeltrupen killt?
hatte es eben ma mit clear position auskommentieren versucht, da hater aber das script erst garnichmehr richtig grstartet.

danke schonma
04/24/2011 14:00 getgoodson#1511
Quote:
Originally Posted by Muddy_Waters View Post
Für die Skills habe ich ja eine eigene library definiert.

Dort werden entspechend benannten Konstanten die passenden Skill IDs zugewiesen.

Der Vorteil:
Char Configs, aber auch Funktionen, in denen die Konstanten zum einsatz kommen, werden viel leichter lesbar, weil man direkt lesen kann, um welchen Skill es sich handelt und nicht irgendeine nichtssagende Zahl vor sich hat.

Ich konnte mir die IDs jedenfalls nie merken, darum habe ich das so eingeführt. :o

Damit das funktioniert, muss aber die entsprechende library, in der diese Konstanten definiert sind (MWSkills.ntl) inkludiert, also eingebunden werden.

Dazu wird die Funktion Include() aufgerufen, das geschieht in der globalen Config und sieht dann so aus:
Code:
Include("libs/common/MWSkills.ntl");
Da nun in der MWSkills library definitiv eine Konstante namens MWS_HOWL definiert ist, schließe ich daraus, dass bei dir aus irgend einem Grund die library nicht inkludiert wurde und deshalb in dem laufenden Kontext keine Konstante mit der passenden Bezeichnung vorhanden ist.

Soviel zu den Hintergründen. :)

Was mich nun interessieren würde: Wie lautet die exakte Fehlermeldung?

Ich wüsste gerne, wo genau die Konstante nicht definiert sein soll. ;)

Zu 2:
Normalerweise sollte der Barb für längere Wegstrecken automatisch auf den Slot wechseln, welcher mehr FCR bietet. ;)

LG
Muddy
ah, danke, jetzt hab ich die hintergründe verstanden (und ja, ich finde es so auch viel angenehmer, da die zahlen doch nicht wirklich was aussagen, der skillname hingegen schon).

Fehlermeldung: muddysd2nt/scripts/bots/char_configs/ntconfig_barbarian_charname/.ntl (281): referrenceerror: MWS_HOWL is not defined

Code:
Include("libs/common/MWSkills.ntl");
hab ich aber auch in der globalen config und howl ist auch in meiner skillliste, strange?!

2. super, das hat sich dann (hoffentlich) erledigt :D

Hat sich erledigt, ich habe anstatt MWS_HOWL die skillnummer in die config eingetragen (130) und das ganze funktioniert nun wunderbar. :D

Quote:
Originally Posted by prograx View Post
ne frage zum organfarmen wenn das hier grad angesprochen wird.
sammelt der auch selber keys oder muss manden mit keys vollklatschen und dann machen lassen?

noch ne frage:
bei den scripts war jetzt kein fastdia script bei.
was muss ich beim script ändern, dass er nur die siegeltrupen killt?
hatte es eben ma mit clear position auskommentieren versucht, da hater aber das script erst garnichmehr richtig grstartet.

danke schonma
hier das fastdia script, dass ich benutze
Code:
function NTMain()
{
	Include("libs/common/NTCommon.ntl");
	NTC_IncludeLibs();
	NTC_IncludeConfig("NTBot/char_configs");

	NT_LoadConfig();
	NTSI_LoadNIPFiles("NTBot/item_configs");

	NTA_Initialize();

	if(!NTTM_CheckAct())
	{
		NTC_SendMsgToScript("MWBotGame.ntj", "NTTM_CheckAct()");
		return;
	}

	NTTMGR_TownManager();

	if(!NTTM_TownMove("waypoint"))
	{
		NTC_SendMsgToScript("MWBotGame.ntj", "NTTM_TownMove()");
		return;
	}

	if(!NTM_TakeWaypoint(107))
	{
		NTC_SendMsgToScript("MWBotGame.ntj", "NTM_TakeWaypoint()");
		return;
	}

	NTP_DoPrecast(true);

	if(!NTM_MoveTo(108, 7797, 5560))
	{
		NTC_SendMsgToScript("MWBotGame.ntj", "NTM_MoveTo()");
		return;
	}

	if(NTConfig_PublicMode)
	{
		var _attackpos = [7792, 5525, 7793, 5501, 7773, 5495, 7768, 5480, 7767, 5458, 7770, 5438, 7774, 5417, 7767, 5391, 7768, 5369, 7769, 5345, 7770, 5320, 7780, 5308];

		if(!NTM_MoveTo(me.areaid, 7790, 5544))
		{
			NTC_SendMsgToScript("MWBotGame.ntj", "NTM_MoveTo()");
			return;
		}

		//NTA_ClearPosition();

		NTM_MoveTo(me.areaid, 7790, 5544);

		NTC_PingDelay(1000);

		//NTA_ClearPosition();

		NTM_MoveTo(me.areaid, 7790, 5544);

		NTM_MakeTP();
		Say("TP is safe!");

		for(var i = 0 ; i < _attackpos.length ; i += 2)
		{
			NTM_MoveTo(me.areaid, _attackpos[i], _attackpos[i+1]);

			//NTA_ClearPosition();
		}

		NTP_DoPrecast(true);
	}

	if(!NT_OpenSealsInt())
	{
		NTC_SendMsgToScript("MWBotGame.ntj", "NT_OpenSealsInt()");
		return;
	}

	if(NTConfig_PublicMode)
		Say("Killing Diablo");

	NTP_DoPrecast(true);

	if(!NTM_MoveTo(me.areaid, 7792, 5292))
	{
		NTC_SendMsgToScript("MWBotGame.ntj", "NTM_MoveTo()");
		return;
	}


	NTC_FindUnit(NTC_UNIT_MONSTER, 243, 100);

	if(!NTA_KillMonster(243))
	{
		NTC_SendMsgToScript("MWBotGame.ntj", "NTA_KillMonster()");
		return;
	}

	NTSI_PickItems();

	if(NTConfig_PublicMode)
		Say("Next game");

	NTC_SendMsgToScript("MWBotGame.ntj", "SCRIPT_END");
}

// Internal function
function NT_OpenSealsInt()
{
	var i, _unit;
	var _result;

	_unit = GetPresetUnits(me.areaid, NTC_UNIT_OBJECT);

	if(!_unit)
		return false;

	_result = false;

	for(i = 0 ; i < _unit.length ; i++)
	{
		if(_unit[i].id == 396)
		{
			if(_unit[i].roomy*5 + _unit[i].y == 5275)
				_result = NT_OpenVizierSealInt(1);
			else
				_result = NT_OpenVizierSealInt(2);

			break;
		}
	}

	if(!_result)
		return false;

	NTP_DoPrecast(false);

	_result = false;

	for(i = 0 ; i < _unit.length ; i++)
	{
		if(_unit[i].id == 394)
		{
			if(_unit[i].roomx*5 + _unit[i].x == 7773)
				_result = NT_OpenDeSeisSealInt(1);
			else
				_result = NT_OpenDeSeisSealInt(2);

			break;
		}
	}

	if(!_result)
		return false;

	NTP_DoPrecast(false);

	_result = false;

	for(i = 0 ; i < _unit.length ; i++)
	{
		if(_unit[i].id == 392)
		{
			if(_unit[i].roomx*5 + _unit[i].x == 7893)
				_result = NT_OpenVenomSealInt(1);
			else
				_result = NT_OpenVenomSealInt(2);

			break;
		}
	}

	return _result;
}

function NT_OpenVizierSealInt(type)
{
	var i, n;
	var _attackpos = [7740, 5300, 7740, 5280, 7720, 5280, 7720, 5300];
	var _monstername = GetLocaleString(2851);

	for(i = 0 ; i < _attackpos.length ; i += 2)
	{
		NTM_MoveTo(me.areaid, _attackpos[i], _attackpos[i+1]);

		//NTA_ClearPosition();
	}

	for(i = 0 ; i < 3 ; i++)
	{
		if(type == 1)
		{
			NT_OpenSealInt(395, 7654, 5310);
			NT_OpenSealInt(396, 7659, 5277);

			NTM_MoveTo(me.areaid, 7665, 5277);
		}
		else
		{
			NT_OpenSealInt(395, 7650, 5276);
			NT_OpenSealInt(396, 7651, 5310);
		}

		for(n = 0 ; n < 10 ; n++)
		{
			NTC_Delay(200);

			if(NTA_KillMonster(_monstername))
			{
				//NTA_ClearPosition();
				NTSI_PickItems();

				return NTM_MoveTo(me.areaid, 7750, 5280);
			}
		}
	}

	return false;
}

function NT_OpenDeSeisSealInt(type)
{
	var i, n;
	var _attackpos = [7780, 5255, 7800, 5255, 7800, 5235, 7780, 5235];
	var _monstername = GetLocaleString(2852);

	for(i = 0 ; i < _attackpos.length ; i += 2)
	{
		NTM_MoveTo(me.areaid, _attackpos[i], _attackpos[i+1]);

		//NTA_ClearPosition();
	}

	for(i = 0 ; i < 3 ; i++)
	{
		if(type == 1)
		{
			NT_OpenSealInt(394, 7769, 5158);

			NTM_MoveTo(me.areaid, 7771, 5196);
		}
		else
		{
			NT_OpenSealInt(394, 7810, 5156);

			NTM_MoveTo(me.areaid, 7770, 5169);
		}

		for(n = 0 ; n < 10 ; n++)
		{
			NTC_Delay(200);

			if(NTA_KillMonster(_monstername))
			{
				//NTA_ClearPosition();
				NTSI_PickItems();

				return NTM_MoveTo(me.areaid, 7800, 5255);
			}
		}
	}

	return false;
}

function NT_OpenVenomSealInt(type)
{
	var i, n;
	var _attackpos = [7835, 5280, 7835, 5300, 7855, 5300, 7855, 5280];
	var _monstername = GetLocaleString(2853);

	for(i = 0 ; i < _attackpos.length ; i += 2)
	{
		NTM_MoveTo(me.areaid, _attackpos[i], _attackpos[i+1]);

		//NTA_ClearPosition();
	}

	for(i = 0 ; i < 3 ; i++)
	{
		if(type == 1)
		{
			NT_OpenSealInt(393, 7915, 5280);
			NT_OpenSealInt(392, 7895, 5318);

			NTM_MoveTo(me.areaid, 7892, 5298);
		}
		else
		{
			NT_OpenSealInt(393, 7905, 5277);
			NT_OpenSealInt(392, 7916, 5310);

			NTM_MoveTo(me.areaid, 7937, 5305);
		}

		for(n = 0 ; n < 10 ; n++)
		{
			NTC_Delay(200);

			if(NTA_KillMonster(_monstername))
			{
				NTSI_PickItems();

				if(NTC_PutSkill(124, NTC_HAND_RIGHT))
					NTC_PingDelay(1000);

				return true;
			}
		}
	}

	return false;
}

function NT_OpenSealInt(classid, x, y)
{
	var _seal;

	NTM_MoveTo(me.areaid, x, y);

	//NTA_ClearPosition();

	_seal = NTC_FindUnit(NTC_UNIT_OBJECT, classid, 5);

	if(!_seal)
		return false;

	if(_seal.mode > 0)
		return true;

	for(var i = 0 ; i < 4 ; i++)
	{
		if((i % 2) == 0)
		{
			if(GetDistance(me, _seal) > 2)
				NTM_MoveTo(_seal.areaid, _seal.x+1, _seal.y);

			NTC_DoClick(NTC_CLICK_LDOWN, NTC_SHIFT_NONE, _seal);
		}

		NTC_Delay(500);

		if(_seal.mode > 0)
			return true;
	}

	return false;
}
04/24/2011 14:36 BigFatMonster#1512
werd ich gleich ma testen

tritt das gleiche problem auf..
welche variablen gehören da hintendran?
habs mit den von muddys dia script versucht und ma ohne welche.
oder mach ich sonst was falsch?^^
hab ne neue ntj datei gemacht und da deinen code rein.
und dan das
MWConfig_Script.push(["NTFastDiablo.ntj", 7]);
in die config gepackt.
wenn ich jetzt was wichtiges vergessen hab bitte sagen^^
04/24/2011 14:48 DeathFromHeaven#1513
also das problem mit dem ScriptIndex bleibt bestehen, obwohl ich die Funktion wie beschrieben abgeändert hab.

hier mal ein Bild der letzten Chatmessages^^
(ist schlecht formatiert, deshalb im Spoiler^^)


Hoffe du hast noch ne idee woran es liegt^^
04/24/2011 14:58 getgoodson#1514
Quote:
Originally Posted by prograx View Post
werd ich gleich ma testen

tritt das gleiche problem auf..
welche variablen gehören da hintendran?
habs mit den von muddys dia script versucht und ma ohne welche.
oder mach ich sonst was falsch?^^
hab ne neue ntj datei gemacht und da deinen code rein.
und dan das
MWConfig_Script.push(["NTFastDiablo.ntj", 7]);
in die config gepackt.
wenn ich jetzt was wichtiges vergessen hab bitte sagen^^
was für variabeln? so wie ich das script gepostet habe kannst du es übernehmen, da musst du nix mehr ändern. config stimmt. was geht denn nicht? fehlermeldung?
04/24/2011 15:11 BigFatMonster#1515
kommt nichma ne fehlermeldung, nur wenn er zu dem script kommt steht da stopped
lässt sich aber auch nicht mit der pause taste wieder starten oder skippen oder sonstwas
es hängt sich halt einfach auf
mit variablen meinte ich sowas wie start at star = true oder sowas halt

werd ma den bot restarten, daran könnts noch liegen^^

ok jetzt nach nem restart gehts:P thx