[Release] Muddy's D2NT

07/06/2011 11:55 tarpan2#2431
Quote:
Originally Posted by Muddy_Waters View Post
Das müsste daran liegen, dass die entsprechende Unit die properties nicht anständig aktualisiert, darum gibt es generell öfter mal Probleme bei den Seals. Da das API bezogen ist, kann man es auch nicht wirklich ändern.
hab ihn jetzt mal über nacht private CS runs machen lassen und auch hier bei jedem 2.-3. run der error NT_OpenSealsInt() failed
kann das echt nur an der API liegen? andere bots schaffen das ja auch :-/
läuft sonst irgendjemand mit muddys d2nt diablo runs?
07/06/2011 13:26 TheCrazy11#2432
Quote:
Originally Posted by tarpan2 View Post
hab ihn jetzt mal über nacht private CS runs machen lassen und auch hier bei jedem 2.-3. run der error NT_OpenSealsInt() failed
kann das echt nur an der API liegen? andere bots schaffen das ja auch :-/
läuft sonst irgendjemand mit muddys d2nt diablo runs?
Das es die anderen Bots schaffen, liegt meist daran, dass es Kuk-Bots sind, die Version für 1.12 hat ein ziemlich gutes DiaScript.
Mit D2BS sollte es auch lösbar sein, jedoch ist ein größerer Aufwand notwendig, um den richtig laufen zu bekommen.
07/06/2011 23:20 DeathFromHeaven#2433
Also ich laufe Problemlos das Dia-Script - public/mit einem Leecher von mir, der aber die Seals nicht anrührt - mit Pala, nur ganz ganz selten mal der oben genannte Fehler...
07/06/2011 23:40 Spacke#2434
Quote:
Originally Posted by Muddy_Waters View Post
Normalerweise liegt das an groben Syntaxfehlern, welche ein Inkludieren der Config verhindern. Um das sicher zu sagen, müsste ich mir die Config mal anschauen.
Alternativ kann es auch an einer Falschbenennung liegen, während die Default Config gelöscht wurde, was ein Inkludieren letzterer im Fehlerfall verhindert.

LG
Muddy
Danke für die Antwort!
Das mit den Syntaxfehlern ist mir schon klar, aber es wundert mich, dass sich scheinbar bisher noch keiner gemeldet hat. Ich hatte bisher auch noch nicht die Muße, das mal mit einem Hammerdin in LoD zu testen, aber es scheint ja bei anderen zu funktionieren. Deswegen kam die Vermutung auf, dass es an der fehlenden Eni liegen könnte.

Ich gehe das jetzt noch mal mental ein bisschen durch. Die Default-Config liegt im Ordner und wurde auch nicht verändert, da das Archiv frisch ausgepackt wurde. Erstelle ich keine Config für den Char, dann sollte ja die Default-Config verwendet werden. Hierbei kommt es aber auch zu dem Fehler. Kopiere ich die Default-Config und benenne sie einfach nur um (also füge den Namen des Chars hinzu), dann kommt es auch zu dem Fehler. Wohl bemerkt, dass ich in der Config Nichts verändert habe.

