Register for your free account! | Forgot your password?

You last visited: Today at 02:11

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

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.

Reply
 
Old   #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?
fuuch is offline  
Old 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 ^^
fuuch is offline  
Old 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?
fuuch is offline  
Old 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:
function NTM_MoveTo
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
fuuch is offline  
Old 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
TheBluebird is offline  
Old 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.
fuuch is offline  
Old 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
TheBluebird is offline  
Old 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 ^^
fuuch is offline  
Old 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
fuuch is offline  
Old 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:
ExitGame();
und das script spammt wann es benutzt wurde
fuuch is offline  
Old 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
TheBluebird is offline  
Old 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:
NTMove.ntl
fuuch is offline  
Thanks
1 User
Old 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:
NTMove.ntl
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:
fuuch is offline  
Old 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;
}
fuuch is offline  
Thanks
1 User
Old 04/27/2010, 16:33   #15
 
nibbelr's Avatar
 
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
nibbelr is offline  
Reply


Similar Threads 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.


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.