Register for your free account! | Forgot your password?

You last visited: Today at 17:16

  • 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/11/2013, 17:56   #6871
 
TomekkXo's Avatar
 
elite*gold: 20
Join Date: Apr 2011
Posts: 300
Received Thanks: 20
Hey,,,, all my chars works great, but with my hdin, full d2 window closed when diablo / baal are killed,and starts new... anyone know why?
TomekkXo is offline  
Old 04/11/2013, 19:37   #6872
 
mirkoregge's Avatar
 
elite*gold: 0
Join Date: Jan 2009
Posts: 3,170
Received Thanks: 1,191
Quote:
Originally Posted by NerDxx™ View Post
Hi Leute habe mal drei fragen,

1.
Code:
Ist es möglich wenn der leader das tp aufmacht das er wartet bis 1 oder alle Leecher durch gehen und dann erst anfängt zu kämpfen?
2.
Code:
Ist es möglich das der Leader zb sagt Tp is safe! und der Leecher erkennt die nachricht und geht dann durch das tp ? ( das er die nachricht vom leader erkennt nicht zb wenn jemand anderes die nachricht sendet ??)
3.
Code:
Wenn der Leader ein spiel öffnet  und der Leecher joint , sagt der Leader Tristrun und der Leecher macht Tristrun , dann sagt der Leader Cowrun und der Leecher macht Cowrun , ist das möglich das der Leecher die Scripts Reihenfolge aus dem Chat auslesen kann?
wenn ja welche befehle sind das?

hoffe habt verstanden was ich meine ;D
zu 2.:
Code:
	//------------------------------------------------------------------------------
	// Chat Announcements
	//------------------------------------------------------------------------------
	
	// These announcements will not be made unless NTConfig_PublicMode is set to true. Set to "" not to post a message.
	// NOTE: You have to set a TPSafe message when using leechers and not entering unsafe TPs.
	
	MWConfig_Announcements.BaalThrone = "There are %d monster(s) in Throne!";
	MWConfig_Announcements.BaalTpNone = "TP up, no monsters close!";
	MWConfig_Announcements.BaalTpCold = "TP cold, %d monsters close!";
	MWConfig_Announcements.BaalTpWarm = "TP warm, %d monsters close!";
	MWConfig_Announcements.BaalTpHot = "TP hot, %d monsters close!";
	MWConfig_Announcements.BaalTpSafe = "TP is safe!";
	MWConfig_Announcements.BaalPreChamber = "Killing Baal!";
	MWConfig_Announcements.BaalKilled = "Next game!";
		
	MWConfig_Announcements.DiabloTpNone = "TP up, no monsters close!";
	MWConfig_Announcements.DiabloTpCold = "TP cold, %d monsters close!";
	MWConfig_Announcements.DiabloTpWarm = "TP warm, %d monsters close!";
	MWConfig_Announcements.DiabloTpHot = "TP hot, %d monsters close!";
	MWConfig_Announcements.DiabloTpSafe = "TP is safe!";
	MWConfig_Announcements.DiabloPre = "Killing Diablo!";
	MWConfig_Announcements.DiabloKilled = "Next game!";
und
Code:
MWConfig_Script.push(["NTBaalLeechFight.ntj", 10]); NTConfig_KillBaal = true; MWConfig_DoBaalPreAttack = true; MWConfig_EnterUnsafeTP = true; NTConfig_Leader = "LeaderNameGoesHere";
Quote:
Originally Posted by TomekkXo View Post
Hey,,,, all my chars works great, but with my hdin, full d2 window closed when diablo / baal are killed,and starts new... anyone know why?
check keys/run
mirkoregge is offline  
Thanks
1 User
Old 04/11/2013, 23:19   #6873
 
NerDxx™'s Avatar
 
