[Release] Muddy's D2NT

05/15/2011 11:43 Muddy Waters#1936
Woher weisst du, dass der char nichts pickt? Schonmal in Erwägung gezogen, dass dort einfach nichts brauchbares liegt?

Kannst ja mal testweise ein
Code:
[Quality] <= 8
in deine .nips einfügen, dann sollte er alles mitnehmen, was fällt.
Macht er das, ist dein Problem kein Problem. ;)

LG
Muddy
05/15/2011 14:15 TheMinimi#1937
Ich habe ihn beobachter , er hat Baal gekillt und ist sofort raus und das bei mehr als 10 games :P hehe

Edit : Musste ich wieder raus nehmen weil er dann alles gestashed hat und in einer tour tps gemacht hat , zu malah hin , nichts verkauft , tp gejoint , tp gemacht..... usw :P
05/15/2011 16:20 AndreundNina#1938
Wieso macht er die Ahnen nicht beim Rushbot oder muss ich dort was einstellen?

Mfg
AndreundNina
05/15/2011 16:40 Gaterrrr#1939
Mal ne Zwischenfrage: Wieso ünterstützt Muddys D2NT bisher keine Amazone? :)
05/15/2011 16:54 Glancor#1940
ich hätte da eher mal ne allgemeine Frage. Und zwar braucht meine Blizzard sorc relativ viele Reju Potions bei nem Baalrun um Chicken frei da durchzukommen.
Ich lasse die vorher immer die Ancient Tunnels (AT) im Akt 2 leeren um die Rejus zu bekommen.

I.d.r. würden aber alle 2 Runs ein AT Clear reichen.

Drum die Frage: ist sowas in der Art möglich?

Bsp:

if ( n mod 2 == 0) { //n = Anzahl der bisher absolvierten Spiele
MWConfig_Script.push(["NTAncientTunnels.ntj", 10]);
}

?
05/15/2011 17:04 Eichenlaub#1941
Quote:
Originally Posted by AndreundNina View Post
Wieso macht er die Ahnen nicht beim Rushbot oder muss ich dort was einstellen?

Mfg
AndreundNina
Soweit ich das in dem script überblicke, ist für diese Quest überhaupt keine Einstellung vorhanden. Man müsste da was reinbasteln. Beim Sternenloopers bot ist ein Akt 5 Rush script dabei. Falls du das nehmen möchtest. Ich habe das aber noch ein wenig modifiziert, wegen dem Questtext beim anklicken des Altars:
Code:
function NTMain()
{
	Include("libs/common/NTCommon.ntl");
	NTC_IncludeLibs();
	NTC_IncludeConfig("NTBot/char_configs");

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

	NTA_Initialize();

	me.maxgametime = 0;
	
	if(!NTTM_CheckAct())
	{
		NTC_SendMsgToScript("MWBotGame.ntj", "NTTM_CheckAct()");
		return;
	}

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

		if(!NTM_TakeWaypoint(113))
		{
			NTC_SendMsgToScript("MWBotGame.ntj", "NTM_TakeWaypoint()");
			return;
		}
		NTM_MakeTP();
		NTP_DoPrecast();	

		if(!NTM_MoveToStair(me.areaid, 114))
		{
			NTC_SendMsgToScript("MWBotGame.ntj", "NTM_MoveToStair()");
			return;
		}

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

		if(!NTM_MoveToObject(me.areaid, NTC_UNIT_OBJECT, 460, 460, -8, -8))
		{
			NTC_SendMsgToScript("MWBotGame.ntj", "NTM_MoveToObject()");
			return;
		}

//		if(NTConfig_CheckSafe)
//			if(!NTTMGR_CheckSafe(2))
//			{
//				NTC_SendMsgToScript("MWBotGame.ntj", "NTTMGR_CheckSafe()");
//				return;
//			}
	if(!NTTMGR_CheckSafe(NTConfig_CheckSelfSafe, NTConfig_CheckMercSafe))
	{
		NTC_SendMsgToScript("MWBotGame.ntj", "NTTMGR_CheckSafe()");
		return;
	}

		

		if(!NTA_KillMonster(GetLocaleString(22504)))
		{
			NTC_SendMsgToScript("MWBotGame.ntj", "NTA_KillMonster()");
			return;
		}
		
		NTA_ClearPosition(40);
		
		NTSI_PickItems();
		
		if(NTM_MoveToObject(me.areaid, 558, 558))
		{
			NTC_SendMsgToScript("MWBotGame.ntj", "NTM_MoveToObject()");
			return;
		}
		
		NTA_ClearPosition(25);
		
		NTSI_PickItems();
		
		NTM_MakeTP();
		
		NTM_UsePortal("BluePortal");
		
		while(!NTC_IsQuesterIn(114))
			NTC_Delay(500);
		
		while(!NTC_IsQuesterIn())
			NTC_Delay(500);
			
		while(!NTC_IsQuesterIn(114))
			NTC_Delay(500);
			
		while(!NTC_IsQuesterIn())
			NTC_Delay(500);
		
	}
	
	if(NTConfig_Ancients)
	{
		if(!NTTM_TownMove("waypoint"))
		{
			NTC_SendMsgToScript("MWBotGame.ntj", "NTTM_TownMove()");
			return;
		}

		if(!NTM_TakeWaypoint(118))
		{
			NTC_SendMsgToScript("MWBotGame.ntj", "NTM_TakeWaypoint()");
			return;
		}
		NTM_MakeTP();
		NTP_DoPrecast();
	
		if(!NTM_MoveToStair(me.areaid, 120))
		{
			NTC_SendMsgToScript("MWBotGame.ntj", "NTM_MoveToStair()");
			return;
		}
	
		if(!NTM_TakeStair(120))
		{
			NTC_SendMsgToScript("MWBotGame.ntj", "NTM_TakeStair()");
			return;
		}
		if(!NTM_MoveTo(me.areaid, 10057, 12645))
		{
			NTC_SendMsgToScript("MWBotGame.ntj", "NTM_MoveTo()");
			return;
		}
	
		NTM_MakeTP();
			
		while(!NTC_IsQuesterIn())
			NTC_Delay(500);
			
		NTA_ClearPosition(10);
		
		NTP_DoPrecast();

		var _Altar;	
		
		_Altar = NTC_GetUnit(NTC_UNIT_OBJECT, 546);
			
		if(_Altar)
			if(NTM_MoveTo(_Altar.areaid, _Altar.x+3, _Altar.y+3))
				{
					Say("Alle da?")
					NTC_Delay(2000);
					NTC_OpenChest(_Altar);
					me.Cancel(0);
					NTC_DoClick(ClickMap(NTC_CLICK_LDOWN, null,_Altar))
					NTC_Delay(100);
					me.Cancel(0);

					Say("Auf in den Kaaaampfff!!!")
							NTP_DoPrecast(true);
					NTC_Delay(1000);
				}	
		
		for(var i = 0 ; i < 25; i++)
		{
			NTA_ClearPosition(40);
			NTC_PingDelay(200);
		}	
		
		if(!NTM_MoveTo(me.areaid, 10057, 12645))
		{
			NTC_SendMsgToScript("MWBotGame.ntj", "NTM_MoveTo()");
			return;
		}
	
		NTM_MakeTP();

		NTM_UsePortal("BluePortal");
		
	}

	Say("Das wars!")
	
	NTC_SendMsgToScript("MWBotGame.ntj", "SCRIPT_END");
}

