2.HOW TO SET THIS TO EVERY 30MINS WAR
Code:
#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
#ifdef __TIMER
DWORD CGuildCombat::GetNextGuildWar()
{
CTime tmNow = CTime::GetCurrentTime();
int nDay = tmNow.GetDayOfWeek() - 1;
DWORD dwNext = 0;
for( int i = nDay; i < nDay + 8; ++i )
{
int nDayOfWeek = i % 7;
if( __AutoOpen[nDayOfWeek].bUseing )
{
#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;
nHoursUntilNextGW--;
}
if( nHoursUntilNextGW < 0 )
{
nHoursUntilNextGW += 24;
nDaysUntilNextGW--;
}
dwNext = 86400000 * nDaysUntilNextGW + nHoursUntilNextGW * 3600000 + MIN(nMinutesUntilNextGW);
break;
#endif
}
}
return dwNext;
}
#endif // __TIMER
#endif // __WORLDSERVER
HELP ME PLEASE