elite*gold: 0
Join Date: Mar 2010
Posts: 559
Received Thanks: 71
Quote:
Originally Posted by mirkoregge View Post
MWConfig_GlobalSettings.ntj
Code:
	//------------------------------------------------------------------------------
	// Chat Announcements
	//------------------------------------------------------------------------------
	
	// These announcements will not be made unless NTConfig_PublicMode is set to true. Set to "" not to post a message.
	// NOTE: You have to set a TPSafe message when using leechers and not entering unsafe TPs.
	
	MWConfig_Announcements.BaalThrone = "There are %d monster(s) in Throne!";
	MWConfig_Announcements.BaalTpNone = "TP up, no monsters close!";
	MWConfig_Announcements.BaalTpCold = "TP cold, %d monsters close!";
	MWConfig_Announcements.BaalTpWarm = "TP warm, %d monsters close!";
	MWConfig_Announcements.BaalTpHot = "TP hot, %d monsters close!";
	MWConfig_Announcements.BaalTpSafe = "TP is safe!";
	MWConfig_Announcements.BaalPreChamber = "Killing Baal!";
	MWConfig_Announcements.BaalKilled = "Next game!";
		
	MWConfig_Announcements.DiabloTpNone = "TP up, no monsters close!";
	MWConfig_Announcements.DiabloTpCold = "TP cold, %d monsters close!";
	MWConfig_Announcements.DiabloTpWarm = "TP warm, %d monsters close!";
	MWConfig_Announcements.DiabloTpHot = "TP hot, %d monsters close!";
	MWConfig_Announcements.DiabloTpSafe = "TP is safe!";
	MWConfig_Announcements.DiabloPre = "Killing Diablo!";
	MWConfig_Announcements.DiabloKilled = "Next game!";
und
Char Config.
Code:
MWConfig_Script.push(["NTBaalLeechFight.ntj", 10]); NTConfig_KillBaal = true; MWConfig_DoBaalPreAttack = true; MWConfig_EnterUnsafeTP = true; NTConfig_Leader = "LeaderNameGoesHere";
Wie erkennt der bot das er das tp bei baal macht.?
Code:
MWConfig_Announcements.BaalTpNone = "TP up, no monsters close!";
Vielleicht in der NTBaal.ntj Selbst?
zb
Code:
	if(NTConfig_PublicMode)
		{
			NTM_MoveTo(me.areaid, 15112, 5004, 1, true);

			NTM_MakeTP();
			
			if(MWConfig_Announcements.BaalTpSafe)
				Say(MWConfig_Announcements.BaalTpSafe);
		}
zb bei Cow Leech, wie stellt man das da ein ?
Code:
MWConfig_Announcements.CowTpNone = "TP up, no monsters close!";
NerDxx™ is offline  
Old 04/12/2013, 01:42   #6874
 
elite*gold: 0
Join Date: May 2011
Posts: 66
Received Thanks: 7
Ich bin mir gerade nicht sicher ob ich die Frage richtig verstehe.
Quote:
Originally Posted by NerDxx™ View Post
Wie erkennt der bot das er das tp bei baal macht.?
Welcher Bot soll was erkennen ?
Der Leader portet zum Thronsaal und dann passiert folgendes (Aus der "NTBaal.ntj"):
Code:
		if(NTConfig_PublicMode)
		{
			if(_monsterCount > 1 && MWConfig_Announcements.BaalThrone)
				Say(MWConfig_Announcements.BaalThrone.replace(/%d/gi, _monsterCount));
			
			NTM_MoveTo(me.areaid, 15116, 5068);
			
			_monsterCount = MW_CountMonstersInThrone(20);
			
			if(_monsterCount > 1)
			{
				if(_monsterCount < 3 && MWConfig_Announcements.BaalTpCold)
					Say(MWConfig_Announcements.BaalTpCold.replace(/%d/gi, _monsterCount));
				else if(_monsterCount < 6 && MWConfig_Announcements.BaalTpWarm)
					Say(MWConfig_Announcements.BaalTpWarm.replace(/%d/gi, _monsterCount));
				else if(MWConfig_Announcements.BaalTpHot)
					Say(MWConfig_Announcements.BaalTpHot.replace(/%d/gi, _monsterCount));
			}
			else if(MWConfig_Announcements.BaalTpNone)
				Say(MWConfig_Announcements.BaalTpNone);
			
			NTM_MakeTP();
			
			NTA_ClearPosition(25, true, 2);
		}

		NT_ClearThroneInt();

		if(NTConfig_PublicMode)
		{
			NTM_MoveTo(me.areaid, 15112, 5004, 1, true);

			NTM_MakeTP();
			
			if(MWConfig_Announcements.BaalTpSafe)
				Say(MWConfig_Announcements.BaalTpSafe);
		}
