Auto Guildwar problem.

01/30/2015 17:10 Serenity-.#1
Wo steh hier wann genau der gw startet und wie viel zeitabstand zwischen den einzelnen gws ist. (Code gow source).

Quote:
#ifdef __GW_X_TIMES
const int nDelay = 24 / (GW_X + 1);
char nDay = (char)ctime.GetDayOfWeek() - 1;
bool bStart = false;
for( int i = 0; i <= GW_X; ++i )
{
if( (__AutoOpen[nDay].nHour - (i*nDelay)) == ctime.GetHour() &&
__AutoOpen[nDay].nMinute == ctime.GetMinute() && m_bMutex == FALSE )
{
bStart = true;
break;
}
}
if( bStart )
#else
if( __AutoOpen[ctime.GetDayOfWeek()-1].nHour == ctime.GetHour() &&
__AutoOpen[ctime.GetDayOfWeek()-1].nMinute == ctime.GetMinute() && m_bMutex == FALSE )
#endif
Quote:
#ifdef __GW_X_TIMES
const int nDelay = 24 / (GW_X+1);
for( int j = GW_X; j >= 0; --j )
{
int nHour = __AutoOpen[nDayOfWeek].nHour - j * nDelay;
if( i == nDay )
{
if( nHour < tmNow.GetHour() )
continue;
if( nHour == tmNow.GetHour() )
{
if( __AutoOpen[nDayOfWeek].nMinute <= tmNow.GetMinute() )
continue;
}
}
int nDaysUntilNextGW = i - nDay;
int nHoursUntilNextGW = nHour - tmNow.GetHour();
int nMinutesUntilNextGW = __AutoOpen[nDayOfWeek].nMinute - tmNow.GetMinute();
if( nMinutesUntilNextGW < 0 )
{
nMinutesUntilNextGW += 60;
nHoursUntilNextGW--;
}
if( nHoursUntilNextGW < 0 )
{
nHoursUntilNextGW += 24;
nDaysUntilNextGW--;
}
dwNext = 86400000 * nDaysUntilNextGW + nHoursUntilNextGW * 3600000 + MIN(nMinutesUntilNextGW);
break;
}
if( dwNext )
break;
#else
if( i == nDay )
{
if( __AutoOpen[nDayOfWeek].nHour < tmNow.GetHour() )
continue;
else if( __AutoOpen[nDayOfWeek].nHour == tmNow.GetHour() )
{
if( __AutoOpen[nDayOfWeek].nMinute <= tmNow.GetMinute() )
continue;
}
}
int nDaysUntilNextGW = i - nDay;
int nHoursUntilNextGW = __AutoOpen[nDayOfWeek].nHour - tmNow.GetHour();
int nMinutesUntilNextGW = __AutoOpen[nDayOfWeek].nMinute - tmNow.GetMinute();
if( nMinutesUntilNextGW < 0 )
{
nMinutesUntilNextGW += 60; ich denke mir ja das es das sein kann also 60 mins zwischen jedem gw aber ingame im timer steht trotzdem 2 stunden...
nHoursUntilNextGW--;
}
if( nHoursUntilNextGW < 0 )
{
nHoursUntilNextGW += 24;
nDaysUntilNextGW--;
}
dwNext = 86400000 * nDaysUntilNextGW + nHoursUntilNextGW * 3600000 + MIN(nMinutesUntilNextGW);
break;
#endif
01/30/2015 19:59 hanns.g#2
24 / (GW_X + 1);

GW_X ist in der VersionCommon.h definiert