Register for your free account! | Forgot your password?

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

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

Advertisement



gebiet eingrenzen zum cleanen?

Discussion on gebiet eingrenzen zum cleanen? within the Diablo 2 Programming forum part of the Diablo 2 category.

Reply
 
Old   #1
 
kal_el's Avatar
 
elite*gold: 0
Join Date: Jan 2009
Posts: 7,310
Received Thanks: 2,205
gebiet eingrenzen zum cleanen?

ich hab mich mal durch die programmierung gelesen, raff es aber ned.

ich kann zwar mit
Code:
NTA_ClearLevel(true, 2, MWConfig_ClearAreaSpectypes.ChaosSanctum)
das "gesamte chaos cleanen,
möchte aber nur das in "grün" gekennzeichnete cleanen.
wie wer was?
mit?
Code:
_deltax = _xxxx;
	_deltay = _xxxx;
wie finde ich diese xxxx raus?
und,brauch ich dazu attack positionen?

kal_el is offline  
Thanks
1 User
Old 01/16/2012, 08:02   #2
 
elite*gold: 0
Join Date: Mar 2010
Posts: 539
Received Thanks: 418
Funktioniert es nicht, wenn du in der Config folgendes setzt:
Code:
	MWConfig_Script.push(["NTDiablo.ntj", 10]); MWConfig_KillFullInfectorMob = true; [B]MWConfig_StartAtStar = true;[/B] MWConfig_IgnoreSealOpeningErrors = false; [B]MWConfig_FastDia = false;[/B]
TheCrazy11 is offline  
Old 01/16/2012, 11:58   #3
 
kal_el's Avatar
 
elite*gold: 0
Join Date: Jan 2009
Posts: 7,310
Received Thanks: 2,205
ne, ich wollt einfach auf die schnelle nur cleanen ohne die siegel und siegelbosse.
kal_el is offline  
Old 01/16/2012, 19:50   #4
Administrator
 
Muddy Waters's Avatar
 
elite*gold: 41364
Join Date: Jan 2010
Posts: 22,729
Received Thanks: 12,652
Bin gerade eigentlich mit Webentwicklung beschäftigt, darum gibt es erstmal nur einen hingeklatschten Entwurf, damit du ungefähr weißt, wie sich sowas umsetzen lässt:
Code:
const THRESHOLD_Y = 5340;

function NTMain()
{
	var _monsterCount, _attackpos, _room, _roomCoords, _distance, _minindex, _mindistance;
	
	Include("libs/common/NTCommon.ntl");
	NTC_IncludeLibs();
	NTC_IncludeConfig("NTBot/char_configs");

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

	MWC_Initialize();

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

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

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

	NTP_DoPrecast(true);

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

	NTM_MoveTo(108, 7792, 5292);

	_room = GetRoom();

	if(!_room)
	{
		NTC_SendMsgToScript("MWBotGame.ntj", GetRoom);
		return false;
	}

	_rooms = new Array();

	do
	{
		_roomCoords = new Point(parseInt(_room.x*5 + _room.xsize*5/2), parseInt(_room.y*5 + _room.ysize*5/2));
		
		if(_roomCoords.y <= THRESHOLD_Y)
			_rooms.push(_roomCoords);

	} while(_room.GetNext());

	while(_rooms.length > 0)
	{
		_mindistance = 100000;

		for(var i = 0; i < _rooms.length; i++)
		{
			_distance = GetDistance(me.x, me.y, _rooms[i].x, _rooms[i].y);

			if(_distance < _mindistance)
			{
				_minindex = i;
				_mindistance = _distance;
			}
		}

		if(NTM_MoveTo(me.areaid, _rooms[_minindex].x, _rooms[_minindex].y, 1))
		{
			NTA_ClearRoom(true);
			NTP_DoPrecast(false);
		}

		_rooms.splice(_minindex, 1);
	}

	NTC_SendMsgToScript("MWBotGame.ntj", "SCRIPT_END");
}
Die Konstante oben habe ich nur auf die Schnelle ausgelesen, auch hier müsstest du mal schauen, was in der Praxis wirklich brauchbar ist. Aber wie man sieht ist die Grundherangehensweise denkbar simpel:
  1. Räume durchgehen und direkt alles rausschmeissen, was von der Y-Koordinate her zu groß ist (also zu weit "links" ist).
  2. In die entsprechenden Räume Bewegen.
  3. Funktion zum Säubern eines Raums aufrufen.
Hoffe das bringt dich erstmal weiter.
Muddy Waters is offline  
Thanks
2 Users
Old 01/16/2012, 20:49   #5
 
elite*gold: 0
Join Date: Jan 2012
Posts: 18
Received Thanks: 10
kal-el und MuddyWaters, danke fuer diese interessanten Gedanken und Ausfuehrungen!

Die gleiche Vorangehensweise duerfte wohl auch anwendbar sein, um Durance lvl. 3 komplett zu clearen anstatt nur Meph zu machen. Eine solche Funktionalitaet wuerde mir auch gefallen.

Hoffe sehr darauf, dass ich in diesem Thread Knowledge leechen kann.
worthless1337 is offline  
Old 01/16/2012, 20:54   #6
 
kal_el's Avatar
 
