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:01

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

Advertisement



[Brauche bitte Hilfe] Spezielles Boscript

Discussion on [Brauche bitte Hilfe] Spezielles Boscript within the Diablo 2 Programming forum part of the Diablo 2 category.

Reply
 
Old   #1
 
elite*gold: 0
Join Date: Dec 2009
Posts: 931
Received Thanks: 47
[Brauche bitte Hilfe] Spezielles Boscript

Hoi, ich hab mich selber damit versucht, da kam aber nix bei raus
Das es sonst bestimmt zu schwer zu verstehen ist, schreibe ich mal alles geordnet auf.^^


Ich möchte das mein Barbar einen bestimmten Wegepunkt nimmt ( z.B. Flammenfluss ) und dort alle anderen sich in diesem Spiel befindlichen Chars ( in diesem Fall 7 weitere ) anschreit. Dann soll jeder seinen Weg gehen.


Der Plan:

Der Leader erstellt das Spiel, alle anderen inklusive Barbar betreten das Spiel.
Jetzt gehts auch schon los, alle treffen sich am Flammenfluß und der Barbar fängt z.B. 30 Sekunden an zu schreien ( also skill, leben/ mana, def ).

Hier stellt sich mir auch die erste Frage: Erkennt der Bot das er angeschrien wurde oder sollte man einen Countdown von z.B. 5 Sekunden einbauen, nachdem jeder seinen run startet? Nach diesen 30 Sekunden sollte dann auch der Barbar ganz normal anfangen.



Wäre cool wenn ihr mal bitte eure Meinung dazu abegeben könntet, ob das überhaupt so machbar ist, bzw. wie schwer die Umsetztung sein wird!

Könnt mir auch gerne helfen, hab mir zwar Muddy's Guide durchgelesen und meiner Meinung auch alles verstanden, aber das gleich selbst so umzusetzten wie ich das möchte ist schon heavy...
Deutsche-Mafia is offline  
Old 05/16/2011, 11:46   #2
Administrator
 
Muddy Waters's Avatar
 
elite*gold: 41364
Join Date: Jan 2010
Posts: 22,729
Received Thanks: 12,625
Da ich wenig Zeit habe und gleich weg muss, erstmal die Kurzform:
Das ist aus meiner Sicht relativ problemlos umsetzbar.

Ob ein Char über BO verfügt oder nicht, kannst du mit der Methode GetState(stateid) überprüfen. Diese ist sowohl für das globale Objekt me, als auch für Units definiert.

Code:
me.GetState(32) // Größer Null, wenn BO aktiv, sonst identisch Null.
me.GetState(51) // Größer Null, wenn Battle Command aktiv, sonst identisch Null.
me.GetState(26) // Größer Null, wenn Shout aktiv, sonst identisch Null.
Das ganze wird nun analog auf die Units der Mitspieler angewandt, zusätzlich wird eine Zeitbegrenzung von 30 Sekunden durch Überwachen der Ticks verwendet.

Das sieht dann so aus:
Code:
var _player, _endTicks;

_endTicks = GetTickCount() + 3E4;

while(GetTickCount() < _endTicks)
{
	_player = NTC_FindUnit(NTC_UNIT_PLAYER);
	
	if(_player)
	{
		do
		{
			if(GetDistance(me, _player) < 10)
			{
				if(!_player.GetState(26)) // Check Shout state
					NTC_CastSkill(138, NTC_HAND_RIGHT); // Battle Command
				if(!_player.GetState(32)) // Check Battle Orders state
					NTC_CastSkill(149, NTC_HAND_RIGHT); // Battle Command
				if(!_player.GetState(51)) // Check Battle Command state
					NTC_CastSkill(155, NTC_HAND_RIGHT); // Battle Command
			}
		
		} while(_player.GetNext());
	}
}
Vielleicht kommst du ja damit schon alleine weiter.

LG
Muddy
Muddy Waters is offline  
Thanks
1 User
Old 05/16/2011, 19:06   #3
 
elite*gold: 0
Join Date: Dec 2009
Posts: 931
Received Thanks: 47
Wow danke dir


Das würde dann heißen das der Barbar 30 Sekunden im Wechsel die Schreie spammt oder?

Fehlt noch das alle sich bei einem Wp treffen, dann erkennen das sie angeschrien wurde und dann loslegen.

