moin,
vor einiger Zeit kam ich mal auf den Trichter nen kleines Followscript für den D2NT zu schreiben.
Das Ergebnis ist zwar noch lange nicht Perfekt/Ausgereift, aber nachdem es meinen Wünschen genügt, habe ich leider noch nicht wieder daran weitergearbeitet.
Daher dachte ich mir, bevor es in der Versenkung verschwindet kann der ein oder andere von euch evtl. noch nutzen daraus ziehen oder mir neuen Ansporn durch Verbesserungsvorschläge usw geben!
Was kann/macht es überhaupt:
- Folgt dem Leader in den entsprechenden Akt
- führt die üblichen Stadtätigkeiten aus (kaufen, verkaufen, etc)
- wartet dort auf TP (und nimmt es auch nur wenn Portal- & Leaderarea übereinstimmen)
- rennt dem Leader hinterher
- kämpft Unterwegs mit (über Variable steuerbar)
- sammelt ein (über Variable steuerbar)
- folgt durch Portale/Stairs
- geht wieder in die Stad und wartet wenn es den Leader "aus den Augen" verliert
Installation:
- Script im Anhang runterladen und in ...\scripts\NTBot\bots\ speichern
- in die Charconfig NTConfig_Script.push("NTFollow.ntj"); einfügen
Konfiguration:
- in der Charconfig public auf true setzen
- in der NTFollow.ntj folgende Werte anpassen:
Zu Beachten:
- Will man z.B. einen neuen Char folgen lassen (level1) sollte man in der Charconfig den Merc auf false setzen und dem Char am besten ne Hand voll Gold hinwerfen sowie nen TpFolianten kaufen - sonst rennt der nur wie blöd durch die Gegend inner Stadt
- Bei Chars ohne Eni/Teleport muss man entweder den "Orginal" D2nt3.0 nutzen oder die Enibugprüfung an-/abschaltbar haben (siehe weiter unten)
Probleme:
- Areawechsel die nicht über Portal/Stair gehen (also zB Flammenfluss->CS) schafft er nicht.
- Wenn der Leader z.B. durch´s rote Portal nach Tristram geht und sich ganz schnell verkrümelt, so das der Bot einen verliert, geht er ständig durch´s Portal in der Hoffnung man würde auf der andern Seite warten...
- Er folgt bis zum Umfallen bzw Chicken (soll heissen er geht Unterwegs nicht in die Stadt um ggf. Tränke nachzukaufen).
Enibugprüfung bzw. Teleport an-/abschaltbar machen:
Credits hierfür gehen an hdin84!
Dies ist nur dann Notwendig, wenn ihr z.B. den Bluebird oder eine andere Modifikation
des D2NT nutzt, in der die Enibugmeldung im Manager kommt bei Chars die keine Eni tragen
bzw. nicht Telen können.
Wer den Orginal D2NT nutzt braucht dies nicht für das Script zu machen, ich würde es allerdings empfehlen - hierdurch hat man die Prüfung auf den Enibug nämlich auch gleich dabei!
- Öffnet eure ...\scripts\libs\common\NTMove.ntl
und ersetzt die Funktion NTM_MoveTo hiermit:
- jetzt geht ihr in die ...\scripts\NTBot\char_configs\NTConfig.ntl
und fügt das hinzu:
- zuletzt müsst ihr jetzt noch in eure Charconfiguration folgendes einfügen
(für unseren Fall hier am besten über das NTConfig_Script.push("NTFollow.ntj")):
So... hoffe ich hab nix vergessen & is einigermaßen Verständlich das ganze!
Ansonsten warte ich auf eure Kritik, Fehlermeldungen, etc. & werde dann sehen was ich machen kann :)
gruss, flusen
vor einiger Zeit kam ich mal auf den Trichter nen kleines Followscript für den D2NT zu schreiben.
Das Ergebnis ist zwar noch lange nicht Perfekt/Ausgereift, aber nachdem es meinen Wünschen genügt, habe ich leider noch nicht wieder daran weitergearbeitet.
Daher dachte ich mir, bevor es in der Versenkung verschwindet kann der ein oder andere von euch evtl. noch nutzen daraus ziehen oder mir neuen Ansporn durch Verbesserungsvorschläge usw geben!
Was kann/macht es überhaupt:
- Folgt dem Leader in den entsprechenden Akt
- führt die üblichen Stadtätigkeiten aus (kaufen, verkaufen, etc)
- wartet dort auf TP (und nimmt es auch nur wenn Portal- & Leaderarea übereinstimmen)
- rennt dem Leader hinterher
- kämpft Unterwegs mit (über Variable steuerbar)
- sammelt ein (über Variable steuerbar)
- folgt durch Portale/Stairs
- geht wieder in die Stad und wartet wenn es den Leader "aus den Augen" verliert
Installation:
- Script im Anhang runterladen und in ...\scripts\NTBot\bots\ speichern
- in die Charconfig NTConfig_Script.push("NTFollow.ntj"); einfügen
Konfiguration:
- in der Charconfig public auf true setzen
- in der NTFollow.ntj folgende Werte anpassen:
Code:
var _fight = true; // true=mitkämpfen - false=nur hinterher rennen var _pick = true; // true=items & co aufsammeln - false=nichts aufsammeln NTConfig_Leader = ""; // Name des Leader-Chars
- Will man z.B. einen neuen Char folgen lassen (level1) sollte man in der Charconfig den Merc auf false setzen und dem Char am besten ne Hand voll Gold hinwerfen sowie nen TpFolianten kaufen - sonst rennt der nur wie blöd durch die Gegend inner Stadt
- Bei Chars ohne Eni/Teleport muss man entweder den "Orginal" D2nt3.0 nutzen oder die Enibugprüfung an-/abschaltbar haben (siehe weiter unten)
Probleme:
- Areawechsel die nicht über Portal/Stair gehen (also zB Flammenfluss->CS) schafft er nicht.
- Wenn der Leader z.B. durch´s rote Portal nach Tristram geht und sich ganz schnell verkrümelt, so das der Bot einen verliert, geht er ständig durch´s Portal in der Hoffnung man würde auf der andern Seite warten...
- Er folgt bis zum Umfallen bzw Chicken (soll heissen er geht Unterwegs nicht in die Stadt um ggf. Tränke nachzukaufen).
Enibugprüfung bzw. Teleport an-/abschaltbar machen:
Credits hierfür gehen an hdin84!
Dies ist nur dann Notwendig, wenn ihr z.B. den Bluebird oder eine andere Modifikation
des D2NT nutzt, in der die Enibugmeldung im Manager kommt bei Chars die keine Eni tragen
bzw. nicht Telen können.
Wer den Orginal D2NT nutzt braucht dies nicht für das Script zu machen, ich würde es allerdings empfehlen - hierdurch hat man die Prüfung auf den Enibug nämlich auch gleich dabei!
- Öffnet eure ...\scripts\libs\common\NTMove.ntl
und ersetzt die Funktion NTM_MoveTo hiermit:
Code:
function NTM_MoveTo(areaid, x, y, retry, clearpath)
{
var i, n;
var _teleport;
var _path;
var _retry = 0;
if(x == me.x && y == me.y)
return true;
if(arguments.length < 4)
retry = 3;
if(arguments.length < 5)
clearpath = false;
if(NTC_InTown() || NTConfig_Leech)
_teleport = false;
else
_teleport = true;
if(NTC_GetSkillLevel(54) < 1 && !NTConfig_Leech)
{
ExitGame();
SendCopyData("D2NT Manager", null, 7<<16, "ÿE00000Enigmabug- quit game");
}
_path = GetPath(areaid, me.x, me.y, x, y, _teleport);
if(!_path)
return false;
for(i = 0 ; i < _path.length ; i++)
{
for(n = 0 ; n < 2 ; n++)
{
if(_teleport)
{
if(NTM_TeleportTo(_path[i][0]+Random(-n, n), _path[i][1]+Random(-n, n)))
break;
}
else
{
if(NTC_InTown() || NTConfig_Leech) {
if(NTM_WalkTo(_path[i][0], _path[i][1]))
break;
}
}
}
if(n < 2)
{
if(clearpath)
{
if(!NTA_ClearPosition(20, true, 2))
return false;
NTP_DoPrecast(false);
NTM_MoveTo(me.areaid, _path[i][0], _path[i][1], 1);
}
}
else if(_retry < retry)
{
_path = GetPath(areaid, me.x, me.y, x, y, _teleport);
if(!_path)
return false;
i = -1;
_retry++;
}
else
return false;
}
return true;
}
und fügt das hinzu:
Code:
var NTConfig_Leech;
(für unseren Fall hier am besten über das NTConfig_Script.push("NTFollow.ntj")):
Code:
NTConfig_Leech = false; // Teleport und Enibugprüfung an(true)/aus(false)
Ansonsten warte ich auf eure Kritik, Fehlermeldungen, etc. & werde dann sehen was ich machen kann :)
gruss, flusen