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

📄 handler_gm.cpp

📁 奇迹世界 部分源代码奇迹世界 部分源代码奇迹世界 部分源代码
💻 CPP
字号:
#include "stdafx.h"
#include <Protocol_GM.h>
#include <PacketStruct_GM.h>
#include "Handler_GM.h"
#include "GameServer.h"
#include "ServerSession.h"
#include "ServerSessionFactory.h"

// 辑滚 沥惑辆丰 橇肺配妮 困秦
#include <Protocol_ServerCommon.h>
#include <PacketStruct_ServerCommon.h>

extern GameServer *g_pGameServer;

VOID Handler_GM::OnGM_CONNECTION_SERVER_INFO_CMD( ServerSession *pMasterServer, MSG_BASE *pMsg, WORD wSize )
{
	MSG_GM_CONNECTION_SERVER_INFO_CMD *pRecvMsg = (MSG_GM_CONNECTION_SERVER_INFO_CMD*)pMsg;
	
	/*
	printf( "Server information received" );
	printf( "DB proxy server(%s:%d)", pRecvMsg->m_szDBProxyServerIP, pRecvMsg->m_wDBProxyServerPort );
	printf( "Agent server(%s:%d)", pRecvMsg->m_szAgentServerIP, pRecvMsg->m_wAgentServerPort );
	*/
    
	//g_pGameServer->SetDBProxyServerAddr( pRecvMsg->m_szDBProxyServerIP, pRecvMsg->m_wDBProxyServerPort );
	//g_pGameServer->SetAgentServerAddr( pRecvMsg->m_szAgentServerIP, pRecvMsg->m_wAgentServerPort );

	g_pGameServer->SetServerKey( pRecvMsg->m_ServerKey );
	MessageOut( eCRITICAL_LOG, "付胶磐肺何磐 罐篮 辑滚虐 悸泼(%u) (%u, %u, %u, %u)", pRecvMsg->m_ServerKey,
		pRecvMsg->m_ServerKey.GetWorldID(), pRecvMsg->m_ServerKey.GetChannelID(), pRecvMsg->m_ServerKey.GetServerType(), pRecvMsg->m_ServerKey.GetServerID() );
	g_pGameServer->UpdateServerTitle();

	g_pGameServer->SetServerGUID( pRecvMsg->m_dwServerGUID );
	g_pGameServer->SetServerAddr( GAME_DBPROXY, pRecvMsg->m_szDBProxyServerIP, pRecvMsg->m_wDBProxyServerPort );
	g_pGameServer->SetServerAddr( AGENT_SERVER, pRecvMsg->m_szAgentServerIP, pRecvMsg->m_wAgentServerPort );
	g_pGameServer->SetServerAddr( GUILD_SERVER, pRecvMsg->m_szGuildServerIP, pRecvMsg->m_wGuildServerPort );

	// Game DB proxy客 楷搬 矫档
	g_pGameServer->ConnectTo( GAME_DBPROXY );
	g_pGameServer->ConnectTo( AGENT_SERVER );
	g_pGameServer->ConnectTo( GUILD_SERVER );
}

VOID Handler_GM::OnGM_RELOAD_DATA_CMD( ServerSession *pMasterServer, MSG_BASE *pMsg, WORD wSize )
{
	g_pGameServer->ReloadData();
}

VOID Handler_GM::OnSERVERCOMMON_SERVERSHUTDOWN_REQ( ServerSession *pMasterServer, MSG_BASE *pMsg, WORD wSize )
{
	// 沥惑辆丰 甸绢埃促!
	g_pGameServer->Shutdown();

	// 辆丰茄促绊 舅妨拎~
	MSG_SERVERCOMMON_SERVERSHUTDOWN_ANS	sendMsg;

	sendMsg.m_byCategory = 0;
	sendMsg.m_byProtocol = SERVERCOMMON_SERVERSHUTDOWN_ANS;

	pMasterServer->Send( (BYTE*)&sendMsg, sizeof(MSG_SERVERCOMMON_SERVERSHUTDOWN_ANS) );
}

VOID Handler_GM::OnGM_OPERATION_USERMONEY_REQ( ServerSession *pMasterServer, MSG_BASE *pMsg, WORD wSize )
{
	// 泅犁鳖瘤 爱绊 乐带 沥焊甫 傈价
	MSG_GM_OPERATION_USERMONEY_ANS	sendMsg;

	if( PlayerManager::Instance()->GetNumberOfPlayers() > 0)
	{
		sendMsg.dwUserMoney = g_pGameServer->GetTotalUserMoney() / PlayerManager::Instance()->GetNumberOfPlayers();
	}
	else
	{
		sendMsg.dwUserMoney = 0;
	}

	sendMsg.ui64TotalPlusMoney = g_pGameServer->GetTotalPlusMoney();
	sendMsg.ui64TotalMinusMoney = g_pGameServer->GetTotalMinusMoney();

	pMasterServer->Send( (BYTE*)&sendMsg, sizeof(sendMsg) );
	MessageOut( eCRITICAL_LOG, "UserMoney Send" );
}

⌨️ 快捷键说明

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