C++ Funktion nach 3 Sekunden ausführen

nchristoph

Erfahrenes Mitglied
Hallo zusammen.

Ich werkle gerade an ner kleinen Zeitsteuerung, nichts wirklich aufregendes aber so aufregend, das ich den Fehler nicht finde.

Ich habe folgendes vor:

Ich will die Funkition Stopmove nach 3 Sekunden ausführen.

In meiner Think Funktion habe ich folgenden Code

C++:
	if(m_bMove)
	{ 
                m_fMoveTime = gpGlobals->time;
		pev->renderamt = 10;
		BurnReiatsu(10000);

		if((m_fMoveTime - gpGlobals->time)>=3)
			StopMove();

	       UTIL_ClientPrintAll( HUD_PRINTNOTIFY, UTIL_VarArgs( "%i left on m_fMoveTime\n", m_fMoveTime)  );

	}

Die Differenz wird ja richtig ausgerechnet. Ich kriege im Hud 1,2,3 ausgegeben. Leider wird StopMove nicht ausgeführt. Hab ich in der Zeitrechnung einen Fehler? Ich finds ned wirklich raus.

Debug hat ergeben, dass er nicht bei der StopMove() ankommt.
 
Ich nehme einmal an, dass gpGlobals->time immer die aktuelle Zeit hat?

In deiner if-Bedingung müsstest du dann die Minusrechnung umdrehen, sonst kommt 0, -1, -2, -3 raus...
 
Zurück