|
You last visited: Today at 14:09
Advertisement
[Release] Muddy's D2NT
Discussion on [Release] Muddy's D2NT within the Diablo 2 Programming forum part of the Diablo 2 category.
04/25/2011, 11:16
|
#1531
|
Administrator
elite*gold: 41364
Join Date: Jan 2010
Posts: 22,727
Received Thanks: 12,653
|
Quote:
Originally Posted by 19Miami
hey, hab versucht mithilfe dieses scriptes --> 
baal bzw diaruns zu joinen um bei vollen games die chests abzufarmen, nur leider joint er nur dem game und bleibt dann stehen, woran liegt das denn?
|
Vermutlich weil du in dem Entry Point die NTBotGame.ntj statt der MWBotGame.ntj ausführst, welche bei mir ganz einfach nicht existiert.
Aber du könntest dir die Sache auch einfacher machen und einfach meinen standard Entry Point verwenden, wobei du einfach wie  beschrieben die Namen deiner Chars angibst.
Quote:
Originally Posted by Eichenlaub
Ich habe meine Char Konfigs nun ein wenig angepasst, um schneller die Runs ändern zu können (mal ein leichter Run, dann wieder Dia+Baal für nightmare runs etc.). Vielleicht könnte man das in zukünftigen Versionen fest einbauen?
Hier mein Ansatz:
Code:
NTConfig_KampfModus = 1;
// 1 = Leichter Run
// 2 = Mittlerer Run
// 3 = Schwerer Run
// 4 = Dia + Baal Run
// 5 = Rush bot
if(NTConfig_KampfModus <= 1)
{
// Scripte
}
if(NTConfig_KampfModus == 2)
{
// Scripte
}
etc.
Das ganze habe ich noch ein wenig garniert mit NTConfig_BotType vom Public Botten for Dummies um noch zwischen 3 Bot Arten zu unterscheiden: Leader, Co Fighter und Leecher.
Hat den Vorteil, dass ich sehr schnell die Laufwege des Bots ändern kann. Vielleicht könnte man das so erweitern, dass er unregelmäßig den Run ändert um z.b. von Kampfmodus 1 zu Kampfmodus 2 zu wechseln? Dafür reicht allerdings meine Programmierkenntnis nicht aus
Ansonsten super gemachter Bot 
|
Das würde aber voraussetzen, dass ich irgendwelche Run Konfigurationen vorgebe, was ich eigentlich nicht möchte.
Ich bin der Meinung, das sollte jeder für sich machen.
Zumal das ja nun auch keine wirklich schwierige Änderung ist, meinst du nicht, das könnte man sich bei Bedarf auch selber einfügen?
Achja:
Code:
NTConfig_KampfModus = Random(0, 5);
Initialisiert deine Variable mit einer "Zufallszahl" zwischen 0 und 5.
LG
Muddy
|
|
|
04/25/2011, 12:02
|
#1532
|
elite*gold: 0
Join Date: Mar 2010
Posts: 87
Received Thanks: 1
|
gibts ne einfache möglichkeit den leechbot in deinen/muddys bot zu integrieren? ansonsten einfach sternie runterladen und den fürsl leechen verwenden?
edit: welche chests sind im Nutzen/Zeit Verhältnis gut und welche weniger gut?
edit2: gibts eigentlich die möglichkeit bestimmte runs zu joinen so wie beim leechbot und dann einfach das chestscript abrufen oder games zu joinen die noch nciht lange offen sind?
|
|
|
04/25/2011, 12:59
|
#1533
|
elite*gold: 0
Join Date: Apr 2010
Posts: 27
Received Thanks: 10
|
Quote:
Originally Posted by 19Miami
gibts ne einfache möglichkeit den leechbot in deinen/muddys bot zu integrieren? ansonsten einfach sternie runterladen und den fürsl leechen verwenden?
edit: welche chests sind im Nutzen/Zeit Verhältnis gut und welche weniger gut?
edit2: gibts eigentlich die möglichkeit bestimmte runs zu joinen so wie beim leechbot und dann einfach das chestscript abrufen oder games zu joinen die noch nciht lange offen sind?
|
zu edit2 siehe seite 152 da war die Frage heute schon mal.
|
|
|
04/25/2011, 15:46
|
#1534
|
Administrator
elite*gold: 41364
Join Date: Jan 2010
Posts: 22,727
Received Thanks: 12,653
|
Quote:
Originally Posted by 19Miami
gibts ne einfache möglichkeit den leechbot in deinen/muddys bot zu integrieren? ansonsten einfach sternie runterladen und den fürsl leechen verwenden?
edit: welche chests sind im Nutzen/Zeit Verhältnis gut und welche weniger gut?
edit2: gibts eigentlich die möglichkeit bestimmte runs zu joinen so wie beim leechbot und dann einfach das chestscript abrufen oder games zu joinen die noch nciht lange offen sind?
|
Und was genau ist ein Leechbot? Ein Entry Point? Ein Bot Script?
Edit 1: Keine Ahnung, probier es doch einfach aus.
Edit 2: Dazu hatte ich dir eigentlich schon in meiner letzten Antwort einen entsprechenden Link genannt.
LG
Muddy
|
|
|
04/25/2011, 16:45
|
#1535
|
elite*gold: 0
Join Date: Mar 2010
Posts: 87
Received Thanks: 1
|
als leechbot verstehe ich persönlich ein bot der einem anderen bot den ich in der friendlist habe folgt und mitkämpft bei baal selbständig
edit: bei der alten 1.13 version hatte ich in meinem Log zu jedem tag nen file und das konnte ich mit firefox öffnen, mit der version 1.2 jetzt seit gestern existiert diese datei nicht, da habe ich lediglich mw_itemlog_v2.xsl die datei drinne und gambling usw, wenn ich die aber öffne mit firefox kann man nichts lesen/erkennen
beim alten war folgende datei vorhanden 04-22-11_itemlog.xml
|
|
|
04/25/2011, 17:21
|
#1536
|
elite*gold: 0
Join Date: Jan 2011
Posts: 60
Received Thanks: 19
|
Quote:
Originally Posted by Muddy_Waters
Achja:
Code:
NTConfig_KampfModus = Random(0, 5);
Initialisiert deine Variable mit einer "Zufallszahl" zwischen 0 und 5. 
|
Sehr schön, danke
|
|
|
04/25/2011, 17:34
|
#1537
|
elite*gold: 0
Join Date: Sep 2009
Posts: 148
Received Thanks: 21
|
Ich würd gern mal wissen obs zusätzlich zum Monstercount bei Baalruns auch die Möglichkeit gibt die 3 versch. Monsterarten die im Throne sind anzeigen zu lassen? Damit Fighter die cleanen helfen, wissen wer dort lauert? "Souls, puppets, Knights, Witches.." usw.? Oder ist das "Tp safe, %countmonsters %range to tp near Tp, %countmonsterstotal total in throne" das höhste der Gefühle?
|
|
|
04/25/2011, 17:50
|
#1538
|
elite*gold: 0
Join Date: Oct 2010
Posts: 211
Received Thanks: 44
|
Quote:
Originally Posted by 19Miami
als leechbot verstehe ich persönlich ein bot der einem anderen bot den ich in der friendlist habe folgt und mitkämpft bei baal selbständig
edit: bei der alten 1.13 version hatte ich in meinem Log zu jedem tag nen file und das konnte ich mit firefox öffnen, mit der version 1.2 jetzt seit gestern existiert diese datei nicht, da habe ich lediglich mw_itemlog_v2.xsl die datei drinne und gambling usw, wenn ich die aber öffne mit firefox kann man nichts lesen/erkennen
beim alten war folgende datei vorhanden 04-22-11_itemlog.xml
|
hast du das erstellen von XML logs in der Charconfig(glaube eher es ist in der GlobalSettings Config) aktiviert?
Hast du den Default Ordner kopiert und deinem Char entsprechend benannt? Groß-Kleinschreibung beachtet?
Fällt mir spontan dazu ein... Prüf das bitte mal
/edit: Nett wiederholt @ unter mir
|
|
|
04/25/2011, 18:04
|
#1539
|
elite*gold: 0
Join Date: Nov 2010
Posts: 36
Received Thanks: 16
|
Quote:
Originally Posted by 19Miami
edit: bei der alten 1.13 version hatte ich in meinem Log zu jedem tag nen file und das konnte ich mit firefox öffnen, mit der version 1.2 jetzt seit gestern existiert diese datei nicht, da habe ich lediglich mw_itemlog_v2.xsl die datei drinne und gambling usw, wenn ich die aber öffne mit firefox kann man nichts lesen/erkennen
beim alten war folgende datei vorhanden 04-22-11_itemlog.xml
|
Du musst in dem Ordner
Muddy's D2NT\scripts\Logs\
den "Default" Ordner am besten kopieren und einfügen, die Kopie dann exakt so benennen wie der Char heißt mit dem du bottest. Außerdem muss glaube ich in der Charconfig das loggen aktiviert werden.
|
|
|
04/25/2011, 19:35
|
#1540
|
Administrator
elite*gold: 41364
Join Date: Jan 2010
Posts: 22,727
Received Thanks: 12,653
|
Quote:
Originally Posted by 19Miami
als leechbot verstehe ich persönlich ein bot der einem anderen bot den ich in der friendlist habe folgt und mitkämpft bei baal selbständig
edit: bei der alten 1.13 version hatte ich in meinem Log zu jedem tag nen file und das konnte ich mit firefox öffnen, mit der version 1.2 jetzt seit gestern existiert diese datei nicht, da habe ich lediglich mw_itemlog_v2.xsl die datei drinne und gambling usw, wenn ich die aber öffne mit firefox kann man nichts lesen/erkennen
beim alten war folgende datei vorhanden 04-22-11_itemlog.xml
|
Also ein Entry Point ist schnell gemacht, dort musst du in der Regel nur eine Zeile anpassen, in den Bot Scripten selber ist es meist mehr - ob das einfach ist oder nicht ist glaube ich eine Frage der perspektive...ich fände es wohl einfach.
Zu der XML Sache haben sich meine Vorredner ja schon ausgiebig geäußert.
Quote:
Originally Posted by -Nemesis1337-
Ich würd gern mal wissen obs zusätzlich zum Monstercount bei Baalruns auch die Möglichkeit gibt die 3 versch. Monsterarten die im Throne sind anzeigen zu lassen? Damit Fighter die cleanen helfen, wissen wer dort lauert? "Souls, puppets, Knights, Witches.." usw.? Oder ist das "Tp safe, %countmonsters %range to tp near Tp, %countmonsterstotal total in throne" das höhste der Gefühle?
|
Also soweit ich es in Erinnerung habe, müsste ich sowas in der Richtung schon implementiert haben.
Allerdings erfolgt die Ausgabe dabei auf die Konsole, es findet keine für jedermann sichtbare Chat Ausgabe statt. Ich meine ich hatte das in einer extra Funktion untergebracht, schau dich einfach mal etwas im Baalscript um.
Machbar ist das auf jeden Fall.
LG
Muddy
|
|
|
04/25/2011, 21:48
|
#1541
|
elite*gold: 0
Join Date: Sep 2009
Posts: 148
Received Thanks: 21
|
Nja hab diesen Eintrag ja schon gefunden.
D.h. es muss wohl eine Variable geben um den Monstertyp noch mit angeben zu können:
Quote:
Print("ÿc8" + MW_CountMonstersInThrone(20) + " Monsters nearby, " + MW_CountMonstersInThrone() + " in total.");
if(NTConfig_PublicMode)
{
NTM_MoveTo(me.areaid, 15116, 5068);
var _monsterCount = MW_CountMonstersInThrone(20);
if(_monsterCount)
{
if(_monsterCount < 3)
Say("TP cold, " + _monsterCount + " Monsters close!");
else if(_monsterCount < 6)
Say("TP warm - Help pls, " + _monsterCount + " Monsters close!");
else
Say("TP ******* hot, " + _monsterCount + " Monsters close!");
}
else
Say("TP up, no Monsters close!");
|
|
|
|
04/25/2011, 22:10
|
#1542
|
Administrator
elite*gold: 41364
Join Date: Jan 2010
Posts: 22,727
Received Thanks: 12,653
|
Quote:
Originally Posted by -Nemesis1337-
Nja hab diesen Eintrag ja schon gefunden.
D.h. es muss wohl eine Variable geben um den Monstertyp noch mit angeben zu können:
|
Bitte Quellcode nicht als [Quote] posten, dabei geht die gesamte Formatierung übern Jordan und man kann nichts mehr lesen.
Die Funktion zählt lediglich die Monster Units im passenden Bereich und gibt dann die Anzahl zurück. Der Rückgabetyp ist also lediglich ein number Objekt, nicht mehr und nicht weniger.
Wenn du zwischen den verschiedenen Units unterscheiden willst, musst du in die Funktion direkt gehen. So wie ich das gerade sehe, habe ich das relativ kompliziert umgesetzt, aber frag mich jetzt nicht wieso.
Die Funktion dazu sieht so aus:
Code:
function MW_CountMonstersInThrone(range, showMonsters)
{
var _monster, _count, _monsterData, _output;
var i;
if(arguments.length < 1)
range = 100;
if(arguments.length < 2)
showMonsters = false;
_count = 0;
_monsterData = new Array();
_monster = NTC_FindUnit(NTC_UNIT_MONSTER);
if(_monster)
{
do
{
if(NTA_IsValidMonster(_monster) && _monster.IsAttackable() && _monster.y <= 5090 && GetDistance(me, _monster) < range)
{
for(i = 0; i < _monsterData.length; i++)
{
if(_monsterData[i][0] == _monster.classid)
{
if(_monsterData[i][1] == "" && !(_monster.spectype&0x0E))
_monsterData[i][1] = _monster.name;
_monsterData[i][2]++;
break;
}
}
if(i >= _monsterData.length)
{
_monsterData.push([_monster.classid, "", 1]);
if(!(_monster.spectype&0x0E))
_monsterData[_monsterData.length - 1][1] = _monster.name;
}
_count++;
}
}
while(_monster.GetNext());
}
if(showMonsters)
{
Print("ÿc1" + _count + " ÿc8monsters in Throne:");
for(i = 0; i < _monsterData.length; i++)
{
_output = "ÿc8" + _monsterData[i][1];
if(_monsterData[i][1].indexOf("Fury") > -1)
_output = _output.replace("Fury", "Furies");
else if(_monsterData[i][1].indexOf("Witch") > -1 || _monsterData[i][1].indexOf("Magus") > -1)
_output += "es";
else
_output += 's';
_output += ": ÿc1" + _monsterData[i][2];
Print(_output);
}
}
return _count;
}
Die Funktion macht prinzipiell nichts anderes, als die Monster abhängig von ihrem Typ in ein Array einzusortieren.
Was man vielleicht verbessern sollte, ist das Beschaffen der Klassen Namen der Monster - denn das wird hier direkt aus den Units abgeleitet, was in dem Moment in die Hose geht, wenn einmal nur Champions von einer Monstersorte verfügbar sind.
Jedenfalls lässt sich das leicht so erweitern, dass die Ausgabe der verschiedenen Monsterklassen nicht nur auf die Konsole erfolgt, sondern eben auch eine Chat Ausgabe ausgeführt wird.
Sowas könnte dann etwa so aussehen:
Code:
function MW_CountMonstersInThrone(range, showMonsters)
{
var _monster, _count, _monsterData, _output, _chatOutput;
var i;
if(arguments.length < 1)
range = 100;
if(arguments.length < 2)
showMonsters = false;
_count = 0;
_monsterData = new Array();
_monster = NTC_FindUnit(NTC_UNIT_MONSTER);
if(_monster)
{
do
{
if(NTA_IsValidMonster(_monster) && _monster.IsAttackable() && _monster.y <= 5090 && GetDistance(me, _monster) < range)
{
for(i = 0; i < _monsterData.length; i++)
{
if(_monsterData[i][0] == _monster.classid)
{
if(_monsterData[i][1] == "" && !(_monster.spectype&0x0E))
_monsterData[i][1] = _monster.name;
_monsterData[i][2]++;
break;
}
}
if(i >= _monsterData.length)
{
_monsterData.push([_monster.classid, "", 1]);
if(!(_monster.spectype&0x0E))
_monsterData[_monsterData.length - 1][1] = _monster.name;
}
_count++;
}
}
while(_monster.GetNext());
}
if(showMonsters)
{
Print("ÿc1" + _count + " ÿc8monsters in Throne:");
_chatOutput = "Monster types: ";
for(i = 0; i < _monsterData.length; i++)
{
_output = "ÿc8" + _monsterData[i][1];
if(_chatOutput.indexOf('[') > -1)
_chatOutput += ", ";
_chatOutput += _monsterData[i][1] + " [" + _monsterData[i][2] + "]";
if(_monsterData[i][1].indexOf("Fury") > -1)
_output = _output.replace("Fury", "Furies");
else if(_monsterData[i][1].indexOf("Witch") > -1 || _monsterData[i][1].indexOf("Magus") > -1)
_output += "es";
else
_output += 's';
_output += ": ÿc1" + _monsterData[i][2];
Print(_output);
}
Say(_chatOutput);
}
return _count;
}
Aber wie schon erwähnt würde ich, um das besser zu machen, einfach noch eine kleine Funktion schreiben, die den Klassennamen zu einer classid zurückgibt. Wobei das eher zu den Nuancen zählt, sollte auch so schon das machen, was du willst.
LG
Muddy
|
|
|
04/25/2011, 22:44
|
#1543
|
elite*gold: 0
Join Date: Sep 2009
Posts: 148
Received Thanks: 21
|
Ich werds mir merken
Danke funzt echt super gut!! :O
Die Leecher findens auch prima^^
Big thx
|
|
|
04/25/2011, 23:15
|
#1544
|
elite*gold: 0
Join Date: Mar 2010
Posts: 87
Received Thanks: 1
|
itemlog error, filehandle is null!!
kommt bei mir beim items sellen, was hats damit auf sich?
|
|
|
04/25/2011, 23:19
|
#1545
|
Administrator
elite*gold: 41364
Join Date: Jan 2010
Posts: 22,727
Received Thanks: 12,653
|
Quote:
Originally Posted by 19Miami
itemlog error, filehandle is null!!
kommt bei mir beim items sellen, was hats damit auf sich?
|
Sehr wahrscheinlich ist der Ausgabeordner nicht vorhanden oder falsch benannt.
Der Ordner muss den Namen deines Chars tragen.
LG
Muddy
|
|
|
 |
|
Similar Threads
|
[Release] D2NT 3.1 1.13c
07/17/2016 - Diablo 2 - 91 Replies
hi,
hab eben den d2nt3.1 gefunden. ein neues baba script is dabei.
release thread eon
D2NT3.1
|
[Realease] Muddy's Waypoint Catcher
08/21/2013 - Diablo 2 Programming - 46 Replies
Moin zusammen,
hier mal die erste Release Version eines kleinen Scripts genannt Waypoint Catcher. Das ganze ist jetzt nichtmal 24h alt, dementsprechend sind vermutlich noch einige Bugs vorhanden. Hinweise dazu nehme ich gerne entgegen. ;)
Features:
- Suchen sämtlicher Wegpunkte mit Ausnahme, wobei in Akt ein durch Probleme im Jail Bereich nach dem Wegpunkt Outer Cloister abgebrochen wird
- Wahlweise auch mit TP an jedem gefundenen Wp, sodass man damit auch anderen (nicht-Bots) die...
|
[D2NT] Long Dia Release
05/10/2011 - Diablo 2 Programming - 28 Replies
Ein kleines Script für diablo, es startet beim eingang macht ein tp cleart den weg zum star macht am star noch ein tp dann läufts wie das normale nur cleart es schöner :)
hoffe euch gefällts ich habs noch nicht wirklich getestet (2-3 runs) bugs können gerne hier gepostet werden verbesserungs vorschläge auch :D
installation:
1.)Script in den Bot ordner kopieren
2.)Script im editor oder vergleichbaren öffnen
3.) Msg´s anpassen (ist nicht schwer)
4.) in der char config die zeile...
|
D2NT 3.0 Pickit release
10/22/2010 - Diablo 2 - 77 Replies
edit
|
Muddy's D2NT Help
07/29/2010 - Diablo 2 - 3 Replies
hi i just started to use the bot it work's great.
how do i set up the skill's i use on my Sorc and pick up itme's?
.....
if you reply to this post please use english
|
All times are GMT +1. The time now is 14:10.
|
|