Er zählt erst wieviele Monster im Thron sind und gibt dies als Text aus. Dann entscheidet er ob das TP Cold, Warm, Hot ist oder ob keine Gegner in der nähe sind (in der Reihenfolge) und gibt dies als Text aus. Dann macht er ein TP auf mit "NTM_MakeTP();". Anschliessend säubert er den Thronsaal mit "NT_ClearThroneInt();". Ist alles gesäubert teleportiert er zu einem bestimmten Punkte, öffnet ein TP und sagt, dass der Thron Safe ist.

Der Leecher hingegen steht in Town und sucht erstmal nach einem TP des Leaders.
z.B. in der "NTBaalLeech.ntj" findet man:
Code:
	for(var i = 0; i <= 200; i++)
	{
		if(NTC_InMyParty(NTConfig_Leader))
			break;
			
		if(!NTConfig_Leader)
		{
			_portal = NTM_FindPortalAreaInt(131, 0);
			
			if(_portal != -1)
			{
				_owner = _portal.GetParent();
				
				if(_owner && !NTC_InMyParty(_owner))
					NTConfig_Leader = _owner;
			}
		}

		NTC_Delay(200);
	}
Ist ein TP gefunden kannst du selbst festlegen, ob dein Leecher erst joinen soll wenn das TP safe ist, oder ob er direkt reingehen soll. Die Abfrage danach kommt sofort nach dem Code, den ich oben gepostet habe und den Wert dazu gibst du in der Charconfig selbst an. Beim Beispiel des BaalLeech sollte folgendes in der Charconfig stehen:
Code:
	MWConfig_Script.push(["NTBaalLeech.ntj", 10]); NTConfig_KillBaal = true; MWConfig_EnterUnsafeTP = false; NTConfig_Leader = "LeaderNameGoesHere";
wobei du dann bei "MWConfig_EnterUnsafeTP = false" angibst ob er auf ein Safe TP warten soll oder nicht.

Zum Cowleech kann ich dir nichts sagen, da ich spontan kein Cowleech Skript gefunden habe.
whoranzone123 is offline  
Thanks
2 Users
Old 04/12/2013, 07:18   #6875
 
fghtrt's Avatar
 
elite*gold: 0
Join Date: Jul 2010
Posts: 197
Received Thanks: 127
Quote:
Originally Posted by whoranzone123 View Post
Zum Cowleech kann ich dir nichts sagen, da ich spontan kein Cowleech Skript gefunden habe.
Sowas ist auch gar nicht implementiert. Reiner Leech ist nur bei Baalruns, Leechfight bei Diablo und Baal möglich.
fghtrt is offline  
Old 04/12/2013, 13:13   #6876
 
NerDxx™'s Avatar
 
elite*gold: 0
Join Date: Mar 2010
Posts: 559
Received Thanks: 71
Question

Danke für den ausführlichen beitrag wieder etwas dazu gelernt,


möchte mehrere scripts auf leechfight bearbeiten,
zb bei cow bin ich grade soweit das mein leecher durch das blaue portal geht möchte aber das er wartet bis der leader sagt tp is safe erst dann soll er durch gehen!!!
mir fehlt die Erfahrung , habe mich nie mit den scripts befasst Grund wissen ist vorhanden ;D


Wie erkennt der Leecher wann das tp safe ist?
welcher befehl in der "NTBaalLeech.ntj" ist das?

Korrigiere mich falls ich falsch liege

Code:
var _AllowedToEnterTP = false; // erlaubt durchs portal zu gehen = false
Der Leecher liest die nachrichten aus dem chat,

Code:
RegisterEvent(EVENT_GAMEMSG, NT_GameMsgEvents);
	
	var i;
	var _wave, _monsterCount, _starttick, _loops, _placedTraps, _portal, _owner;
	
	if(!NTTM_CheckAct(5, true))
	{
		NTC_SendMsgToScript("MWBotGame.ntj", NTTM_CheckAct, 27, 5, true);
		return;
	}

Der Leecher geht zum Portalfeld
und sucht nach dem Portal vom leader der in der party ist.

Code:
NTTM_TownMove("portalspot");

	for(i = 0; i <= 200; i++)
	{
		if(NTC_InMyParty(NTConfig_Leader))
			break;
		
		if(!NTConfig_Leader)
		{
			_portal = NTM_FindPortalAreaInt(131, 0);
			
			if(_portal != -1)
			{
				_owner = _portal.GetParent();
				
				if(_owner && !NTC_InMyParty(_owner))
					NTConfig_Leader = _owner;
			}
		}


Code:
}

		NTC_Delay(200);
	}
	
	if(MWConfig_EnterUnsafeTP)
		_AllowedToEnterTP = true;   // wenn in der config erlaubt ist geht er durchs unsafetp = true

	while(NTC_InTown() && NTC_InMyParty(NTConfig_Leader))
	{
		if(_AllowedToEnterTP)
			NTM_UsePortal("BluePortal", 131, NTConfig_Leader);    // wenn der Leader in der party ist geht er durch blaue portal.
			
		NTC_Delay(500);
	}
