|
You last visited: Today at 07:44
Advertisement
[D2NT] 3.1 Problem mit GetState(30)
Discussion on [D2NT] 3.1 Problem mit GetState(30) within the Diablo 2 Programming forum part of the Diablo 2 category.
08/26/2010, 12:48
|
#1
|
elite*gold: 0
Join Date: Aug 2010
Posts: 4
Received Thanks: 0
|
[D2NT] 3.1 Problem mit GetState(30)
Hi,
Hat noch jemand Probleme mit "me.GetState(30)", die Funktion scheint immer False zuliefern. Benutze den D2NT 3.1 ungemodded. Gibt's dafür einen Patch, oder tritt das Problem bei euch überhaupt nicht auf?
PS:
Ja, auch wenn Energy Shield gecastet wurde.
MfG SpotHot
|
|
|
08/26/2010, 17:32
|
#2
|
elite*gold: 0
Join Date: Aug 2010
Posts: 4
Received Thanks: 0
|
So habe jetzt Bluebird, Muddy's und Sternenlooper's getestet, überall gibt "GetState(30)" immer false zurück. Hab dafür erstmal ein Workaround geschrieben, bis jemand den Fehler bestätigt oder eben nicht.
Habe folgendes in der NTPrecast.ntl hinzugefügt.
Code:
var _NTP_HaveCTA = -1;
[COLOR="Red"]//--- STATE 30 always False Bug workaround
// Energy Shield at Level 1
// Duration: 144 seconds.
const _NTP_STATE30_REFRESH_RATE = 144000; //time in milliseconds
var LastState30Refresh = GetTickCount();
//workaround end ---[/COLOR]
function NTP_DoPrecastCTA(refresh)
{ ...}
Und in der Funktion NTPrecast.ntl->NTP_DoPrecast
Code:
function NTP_DoPrecast(refresh)
{
...
case NTC_CHAR_CLASS_SORCERESS:
...
//if(refresh || !me.GetState(30))
// NTC_CastSkill(58, NTC_HAND_RIGHT); // Energy Shield
[COLOR="Red"] //--- STATE 30 always False Bug workaround
deltaTime = GetTickCount() - LastState30Refresh;
if(refresh || (deltaTime > _NTP_STATE30_REFRESH_RATE))
{
NTC_CastSkill(58, NTC_HAND_RIGHT); // Energy Shield
LastState30Refresh = GetTickCount();
}
//workaround end ---[/COLOR]
...
}
Bin aber immernoch an einer Antwort interessiert, ob andere dieses Problem auch haben.
MfG SpotHot
|
|
|
08/26/2010, 18:55
|
#3
|
Administrator
elite*gold: 41624
Join Date: Jan 2010
Posts: 22,728
Received Thanks: 12,654
|
Quote:
Originally Posted by SpotHot
So habe jetzt Bluebird, Muddy's und Sternenlooper's getestet, überall gibt "GetState(30)" immer false zurück. Hab dafür erstmal ein Workaround geschrieben, bis jemand den Fehler bestätigt oder eben nicht.
Habe folgendes in der NTPrecast.ntl hinzugefügt.
Code:
var _NTP_HaveCTA = -1;
[COLOR=Red]//--- STATE 30 always False Bug workaround
// Energy Shield at Level 1
// Duration: 144 seconds.
const _NTP_STATE30_REFRESH_RATE = 14400; //time in milliseconds
var lastState30Refresh = 0;
//workaround end ---[/COLOR]
function NTP_DoPrecastCTA(refresh)
{ ...}
Und in der Funktion NTPrecast.ntl->NTP_DoPrecast
Code:
function NTP_DoPrecast(refresh)
{
...
case NTC_CHAR_CLASS_SORCERESS:
...
//if(refresh || !me.GetState(30))
// NTC_CastSkill(58, NTC_HAND_RIGHT); // Energy Shield
[COLOR=Red] //--- STATE 30 always False Bug workaround
deltaTime = GetTickCount() - lastState30Refresh;
if(refresh || (deltaTime > _NTP_STATE30_REFRESH_RATE))
{
NTC_CastSkill(58, NTC_HAND_RIGHT); // Energy Shield
lastState30Refresh = GetTickCount();
}
//workaround end ---
...
}[/COLOR]
Bin aber immernoch an einer Antwort interessiert, ob andere dieses Problem auch haben.
MfG SpotHot
|
Das wird auch bei allen Versionen gleich sein, da alle auf der originalen, unveränderten D2NT Core beruhen.
Mit einem Patch konkret dafür würde ich daher auch nicht rechnen.
Ich kanns leider nicht nachvollziehen, da es mir an einer Sorc mit ES fehlt, aber wenn du sagst dass dem so ist, wüsste ich nicht was mich davon abhalten sollte, dir einfach mal zu glauben.
Achja, wenn die Variable, die du dort eingeführt hast global sein soll (was anders auch keinen Sinn ergeben würde), dann schreibe sie doch am Anfang Groß. Das ist für D2NT gängiger standard und so weiss jeder sofort, wo die Variable gültig ist.
Lg
Muddy
|
|
|
08/26/2010, 20:22
|
#4
|
elite*gold: 0
Join Date: Aug 2010
Posts: 4
Received Thanks: 0
|
Danke, für den Hinweis zur D2NT Stylekonvention, habs auch gleich einmal korrigiert.
Zum Problem, konnte es mittlerweile, mit gleichen Ergebnis, an mehreren verschiedenen Rechnern und D2-Installationen testen.
Der Form zur Liebe, noch kurz eine Erklärung wie sich der Fehler auswirkt und wann er Auftritt.
betroffener Charakter
Zauberin mit Mana-Schild
beteiligte Funktionen
NTA_ClearLevel()->NTP_DoPrecast()
betroffene Codestelle:
Code:
[COLOR="Red"]if(refresh || !me.GetState(30))
NTC_CastSkill(58, NTC_HAND_RIGHT); // Energy Shield[/COLOR]
Auswirkung:
Nach jedem Teleport wird das Mana-Schild neu gecastet. Hat zur Folge, dass mehr Zeit verbraucht wird,
als Nötig um ein Gebiet zu säubern. Je nachdem kann sich die Gamezeit um einige Minuten erhöhen
oder man schafft nicht alle Gebiete in der vorhergesehenden Zeit.
- SpotHot
|
|
|
09/14/2010, 21:27
|
#5
|
elite*gold: 0
Join Date: Sep 2010
Posts: 21
Received Thanks: 9
|
Quote:
Originally Posted by SpotHot
Hat noch jemand Probleme mit "me.GetState(30)", die Funktion scheint immer False zuliefern. Benutze den D2NT 3.1 ungemodded. Gibt's dafür einen Patch, oder tritt das Problem bei euch überhaupt nicht auf?
|
Habe exakt das gleiche Problem, alle 2 Teleports macht meine Sorc den ES neu :-(
me.GetState(30) gibt in diesen Fällen übrigens einen nicht definierten Wert zurück, woran auch immer das liegen mag.
|
|
|
 |
Similar Threads
|
D2NT problem
04/06/2010 - Diablo 2 - 9 Replies
Hi,
Hab mir gerade mal D2NT runtergeladen und wollte ihn gleich testen.
Hat eigendlich alles super funktioniert,
Er Startet D2.
Logt sich ein
Nimmt meinen Char.
Joint in ein Game
|
Problem mit d2nt
11/12/2009 - Diablo 2 - 5 Replies
Ich habe im Moment 4 Accounts laufen,die gleichzeitig botten.
Als ich mir heute morgen die erbueteten Gegenstände ansehen wollte, sah ich dass alle 4 Bots ggn halb 2 heute nacht einen timeban bekommen haben....
Jedoch macht keiner von ihnen mehr als 20 games pro Stunde, insofern kann ich mir nicht erklaeren woher dieser kommt...
Kann mir da jemand weiterhelfen?
Greetz Nicnov
|
Problem mit D2NT
08/22/2009 - Diablo 2 - 17 Replies
aloha :)
also ich hab folgendes problem:
ich hab' gestern abend noch versucht mir den nt bot einzurichten, müsste auch alles richtig gemacht haben. danach wollte ich ihn dann in den einsatz schicken.. weit kam er aber nicht. das einloggen und game erstellen hat er problemlos gemacht aber dann kam folgende meldung:
< D2NT Error > C:\Dokumente und Einstellungen\Administrator\Desktop\xxx\D2NT\scrip ts\default.ntj (14):
Reference Error: NT_LoadConfig is not defined
Can't find...
|
Bot D2NT 1.7.2 Problem
06/07/2009 - Diablo 2 - 5 Replies
Hi Habe kleines Problem
Mit Multi Bout D2NT 1.7.2
Er logt ein geht los kauft tränke usw.
Nun sagen wir mal Er nimt sich Vor mepel Zu killen
Er nimt das wp
|
d2nt bot problem:-/
04/01/2009 - Diablo 2 - 4 Replies
hallo leutz,
hab den bot gezogen und laut anleitung installiert. lief auch schon vorher bei mir. jedoch auf win_xp_sp2 x86
jetz habe ich win_vista_sp1 x64
was mache ich jetz ? der bot startet zwar diablo im fenster modus jedoch passiert dann garnix.
hilfe -.-
|
All times are GMT +1. The time now is 07:45.
|
|