|
You last visited: Today at 02:11
Advertisement
teleport bug d2nt 3.x
Discussion on teleport bug d2nt 3.x within the Diablo 2 Programming forum part of the Diablo 2 category.
04/23/2010, 15:51
|
#1
|
elite*gold: 0
Join Date: Jul 2008
Posts: 169
Received Thanks: 14
|
teleport bug d2nt 3.x
alle paar runs kann mein pala nicht porten, weil teleport nicht in der leiste ist durch den enigma re-equip bug.
frage:
scripts/libs/common/NTMove.ntl
Quote:
function NTM_TeleportTo(x, y)
{
if(NTC_CheckSkill(54) < 1)
{
ExitGame();
NTC_SendLogToOOG("Teleport Bug - Exit Game");
}
else
NTC_CastSkill(54, NTC_HAND_RIGHT, x, y);
for(var i = 0 ; i < 15 ; i++)
{
if(Math.abs(me.x-x) < 4 && Math.abs(me.y-y) < 4)
return true;
NTC_Delay(NTC_DELAY_FRAME);
}
return false;
}
|
ich habe den roten bereich eingefügt.
NTC_CheckSkill ist laut errormessage ingame nicht definiert.
weiß einer rat?
|
|
|
04/23/2010, 15:56
|
#2
|
elite*gold: 0
Join Date: Jul 2008
Posts: 169
Received Thanks: 14
|
Renamed NTC_CheckSkill() to NTC_GetSkillLevel() function
gerade eben in den changenotes gelesen, mal gucken ob es was bringt ^^
|
|
|
04/23/2010, 16:06
|
#3
|
elite*gold: 0
Join Date: Jul 2008
Posts: 169
Received Thanks: 14
|
in function NTM_MoveTo
gibt es den bereich
Quote:
if(NTC_InTown() || NTC_GetSkillLevel(54) < 1)
_teleport = false;
else
_teleport = true;
|
dahinter kommt dann
Quote:
if(_teleport)
{
if(NTM_TeleportTo(_path[i][0]+Random(-n, n), _path[i][1]+Random(-n, n)))
break;
}
else
{
if(NTM_WalkTo(_path[i][0], _path[i][1]))
break;
}
|
was genau passiert in der schleife?
|
|
|
04/23/2010, 16:16
|
#4
|
elite*gold: 0
Join Date: Jul 2008
Posts: 169
Received Thanks: 14
|
ok habs nu hingekriegt
teleportbug fix:
Quote:
scripts/libs/common/NTMove.ntl
|
in
Quote:
Quote:
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()) {
if(NTM_WalkTo(_path[i][0], _path[i][1]))
break;
}
else {
ExitGame();
}
}
}
|
klappt bei mir
viel spaß damit
|
|
|
04/23/2010, 21:23
|
#5
|
elite*gold: 0
Join Date: Dec 2008
Posts: 304
Received Thanks: 1,128
|
Also ich hab zwar die genaue Stelle gefunden, nur was genau hast du gemacht? Hast du nen Teil rausgelöscht? Oder doch nur Verändert?
Kannst du mal deine NTMove.ntl hochladen oder als code posten?
Interessiert mich brennend!
Gruß Blue
|
|
|
04/23/2010, 21:34
|
#6
|
elite*gold: 0
Join Date: Jul 2008
Posts: 169
Received Thanks: 14
|
ich habe im grunde nur einen zusätzlichen if-teil im im else-teil vom _teleport hinzugefügt
Quote:
if(_teleport)
{
if(NTM_TeleportTo(_path[i][0]+Random(-n, n), _path[i][1]+Random(-n, n)))
break;
}
else
{
if(NTM_WalkTo(_path[i][0], _path[i][1]))
break;
}
|
Quote:
if(_teleport)
{
if(NTM_TeleportTo(_path[i][0]+Random(-n, n), _path[i][1]+Random(-n, n)))
break;
}
else
{
if(NTC_InTown()) {
if(NTM_WalkTo(_path[i][0], _path[i][1]))
break;
}
else {
ExitGame();
}
|
dies bewirkt beim _teleport=false , dass der bot nachdem er das portal, das aus der stadt in eine gegend mit monstern führt (der if(NTC_InTown() - teil regelt das) nochmal checkt ob er teleporten kann. falls er das nicht kann, beendet er das spiel und macht ein neues auf.
man könnte hier eine funktion hinzufügen, die enigma re-equippt, aber das ist mir zu gefährlich.
|
|
|
04/23/2010, 21:41
|
#7
|
elite*gold: 0
Join Date: Dec 2008
Posts: 304
Received Thanks: 1,128
|
Erstmal danke für die schnelle Antwort!
Habe jetzt einfach deinen roten Teil an den jeweiligen Stellen eingefügt.
Wenn jetzt alles mit den geschweiften Klammern stimmt, sollte das hoffentlich klappen
Wäre wirklich genial!
Ich bin ja dabei, einen Bot zu verbessern (siehe meine Signatur). Dürfte ich das in mein nächstes Update mit einbauen?
Würde sich selbstverständlich in den Danksagungen (Credits) in der Anleitung erwähnen!!!
Kannst mir deswegen ja mal ne PM schicken
Gruß Blue
|
|
|
04/23/2010, 21:42
|
#8
|
elite*gold: 0
Join Date: Jul 2008
Posts: 169
Received Thanks: 14
|
klar gerne, danke
ob es bei dir funktioniert, kannst du überprüfen indem du deine enigma in deine truhe packst und danach den bot anschmeist um zu gucken ob er ohne enigma bei pindle das spiel verlässt ^^
|
|
|
04/24/2010, 01:03
|
#9
|
elite*gold: 0
Join Date: Jul 2008
Posts: 169
Received Thanks: 14
|
hat einer nen plan wie ich dem common log mitteile, dass ich gerade wegen dem teleportbug das game verlassen habe?
ich habe es mit
Quote:
sendEventToOOG("Teleportbug -_-");
|
versucht, aber kein erfolg damit
|
|
|
04/24/2010, 02:23
|
#10
|
elite*gold: 0
Join Date: Jul 2008
Posts: 169
Received Thanks: 14
|
Quote:
NTC_SendLogToOOG(NTC_LOG_COMMON, "ÿc8" + "Enigmabug - quit game");
|
vor
Quote:
und das script spammt wann es benutzt wurde
|
|
|
04/24/2010, 16:29
|
#11
|
elite*gold: 0
Join Date: Dec 2008
Posts: 304
Received Thanks: 1,128
|
Und wo haste das jetzt nun wieder eingepackt?
Gruß Blue
|
|
|
04/24/2010, 16:45
|
#12
|
elite*gold: 0
Join Date: Jul 2008
Posts: 169
Received Thanks: 14
|
die vollständige funktion, wie ich sie nun habe:
Quote:
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() || NTC_GetSkillLevel(54) < 1)
_teleport = false;
else
_teleport = true;
_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()) {
if(NTM_WalkTo(_path[i][0], _path[i][1]))
break;
}
else {
NTC_SendLogToOOG(NTC_LOG_COMMON, "ÿc8" + "Enigmabug - quit game");
ExitGame();
}
}
}
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;
}
|
in
Quote:
D2NT2\scripts\libs\common
|
Quote:
|
|
|
04/27/2010, 14:28
|
#13
|
elite*gold: 0
Join Date: Jul 2008
Posts: 169
Received Thanks: 14
|
ich habe gerade eine verbesserte methode gefunden:
Quote:
in:
Quote:
\D2NT\scripts\libs\common\
|
dies:
Quote:
if(NTC_InTown() || NTC_GetSkillLevel(54) < 1)
_teleport = false;
else
_teleport = true;
|
mit folgendem ersetzen:
Quote:
if(NTC_InTown())
_teleport = false;
else
_teleport = true;
if(NTC_GetSkillLevel(54) < 1)
{
ExitGame();
SendCopyData("D2NT Manager", null, 7<<16, "ÿE00000Enigma Glitch Fixed");
}
|
das ganze bewirkt den aufruf von exitgame() vor der rekursion und es treten keine mehrfachen meldungen auf von sendcopydata (a.k.a NTC_SendLogToOOG)
selbe wirkungsweise mit einem bugfix im bugfix
quelle:
|
|
|
04/27/2010, 14:33
|
#14
|
elite*gold: 0
Join Date: Jul 2008
Posts: 169
Received Thanks: 14
|
hier nochmal die vollständige funktion:
Quote:
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())
_teleport = false;
else
_teleport = true;
if(NTC_GetSkillLevel(54) < 1)
{
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()) {
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;
}
|
|
|
|
04/27/2010, 16:33
|
#15
|
elite*gold: 117
Join Date: Apr 2008
Posts: 1,585
Received Thanks: 139
|
Für die Faulen unter euch
Skript + Backup
RS:
Einfach in *D2NT\scripts\libs\common einfügen und überschreiben
|
|
|
|
|
Similar Threads
|
d2nt leech bot einstellen... d2nt config error..
07/09/2010 - Diablo 2 Programming - 2 Replies
hey
mein bot zeigt mir die ganze zeit ein error und habe die einstellungen in der anleitung genauso... was tun?
habe leader acc/ char name eingetragen. beide flistet. die eine datei aus baalleech rausgeholt und umbenannt und die // weg genommen
habe beim manager auch auf d2nt leech eingestelln
|
D2NT Slotwechsel beim Teleport
04/23/2010 - Diablo 2 Programming - 2 Replies
Hi.
Ich suche eine Funktion damit der Charakter (in meinem Fall ein Barb) den Slot bemi teleporten wechselt und dann zum attack wieder zurück, ungefähr so wie ein pala das mit Konze macht.
Mir is klar, dass slotwechsel ab und an etwas hängt, deswegen möchte ich auch nicht die normale Tele Funktion ändern sondern eine gesonderte die ich ins bot script eintragen kann.
Ziel ist es, dass der bot z.b. den weg zur grupe mit dem 2.slot teled aber in der Grube dann auf die Monster im Hauptslot...
|
d2nt:Sorc Teleport deaktivieren?
04/06/2010 - Diablo 2 - 2 Replies
Lässt sich der Sorc Teleport, obwohl man ihn mitgeskillt hat, in der NT_config deaktivieren? Ich hab mich da schon durchgewühlt aber nichts gefunden.
Gruß
|
[tut] speed teleport (not map teleport)
08/11/2009 - 12Sky2 - 2 Replies
you need cheat eng for this find the movement speed address
current: C61778
2. change to 99999
3. enable your run skill
your done you will go so fast you will teleport make sure you don't click in anything bad shit will happen
thank me :mofo: :mofo: :mofo:
|
D2NT 1.7.2 und NTBot 3.6 , Modded D2NT 1.7.2 und NTBot 3.6 welcher ist besser?
05/23/2009 - Diablo 2 - 11 Replies
Modded D2NT 1.7.2 und NTBot 3.6
D2NT 1.7.2 und NTBot 3.6
kann mir jemand sagen welcher von denen besser ist? oder wo die unterschiede sind?
|
All times are GMT +2. The time now is 02:11.
|
|