Currently the TID_GAME_GUILDCOMBAT_START30 spams whenever the condition it is in is true. I have tried different ways to try and make it only get in that condition once but my knowledge is still incapable.. I want to ask some help from you guys thank you so much.. I will just write down the original piece as to how it was written when released as my edits doesn't work.
Code:
CTime ctime = CTime::GetCurrentTime(); #ifdef __PMA_GW for (DWORD i = 0; i < __AutoOpen.size(); i++) { if (__AutoOpen[i].nDay == ctime.GetDayOfWeek() - 1 && __AutoOpen[i].bUseing) { CTimeSpan ts(0, __AutoOpen[i].nHour - ctime.GetHour(), __AutoOpen[i].nMinute - ctime.GetMinute(), 0); if (ts.GetTotalSeconds() == GW_TIME_ANNOUNCE * 60) g_DPCoreClient.SendSystem(prj.GetText(TID_GAME_GUILDCOMBAT_START30)); // This is being spammed in the game 30 minutes before GS will start. if (__AutoOpen[i].nHour == ctime.GetHour() && __AutoOpen[i].nMinute == ctime.GetMinute() && m_bMutex == FALSE) #else if (__AutoOpen[ctime.GetDayOfWeek() - 1].bUseing) { // ½ºÅµ µÉ ¼ö ÀÖÀ¸¹Ç·Î ¼öÁ¤À» ÇÊ¿ä·Î ÇÔ if (__AutoOpen[ctime.GetDayOfWeek() - 1].nHour == ctime.GetHour() && __AutoOpen[ctime.GetDayOfWeek() - 1].nMinute == ctime.GetMinute() && m_bMutex == FALSE) #endif { #ifdef __S_BUG_GC if( (int)( m_vecGuildCombatMem.size() ) >= m_nMinGuild ) #else // __S_BUG_GC if( m_GuildCombatMem.size() > 1 ) #endif // __S_BUG_GC { GuildCombatOpen(); } else { m_ctrMutexOut.Set( SEC(60) ); m_bMutexMsg = TRUE; g_DPCoreClient.SendSystem( prj.GetText( TID_GAME_GUILDCOMBAT_NEXT_COMBAT ) ); g_DPCoreClient.SendSystem( prj.GetText( TID_GAME_GUILDCOMBAT_ENJOY ) ); } m_bMutex = TRUE; } if( m_bMutexMsg && m_ctrMutexOut.IsTimeOut() ) { m_bMutexMsg = FALSE; m_bMutex = FALSE; } } } #ifdef __PMA_GW } #endif #endif //__WORLDSERVER