Dazu muss ich das dann mit me. einfügen, so wie dus gepostet hast oder?
Deutsche-Mafia is offline  
Old 05/17/2011, 11:35   #4
Administrator
 
Muddy Waters's Avatar
 
elite*gold: 41364
Join Date: Jan 2010
Posts: 22,729
Received Thanks: 12,625
Quote:
Originally Posted by Deutsche-Mafia View Post
Wow danke dir


Das würde dann heißen das der Barbar 30 Sekunden im Wechsel die Schreie spammt oder?

Fehlt noch das alle sich bei einem Wp treffen, dann erkennen das sie angeschrien wurde und dann loslegen.

Dazu muss ich das dann mit me. einfügen, so wie dus gepostet hast oder?
Jein, der Barb würde jeden mit Bo versorgen, der noch kein BO hat und sich dem Barb auf 10 yards nähert.

Das kannst du prinzipiell auch alles in einem Script ausführen, denn bis zum WP machen schließlich alle Chars das Gleiche.
Sofern der Char ein Barb ist, lässt du den 30s Part ausführen, ansonsten wartest du ~10s auf BO. Macht genau eine if-Anweisung.

Das Warten auf BO legst du am besten als for-Schleife aus, die du dann abbrichst, sobald BO vorhanden ist.
Ich mag dir trotzdem nicht alles vorsagen, wäre schließlich langweilig und du lernst dabei nichts.
Versuch es erstmal selbst, wenn alle Stricke reissen kann ich gerne weiterhelfen.

Achja, füge oben in der Schleife für den Barb noch ein Delay ein, das hatte ich irgendwie übersehen:

LG
Muddy
Muddy Waters is offline  
Thanks
1 User
Old 06/06/2011, 17:30   #5
 
elite*gold: 0
Join Date: Dec 2009
Posts: 931
Received Thanks: 47
Also nochmal vielen Dank an Muddy!
Dank deinem Guide hab ich jetzt meiner Meinung nach wenigstens die theoretische Basis.
Leider schaff ich es nicht das so, wie ich es mir wünsche umzusetzen.
Deshalb würde ich FG bieten, falls du Interesse hast es zu Ende zu schreiben...


Noch was zum Script:

Kann es sein das wenn ein Char genau auf dem WP steht er kein Bo bekommt?


Mfg
Deutsche-Mafia is offline  
Old 06/06/2011, 17:57   #6
 
elite*gold: 0
Join Date: Mar 2010
Posts: 539
Received Thanks: 418
Quote:
Originally Posted by Deutsche-Mafia View Post
Also nochmal vielen Dank an Muddy!
Dank deinem Guide hab ich jetzt meiner Meinung nach wenigstens die theoretische Basis.
Leider schaff ich es nicht das so, wie ich es mir wünsche umzusetzen.
Deshalb würde ich FG bieten, falls du Interesse hast es zu Ende zu schreiben...


Noch was zum Script:

Kann es sein das wenn ein Char genau auf dem WP steht er kein Bo bekommt?


Mfg
Woran scheitert es?

Wenn der Char genau auf dem WP steht, kann es teilweise dazu kommen, das er kein BO bekommt, ist jedoch D2-bezogen, also passiert auch ohne Bot.
Lass den Bot einfach etwas zur Seite gehen/telen, schon geht es.
TheCrazy11 is offline  
Old 06/07/2011, 03:35   #7
 
elite*gold: 0
Join Date: Dec 2009
Posts: 931
Received Thanks: 47
Quote:
Originally Posted by TheCrazy11 View Post
Woran scheitert es?
Die bots die durchs wp sind, sollen neben das wp laufen und dann warten bis sie bo haben. Danach ganz normal mit dem run beginnen.

Das bekomm ich einfach nicht hin...
Deutsche-Mafia is offline  
Old 06/07/2011, 12:16   #8
Administrator
 
Muddy Waters's Avatar
 
elite*gold: 41364
Join Date: Jan 2010
Posts: 22,729
Received Thanks: 12,625
Ich verstehe das Problem nicht; nimm dir die Unit des Wegpunktes, rechne auf die Koordinaten einen Offset drauf und beweg dich zu den resultierenden Koordinaten. Mehr ist das nicht.

