⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 war.cpp

📁 天之炼狱1服务器端源文件游戏服务端不完整
💻 CPP
字号:
///////////////////////////////////////////////////////////////////// 傈里俊 措茄 傈馆利牢 沥焊 棺 傈里 矫累 棺 辆丰矫 贸府风凭 备泅///////////////////////////////////////////////////////////////////#include <stdio.h>#include "War.h"#include "Mutex.h"#include "WarSystem.h"#include "Properties.h"#include "DB.h"#include "Assert.h"#include "ZoneGroupManager.h"#include "HolyLandRaceBonus.h"#include "Zone.h"#include "ZoneGroup.h"#include "ZoneUtil.h"#include "CastleInfoManager.h"#include "ShrineInfoManager.h"#include "ZoneInfoManager.h"#include "PCManager.h"#include "StringStream.h"#include "StringPool.h"#include "Gpackets/GCSystemMessage.h"#include "Gpackets/GCNoticeEvent.h"//--------------------------------------------------------------------------------// static members//--------------------------------------------------------------------------------Mutex	War::m_Mutex;WarID_t	War::m_WarIDRegistry = 0;//--------------------------------------------------------------------------------//// constructor / destructor////--------------------------------------------------------------------------------War::War( WarState warState, WarID_t warID ): m_State( warState ){	if (warID==0)	{		m_WarIDRegistry += g_pWarSystem->getWarIDSuccessor();		m_WarID = m_WarIDRegistry;	}	else	{		m_WarID = warID;	}}War::~War(){}//--------------------------------------------------------------------------------//// init WarID Registry////--------------------------------------------------------------------------------void War::initWarIDRegistry()	throw(Error){	__BEGIN_TRY	Statement* pStmt = NULL; 	m_WarIDRegistry = 0;	__ENTER_CRITICAL_SECTION(m_Mutex)	BEGIN_DB	{		//pStmt = g_pDatabaseManager->getConnection("DIST_DARKEDEN")->createStatement();		pStmt = g_pDatabaseManager->getConnection("DARKEDEN")->createStatement();		Result* pCountResult = pStmt->executeQuery("SELECT COUNT(*) from WarScheduleInfo");		pCountResult->next();		int count = pCountResult->getDWORD(1);		SAFE_DELETE(pStmt);		if (count != 0)		{			//pStmt = g_pDatabaseManager->getConnection("DIST_DARKEDEN")->createStatement();			pStmt = g_pDatabaseManager->getConnection("DARKEDEN")->createStatement();			Result* pResult = pStmt->executeQuery("SELECT MAX(WarID) FROM WarScheduleInfo");			pResult->next();			m_WarIDRegistry = pResult->getDWORD(1);			SAFE_DELETE(pStmt);		}		static WarID_t WarIDBase 		= g_pConfig->getPropertyInt("ServerID");		static WarID_t WarIDSuccessor 	= g_pConfig->getPropertyInt("ServerCount");		m_WarIDRegistry += (WarIDSuccessor - (m_WarIDRegistry % WarIDSuccessor)) + WarIDBase;	}	END_DB(pStmt)	__LEAVE_CRITICAL_SECTION(m_Mutex)	cout << "War::WarIDRegistry:" << m_WarIDRegistry << endl;	__END_CATCH}const string& War::getState2DBString() const{	Assert(m_State < MAX_WAR_STATE);	static string WarState[] =	{		"WAIT",		"START",		"END",		"CANCEL"	};	return WarState[m_State];}//--------------------------------------------------------------------------------//// execute////--------------------------------------------------------------------------------void War::execute()	throw (Error){	__BEGIN_TRY	switch ( m_State )	{		case WAR_STATE_WAIT:			executeStart();			m_State = WAR_STATE_CURRENT;			break;		case WAR_STATE_CURRENT:			executeEnd();			m_State = WAR_STATE_END;			break;		case WAR_STATE_END:			Assert(false);			break;		default:			Assert(false);	}	// execute()饶俊绰 WarSchedule狼 heartbeat()俊辑 DB狼 Status甫 汲沥窍霸 等促.	__END_CATCH}//--------------------------------------------------------------------------------//// send Message////--------------------------------------------------------------------------------// 傈里 矫累且 锭//--------------------------------------------------------------------------------void War::sendWarStartMessage() const	throw (ProtocolException, Error){	__BEGIN_TRY			GCSystemMessage gcSystemMessage;	char str[80];	//sprintf(str, "%s捞 矫累登菌嚼聪促.", getWarName().c_str());	sprintf(str, g_pStringPool->c_str( STRID_WAR_START ), getWarName().c_str());	gcSystemMessage.setMessage( str );	g_pZoneGroupManager->broadcast( &gcSystemMessage );	filelog( "WarLog.txt", "[WarID=%u] %s", (int)m_WarID, str );	__END_CATCH}//--------------------------------------------------------------------------------// 傈里 场朝 锭//--------------------------------------------------------------------------------void War::sendWarEndMessage() const	throw (ProtocolException, Error){	__BEGIN_TRY			GCSystemMessage gcSystemMessage;	char str[80];//	sprintf(str, "%s捞 场车嚼聪促.", getWarName().c_str());	sprintf(str, g_pStringPool->c_str( STRID_WAR_END ), getWarName().c_str());	gcSystemMessage.setMessage( str );	g_pZoneGroupManager->broadcast( &gcSystemMessage );	filelog( "WarLog.txt", "[WarID=%u] %s", (int)m_WarID, str );	__END_CATCH}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -