Register for your free account! | Forgot your password?

Go Back   elitepvpers > Other Online Games > Diablo 2 > Diablo 2 Programming
You last visited: Today at 18:46

  • Please register to post and access all features, it's quick, easy and FREE!

Advertisement



NTTravincal: MoveTo() failed

Discussion on NTTravincal: MoveTo() failed within the Diablo 2 Programming forum part of the Diablo 2 category.

Reply
 
Old   #1
 
elite*gold: 0
Join Date: May 2008
Posts: 1
Received Thanks: 0
NTTravincal: MoveTo() failed

Hi,

ich habe vor ein paar Tagen angefangen mich mal mit dem NTBot auseinanderzusetzen und mir anzukucken, wie die Scripts im Bot funktionieren.
Ein erster Test sollte Travi mit dem Goldbarbaren sein, allerdings für Classic, der Gute muss also laufen. Habe das Script daher ein bisschen angepasst, um sicherzugehen, dass der Barbar immer schnell zum Tempel findet.

Allerdings kommt es zu einem Bug:
Im ersten Spiel läuft der Barbar immer hin, killt alles, brüllt die Leichen leer; so wie's sein soll.
Ab dem zweiten Spiel benutzt er den WP, macht Precast und dann wirft der Bot immer den Fehler "MoveTo() failed" und verlässt das Spiel.
Das passiert dann in allen folgenden Spielen.

Habe das Testweise mit dem Originalen NTTravincal Script getestet (scheint bei Muddy's und Etal das selbe Script zu sein, getestet nur mit Muddy) und bekomme dort den gleichen Fehler

Ich habe mir 'ne ganze Weile den Kopf darüber zerbrochen, warum das passiert. Die erste Mutmaßung war, dass es mit der verschiebung der Koordinaten auf der Karte zu tun hat, was ja das Script durch _deltax/y auszugleichen versucht.
Allerdings bin ich mir mittlerweile damit nicht mehr so sicher, weil auch ein einfaches MoveTo(me.areaid,me.x+2,me.y) den Fehler schmeißt. Ich habe mit ein bisschen debugging den Fehler bis zum Aufruf der _path = GetPath() Methode in der NTMove.nt zurückverfolgt, die scheinbar fehlschlägt, weshalb das NTTravincal Script mit der Fehlermeldung verlassen wird.

Mit der WalkTo() Methode kriege ich den Barbaren weiterhin bewegt, so dass ich ihn imernoch bis zum Tempel bringen kann, aber da is dann halt Schluss, weil er die position nicht cleanen möchte und dann das Spiel verlässt. (Er findet keine Monster, die NTA_IsValidMonster(_target) erfüllen, obwohl der Rat direkt vor ihm steht, aber das ist wohl ein anderes Problem)

Hat jemand eine Ahnung, woher dieser Fehler kommen könnte und noch viel wichtiger, wie man ihn beheben könnte? Meine Vermutung, das Ganze könnte mit den verschobenen Koordinaten zusammenhängen kam daher, dass im ersten Spiel der WP immer an der gleichen Koordinaten war (zumindest in meinen Testläufen), und der Bot damit ja auch immer klarkam.

Zum Abschluss noch die NTTravincal Version, die ich benutzt habe:
Code:
function NTMain(){

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

	var _waypoint;
	var _deltax, _deltay;
	var _attackpos = [5800, 1554, 5799, 1534, 5799, 1526, 5797, 1514, 5795, 1490, 5787, 1491, 5797, 1514, 5781, 1514];

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

	NTA_Initialize();

	if(!NTTM_CheckAct())	{
		NTC_SendMsgToScript("NTBotGame.ntj", "NTTM_CheckAct()");
		return;
	}
	NTTMGR_TownManager();
	if(!NTTM_TownMove("waypoint")){
		NTC_SendMsgToScript("NTBotGame.ntj", "NTTM_TownMove()");
		return;
	}
	if(!NTM_TakeWaypoint(83)){
		NTC_SendMsgToScript("NTBotGame.ntj", "NTM_TakeWaypoint()");
		return;
	}
	_waypoint = NTC_FindUnit(NTC_UNIT_OBJECT, GetLocaleString(22526), 5);
	if(!_waypoint){
		NTC_SendMsgToScript("NTBotGame.ntj", "NTC_FindUnit()");
		return;
	}
	_deltax = _waypoint.x - 5699;
	_deltay = _waypoint.y - 1584;
	NTP_DoPrecast(true);
	if(!NTM_MoveTo(me.areaid, 5780+_deltax, 1555+_deltay)){
		NTC_SendMsgToScript("NTBotGame.ntj", "NTM_MoveTo()");
		return;
	}
	if(NTTMGR_CheckSafe(NTConfig_CheckSelfSafe, NTConfig_CheckMercSafe)){
		NTTMGR_VisitTown();
	}
	for(var i = 0 ; i < _attackpos.length ; i += 2){
		NTM_MoveTo(me.areaid, _attackpos[i]+_deltax, _attackpos[i+1]+_deltay);

		NTA_ClearPosition(25, true, 2);
	}
	if(NTConfig_OpenChestsInArea && NTU_DontOpenAreas())
		OpenChestsInArea();
	NTC_SendMsgToScript("NTBotGame.ntj", "SCRIPT_END");
}
chronic65 is offline  
Reply


Similar Threads Similar Threads
how to enchant items without getting failed or lesser chance to failed..??
04/28/2011 - Aion - 1 Replies
please help... any exploits or tips and tricks on how to enchant items...????
[F]item_proto Clientside, wtf? XD Ändern failed oder Client failed xD
08/22/2010 - Metin2 Private Server - 4 Replies
Hüy, ich hab in der item_proto ( Clientside ) die Standartbonis z.B bei Drachengottschuhen die 55 Deff durch TP ersetzt ( +9 2k ) Normalerweisse alles was ich bisher item_proto änderte klappte JEDES MAL Hab auch neue Bonis in der Drachengottrüstung, 85'er Waffen uvm, bla bla .. und es klappte jedes mal alles perfekt Doch jz wollt ich die Standartbonis der Drachengottschuhe bearbeiten ..
Moveto
01/13/2010 - GW Bots - 3 Replies
Ich habe eine Frage, wie macht blauwiggle seine moveto das sie so menschlich aussieht ? weil meine wirken immer so abgehackt wenn ich das mit Moveto (x,y) mache, bzw. weiß jemand wie man es besser macht?
Ein frage zu Moveto
07/12/2009 - GW Bots - 7 Replies
Hab eine fragen zum Moveto Engine (1. Bot): Worauf beziehen sich die Koordinaten bei Mousesend? Bildschirm od Gw fester? Hoffe ihr könnt mir helfen. mfg



All times are GMT +1. The time now is 18:47.


Powered by vBulletin®
Copyright ©2000 - 2026, 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 ©2026 elitepvpers All Rights Reserved.