Register for your free account! | Forgot your password?

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

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

 

common -fragen zu befehlen -wie gehört was geschrieben

Reply
 
Old   #1
 
elite*gold: 0
Join Date: Jan 2009
Posts: 7,310
Received Thanks: 2,202
common -fragen zu befehlen -wie gehört was geschrieben

es gibt so viele sachen wo ich nicht recht weiter weis..
beispiel:
was macht das.. was muss bei 0 rein
wie sieht das in einem script aus wenns funzen soll.. Array für act1?
Quote:
var _movepoints = new Array(5);

// act 1
_movepoints[0] = new Array();

und hier.. bring mich dahin..aber wie?
Quote:
var _townpoints = new Array(5);

// act 1
_townpoints[0] = new Object();
_townpoints[0]["gheed"] = new coord();
_townpoints[0]["charsi"] = new coord();
_townpoints[0]["akara"] = new coord();
_townpoints[0]["kashya"] = new coord();
_townpoints[0]["cain"] = new coord();
_townpoints[0]["stash"] = new coord();
_townpoints[0]["portalspot"] = new coord();
_townpoints[0]["waypoint"] = new coord();
_townpoints[0]["exit"] = new coord();
_townpoints[0]["warriv"] = new coord();

what the fuck.... is this?
ich kanns mir ja denken..aber wo muss das hin?
was gehört noch rein geschrieben wenn ich es z.B für act1 nutzen will.
is es so schon fertig das man es nutzen kann?
Code:
function NTTM_TownFindSpotInt(act, spot)
{
	if(act == 0)
	{
		if(spot == "waypoint")
		{
			var wp = NTC_GetUnit(NTC_UNIT_OBJECT, 119);

			if(wp)
			{
				_townpoints[0]["waypoint"].set(wp);

				return _townpoints[0]["waypoint"];
			}

			if(!NTTM_TownMove("stash"))
				return null;

			wp = NTC_GetUnit(NTC_UNIT_OBJECT, 119);

			if(wp)
			{
				_townpoints[0]["waypoint"].set(wp);

				return _townpoints[0]["waypoint"];
			}		
		}
		else if(spot == "exit")
		{
			if(!NTTM_TownMove("cain"))
				return null;

			var fire = NTC_GetUnit(NTC_UNIT_OBJECT, 39);

			if(!fire)
				return null;

			var _roomAct1Town = GetRoom(1);
			var _roomAct1BloodMoor = GetRoom(2);

			if(_roomAct1Town && _roomAct1BloodMoor)
			{
				var x = _roomAct1Town.x - _roomAct1BloodMoor.x;
				var y = _roomAct1Town.y - _roomAct1BloodMoor.y;

				index = _movepoints[0].length - 1;

				// South Exit
				if(x < 0 && y < 0)
				{
					_townpoints[0]["exit"].set(fire.x+78, fire.y+1);
					_movepoints[0][index++] = new coord(fire.x+62, fire.y-28);
					_movepoints[0][index++] = new coord(fire.x+70, fire.y-20);
					_movepoints[0][index++] = new coord(fire.x+69, fire.y-9);

					return _townpoints[0]["exit"];
				}
				// North Exit
				else if(x > 0 && y < 0)
				{
					_townpoints[0]["exit"].set(fire.x-75, fire.y+4);
					_movepoints[0][index++] = new coord(fire.x-30, fire.y-6);
					_movepoints[0][index++] = new coord(fire.x-41, fire.y-5);
					_movepoints[0][index++] = new coord(fire.x-52, fire.y-8);
					_movepoints[0][index++] = new coord(fire.x-61, fire.y+1);

					return _townpoints[0]["exit"];
				}
				// West Exit
				else if(x == 0 && y < 0)
				{
					_townpoints[0]["exit"].set(fire.x+15, fire.y+70);
					_movepoints[0][index++] = new coord(fire.x+27, fire.y+41);
					_movepoints[0][index++] = new coord(fire.x+26, fire.y+52);
					_movepoints[0][index++] = new coord(fire.x+19, fire.y+56);

					return _townpoints[0]["exit"];
				}
				// East Exit
				else if(x == 0 && y > 0)
				{
					_townpoints[0]["exit"].set(fire.x+15, fire.y-55);
					_movepoints[0][index++] = new coord(fire.x+25, fire.y-40);
					_movepoints[0][index++] = new coord(fire.x+6, fire.y-43);
					_movepoints[0][index++] = new coord(fire.x-1, fire.y-37);
					_movepoints[0][index++] = new coord(fire.x+2, fire.y-26);

					return _townpoints[0]["exit"];
				}
			}
		}
	}
	else if(act == 1)
	{
		if(spot == "exit")
		{
			if(!NTTM_TownMoveXY(5098, 5053))
				return null;

			var obj = NTC_GetUnit(NTC_UNIT_OBJECT, "Dummy");

			if(obj)
			{
				do
				{
					if(obj.x == 5107 && obj.y == 5052)
						return _townpoints[1]["exit"].set(5096, 5009);
				} while(obj.GetNext());
			}

			return _townpoints[1]["exit"].set(5011, 5066);
		}
	}

	return null;
}
sind so unendlich viele sachen in der common
NTMove.ntl / NTTownMove.ntl / NTCommon.ntl