Cow Leader Blue Portal
Code:
/**
*	This file was modified by [email][/email]
*	Check the programming section for updates and further scripts
*	Last Update: 22:45 24.08.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);

	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();

		me.Cancel(1);
		
		NTC_Delay(250);
	}
	
	if(!NTR_TakeCowPortal(12))
	{
	
		NTC_SendMsgToScript("MWBotGame.ntj", NTR_TakeCowPortal, 169, 12);
		return;
	}
	
	NTM_MakeTP();
	
	if(MWConfig_Announcements.CowTpSafe)
	Say(MWConfig_Announcements.CowTpSafe);	

	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, true))
				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_OpenContainerMode == 2 && 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);
}
CowLeechfight Blue Portal
Code:
/**
*	This file was modified by 
*	Check the programming section for updates and further scripts
*	Last Update: 22:45 24.08.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  _portal;
	var i;


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

	NTTM_TownMove("portalspot");

   for(i = 0; i <= 300; i++) 
                                      {
                                          if(NTC_InMyParty(NTConfig_Leader))
                                          break;

                                          Delay(200);
                                       }   

                while(me.areaid == 1 && NTC_InMyParty(NTConfig_Leader))
                       {
                             NTM_UsePortal("BluePortal", 38, NTConfig_Leader);
   
                       }
	
	NTP_DoPrecast();
	
	NTR_ClearRooms(150, NTC_UNIT_MONSTER, 773, _NTR_COW_KING_RANGE);

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



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, true))
				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_OpenContainerMode == 2 && 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;
}
NerDxx™ is offline  
Old 04/12/2013, 17:01   #6877
 
elite*gold: 0
Join Date: Nov 2009
Posts: 130
Received Thanks: 22
kleine techniche frage ich benutze
Code:
MWConfig_Script.push(["MWOrganHarvest.ntj", 30]); MWConfig_EnterInvalidUberPortals = true; MWConfig_PauseOnLackOfKeys = false; MWConfig_IntendedUberPortal = 0; // Matron's Den: 133; Forgotten Sands: 134; Furnace Of Pain: 135;
und
Code:
// ##### Keys ##########################
[Name] == KeyOfTerror
[Name] == KeyOfHate
[Name] == KeyOfDestruction

// ##### Organs ##########################
[Name] == Diablo'sHorn
[Name] == Baal'sEye
[Name] == Mephisto'sBrain
sind auch aktiv

blos der bot schmeißt immer die organe weg kann man das auch iwie beheben?
weil ich bin ja nicht ständig am pc ^^
OxolarsoxO is offline  
Old 04/12/2013, 19:19   #6878
Administrator
 
Muddy Waters's Avatar
 
elite*gold: 41364
Join Date: Jan 2010
Posts: 22,729
Received Thanks: 12,652
Quote:
Originally Posted by NerDxx™ View Post
mir fehlt die Erfahrung , habe mich nie mit den scripts befasst Grund wissen ist vorhanden ;D

Wie erkennt der Leecher wann das tp safe ist?
welcher befehl in der "NTBaalLeech.ntj" ist das?
Was genau ist denn an Grundwissen vorhanden? Wie Funktionen in JS funktionieren und was es mit Scopes auf sich hat ist bekannt?

Die Erkennung läuft in der Tat über den Chat. Dazu wird zu Beginn des Scripts ein Event Handler für Chats Ereignisse zugewiesen. Dieser Event Handler ist nichts anderes als eine Funktion, die jedes mal aufgerufen wird, wenn ein Chat Event eintritt, also z.B. dann, wenn jemand etwas im Chat schreibt, aber etwa auch bei Server Nachrichten (z.B. bei World Events).

Das sieht dann so aus:
Code:
RegisterEvent(EVENT_GAMEMSG, NT_GameMsgEvents);
Dabei ist RegisterEvent() eine globale Funktion zum anhängen von Event Handlern, EVENT_GAMEMSG eine globale Konstante, die festlegt, dass hier ein Handler für Events vom Typ Game Message zugewiesen wird und zu guter letzt NT_GameMsgEvents als eine Funktion, die im Kontext, aus dem RegisterEvent() aufgerufen wird, definiert ist. Dem Namen nach zu urteilen ist NT_GameMsgEvents vermutlich im gleichen Script auf global Scope Ebene implementiert.

Quote:
Originally Posted by OxolarsoxO View Post
kleine techniche frage ich benutze
Code:
MWConfig_Script.push(["MWOrganHarvest.ntj", 30]); MWConfig_EnterInvalidUberPortals = true; MWConfig_PauseOnLackOfKeys = false; MWConfig_IntendedUberPortal = 0; // Matron's Den: 133; Forgotten Sands: 134; Furnace Of Pain: 135;
und
Code:
// ##### Keys ##########################
[Name] == KeyOfTerror
[Name] == KeyOfHate
[Name] == KeyOfDestruction

// ##### Organs ##########################
[Name] == Diablo'sHorn
[Name] == Baal'sEye
[Name] == Mephisto'sBrain
sind auch aktiv

blos der bot schmeißt immer die organe weg kann man das auch iwie beheben?
weil ich bin ja nicht ständig am pc ^^
Bindest du die entsprechenden NIP-Datei denn überhaupt bei dir in der Char Config ein (von Haus aus sollte eben diese Datei nicht eingebunden sein)?
Muddy Waters is offline  
Old 04/12/2013, 19:27   #6879
 
elite*gold: 0
Join Date: Nov 2009
Posts: 130
Received Thanks: 22
meinst du das?
Code:
	// Set to true to always check the selected Nips for errors after including them. Check "..\scripts\Logs\NipErrors.txt" for a precise error description!
	MWConfig_RunNipCheck = false;
das einfach auf true?
OxolarsoxO is offline  
Old 04/12/2013, 19:53   #6880
Administrator
 
Muddy Waters's Avatar
 
elite*gold: 41364
Join Date: Jan 2010
Posts: 22,729
Received Thanks: 12,652
Nein, ich meine den Teil wo du festlegst, welche NIP-Dateien inkludiert werden sollen. Sieht ungefähr so aus:
Code:
//-----------------------------------------------------------------------------------
// NipFile Configuration
//-----------------------------------------------------------------------------------

NTConfig_NIPFilePath.push("private/normal.nip");
NTConfig_NIPFilePath.push("private/magic_rare.nip");
NTConfig_NIPFilePath.push("private/set.nip");
NTConfig_NIPFilePath.push("private/unique.nip");
NTConfig_NIPFilePath.push("private/craft.nip");
NTConfig_NIPFilePath.push("private/temp.nip");
Muddy Waters is offline  
Thanks
1 User
Old 04/12/2013, 19:57   #6881
 
elite*gold: 0
Join Date: Nov 2009
Posts: 130
Received Thanks: 22
Quote:
Originally Posted by Muddy Waters View Post
Nein, ich meine den Teil wo du festlegst, welche NIP-Dateien inkludiert werden sollen. Sieht ungefähr so aus:
Code:
//-----------------------------------------------------------------------------------
// NipFile Configuration
//-----------------------------------------------------------------------------------

NTConfig_NIPFilePath.push("private/normal.nip");
NTConfig_NIPFilePath.push("private/magic_rare.nip");
NTConfig_NIPFilePath.push("private/set.nip");
NTConfig_NIPFilePath.push("private/unique.nip");
NTConfig_NIPFilePath.push("private/craft.nip");
NTConfig_NIPFilePath.push("private/temp.nip");
oh man ich bin so dumm dumm dumm danke ^^

kann man den mulestatus der am anfang kommt im d2nt manager kommt auch reseten? weil zb meine ersten chars sind wieder leer wird aber immer noch mit 100% angezeigt
OxolarsoxO is offline  
Old 04/12/2013, 21:32   #6882
Administrator
 
Muddy Waters's Avatar
 
elite*gold: 41364
Join Date: Jan 2010
Posts: 22,729
Received Thanks: 12,652
Optimalerweise verwendest du zum Zugriff auf die Mulis den MWTools Entry Point und verlässt das Spiel dabei immer mit Druck auf die DEL-Taste - dabei wird das jeweilige Logfile überschrieben.

Alternativ kannst du auch einfach die zugehörigen Logfiles löschen, diese sollten sich im Ordner ./scripts/Logs/MuleManager befinden.
Muddy Waters is offline  
Thanks
1 User
Old 04/12/2013, 23:57   #6883
 
NerDxx™'s Avatar
 
elite*gold: 0
Join Date: Mar 2010
Posts: 559
Received Thanks: 71
Exclamation

Wer es Braucht hier,

Einfach nur etwas ändern , ihr müsst den Leader angeben
Code:
1. Im script
var _leader = "Euren Leader Name";

2.
In de Char config.
WConfig_Script.push(["XXXXXXX.ntj", 10]); NTConfig_Leader = "Leader Name"; MWConfig_EnterUnsafeTP = false;
Cow Leader ( Blaue Portal - Mit "Tp is safe!" Nachricht )
Code:
/**
*	This file was modified by 
*	Check the programming section for updates and further scripts
*	Last Update: 22:45 24.08.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);

	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();

		me.Cancel(1);
		
		NTC_Delay(250);
	}
	
	if(!NTR_TakeCowPortal(12))
	{
	
		NTC_SendMsgToScript("MWBotGame.ntj", NTR_TakeCowPortal, 169, 12);
		return;
	}
	
	NTM_MakeTP();
	
	if(MWConfig_Announcements.BaalTpSafe)
	Say(MWConfig_Announcements.BaalTpSafe);	

	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, true))
				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_OpenContainerMode == 2 && 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);
}
Cow Leechfight ( Blaue Portal - Mit "Tp is safe!" Nachricht )
Code:
/**
*	This file was modified by 
*	Check the programming section for updates and further scripts
*	Last Update: 22:45 24.08.2011
*/

