Register for your free account! | Forgot your password?

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

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

 

gebiet eingrenzen zum cleanen?

Reply
 
Old   #1
 
elite*gold: 0
Join Date: Jan 2009
Posts: 7,310
Received Thanks: 2,198
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   #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   #3
 
elite*gold: 0
Join Date: Jan 2009
Posts: 7,310
Received Thanks: 2,198
ne, ich wollt einfach auf die schnelle nur cleanen ohne die siegel und siegelbosse.
kal_el is offline  
Old   #4
Administrator
 
elite*gold: 272143
Join Date: Jan 2010
Posts: 22,492
Received Thanks: 12,149
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   #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   #6
 
elite*gold: 0
Join Date: Jan 2009
Posts: 7,310
Received Thanks: 2,198
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 [email protected]
*	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   #7
Administrator
 
elite*gold: 272143
Join Date: Jan 2010
Posts: 22,492
Received Thanks: 12,149
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   #8
 
elite*gold: 0
Join Date: Jan 2009
Posts: 7,310
Received Thanks: 2,198
das ganze läuft wie am schnürchen und passt wie ***** auf klodeckel von den bereichen her.

thx


kal_el is offline  
Reply



« Previous Thread | Next Thread »

Similar Threads
Untersucht das Gebiet
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...
0 Replies - General Gaming Discussion
[B] ACC lvl 40 [S] cleanen 41+ acc
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...
3 Replies - WarRock Trading
Gebiet mihrur
Kann jemand hier die koordinaten von Mihrur reinschreiben weil es gab ma den beitrsg nur finde in nicht mehr deswegen schreibt bitte die koordinaten...
4 Replies - 4Story
pc cleanen?
okey folgendes: ich suche ein kostenloses oder gecracktes programm was mein pc (lappi um genau zu sein) von jegliche art von nutzloser datein...
9 Replies - Technical Support
GM Befehle eingrenzen
hallo, weis jemand wie ich bestimmte GM befehle blocken kann zbsp /kill ?? mfg
3 Replies - Metin2 PServer - Discussions / Questions



All times are GMT +1. The time now is 11:21.


Powered by vBulletin®
Copyright ©2000 - 2017, Jelsoft Enterprises Ltd.
SEO by vBSEO ©2011, Crawlability, Inc.

Support | Contact Us | FAQ | Advertising | Privacy Policy | Abuse
Copyright ©2017 elitepvpers All Rights Reserved.