Code:
var _waypoint = NTM_GetWaypointInt();

if(_waypoint)
	NTM_MoveTo(me.areaid, _waypoint.x + 2, _waypoint.y + 2);
Wenn es ein spezifischer WP ist und du die classid kennst, könntest du es alternativ auch mit NTM_MoveToPresetUnit() lösen.

LG
Muddy
Muddy Waters is offline  
Thanks
1 User
Old 06/07/2011, 14:34   #9
 
elite*gold: 0
Join Date: Mar 2010
Posts: 539
Received Thanks: 418
So umständlich muss es nicht mal sein, es reicht auch folgendes:
Code:
NTM_TakeWaypoint(35); // Nimmt den WP zu Cata lvl 2

NTM_MoveTo(me.areaid, me.x+5, me.y); // Bewegt sich ein bisschen weg
Dann fehlt nur noch die Überprüfung, ob er die Schreie hat, kann über 2 (sinnvolle) Arten realisiert werden:
Code:
while ([COLOR="Green"]<Überprüfung ob die Schreie [COLOR="Red"]nicht[/COLOR] aktiv sind>[/COLOR])
	Delay(1000); // 1000 ms warten
2. Variante, wartet maximal 30 sec und fährt dann mit dem Script fort:
Code:
for (int i = 0; i < 30; i++)
{
	if ([COLOR="Green"]<Überprüfung ob die Schreie aktiv sind>[/COLOR])
		break; // for-Schleife abbrechen
	else
		Delay(1000); // 1000 ms warten
}
PS: Muddy, ich hoffe du hast nichts dagegen, wenn ich hier auch meinen Senf dazu gebe, sollte dich was nerven/stören/etc., bitte eine kurze Meldung, ich kann Kritik vertragen!
TheCrazy11 is offline  
Thanks
1 User
Reply


Similar Threads Similar Threads
[HILFE!!] Ich brauche beim quest einfügen bitte um hilfe
04/27/2012 - Metin2 Private Server - 6 Replies
Hey ist vllt ein hilfsbereiter Member on ? :D bräuchte hilfe beim quest einfügen vllt kann derjenige mich dann in skype oder icq adden DANKE !!!:D:D *edit* die überschrift ist verkackt :D ich brauche beim quest einfügen hilfe bitte um schnelle hilfe*
Server Problem bitte helft Leute bitte brauche eure hilfe sauu dringen
07/18/2011 - Metin2 Private Server - 20 Replies
Hi leute wenn man seinen server ya on bringt (ned das erste mal das ich ihn on bring) dann kommt am ende ya immer das operation timed out 7 mal aber jez steht da Operation reciefet 1000 mal der server startet so einfach ned was kann ich da maachen
Brauche Hilfe bitte
10/26/2010 - Metin2 - 0 Replies
hallo ich wollte den mal runterlden aber i.wie scheine ich zu dumm zu sein ... wenn ich auf den link klicke komme ich zu einer seite aber bekomme ich nicht zum downloaden .. http://www.elitepvpers.com/forum/metin2-hacks-bots -cheats-exploits-macros/265237-free-metin2-de-bot. html Könnte mir jemand helfen ? also mir den link geben oder so per Pn Danke
Brauche Bitte Hilfe !!!
11/06/2009 - Metin2 Private Server - 0 Replies
Hallo Liebe com ! also ich hock ja jetzt schon monate lang an meinem blöden Mt2 server habe SuFu genutzt alle VTut "TUT" durchgelesen habe alles gemacht was ich konnte nunja der server läuft immer noch nicht !!
Hilfe Bitte Brauche hilfe bei Warrock !!!!!!!
07/10/2009 - WarRock - 0 Replies
Hilfe bitte, ich bin heute morgen aufgestanden wollte Warrock zocken aber da war neues Update:mad: ja als das fertig war ging Warrock nicht mehr an :confused:also es kamm nur Warrock updater danachk wenn ich auf ok gedrückt habe kamm Hackshield aber danch starte warrock nich da kommt einfach nichts. Es is egal wie viel mall ich auf Warrock drücke es geht nicht mehr an also startet nicht mehr. ich hab schon 3 mal neu Installiert und mein Leptop 1 mal Formartiert aber nichts gebracht Mein...



All times are GMT +2. The time now is 13:01.


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