var _AllowedToEnterTP = false;

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();

	RegisterEvent(EVENT_GAMEMSG, NT_GameMsgEvents);
        var _leader = "Leader Name"; // Name of leader's character in game (exactly)

	var  _portal;
	var i;


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

	NTTM_TownMove("portalspot");

   for(i = 0; i <= 200; i++) 
   {
                                          if(NTC_InMyParty(NTConfig_Leader))
			break;
		
		if(!NTConfig_Leader)
		{
			_portal = NTM_FindPortalAreaInt(38, 0);
			
			if(_portal != -1)
			{
				_owner = _portal.GetParent();
				
				if(_owner && !NTC_InMyParty(_owner))
					NTConfig_Leader = _owner;
			}
		}

		NTC_Delay(200);
	}
	
	if(MWConfig_EnterUnsafeTP)
		_AllowedToEnterTP = true;

	while(NTC_InTown() && NTC_InMyParty(NTConfig_Leader))
	{
		if(_AllowedToEnterTP)
			NTM_UsePortal("BluePortal", 38, NTConfig_Leader);
			
		NTC_Delay(500);
	}
	
	NTP_DoPrecast();
	
	NTR_ClearRooms(150, NTC_UNIT_MONSTER, 773, _NTR_COW_KING_RANGE);

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



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, true))
				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_OpenContainerMode == 2 && 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 NT_GameMsgEvents(msg, type)
{
	var _msg = msg.toLowerCase();
	
	if(type == 0 && _msg.indexOf(NTConfig_Leader.toLowerCase()) > -1 && MWConfig_Announcements.BaalTpSafe && _msg.indexOf(MWConfig_Announcements.BaalTpSafe.toLowerCase()) > -1)
		_AllowedToEnterTP = true;
}

