ich bin gerade dabei diese Baruna-Bar beim erwecken, canceln und Elementupgrade zum Laufen zu bringen... Dabei habe ich mit dem Erwecken angefangen. Ich habe probiert einen Timer zu machen, jedoch funktioniert dieser nicht... Ich werde meinen Code hier posten und euch um Hilfe bitten. Ich weiß, ich sollte Zeitabfrage etc über den Server laufen lassen und nicht über die Neuz, aber ich will das erstmal nur für mich machen, weshalb die Sicherheit momentan noch keine große Rolle spielt und ich auch noch nicht so erfahren bin.
Die Idee ist: Ich habe Status 0 ( Der Timer läuft) und Status 0 ( Der Timer hört auf). Während der Status 0 ist, wird in der Process die Bar gefüllt und wenn dann Status == 1 wird, wird die Erweckung abgesendet.
Hier mein Code:
WndField.h
Code:
int Status; int EndTime; int OldTimeGetTime; int GetTimeRemaining;
Code:
BOOL CWndBarunaWakeUp::OnChildNotify( UINT message, UINT nID, LRESULT* pLResult )
{
switch( nID )
{
case WIDC_BT_START:
{
EndTime = ( g_tmCurrent + SEC( 2 ));
if ( g_tmCurrent < EndTime ) // Check whether waiting time is < than endtime
{
Status = 0;
}
if ( g_tmCurrent >= EndTime ) // Check whether waiting time is even or > than Endtime
{
Status = 1;
}
switch ( Status )
{
case 0: //Status = 0
{
Process();// If waiting time is < than endtime use Process();
;
}
case 1:// Status 1
{
g_DPlay.SendBaruna( 0x08, m_dwItemId );//waiting time is even or > than Endtime send Awake
Destroy();// Destroy the Window
break;// and stop
}
}
}
case WIDC_BT_CANCEL:
{
Destroy();
break;
}
}
return CWndNeuz::OnChildNotify( message, nID, pLResult );
}
BOOL CWndBarunaWakeUp::Process( void )
{
char debug_char [12];
GetTimeRemaining = ( EndTime - g_tmCurrent) ;
sprintf(debug_char,"%i",GetTimeRemaining);
Error(debug_char);
return true;
}
Ich weiß, der Code ist sicherlich das grauenvollste was ihr je gesehen habt etc. pp. Aber ich mache dies zu Lernzwecken und würde mich freuen, wenn ihr mich dabei unterstützt.
An dieser Stelle möchte ich mich auch an Mognakor und lolxdfly für die Denkanstöße bedanken!^^






