Register for your free account! | Forgot your password?

Go Back   elitepvpers > Other Online Games > Diablo 2 > Diablo 2 Programming
You last visited: Today at 07:44

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

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.

Reply
 
Old   #1
 
elite*gold: 0
Join Date: Aug 2010
Posts: 4
Received Thanks: 0
Lightbulb [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
SpotHot is offline  
Old 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
SpotHot is offline  
Old 08/26/2010, 18:55   #3
Administrator
 
Muddy Waters's Avatar
 
elite*gold: 41624
Join Date: Jan 2010
Posts: 22,728
Received Thanks: 12,654
Quote:
Originally Posted by SpotHot View Post
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
Muddy Waters is offline  
Old 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
SpotHot is offline  
Old 09/14/2010, 21:27   #5
 
elite*gold: 0
Join Date: Sep 2010
Posts: 21
Received Thanks: 9
Quote:
Originally Posted by SpotHot View Post
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.
bishibosh is offline  
Reply


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


Powered by vBulletin®
Copyright ©2000 - 2026, 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 ©2026 elitepvpers All Rights Reserved.