Um eine meiner drei Frage zu beantworten

Quote:
Originally Posted by NerDxx™ View Post
Hi Leute habe mal drei fragen,

1.
Code:
Ist es möglich wenn der leader das tp aufmacht das er wartet bis 1 oder alle Leecher durch gehen und dann erst anfängt zu kämpfen?
2.
Code:
Ist es möglich das der Leader zb sagt Tp is safe! und der Leecher erkennt die nachricht und geht dann durch das tp ?
3.
Code:
Wenn der Leader ein spiel öffnet  und der Leecher joint , sagt der Leader Tristrun und der Leecher macht Tristrun , dann sagt der Leader Cowrun und der Leecher macht Cowrun , ist das möglich das der Leecher die Scripts Reihenfolge aus dem Chat auslesen kann?
wenn ja welche befehle sind das?

hoffe habt verstanden was ich meine ;D

Frage 2 unten im Spoiler,


_
NerDxx™ is offline  
Old 04/16/2013, 14:12   #6884
 
elite*gold: 0
Join Date: Apr 2013
Posts: 2
Received Thanks: 0
bitte im hilfe ka an was es liegt

Meine bots laufen ganz normal von cow bis baal am schluss wenn sie baal gekillt haben stürzen sie ab und müssen sich neu einlogen wie kann man das beheben
cyborg1992 is offline  
Old 04/16/2013, 15:16   #6885

 
elite*gold: 315
The Black Market: 219/2/4
Join Date: Jul 2008
Posts: 3,284
Received Thanks: 1,133
Quote:
Originally Posted by cyborg1992 View Post
Meine bots laufen ganz normal von cow bis baal am schluss wenn sie baal gekillt haben stürzen sie ab und müssen sich neu einlogen wie kann man das beheben
Stelle mal in der Char-Config des Leechers "NTConfig_LeechExitDelay = 1000;" ein, das könnte eine Ursache dafür sein.
So ist es zumindest beim Etal, weiß nicht ob Muddy dieselbe Funktion hat.
Gt-Kingz 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 17:17.


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.