function NTC_IsQuesterIn(area, name)
{
	var _player;
	var _myPartyId;
	var _area;

	_player = GetPlayerUnit();
	_myPartyId = _player.partyid;

	if(arguments.length < 1)
		_area = me.areaid
	if(arguments.length > 0)
		_area = area;
	
	do
	{
		if(_player.areaid == _area && _myPartyId == _player.partyid)
		{
			if(!name)
				return true;
			else if(_player.name == name)
				return true;
		}

		NTC_Delay(100);

	} while(_player.GetNext());

	return false;	
}

function NTC_IsGroupInAct(act)
{
	var _player;
	var _myPartyId;
	var questeract;

	_player = GetPlayerUnit();
	_myPartyId = _player.partyid;

	do
	{

		if(_player.areaid <= 39)
			questeract = 1;
		else if(_player.areaid >= 40 && _player.areaid <= 74)
			questeract = 2;
		else if(_player.areaid >= 75 && _player.areaid <= 102)
			questeract = 3;
		else if(_player.areaid >=103 && _player.areaid <= 108)
			questeract = 4;
		else
			questeract = 5;

		if(questeract == act && _myPartyId == _player.partyid && _player.name != me.charname)
			return true;

		NTC_Delay(100);

	} while(_player.GetNext());

	return false;	
}

function NTC_IsQuesterOut(area)
{
	var _player;
	var _myPartyId;

	_player = GetPlayerUnit();
	_myPartyId = _player.partyid;

	if(arguments.length < 1)
		_area = me.areaid;
	else
		_area = area;

	do
	{
		if(_player.areaid == _area && _myPartyId == _player.partyid)
			return false;

		NTC_Delay(100);

	} while(_player.GetNext());
	
	return true;	
}

function NTC_GetUnit(unittype, classid)
{
	var _unit;

	for(var i = 0 ; i < 2 ; i++)
	{
		if(arguments.length < 2)
			_unit = GetUnit(unittype);
		else
			_unit = GetUnit(unittype, classid);

		if(_unit)
			return _unit;

		if(i < 1)
			NTC_PingDelay(200);
	}

	return false;
}