elite*gold: 0
Join Date: Jan 2009
Posts: 7,310
Received Thanks: 2,205
Quote:
Hoffe das bringt dich erstmal weiter
ja, es bringt mich um den verstand, aber ich probiers mal


Quote:
um Durance lvl. 3 komplett zu clearen
um einen kompletten raum/level ganz einfach zu clearen sollte auch
Quote:
NTA_ClearLevel(true, 2, MWConfig_ClearAreaSpectypes.ChaosSanctum)
reichen.
dabei muss ned mal "ChaosSanctum" in der NTConfig.ntl stehn . (das hab ich mir hinzugefügt)
es reichen die vorhandenen einträge z.B die vom frozenriver script (schau da mal rein.)
dann z.B nur zu meppel reintelen und...
Quote:
NTA_ClearLevel(true, 2, MWConfig_ClearAreaSpectypes.FrozenRiver)
ausführen und er sollte alles cleanen.
kannst dir aber natürlich auch für jedes gebiet den enstprechenden namen in die NTConfig.ntl hinzufügen.

bei mir oben ging es um die begrenzung eines gebietes.

mein chaos cleanen so wie ich es jetzt einfachmal gestrickt hatte.
Code:
/**
*	This file was modified by 
*	Check the programming section for updates and further scripts
*	Last Update: 22:01 14.08.2011
*/

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

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

	MWC_Initialize();
	

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

	NTTMGR_TownManager();

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

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

	NTP_DoPrecast(true);

	
            
             if(!NTM_MoveTo(me.areaid, 3778, 5108))
	{
		NTC_SendMsgToScript("MWBotGame.ntj", NTM_MoveTo, 40, me.areaid, 3778, 5108);
		return;
	}
                  if(!NTM_TakeWaypoint(107))
	{
		NTC_SendMsgToScript("MWBotGame.ntj", NTM_TakeWaypoint, 34, 107);
		return;
	}


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

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





	NTA_ClearLevel(true, 2, MWConfig_ClearAreaSpectypes.ChaosSanctum)

            
        NTSI_PickItems();

	NTC_SendMsgToScript("MWBotGame.ntj", "SCRIPT_END");
}
ich machs eben gern einfach
darum bringt mich so einwahnsinns script wie oben um den verstand
kal_el is offline  
Thanks
1 User
Old 01/16/2012, 23:25   #7
Administrator
 
Muddy Waters's Avatar
 
elite*gold: 41364
Join Date: Jan 2010
Posts: 22,729
Received Thanks: 12,652
Also so im Vergleich zu dem BBCode Parser zur Konvertierung von HTML Code in BB Code, an dem ich gerade für ein User Script arbeite, finde ich das hier unheimlich entspannt.

Aber der Punkt ist: Wenn du es so machen möchtest, wie in deinem Bild, dann muss du zwangsläufig die verschiedenen Räume durchgehen und dir nur die rauspicken, welche ebn in dem Bereich liegen, den du säubern möchtest. Die NTA_ClearLevel Funktion macht an sich nichts anderes, nur dass dort keine Aussortierung bestimmter Räume stattfindet.
Muddy Waters is offline  
Thanks
2 Users
Old 01/18/2012, 08:44   #8
 
kal_el's Avatar
 
elite*gold: 0
Join Date: Jan 2009
Posts: 7,310
Received Thanks: 2,205
das ganze läuft wie am schnürchen und passt wie ***** auf klodeckel von den bereichen her.

thx
kal_el is offline  
Reply


Similar Threads Similar Threads
Untersucht das Gebiet
11/26/2011 - General Gaming Discussion - 0 Replies
wie einigen von euch aufgefallen ist ist das quest "untersucht das gebiet" verbuggt und lässt sich schon seit Juli nicht abschließen. Jedoch sehe ich immer wieder leute die dieses Quest wohl längst abgeschlossen haben. Da wollte ich mal fragen ob hier einer weiss wie man den Bug "umgehen kann" oder ob man einfach nur was bestimmtes machen muss damit der bug nicht auftritt.
[B] ACC lvl 40 [S] cleanen 41+ acc
03/11/2011 - WarRock Trading - 3 Replies
Hallo com. Ich verkaufe hier meinen acc lvl 40 mit folgenden waffen: TMP9 Lease Remaining: 1 day(s) M7 Knife M7 Knife Lease Remaining: 10 day(s) PSG-1
Gebiet mihrur
08/18/2010 - 4Story - 4 Replies
Kann jemand hier die koordinaten von Mihrur reinschreiben weil es gab ma den beitrsg nur finde in nicht mehr deswegen schreibt bitte die koordinaten hier rein von mihrur gebe auch thx
pc cleanen?
02/27/2010 - Technical Support - 9 Replies
okey folgendes: ich suche ein kostenloses oder gecracktes programm was mein pc (lappi um genau zu sein) von jegliche art von nutzloser datein befreit/löscht.. ich hab nichts gefunden habs aber nötig den das scheiß ding hengt wie ein stück holz xD nunja.. danke im vorraus mfg
GM Befehle eingrenzen
10/15/2009 - Metin2 Private Server - 3 Replies
hallo, weis jemand wie ich bestimmte GM befehle blocken kann zbsp /kill ?? mfg



All times are GMT +1. The time now is 13:14.


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.