so ein kleiner rundum schlag an erläuterungen..was ist was... wo sollte ein string rein.. wo eine objekt zahl...usw. wäre ned schlecht...



kal_el is offline  
Old   #2
 
elite*gold: 20
Join Date: Mar 2009
Posts: 1,356
Received Thanks: 724
function NTTM_TownFindSpotInt(act, spot)
{
blablabla
}

Das ist die Definition einer Funktion

im "common" ordner sind alle anwendbaren befehle definiert + man kann dort neue definieren.

Wenn du die Funktion (z.B. im Botscript) verwenden möchtest nimmst du nur:


NTTM_TownFindSpotInt(act, spot)

könntest dann also angeben z.b. k.a. 0, "exit" denk ich mir. Dann müsste er den ausgang suchen in akt 1... (allerdings nicht hingehen sondern nur die position wahrnehmen.)
(hast dir da ne bisl blöde funktion ausgesucht xD)



Anderes beispiel:

Sagen wir ich schreibe in die NTMove

Quote:
function NTM_ZuDingsTelenLoL(object)
{
if(GetDistance(me, object) < 20) //20=telerange
return NTM_MoveTo(object.areaid, object.x, object.y);

return true;
}

Dann kann ich in meinem Botscript schreiben:


Quote:
var _Monster;
_Monster = NTC_GetUnit(NTC_UNIT_MONSTER)

NTM_ZuDingsTelenLoL(_Monster)
Er wird dann also das tun was in der NTMove steht (weil dort NTM_ZuDingsTelenLoL definiert ist.)
Und in der ntmove steht ja dass er zu dem objekt (welches wir hier als _Monster eingesetzt haben) teleportieren soll, falls dieses in Reichweite ist.


njomnjomnjom is offline  
Old   #3
 
elite*gold: 0
Join Date: Jan 2006
Posts: 77
Received Thanks: 2
Habe auch eine Frage:
wo wird definiert, was beim Tastendruck "Pause" passiert? Wo läuft da ne Funktion, die die Eingaben abfängt?
Hintergrund meiner Frage ist das Problem, dass sich das NTNihlathak Skript bei mir nicht pausieren lässt (im Gegensatz zu allen anderen Skripten) und ich gerne verstehen würde, wo die Funktion dafür liegt. Ein grober Vergleich von meppl und nihlatak Skript brachte keine Erleuchtung, Funktionen sind weitestgehend identlisch und die Incdludes sind auch identisch.
ente2 is offline  
Old   #4
 
elite*gold: 20
Join Date: Mar 2009
Posts: 1,356
Received Thanks: 724
in der default.ntl


njomnjomnjom is offline  
Old   #5
 
elite*gold: 0
Join Date: Jan 2006
Posts: 77
Received Thanks: 2
thx!
aber ich versteh trotzdem nicht, warum sich das NTNihlathak Skript nicht pausieren lässt?
Die Detault.ntj wird vom nihla skript genauso aufgerufen wie beim meppl skript..
Irgendwie komisch


ente2 is offline  
Reply



« Previous Thread | Next Thread »

Similar Threads
Bester WoW PS mit Gm Befehlen??
Suche den besten Wow Server mit GM befehlen
3 Replies - WoW Private Server
GWCA Fragen zu befehlen u.a. Hp/ mama Ausele/ Talk to npc
GWCA Fragen zu befehlen u.a. Hp/ mama Ausele/ Talk to npc; der Titel dürfte recht viel sagen und wehe es kommt einer mit blabla detected; ich hab...
2 Replies - GW Bot Discussions / Questions
[V15] Probleme mit GM Befehlen
Nabend, Also die Gm befehle sind ja die selben geblieben, nur statt . muss man halt / benutzen wenn ich jetzt einer der alten Befhle benutze z.b:...
3 Replies - Flyff PServer - Discussions / Questions
Pserver mit GM befehlen
Hallo Leute, Da ich in der sufu nichts ähnliches gefunden habe wollte ich mal fragen ob es einen Pserver gibt der on ist bei dem man gm befehle...
21 Replies - Metin2 PServer - Discussions / Questions
Probleme mit GM Befehlen...
Hallo Zusammen, Ich habe mir die Tage einen eigenen Privat Server runtergeladen uns installiert etc., es ist kein 1 Klick server, also könnte...
5 Replies - WoW PServer Hosting



All times are GMT +2. The time now is 03:02.


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

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