|
You last visited: Today at 15:17
Advertisement
Wir basteln einen Bodyguard mit D2NT. [Guide]
Discussion on Wir basteln einen Bodyguard mit D2NT. [Guide] within the Diablo 2 Programming forum part of the Diablo 2 category.
02/09/2010, 21:25
|
#16
|
elite*gold: 0
Join Date: Jan 2009
Posts: 7,310
Received Thanks: 2,205
|
joah.... er machts..er machts nicht wenn ich den act wechsle...
ich habs zum beispiel einfach mal da rein
Quote:
function NTMain()
{
Include("common/NTCommon.ntl");
NTC_IncludeConfig();
NTC_IncludeLibs();
NT_LoadConfig();
NTSI_LoadNIPFiles();
NTA_Initialize();
if(!NTTM_CheckAct())
{
NTC_SendMsgToScript("default.ntj", "NTTM_CheckAct()");
return;
}
NTTMGR_TownManager();
NTTM_TownMove("portalspot")
while(1)
|
betritt er das game, geht er da auch hin.
mach ich mit ihm nen act wechsel, bleibt er am wp stehn.
dachte er macht auch weil er ja den act checkt -> if(!NTTM_CheckAct()) und würd dann wieder von neu beginnen.
wenn ich die pause -taste drücke macht er wieder.
das heisst er startet von neu dann.
in die endlosschleife einbauen funzt auch ned..dann rennt er beim abarbeiten immer wieder zurück^^.
also, wie beginnt er wieder von vorne wenn er den act wechselt?
|
|
|
02/09/2010, 22:32
|
#17
|
elite*gold: 0
Join Date: Feb 2010
Posts: 82
Received Thanks: 17
|
Hi,
wo hast du es denn testweise in die Endlosschleife eingebaut? Kann das grad alles nicht ausprobieren, da ich am 1.13-D2BS sitze. -.-
regards
|
|
|
02/10/2010, 08:36
|
#18
|
elite*gold: 0
Join Date: Mar 2009
Posts: 24,265
Received Thanks: 15,362
|
hab mal n paar fragen
ich kenn mich leider 0 mit programieren aus-.-
wenn ich beispiels weise autoit use
muss ich das dann in autoit reinschreiben oder reichts in ner ntj/ini???
Ps: is der jetzt albsolut fehlerfrei
/ kann man den text einfach kopieren
und wie soll man die txt nennen damit er sie erkennt
sorry das ich blöd frage aber habe wie oben gesagt nich so ne ahnung
|
|
|
02/10/2010, 09:02
|
#19
|
elite*gold: 0
Join Date: Jan 2009
Posts: 7,310
Received Thanks: 2,205
|
Quote:
Originally Posted by BotFreakMan
Hi,
wo hast du es denn testweise in die Endlosschleife eingebaut? Kann das grad alles nicht ausprobieren, da ich am 1.13-D2BS sitze. -.-
regards
|
ich glaube ich hatte es ganz oben drinn..aber die schleife wiederholt sich ja immer wieder.. ich glaub ned das ne andere stelle was nützt...sobald er da vorbeikommt beim abarbeiten ..geht/telt er zurück zum tp.
ich glaub das problem is..wenn er alles von oben nach unten abarbeitet landet er ja irgendwann in der schleife..so.. und da kommt er dann nicht mehr raus..auch ned wenn man den act wechselt, darum macht er es dann auch ned das er wieder zum tpspot geht.
frage is deshalb ..was kann man machen, das, wenn er von einem gebiet zurück in town geht erkennt, hoppala ich bin in town -> lass checken, schleife verlassen, und zum tpspot gehn?
andre idee
hm, ok..in die schleife einbauen.. er nutzt das tp in einem gebiet weil die sorc in town geht(jez weis ich was du meinst mit: an welcher stelle! ich werde das mal probieren..einbauen nachdem er wieder in town gegangen ist -> townmanager, dann tpspot..mal testen....
Quote:
Originally Posted by Daarmy
hab mal n paar fragen
ich kenn mich leider 0 mit programieren aus-.-
wenn ich beispiels weise autoit use
muss ich das dann in autoit reinschreiben oder reichts in ner ntj/ini???
Ps: is der jetzt albsolut fehlerfrei
/ kann man den text einfach kopieren
und wie soll man die txt nennen damit er sie erkennt
sorry das ich blöd frage aber habe wie oben gesagt nich so ne ahnung
|
mit autoit hat der nt weniger am hut.
ja du kannst das von seite 1 rauskopieren(ganz unten) und in irgendeine vorhandene reinkopieren (deren inhalt du vorher gelöscht hast) und dann stellst eben in der config. ein das er diesen boss machen soll, dessen ntj. du dafür verwendet hast.
kannst dir aber auch selber mit dem editor eine erstellen z.B TEST.ntj
in der config. ini schreibst du dann: NTConfig_Script.push("TEST.ntj");
(da wo du dir die bosse einstellst)
################################################## ###############
EDIT:
ich hab jez verschiedenes ausprobiert... dachte doch tatsächlich ich habs als er nach 2 actwechseln zum tpspot ging..aber das wars dann auch schon...er machte es nie wieder ^^ keinen plan warum.
dann back to basic...
nun geht er wenigstens nachdem ein neues game erstellt wurde und er sich eingeloggt hat zum tpspot..auch wenn er vorher nicht malah oder akara besucht(townmanager).
das ist schon mal soweit gut da er zumindest am anfang eines games das tp findet..egal von wo er kommt. in act 2 is er am weitesten weg(man kommt bei warriv ins game).
mit party ->> tp>> ab ins gebiet läuft alles wie gehabt, supi.
sorc geht nun zurück in town mit tp - bot folgt- macht ne rund zu cain(is absicht zum testen) und geht wieder zum tp spot. (will man den act wechseln muss das tp erst weg sein, sonst geht er immer wieder zurück..man kommt gar nicht erst zum wegpunkt).
gut..wechselt man den act steht er rum (ausser er hat grad was zum verkaufen oder so(townmanager) dann macht er alles wie gehabt.
ist aber nichts zu tun, bleibt er stehn am wp bis er ein tp sieht (wenn er nicht zuweit weg ist).
mit pause-taste macht er es aber, klar.
so, weiter weis ich jez auch ned.
Code:
////////////////////////////////////////////
//Botscripts modificated by njomnjomnjom //
//http://www.elitepvpers.com/forum/diablo-2//
////////////////////////////////////////////
function NTMain()
{
Include("common/NTCommon.ntl");
NTC_IncludeConfig();
NTC_IncludeLibs();
NT_LoadConfig();
NTSI_LoadNIPFiles();
NTA_Initialize();
if(!NTTM_CheckAct())
{
NTC_SendMsgToScript("default.ntj", "NTTM_CheckAct()");
return;
}
NTTMGR_TownManager();
NTTM_TownMove("portalspot")
while(1)
{
if(me.areaid == 1 || me.areaid == 40 || me.areaid == 75 || me.areaid == 103 || me.areaid == 109)
{
var _Portal;
_Portal = NTC_GetUnit(NTC_UNIT_OBJECT, GetLocaleString(3226));
if(_Portal)
{
NTC_Delay(500)
NTM_WalkTo(_Portal.x, _Portal.y) //schaut in der NTmove um herauszufinden woher dieser Befehl stammt
NTC_Delay(500)
NTM_UsePortal("BluePortal"); //schaut in der NTmove um herauszufinden woher dieser Befehl stammt
NTC_Delay(200)
NTP_DoPrecast();
NTC_Delay(200)
}
if(!_Portal)
{
NTC_Delay(1000) //Päuschen in milisekunden
}
//NTTM_TownMove("portalspot")
}
if(me.areaid != 1 && me.areaid != 40 && me.areaid != 75 && me.areaid != 103 && me.areaid != 109)
{
var _Führer;
_Führer = NTC_GetUnit(NTC_UNIT_PLAYER, NTC_CHAR_CLASS_SORCERESS)
NTC_Delay(10)
if(_Führer)
{
if(GetDistance(me, _Führer) > 2) //WENN die Distanz zwischen dem Bot und uns größer ist als 3, DANN...
{
NTM_TeleportTo(_Führer.x+1, _Führer.y+1) //schaut in die NTmove um herausufinden woher dieser Befehl stammt.
NTC_WaitCastDone() //Das selbe wie ein Päuschen, setzt es jedesmal wenn ihr ihn einen Skill casten lasst.
}
if(GetDistance(me, _Führer) < 2)
{
NTC_PutSkill(NTConfig_PutAura, NTC_HAND_RIGHT); //Aura anmachen
NTC_Delay(100);
//NTC_DoCast(NTConfig_AttackSkill[2], 2); //Hämmern
NTC_WaitCastDone()
{
NTA_ClearPosition(20);
NTC_PingDelay(100);
NTSI_PickItems();
}
}
}
if(!_Führer)
{
NTC_Delay(1000); //Päuschen wenn wir nicht da sind.
{
NTC_PingDelay(200);
NTM_UsePortal("BluePortal");
NTC_PingDelay(200);
NTTMGR_TownManager();
NTTM_TownMove("cain")
NTTM_TownMove("portalspot")
}
[COLOR="Blue"]//nochmal..das hatte ich nur zum testen..an..aus
..wenn ich was falsch mache kommt schon ne meldung das checkact fehlgeschlagen ist...aber das wars auch schon.
.. bei nem act wechsel bewegt er sich nicht.
ich hatte hier alles mögliche probiert..das is nur der rest-> müll
NTA_Initialize();
if(!NTTM_CheckAct())
{
NTC_SendMsgToScript("default.ntj", "NTTM_CheckAct()");
return;
}
NTTMGR_TownManager();
NTTM_TownMove("portalspot")
//NTTM_TownMove("cain")
//NTTM_TownMove("portalspot")
[/COLOR]
}
}
}
}
|
|
|
02/10/2010, 12:43
|
#20
|
elite*gold: 0
Join Date: Mar 2009
Posts: 24,265
Received Thanks: 15,362
|
hab das ma gemacht
aber, wie stell ich ein das der hdin dass game joint oder mach ich das manuell,
und ich hab s ma so gemacht also das NTConfig_Script.push("NTTest.ntj");
sie macht andy(das is ganz normal) und dann aus den tp raus und steht nur noch rum
aber auch keine fehler meldung
help please
|
|
|
02/10/2010, 13:49
|
#21
|
elite*gold: 0
Join Date: Feb 2010
Posts: 82
Received Thanks: 17
|
Hi,
den bot ein game joinen zu lassen ist ein wenig kompliziert. Einfacher wäre, wenn du das von Hand machst oder wenn du das Test-Script an den Anfang setzt, dann den bot ein game erstellen lässt, selber das Spiel betrittst und dann Party annimmst (Bot muss natürlich auf public-mode laufen...). Dann macht der Bot das, was hier steht und nix anderes... Natürlich musst du, wenn du nicht mit einer Zauberin spielst, noch die Charclass einstellen. Der Bot wartet dann so lange, bis ein TP von seinem Partymember geöffnet wird...
Im Moment probieren wir noch rum wie der Bot automatisch den act wechselt, das musst du bisher von Hand machen
regards
|
|
|
02/12/2010, 15:42
|
#22
|
elite*gold: 0
Join Date: Jan 2009
Posts: 7,310
Received Thanks: 2,205
|
dumme frage:
gibt es... ne anders... kann der nt nachrichten lesen..
also so wie befehle..wie der awesom z.B eingabe: .stash z.B oder .act5
oder auch geflüsterte nachrichten... /w act5 now ....
dann könnte man ihn anflüstern wegen dem act wechsel....
|
|
|
02/14/2010, 20:48
|
#23
|
elite*gold: 20
Join Date: Mar 2009
Posts: 1,356
Received Thanks: 736
|
Die frage ist garnicht so dumm.
Er kann es standartmäßig nicht.
Man kann es ihm aber beibringen (bewiesen durch den d2nt leechbot), das problem ist nur dass ich nicht programmieren kann. Bzw mit solchen sachen nicht zurechtkomme.
Quote:
Say('/f l');
Delay(500);
if(chat = controlData.get(controlData.controls.lobby.chat.te xtBox.channelText))
{
var errors = '';
var found_leader = false;
lines = chat.GetText();
for (var friend = 0; friend < lines.length; friend++)
{
if (lines[friend].lastIndexOf(': '+leaderAccountName+',') > -1)
{
game = '';
found_leader = true;
var regOfflineEnglish=/^\d\s?:\s?(\w*)\s?,\s?offline\s*$/gi;
var regGameNameEnglish=/^\s*(the\s)?(game\s)?([\w\s-]*\w)\s\(private\)\.\s*$/gi;
var regGameNameFrench=/^\s*(la\s)?(partie\s)?([\w\s-]*\w)\s\(priv[^\)]*\)\.\s*$/gi;
if (lines[friend].match(regOfflineEnglish))
{
errors += (errors == '' ? '' : ' ') + 'leader is offline';
if (joinChannelInChat)
Say('Leader is offline, delay 10 sec.');
Delay(10000);
}
if (lines[friend + 1].match(regGameNameEnglish) && lines[friend+1].substr(1, 1) != ':')
{
game = lines[friend + 1].replace(regGameNameEnglish, "$3");
}
if (!game && lines[friend + 1].match(regGameNameFrench) && lines[friend+1].substr(1, 1) != ':')
{
game = lines[friend + 1].replace(regGameNameFrench, "$3");
}
if (game != '')
{
if (joinChannelInChat)
Say('I found him! In the game ' + game);
Delay(1000);
controlData.click(controlData.controls.lobby.butto n.join);
Delay (500);
}
else
{
if(!errors)
{
errors = 'leader is not in game.';
}
}
}
}
|
Ich hab mal rot markiert, man bräuchte also eine controlinfo für die rechte obere Bildschirmecke.
Dann bräuchte man etwas wie in dem stiel des 2ten rot markierten um die message auszulesen.
Die sache ist nur das man hier mit logischem denken nichtmehr weiterkommt man müsste ahnung von der materie haben.
|
|
|
02/21/2010, 13:23
|
#24
|
elite*gold: 0
Join Date: Jan 2010
Posts: 11
Received Thanks: 0
|
Okay also das mit dem Bodyguard ist ne sehr geile sache nur ich verstehe irgendwie noch nicht wie genau das zu machen ist und zwar:
1. Braucht man da 2 CD-Keys?
2. Sind die Sorc und der Pala auf einem Acc oder auf 2 verschiedenen?
3. Muss man für den Pala ein extra Skript haben? (was ja dann bedeuten würde einen zweiten Bot oder?)
sorry sind warscheinlich dumme fragen aber ich befasse mich erst seit ein paar wochen damit.
|
|
|
02/24/2010, 23:55
|
#25
|
elite*gold: 0
Join Date: Jun 2009
Posts: 724
Received Thanks: 43
|
ok stolz kann ich sagen, das ich bis hier hin alles verstanden habe!
bin aufm besten weg nen anständigen cobaal auf nt basis zu basteln
wenn mir jetzt jemand sagen könnte, wie der befehl heißt, das der "bodygurad" das spiel mit dem zu beschützenden verlässt wäre fast alles gelöst!
komme einfach nicht drauf
|
|
|
02/25/2010, 09:35
|
#26
|
elite*gold: 0
Join Date: Jan 2009
Posts: 7,310
Received Thanks: 2,205
|
Quote:
Originally Posted by MrTorture
ok stolz kann ich sagen, das ich bis hier hin alles verstanden habe!
bin aufm besten weg nen anständigen cobaal auf nt basis zu basteln
wenn mir jetzt jemand sagen könnte, wie der befehl heißt, das der "bodygurad" das spiel mit dem zu beschützenden verlässt wäre fast alles gelöst!
komme einfach nicht drauf
|
hm hm hm ....
cobaal auf nt basis..wie? 1.8 , 1.9 ?
er folgt ins game?
geht durchs tp?
oder wie oder was?
befehl zum leaven weis ich auch ned.^^
|
|
|
02/25/2010, 16:18
|
#27
|
elite*gold: 0
Join Date: Jun 2009
Posts: 724
Received Thanks: 43
|
Quote:
Originally Posted by kal_el
hm hm hm ....
cobaal auf nt basis..wie? 1.8 , 1.9 ?
er folgt ins game?
geht durchs tp?
oder wie oder was?
befehl zum leaven weis ich auch ned.^^
|
jupp genau das
mit dem gameverlassen, habe ich einfach über max game time gelöst
könnt ihr mir sagen, warum der bott sobald er im game ist, sozusagen die enter taste drückt?
man kann doch bestimmt dem bot sagen das wenn er im throne ist, auf eine bestimmte koordinate gehen soll oder?
weil atm halte ich den von den monstern fern indem ich nen großen abstand zum leader habe
|
|
|
02/25/2010, 23:37
|
#28
|
elite*gold: 0
Join Date: Jan 2009
Posts: 7,310
Received Thanks: 2,205
|
ja nimm doch einfach die tp - coordinaten
|
|
|
02/26/2010, 21:07
|
#29
|
elite*gold: 0
Join Date: Jun 2009
Posts: 724
Received Thanks: 43
|
gute idee, nur wie gebe ich ihm den befehl? er wurde ja ursprüngich geschrieben um dem einem anderen char zu folgen
andere sache:
ich verstehe das nicht ganz. also wir haben ja unser bodyguard script, nennen wir es mal BG.ntj wird ja in dem char script (zb: NTConfig_Amazon_epvp-Amazon.ntl) wie ein boss hinzu gefügt oder? (so mache ist es zumindest)
meine frage, oder bzw. das was mich verwirrt:
welche ToDo´s aus dem BG.ntj und welche ToDo´s aus dem NTConfig_Amazon_epvp-Amazon.ntl verarbeitet er char letztendlich?
zb: die max game time trage ich in der ntl ein. (klappt) den befehl tränke schlucken bei xx life klappt auch. aber zb. sich bei xx life heilen gehn klappt nicht. obwohl das ja auch in der ntl steht. die attacke die der char ausführen soll, schreibe ich auch in die ntl hinein, klappt auch. aber das verdammt heilen / tränke kaufen klappt einfach nicht. wieso?
edit:
kennt zufällig jemand die x,y-werte für die portalstellen im throne? also praktisch alle 4 ecken vom throne.
würde gerne die tp stelle von meinem hammerdin ändern und dem bodygard sagen, das er dort stehen bleiben soll
|
|
|
03/02/2010, 00:13
|
#30
|
elite*gold: 0
Join Date: Jan 2010
Posts: 11
Received Thanks: 0
|
Es wäre nett von euch wenn mir auch jemand antworten würde =(
|
|
|
 |
|
Similar Threads
|
[Guide] Grundlagen der D2NT/JavaScript Programmierung
02/08/2012 - Diablo 2 Programming - 35 Replies
Hallo zusammen!
Wie angedroht wird hier mein kleiner Guide entstehen, in dem es um die die Grundlagen der Programmierung von Scripten für D2NT entstehen.
Da ich generell momentan wenig Zeit habe, werde ich nach und nach editieren, je nachdem wie ich Zeit und Lust habe.
Die Struktur ist noch alles andere als Fest und wird eventuell noch drastisch geändert.
Grundsätzliches
Da ich immer wieder nach sehr grundlegenden Zusammenhängen gefragt werde, fand ich ich mal angebracht, diese...
|
suche D2NT soso guide
01/21/2011 - Diablo 2 - 11 Replies
Hey würde gerne mal wissen was ihr fuer ne soso fuer eure bot runs nimmt mit skillung, eq und merc
und welche runs ihr denn macht
wäre echt nett wenn mir einer son guide posten würdet:handsdown:
|
[GUIDE] Einen eigenen Metin2 Hamachi Pserver [EINFACHER GUIDE]
12/08/2010 - Metin2 Guides & Templates - 20 Replies
Mir war ein bisschen Langweilig da dacht ich, ich mach mal einen Metin2 Hamachi Pserver Guide.
Ich hoffe er gefällt euch ;)
Es ist zwar eine Menge zu Lesen aber der Spaß ist gigantisch.
Folgendes Wird Gebraucht:
1. Hamachi
2. ServerFiles (Per Pn natürlich)
3. Einen Pc oder Laptop mit mindestens 2GB Ram
4. Eine Menge Geduld für den ersten Anlauf
|
Suche einen D2NT experten
04/13/2010 - Diablo 2 Programming - 0 Replies
Hallo Leute bin leider kein experte, und somit poste ich hier mein anliegen.
Es geht um folgendes: Mein Hammerdin telet manchmal zum Boss / Gegner aber nicht genau er attackiert mit Hammer aber, diese treffen das Monster nicht. Bis mein Akt 3 Merc den killt dauert das ewig, und es kommt vor das der Gegner Cold immun ist, dann kann sogar merc nichts mehr machen, und er attackiert und attackiert, ohne Erfolg.
Ich würde das gerne umändern in:
Hammerdin soll zum Gegner telen und Hammer...
|
Wie ist ein Botscript aufgebaut D2NT [Guide]
01/25/2010 - Diablo 2 Programming - 0 Replies
Ein Script läuft immer von Oben nach unten ab.
Beispiel NTSummoner.NTJ
Wie man sehr gut sehen kann werden einfach Funktionen, welche über die files im Ordner "scripts\libs\common" definiert sind in der gewünschten reihenfolge abgespielt.
Man muss also kein Coder sein, um ein Botscript an seine eigenen Wünsche anzupassen.
|
All times are GMT +1. The time now is 15:17.
|
|