Wie gesagt, andere scheinen das Problem ja nicht zu haben. Vielleicht habe ich ja doch einen Fehler gemacht (habe jedoch eigentlich mit verschiedenen Bots und Chars viel Erfahrung gesammelt). Ich höre ja auch von anderen, dass sie einen BO-Barb o.ä. zum Laufen bekommen haben. Deswegen bin ich echt ratlos. :(

Ich probiere auf jeden Fall weiter rum und wenn ich zu einem Ergebnis komme, dann poste ich das hier natürlich. Hoffentlich ist es wirklich nur ein dummer Fehler.

LG Spacke

Edit:
Okay, ich habe es nochmal runtergeladen und die Default-Config überschrieben und neu angepasst und es lief zuerst. Doch dann habe ich weiter getestet und es lief nicht mehr. Jetzt teste ich immer weiter und versuche Stück für Stück den Fehler einzukreisen. Meine Vermutung ist jedoch, dass ich wahrscheinlich irgendwann mal Strg+Backspace gedrückt habe, weil ich das einfach so gewohnt bin. Damit löscht man halt ganze Wörter. Unter Windows 7 scheint das jedoch momentan ein Problem zu sein, da so nur ein komisches Steuerzeichen erscheint und selbst wenn man das Zeichen löscht, bleibt scheinbar noch etwas übrig, was man nicht sieht und dann einen Syntax-Fehler verursacht...

2. Edit:
Aha, sobald ich alle überflüssigen Skripte lösche, kommt es wieder zu einem Syntaxfehler. Vielleicht wird bei einem der Skripte eine Variable definiert, die dann jedoch fehlt...

3. Edit:
Okay, big fail meinerseits! Man sollte wirklich darauf achten, dass man Block-Kommentare komplett löscht und nicht noch irgendwo ein "*/" stehen hat. Und das als Informatiker :X peinlich! Sorry für die Aufregung!!!
07/07/2011 01:11 fred9x9#2435
Gratuliere :-)
Dann checke mal das follow.
07/07/2011 15:18 Anokic#2436
Hi i searched all of this forum i found some answers but they are on other language i use google translate it doesnt translate all of the words so can you help me i have this error <D2NT Error> C:\Users\...\scripts\NTBot\bots\NTCows.ntj (86) : SyntaxError: missing ; before statement"
And when i do countress my sorc just comes to her this apears ntcountress.ntj failed: NTA_Kill Monster() and she gets in portal
i didt changed anything in d2nt muddy everythings just how it should be so what i need to do?
07/07/2011 15:38 TheCrazy11#2437
Quote:
Originally Posted by Anokic View Post
Hi i searched all of this forum i found some answers but they are on other language i use google translate it doesnt translate all of the words so can you help me i have this error <D2NT Error> C:\Users\...\scripts\NTBot\bots\NTCows.ntj (86) : SyntaxError: missing ; before statement"
And when i do countress my sorc just comes to her this apears ntcountress.ntj failed: NTA_Kill Monster() and she gets in portal
i didt changed anything in d2nt muddy everythings just how it should be so what i need to do?
Hi!

The first error is a typo in the script NTCows.ntj, in line 86 instead of the 2nd bracket a semicolon:
Code:
			if(!NTT_CheckSpace(_leg.xsize, _leg.ysize))
				NTTMGR_VisitTown()[COLOR="Red"];[/COLOR]
The 2nd error occurs, if you are botting with a fire/ice-sorc because the countess is always immune to those 2 elements.
To fix it, just just use an alternate attack on her, i use fireball, even she is immune to it,
but it will kill her minions, as they most of the time run into the line of fire.
So your merc kann do a better job on her:
Code:
	// Select the behaviour of your character when encountering a monsters that is considered immune referring to the definition above.
	// 0: Don't do anything. (D2NT default)
	// 1: Get close to the monster, use static field if the monster is not immune to lightning.
	// 2: Skip the monster.
	// 3: Attack the monster using NTConfig_AttackSkill[8] and NTConfig_AttackSkill[9]
	NTConfig_BehaviourOnImmuneMonster = [COLOR="red"]3[/COLOR];
	
	NTConfig_AttackSkill[8] = [COLOR="red"]MWS_FIRE_BALL[/COLOR];	// Skill to be used against user defined immunes.
	NTConfig_AttackSkill[9] = 0;	// Untimed Skill to be used against user defined immunes.
Additionally you can also add The Countess to the targets used for static (at the end of the config file):
Code:
	MWConfig_StaticTargets.push(GetLocaleString(2875)); // The Countess