function NTM_MoveToObject(areaid, unittype, low, high, offsetx, offsety, clearpath)
{
	var _unit;

	if(arguments.length < 4)
		high = low;

	if(arguments.length < 5)
	{
		offsetx = 0;
		offsety = 0;
	}

	if(arguments.length < 7)
		clearpath = false;

	_unit = GetPresetUnits(areaid, unittype);

	if(!_unit)
		return false;

	for(var i = 0 ; i < _unit.length ; i++)
	{
		if(_unit[i].id >= low && _unit[i].id <= high)
			return NTM_MoveTo(areaid, _unit[i].roomx*5+_unit[i].x+offsetx, _unit[i].roomy*5+_unit[i].y+offsety, 2, clearpath);
	}

	return false;
}
others-akt5rush.ntj
05/15/2011 17:13 jojop1#1942
wo stell ich nochmal ein das die zauberin shiver armor castet ??
bei mir macht die gar kein eis schild ? o.O
05/15/2011 18:14 gery68#1943
Quote:
Originally Posted by jojop1 View Post
wo stell ich nochmal ein das die zauberin shiver armor castet ??
bei mir macht die gar kein eis schild ? o.O
Code:
	//------------------------------------------------------------------------------
	// Precast Configuration
	//------------------------------------------------------------------------------
	
	// 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".
	MWConfig_PrecastSkills = [MWS_FROZEN_ARMOR, MWS_THUNDER_STORM];
würde es mal hier versuchen
05/15/2011 18:16 jojop1#1944
Quote:
Originally Posted by gery68 View Post
Code:
	//------------------------------------------------------------------------------
	// Precast Configuration
	//------------------------------------------------------------------------------
	
	// 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".
	MWConfig_PrecastSkills = [MWS_FROZEN_ARMOR, MWS_THUNDER_STORM];
würde es mal hier versuchen
jo aber wo steht dnen das ich find dsa net :)
05/15/2011 18:56 Morphsepp#1945
Hab ein probelm beim baal-run.

Des öfftern killt der bot nicht den "Lister der Quäler" (w5)? ... woran könnte es liegen? ...
05/15/2011 19:03 gery68#1946
Quote:
Originally Posted by jojop1 View Post
jo aber wo steht dnen das ich find dsa net :)
in deiner soso config wenn du Muddys Version 1.2 verwendest
05/15/2011 21:59 Muddy Waters#1947
Quote:
Originally Posted by AndreundNina View Post
Wieso macht er die Ahnen nicht beim Rushbot oder muss ich dort was einstellen?

Mfg
AndreundNina
Ist nicht implementiert, hätte man auch durch Lesen der Kommentare in Erfahrung bringen können:
Quote:
// Specify which quests are to be done during the rush. (A4Q1 and A5Q1 are currently the only quests that work relatively well)
MWConfig_QuestSchedule = ["A4Q1", "A5Q1"];
Quote:
Originally Posted by Gaterrrr View Post
Mal ne Zwischenfrage: Wieso ünterstützt Muddys D2NT bisher keine Amazone? :)
Weil ich nie eine hatte und ergo auch nie einen Angriffsalgorithmus dafür implementiert habe.

Quote:
Originally Posted by Glancor View Post
ich hätte da eher mal ne allgemeine Frage. Und zwar braucht meine Blizzard sorc relativ viele Reju Potions bei nem Baalrun um Chicken frei da durchzukommen.
Ich lasse die vorher immer die Ancient Tunnels (AT) im Akt 2 leeren um die Rejus zu bekommen.

I.d.r. würden aber alle 2 Runs ein AT Clear reichen.

Drum die Frage: ist sowas in der Art möglich?

Bsp:

if ( n mod 2 == 0) { //n = Anzahl der bisher absolvierten Spiele
MWConfig_Script.push(["NTAncientTunnels.ntj", 10]);
}

?
Nein, jedenfalls nicht direkt. Willst du es dennoch so machen, müsstest du dir die Spielnummer durch geeignete String Formatierung und ein Integer Cast aus dem derzeitigen Spielnamen ableiten, was natürlich nur geht, sofern letzterer nicht random ist.

Alternativ könntest du auch mithilfe der Funktion MWC_GetPotionCountInt(type) die Anzahl der vorhandenen Rejuvs ermitteln, wenn du als Parameter "rv" übergibst. Musst mal versuchen ob das funktioniert, ohne die Common library in der Config zu inkludieren, ansonsten müsstest du dies auch noch machen.

Quote:
Originally Posted by Morphsepp View Post
Hab ein probelm beim baal-run.

Des öfftern killt der bot nicht den "Lister der Quäler" (w5)? ... woran könnte es liegen? ...
Weil dieser Immun ist? Wäre jetzt mal meine naive Vermutung... :)

LG
Muddy
05/16/2011 09:25 xXSpeedboyXx#1948
Lister ist fast alle 3 Runs bei mit Li.

Mit einem Guten Infy und ner starken sorc dauert es knapp 25 sek bis er bei mir platt ist. :(

Aber deswegen wird er wie muddys gesagt hat lister net schaffen
05/16/2011 11:48 knaeggebrot#1949
Servus, hab den bot erstma im SP getestet am WE.
Bin sehr zufrieden :D
Super Arbeit, Danke!

Werd heut abend mal im B.net testen :)
05/16/2011 14:51 sosito#1950
HI,

Habe mal ne frage zum bot vom muddy.
zufällig schaute ich heute wegen Langeweile meinem kleinen pala bot zu.
Es viel mir plötzlich auf das er mehre items pickt und dann unidentifiziert verkauft. (charms Helme rare ringe etc) ist da was bekannt? bzw. weiß einer vielleicht ob ich einen Fehler gemacht habe?

grüße sosito