07/07/2011 16:21 Anokic#2438
No Problems with cow level now just sometimes she makes portal for cow level and then enter chest and doestn go to portal and then does something else
Countress no problem Thx for help
and how can i put that when she is in chaos sanctury when she opens the seal for those cold immune boss that she doesnt teleport in midle of them?
07/07/2011 17:03 wolfman95#2439
OK so I looked at everything I was told but it wasn't any of that but I did get to the bottom of it for some reason my bot will not run at all without the over head display thing telling me what my soso is doing and it will not run without showing me how much gold she collected if I turn any one of these options to false she wont run restarts every 2 games but bot is now running fine again and averages of about 70 runs to 1 restart the only other little problem I get which isnt classed as a restart is ntm_takewaypoint() failed i get that about 3 full games every 35 runs. Thanks for your help guys o can someone explain to me how the rush bot works please
07/07/2011 19:25 Muddy Waters#2440
Quote:
Originally Posted by Anokic View Post
No Problems with cow level now just sometimes she makes portal for cow level and then enter chest and doestn go to portal and then does something else
Countress no problem Thx for help
and how can i put that when she is in chaos sanctury when she opens the seal for those cold immune boss that she doesnt teleport in midle of them?
What boss are you referring to exactly? Just asking, 'cause there is a known bug that can result in your char getting a little too close to Lord DeSeis. ;)
That's why I need a little more input and we might be able to fix it.

Quote:
Originally Posted by wolfman95 View Post
OK so I looked at everything I was told but it wasn't any of that but I did get to the bottom of it for some reason my bot will not run at all without the over head display thing telling me what my soso is doing and it will not run without showing me how much gold she collected if I turn any one of these options to false she wont run restarts every 2 games but bot is now running fine again and averages of about 70 runs to 1 restart the only other little problem I get which isnt classed as a restart is ntm_takewaypoint() failed i get that about 3 full games every 35 runs. Thanks for your help guys o can someone explain to me how the rush bot works please
I don't mean to offend you, but could you please try using at least a minimum of punctuation? Reading your post is really giving me a hard time... :(

That NTM_TakeWaypoint() Error is most likely due to either the game having crashed or a common D2 bug that prevents your char from interacting with objects, even though you click on them. I wouldn't worry too much about it, it should not happen too often and even if it was, there is nothing to be done about it anyway. ;)

Kind Regards
Muddy
07/07/2011 23:04 Anokic#2441
Yes its Lord DeSeis she always gets in midle or too close to him -.- so how to fix it?
now i have a bug with cow level many times when she gets to tristram to wrist to take his leg she tele to him then this upears NTCows.ntj : NTC_FindUnit() failed (Tristram) or when she makes a tp to cow level she then after she makes the cow level tp she enters chest and in few seconds this upears NTCows.ntj : NTR_TakeCowPortal() failed (Rogue Encampment) and she goes and does something else -.- how to fix this
And i get this error but less then those up once in 5 games for random 3 runes or 2 runes or 1 like this upears
NTBaal.Ntj : NTM_TakeWaypoint() failed (unkown area)
NTDiablo.Ntj : NTM_TakeWaypoint() failed (unkown area)
NTTristram.Ntj : NTM_TakeWaypoint() failed (unkown area)
sometimes its only
NTTristram.Ntj : NTM_TakeWaypoint() failed (unkown area)
sometimes in (Harrogath) wtf is this
but its weard that random runes sometimes meph or others wtf is this?? how to fix it?
07/08/2011 01:42 ieincola#2442
the waypoint cather script just stops as soon as it gets to anya in act 1 is anyone else having this problem?
07/08/2011 07:05 TheCrazy11#2443
Quote:
Originally Posted by ieincola View Post
the waypoint cather script just stops as soon as it gets to anya in act 1 is anyone else having this problem?
Anya is in act 5?!?
Please give more Information.
07/08/2011 11:53 Muddy Waters#2444
Quote:
Originally Posted by Anokic View Post
Yes its Lord DeSeis she always gets in midle or too close to him -.- so how to fix it?
now i have a bug with cow level many times when she gets to tristram to wrist to take his leg she tele to him then this upears NTCows.ntj : NTC_FindUnit() failed (Tristram) or when she makes a tp to cow level she then after she makes the cow level tp she enters chest and in few seconds this upears NTCows.ntj : NTR_TakeCowPortal() failed (Rogue Encampment) and she goes and does something else -.- how to fix this
And i get this error but less then those up once in 5 games for random 3 runes or 2 runes or 1 like this upears
NTBaal.Ntj : NTM_TakeWaypoint() failed (unkown area)
NTDiablo.Ntj : NTM_TakeWaypoint() failed (unkown area)
NTTristram.Ntj : NTM_TakeWaypoint() failed (unkown area)
sometimes its only
NTTristram.Ntj : NTM_TakeWaypoint() failed (unkown area)
sometimes in (Harrogath) wtf is this
but its weard that random runes sometimes meph or others wtf is this?? how to fix it?
Open your Diablo script, find line 362 and change to arguments of the NTM_MoveTo() call to:
Code:
NTM_MoveTo(me.areaid, 7791, 5192);
Regarding the cow script, I've just reviewed the script and performed some minor changes. Please use the script below and see if it works any better:
Code:
/**
*	This file was modified by [Only registered and activated users can see links. Click Here To Register...]
*	Check the programming section for updates and further scripts
*	Last Update: 11:47 08.07.2011
*/

const _NTR_STRING_COW_KING = GetLocaleString(2850);
const _NTR_COW_KING_RANGE = 80;

function NTMain()
{
	Include("libs/common/NTCommon.ntl");
	NTC_IncludeLibs();
	NTC_IncludeConfig("NTBot/char_configs");

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

	MWC_Initialize();
	
	var _wirtbody, _cube, _leg, _portal, _stash, _npc;
	var i;

	if(!NTTM_CheckAct(me.act, true))
	{
		NTC_SendMsgToScript("MWBotGame.ntj", NTTM_CheckAct, 24, me.act, true);
		return;
	}

	NTTMGR_TownManager();

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

	NTP_DoPrecast(true);
	
	if(!NTM_MoveToPresetUnit(me.areaid, NTC_UNIT_MONSTER, 737, 10, 10))
	{
		NTC_SendMsgToScript("MWBotGame.ntj", NTM_MoveToPresetUnit, 46, me.areaid, NTC_UNIT_MONSTER, 737, 10, 10);
		return;
	}

	if(!NTM_UsePortal("Portal", 38))
	{
		NTC_SendMsgToScript("MWBotGame.ntj", NTM_UsePortal, 52, "Portal", 38);
		return;
	}

	NTM_MoveTo(me.areaid, 25047, 5178);
	
	if(NTA_ClearPosition(10))
		NTSI_PickItems();

	_wirtbody = NTC_FindUnit(NTC_UNIT_OBJECT, 268, 5);

	if(!_wirtbody)
	{
		NTC_SendMsgToScript("MWBotGame.ntj", NTC_FindUnit, 63, NTC_UNIT_OBJECT, 268);
		return;
	}

	if(NTM_MoveTo(_wirtbody.areaid, _wirtbody.x + 3, _wirtbody.y))
	{
		if(NTC_OpenChest(_wirtbody))
		{
			for(i = 0; i < 40; i++)
			{
				NTC_Delay(NTC_DELAY_FRAME);
				
				_leg = NTC_FindUnit(NTC_UNIT_ITEM, 88, 1);
				
				if(_leg)
					break;
			}
			
			if(!NTT_CheckSpace(_leg.xsize, _leg.ysize))
				NTTMGR_VisitTown();
			
			if(MWSI_PickupItem(_leg.classid))
				Print("ÿc4Got Leg");
		}
	}

	if(!_leg)
	{
		NTC_SendMsgToScript("MWBotGame.ntj", NTC_FindUnit, 79, NTC_UNIT_ITEM, 88, 1);
		return;
	}

	NTTM_CheckAct();
	
	NTTM_TownMove("akara");

	for(var i = 0; i < 10; i++)
	{
		_npc = NTC_FindUnit(NTC_UNIT_NPC, NTC_NPC_ID_AKARA);
		
		if(_npc)
			break;
	}

	if(_npc)
	{
		if(NTT_DoInteract(_npc))
		{
			if(NTT_DoTrade(_npc))
			{
				NTT_FillTome(_npc, 1);
				NTT_FillTome(_npc, 0);
				NTT_SecondTomeTP(_npc, "tbk", 1);
				
				_portal = NTR_GetTP();
				
				if(!_portal)
				{
					NTC_SendMsgToScript("MWBotGame.ntj", NTR_GetTP, 121);
					return;
				}
			}		
		}
		
		me.Cancel(1);
	}

	if(MWT_OpenStash())
	{
		_cube = me.GetItems(NTC_UNIT_CUBE);
			
		if(!_cube[0])
		{
			NTC_SendMsgToScript("MWBotGame.ntj", me.GetItems, 136, NTC_UNIT_CUBE);
			return;
		}
		
		if(NTCU_CheckCubeInventoryInt() > 0)
		{
			NTCU_OpenCubeInt(_cube[0]);
			
			if(NTCU_ClearCubeInt() < 1)
			{
				NTC_SendMsgToScript("MWBotGame.ntj", NTCU_ClearCubeInt, 148);
				return;
			}
			
			NTCU_CloseCubeInt();
		}

		NTCU_MoveItemToCubeInt(_cube[0],_leg);
		NTCU_MoveItemToCubeInt(_cube[0],_portal);

		MWCU_Transmute(_cube[0]);

		NTCU_CloseCubeInt();

		NTC_Delay(250);
		me.Cancel(1);
		NTC_Delay(250);
	}
	
	if(!NTR_TakeCowPortal(12))
	{
		NTC_SendMsgToScript("MWBotGame.ntj", NTR_TakeCowPortal, 169, 12);
		return;
	}
	
	NTP_DoPrecast();
	
	NTR_ClearRooms(150, NTC_UNIT_MONSTER, 773, _NTR_COW_KING_RANGE);

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

// Internal functions
function NTR_GetTP()
{
	var _portals = me.GetItems("tbk");

	if (_portals)
	{
		for (var i = 0; i < _portals.length; i++)
		{
			if (_portals[i].mode == 0 && (_portals[i].itemloc != 0 || NTConfig_Columns[_portals[i].y][_portals[i].x] > 0))
			{
				return _portals[i];
			}
		}
	}
	return false;
}

function NTR_TakeCowPortal(range)
{
	var _portal;

	_portal = NTC_FindUnit(NTC_UNIT_OBJECT, 60, 5);

	if(_portal)
		return NTM_UsePortal("Portal", 39, "dummy", _portal);
	
	return false;
}

function NTR_ClearRooms(range, type, id, distance)
{
	var i;
	var _unit;
	var _preRoom;
	var _addRooms = new Array();
	var _removeRooms = new Array();

	if (distance)
	{
		_unit = GetPresetUnits(me.areaid, type, id);
		if (!_unit || _unit.length < 1)
			return false;
	}

	_preRoom = GetRoom();
	if (_preRoom)
	{
		do
		{
			if (distance)
			{
				if (GetDistance(_preRoom.x * 5, _preRoom.y * 5, _unit[0].roomx * 5, _unit[0].roomy * 5) < distance)
					continue;
			}
			_addRooms.push([_preRoom.x * 5, _preRoom.y * 5]);
		} while (_preRoom.GetNext());
	}

	if (_addRooms.length < 1)
		return false;

	_preRoom = [me.x, me.y];

	while (_addRooms.length > 0)
	{
		_addRooms.sort(function (a, b) { return (GetDistance(_preRoom[0], _preRoom[1], a[0], a[1]) - GetDistance(_preRoom[0], _preRoom[1], b[0], b[1])); });

		_removeRooms.push([_addRooms[0][0], _addRooms[0][1]]);

		for (i = 1; i < _addRooms.length; i++)
		{
			if (GetDistance(_preRoom[0], _preRoom[1], _addRooms[i][0], _addRooms[i][1]) <= GetDistance(_preRoom[0], _preRoom[1], _addRooms[0][0], _addRooms[0][1]))
			{
				_removeRooms.push([_addRooms[i][0], _addRooms[i][1]]);
			}
			else
				break;
		}

		if (_removeRooms.length > 1)
		{
			_removeRooms.sort(function (a, b) { return (b[0] - a[0]); });
			if (_removeRooms[0][0] <= _preRoom[0])
			{
				_removeRooms.sort(function (a, b) { return (b[1] - a[1]); });
				if (_removeRooms[0][1] <= _preRoom[1])
				{
					_removeRooms.sort(function (a, b) { return (a[0] - b[0]); });
					if (_removeRooms[0][0] >= _preRoom[0])
					_removeRooms.sort(function (a, b) { return (a[1] - b[1]); });
				}
			}
		}

		if (!range || GetDistance(me.x, me.y, _removeRooms[0][0], _removeRooms[0][1]) < range)
		{
			if (NTR_MoveTo(me.areaid, _removeRooms[0][0], _removeRooms[0][1], 3, true))
			_preRoom = _removeRooms[0];
		}

		for (i = 0; i < _addRooms.length; i++)
		{
			if (_addRooms[i][0] == _removeRooms[0][0] && _addRooms[i][1] == _removeRooms[0][1])
			{
				_addRooms.splice(i, 1);
				break;
			}
		}
		_removeRooms.length = 0;
	}
	return true;
}

function NTR_MoveTo(areaId, x, y, retry, isClearPath)
{
	if (x == me.x && y == me.y)
		return true;

	if (arguments.length < 4)
		retry = 3;
	if (arguments.length < 5)
		isClearPath = false;

	var j;
	var _path;
	var _preX, _preY;

	_path = GetPath(areaId, me.x, me.y, x, y, true);
	if (!_path)
		return false;

	for (var i = 0; i < _path.length; i++)
	{
		if (NTR_CheckCowKing() || NTR_CheckSafe(_path[i][0], _path[i][1], 15))
		{
			for (j = 0; j < retry; j++)
			{
				if (NTM_MoveTo(me.areaid, _path[i][0], _path[i][1]))
					break;
			}

			if (j >= retry)
				return false;
		}

		if (isClearPath && !NTR_CheckCowKing())
		{
			_preX = me.x;
			_preY = me.y;

			if(!MWR_ClearPosition(30))
				return false;

			NTP_DoPrecast();
			
			if (me.x != _preX || me.y != _preY)
			{
				if (!NTM_MoveTo(me.areaid, _preX, _preY))
					return false;
			}
		}
	}
	
	return true;
}


function NTR_CheckCowKing()
{
	var _cowKing = NTC_FindUnit(NTC_UNIT_MONSTER, _NTR_STRING_COW_KING);
	return (_cowKing && GetDistance(me, _cowKing) < _NTR_COW_KING_RANGE);
}


function NTR_CheckSafe(x, y, range)
{
	var i;
	var _target = NTC_FindUnit(NTC_UNIT_MONSTER);

	if (_target)
	{
		do
		{
			if (GetDistance(x, y, _target.x, _target.y) < range && _target.IsAttackable())
			{
				for (i = 0; i < 6; i++)
				{
					if (NTConfig_AttackSkill[i] && NTA_GetResistance(_target, _NTA_SkillDamage[i]) < 100)
					return false;
				}
			}
		} while (_target.GetNext());
	}

	return true;
}

function MWR_ClearPosition(range, pickitem, safelevel, openchests, usefinditem)
{
	var _orgx, _orgy;
	var _skiplist;
	var _attackcount = 0;
	var _target;
	var _distance, _mingid, _mindistance;
	var _result;
	
	switch(arguments.length)
	{
	case 0:
		range = 20;
	case 1:
		pickitem = false;
	case 3:
		openchests = true;
	case 4: 
		usefinditem = true;
	default:
		if(NTConfig_CheckSelfSafe < 0x01 && NTConfig_CheckMercSafe < 0x01)
			safelevel = 0;
		break;
	}

	_orgx = me.x;
	_orgy = me.y;

	for(var i = 0; i < 3; i++)
	{
		_skiplist = new Array();

		while(_attackcount < (i+1)*100)
		{
			if(NTR_CheckCowKing())
				return false;
			
			_mindistance = 1E6;

			_target = NTC_FindUnit(NTC_UNIT_MONSTER);

			if(_target)
			{
				do
				{
					if(_skiplist.indexOf(_target.gid) < 0)
					{
						if(_target.IsAttackable())
						{
							if(GetDistance(_orgx, _orgy, _target.x, _target.y) <= range && NTA_IsValidMonster(_target))
							{
								_distance = GetDistance(me, _target);

								if(_distance < _mindistance)
								{
									_mingid = _target.gid;
									_mindistance = _distance;
								}
							}
						}
						else
							_skiplist.push(_target.gid);
					}
				} while(_target.GetNext());
			}

			if(_mindistance < 1E6)
			{
				_target = NTC_FindUnit(NTC_UNIT_MONSTER, _mingid, 1);

				if(_target)
				{
					if(MWConfig_ShowOverheadStatus)
						Say("!Attacking " + _target.name + " (" + (_target.hp * 100 / _target.hpmax).toFixed(0) + "%)");

					_result = NTA_Attack(_target, (_attackcount % 30) == 0);
					
					if(MWConfig_ShowOverheadStatus)
						Say("!Attacking " + _target.name + " (" + (_target.hp * 100 / _target.hpmax).toFixed(0) + "%)");

					switch(_result)
					{
						case 1:
							_skiplist.push(_mingid);
							break;
						case 2:
						case 3:
							if(MWConfig_PickItemsInstantly && (_target.hp <= 0 || _target.mode == 0 || _target.mode == 12))
								NTSI_PickItems();
							_attackcount++;
							break;
						default:
							_attackcount = 1E6;
					}
				}
			}
			else
				break;
		}
	}

	if(_attackcount > 2)
	{
		switch(me.classid)
		{
			case NTC_CHAR_CLASS_PALADIN:
				if(parseInt(me.hp * 100 / me.hpmax) < NTConfig_UseRedemptionHP || parseInt(me.mp * 100 / me.mpmax) < NTConfig_UseRedemptionMP)
				{
					if(NTC_PutSkill(124, NTC_HAND_RIGHT))
						NTC_PingDelay(1000);
				}
				break;
			case NTC_CHAR_CLASS_BARBARIAN:
				if(usefinditem && MWConfig_UseFindItem && !NTR_CheckCowKing())
					MWL_FindItem(MWConfig_FindItemRange);
				break;
			case NTC_CHAR_CLASS_NECROMANCER:
				if(!NTR_CheckCowKing())
					MWA_RaiseMinions();
				break;
		}
	}
	
	if(pickitem && _attackcount > 0)
		NTSI_PickItems();

	if(MWConfig_OpenAllNearbyChests && openchests && !NTR_CheckCowKing())
		MWL_OpenNearbyChests(MWConfig_OpenChestsRange);
	
	if(MWConfig_ActivateNearbyShrines)
		MWL_ActivateNearbyShrines();

	switch(safelevel)
	{
		case 1:
			return NTTMGR_CheckSafe(0x00, NTConfig_CheckMercSafe&0x01);
		case 2:
			return NTTMGR_CheckSafe(NTConfig_CheckSelfSafe, NTConfig_CheckMercSafe);
	}

	if(MWConfig_IdentAfterPickup)
		MWL_IDItemsAfterPickup();

	return true;
}

function NTT_SecondTomeTP(npc, type, amount)
{
	var _items;
	var _counter = 0;

	if(arguments.length < 1)
		return false;

	if(arguments.length < 2)
		type = 0;

	if(arguments.length < 0)
		amount = 1;

	if(amount == 0)
		return false;

	if(type)
		_items = npc.GetItems("tbk");

	if(_items)
	{
		if(_items.length > 0)
		{
			for(var i = 0 ; i < amount ; i++)
			{
				if(NTT_ShopItem(_items[0], npc, 2))
					_counter++;
			}
		}
	}
	return (_counter > 0);
}
Regarding the NTM_TakeWaypoint() errors, please read the post right above yours. ;)

Quote:
Originally Posted by ieincola View Post
the waypoint cather script just stops as soon as it gets to anya in act 1 is anyone else having this problem?
Quote:
Originally Posted by TheCrazy11 View Post
Anya is in act 5?!?
Please give more Information.
I totally agree, I don't quite get you either. Could you provide some more details, please?

Kind Regards
Muddy
07/08/2011 13:50 ieincola#2445
Quote:
Originally Posted by ieincola View Post
the waypoint cather script just stops as soon as it gets to anya in act 1 is anyone else having this problem?
pretty clear from what i see it sais "ANYA IN ACT 1"
NOT SURE where act 5 came into play.

anyway it appears that if you dont have a belt equiped then the script crashes at the first npc it goes too. so i fixed it by equiping a belt! thanks anyway! so for future reference make sure your bot is wearing a belt :rtfm:

thanks anyway muddy your great!