📄 packethandler.cpp
字号:
#include "stdafx.h"
#include "PacketHandler.h"
#include <Macro.h>
#include "Player.h"
#include <Protocol_CG.h>
#include <Protocol_DG.h>
#include <Protocol_GM.h>
#include <Protocol_AG.h>
#include <Protocol_GZ.h>
#include "Handler_DG_CHARINFO.h"
#include "Handler_AG_CHARINFO.h"
#include "Handler_AG_ZONE.h"
#include "Handler_DG_CONNECTION.h"
#include "Handler_AG_CONNECTION.h"
#include "Handler_CG_CONNECTION.h"
#include "Handler_CG_CHARINFO.h"
#include "Handler_CG_MAP.h"
#include "Handler_CG_SYNC.h"
#include "Handler_CG_BATTLE.h"
#include "Handler_CG_SKILL.h"
#include "Handler_CG_STYLE.h"
#include "Handler_CG_CONVERSATION.h"
#include "Handler_CG_ROOM.h"
#include "Handler_CG_ITEM.h"
#include "Handler_CG_TRADE.h"
#include "Handler_CG_TRIGGER.h"
#include "Handler_CG_GM.h"
#include "Handler_CG_STATUS.h"
#include "Handler_CG_PARTY.h"
#include "Handler_AG_PARTY.h"
#include "Handler_CG_VENDOR.h"
#include "Handler_CG_WAREHOUSE.h"
#include "Handler_CG_SUMMON.h"
#include "Handler_CG_PVP.h"
#include "Handler_CG_GUILD.h"
#include "Handler_GZ_GUILD.h"
#include "Handler_CG_EVENT.h"
#include "Handler_GM.h"
#include "AgentServerSession.h"
#include "BattleServerSession.h"
#include "FieldServerSession.h"
#include "GameDBProxySession.h"
#include "MasterServerSession.h"
#include "ServerSessionManager.h"
#include "Network.h"
// 辑滚 沥惑辆丰 橇肺配妮 困秦
#include <Protocol_ServerCommon.h>
#include <PacketStruct_ServerCommon.h>
PacketHandler::PacketHandler()
{
}
PacketHandler::~PacketHandler()
{
}
BOOL PacketHandler::RegisterHandler_DG()
{
#define HANDLER_DG( c, p ) if( !AddHandler_DG( c, p, Handler_DG_CHARINFO::On##p ) ) return FALSE
HANDLER_DG( DG_ITEM, DG_ITEM_SERIAL_ACK );
// HANDLER_DG( DG_ITEM, DG_ITEM_GETSERIALFORFIELD_ACK );
// HANDLER_DG( DG_ITEM, DG_ITEM_GETSERIALFORBUYITEM_ACK );
// HANDLER_DG( DG_ITEM, DG_ITEM_GETSERIALFORINVEN_ACK );
//HANDLER_DG( DG_ITEM, DG_ITEM_WAREHOUSEITEMALL_ACK );
HANDLER_DG( DG_CHARINFO, DG_CHARINFO_CHAR_ITEM_CMD );
HANDLER_DG( DG_CHARINFO, DG_CHARINFO_SKILL_CMD );
HANDLER_DG( DG_CHARINFO, DG_CHARINFO_QUICK_CMD );
HANDLER_DG( DG_CHARINFO, DG_CHARINFO_STYLE_CMD );
HANDLER_DG( DG_CHARINFO, DG_CHARINFO_QUEST_CMD );
//HANDLER_DG( DG_CHARINFO, DG_CHARINFO_WAREHOUSE_CMD );
HANDLER_DG( DG_CHARINFO, DG_CHARINFO_UDPATE_ACK );
HANDLER_DG( DG_CHARINFO, DG_CHARINFO_ALL_REQ_ACK );
HANDLER_DG( DG_CHARINFO, DG_CHARINFO_ALL_REQ_NAK );
HANDLER_DG( DG_WAREHOUSE, DG_WAREHOUSE_START_ACK );
HANDLER_DG( DG_WAREHOUSE, DG_WAREHOUSE_START_NAK );
HANDLER_DG( DG_WAREHOUSE, DG_WAREHOUSE_END_ACK );
HANDLER_DG( DG_WAREHOUSE, DG_WAREHOUSE_END_NAK );
HANDLER_DG( DG_EVENT, DG_EVENT_SELECT_ACK );
HANDLER_DG( DG_EVENT, DG_EVENT_SELECT_NAK );
HANDLER_DG( DG_EVENT, DG_EVENT_UPDATE_ACK );
HANDLER_DG( DG_EVENT, DG_EVENT_UPDATE_NAK );
return TRUE;
}
BOOL PacketHandler::RegisterHandler_GZ()
{
#define HANDLER_GZ( c, p ) if( !AddHandler_GZ( c, p, Handler_GZ_GUILD::On##p ) ) return FALSE
HANDLER_GZ(GZ_GUILD, GZ_GUILD_INFO_BRD);
HANDLER_GZ(GZ_GUILD, GZ_GUILD_SELECT_ACK);
HANDLER_GZ(GZ_GUILD, GZ_GUILD_CREATE_ACK);
HANDLER_GZ(GZ_GUILD, GZ_GUILD_DESTROY_BRD);
HANDLER_GZ(GZ_GUILD, GZ_GUILD_JOIN_BRD);
HANDLER_GZ(GZ_GUILD, GZ_GUILD_WITHDRAW_BRD);
HANDLER_GZ(GZ_GUILD, GZ_GUILD_SELECT_NAK);
HANDLER_GZ(GZ_GUILD, GZ_GUILD_CREATE_NAK);
HANDLER_GZ(GZ_GUILD, GZ_GUILD_DESTROY_NAK);
HANDLER_GZ(GZ_GUILD, GZ_GUILD_JOIN_NAK);
HANDLER_GZ(GZ_GUILD, GZ_GUILD_WITHDRAW_NAK);
return TRUE;
}
BOOL PacketHandler::RegisterHandler_GM()
{
if( !AddHandler_GM( GM_CONNECTION, GM_CONNECTION_SERVER_INFO_CMD, Handler_GM::OnGM_CONNECTION_SERVER_INFO_CMD ) )
return FALSE;
if( !AddHandler_GM( GM_OPERATION, GM_RELOAD_DATA_CMD, Handler_GM::OnGM_RELOAD_DATA_CMD ) )
return FALSE;
if( !AddHandler_GM( SERVERCOMMON, SERVERCOMMON_SERVERSHUTDOWN_REQ, Handler_GM::OnSERVERCOMMON_SERVERSHUTDOWN_REQ ) )
return FALSE;
return TRUE;
}
BOOL PacketHandler::RegisterHandler_AG()
{
// CG_CHARINFO
if( !AddHandler_AG( CG_CHARINFO, CG_CHARINFO_SELECT_INFO_SYN, Handler_CG_CHARINFO::OnCG_CHARINFO_SELECT_INFO_SYN))
return FALSE;
// MAP
if( !AddHandler_AG( CG_MAP, CG_MAP_TELEPORT_SYN, Handler_CG_MAP::OnCG_MAP_TELEPORT_SYN))
return FALSE;
#define HANDLER_CG_SYNC( c, p ) if( !AddHandler_AG( c, p, Handler_CG_SYNC::On##p ) ) return FALSE
HANDLER_CG_SYNC( AG_SYNC, AG_SYNC_PLAYER_ENTER_SYN );
HANDLER_CG_SYNC( AG_SYNC, AG_SYNC_PLAYER_WARP_SYN );
// CG_SYNC
HANDLER_CG_SYNC( CG_SYNC, CG_SYNC_MOVE_SYN );
HANDLER_CG_SYNC( CG_SYNC, CG_SYNC_TARGET_MOVE_SYN );
HANDLER_CG_SYNC( CG_SYNC, CG_SYNC_KBMOVE_SYN );
HANDLER_CG_SYNC( CG_SYNC, CG_SYNC_STOP_SYN );
HANDLER_CG_SYNC( CG_SYNC, CG_SYNC_FAST_KBMOVE_SYN );
// CG_BATTLE
if( !AddHandler_AG( CG_BATTLE, CG_BATTLE_PLAYER_ATTACK_SYN, Handler_CG_BATTLE::OnCG_BATTLE_PLAYER_ATTACK_SYN ) )
return FALSE;
if( !AddHandler_AG( CG_BATTLE, CG_BATTLE_VKR_ATTACK_SYN, Handler_CG_BATTLE::OnCG_BATTLE_VKR_ATTACK_SYN ) )
return FALSE;
if( !AddHandler_AG( CG_BATTLE, CG_BATTLE_P2O_ATTACK_SYN, Handler_CG_BATTLE::OnCG_BATTLE_P2O_ATTACK_SYN ) )
return FALSE;
if( !AddHandler_AG( CG_BATTLE, CG_BATTLE_VKR_RELOAD_SYN, Handler_CG_BATTLE::OnCG_BATTLE_VKR_RELOAD_SYN ) )
return FALSE;
// STYLE
#define HANDLER_CG_STYLE( c, p ) if( !AddHandler_AG( c, p, Handler_CG_STYLE::On##p ) ) return FALSE
HANDLER_CG_STYLE( CG_STYLE, CG_STYLE_SELECT_STYLE_SYN );
HANDLER_CG_STYLE( CG_STYLE, CG_STYLE_LINK_SYN );
HANDLER_CG_STYLE( CG_STYLE, CG_STYLE_UNLINK_SYN );
HANDLER_CG_STYLE( CG_STYLE, CG_STYLE_LINKMOVE_SYN );
// SKILL
if( !AddHandler_AG( CG_SKILL, CG_SKILL_ACTION_SYN, Handler_CG_SKILL::OnCG_SKILL_ACTION_SYN ) )
return FALSE;
if( !AddHandler_AG( CG_SKILL, CG_SKILL_SELECT_SKILLPOINT_SYN, Handler_CG_SKILL::OnCG_SKILL_SELECT_SKILLPOINT_SYN ) )
return FALSE;
// CONVERSATION
if( !AddHandler_AG( CG_CONVERSATION, CG_CONVERSATION_FIELDCHAT_SYN, Handler_CG_CONVERSATION::OnCG_CONVERSATION_FIELDCHAT_SYN))
return FALSE;
// 鞘靛 辑滚
#define HANDLER_AG_ZONE( c, p ) if( !AddHandler_AG( c, p, Handler_AG_ZONE::On##p ) ) return FALSE
HANDLER_AG_ZONE( AG_ZONE, AG_ZONE_LOBBY_CREATE_CMD );
HANDLER_AG_ZONE( AG_ZONE, AG_ZONE_HUNTING_CREATE_CMD );
HANDLER_AG_ZONE( AG_ZONE, AG_ZONE_MISSION_CREATE_CMD );
HANDLER_AG_ZONE( AG_ZONE, AG_ZONE_VILLAGE_CREATE_CMD );
HANDLER_AG_ZONE( AG_ZONE, AG_ZONE_PVP_CREATE_CMD );
HANDLER_AG_ZONE( AG_ZONE, AG_ZONE_ROOM_DESTROY_CMD );
HANDLER_AG_ZONE( AG_ZONE, AG_ZONE_ROOM_JOIN_CMD );
HANDLER_AG_ZONE( AG_ZONE, AG_ZONE_ROOM_JOIN_SYN );
HANDLER_AG_ZONE( AG_ZONE, AG_ZONE_ROOM_LEAVE_CMD );
HANDLER_AG_ZONE( AG_ZONE, AG_ZONE_ROOM_LEAVE_SYN );
HANDLER_AG_ZONE( AG_ZONE, AG_ZONE_MASTER_CHANGED_CMD );
HANDLER_AG_ZONE( AG_ZONE, AG_ZONE_PVP_INFO_CMD );
HANDLER_AG_ZONE( AG_ZONE, AG_ZONE_VILLAGE_MOVE_SYN );
// ITEM
if( !AddHandler_AG( CG_ITEM, CG_ITEM_MOVE_SYN, Handler_CG_ITEM::OnCG_ITEM_MOVE_SYN))
return FALSE;
if( !AddHandler_AG( CG_ITEM, CG_ITEM_PICK_SYN, Handler_CG_ITEM::OnCG_ITEM_PICK_SYN))
return FALSE;
if( !AddHandler_AG( CG_ITEM, CG_ITEM_DROP_SYN, Handler_CG_ITEM::OnCG_ITEM_DROP_SYN))
return FALSE;
if( !AddHandler_AG( CG_ITEM, CG_ITEM_COMBINE_SYN, Handler_CG_ITEM::OnCG_ITEM_COMBINE_SYN))
return FALSE;
if( !AddHandler_AG( CG_ITEM, CG_ITEM_USE_SYN, Handler_CG_ITEM::OnCG_ITEM_USE_SYN))
return FALSE;
if( !AddHandler_AG( CG_ITEM, CG_ITEM_SELL_SYN, Handler_CG_ITEM::OnCG_ITEM_SELL_SYN))
return FALSE;
if( !AddHandler_AG( CG_ITEM, CG_ITEM_BUY_SYN, Handler_CG_ITEM::OnCG_ITEM_BUY_SYN))
return FALSE;
if( !AddHandler_AG( CG_ITEM, CG_ITEM_PICK_MONEY_SYN, Handler_CG_ITEM::OnCG_ITEM_PICK_MONEY_SYN))
return FALSE;
#define HANDLER_CG_ITEM( c, p ) if( !AddHandler_AG( c, p, Handler_CG_ITEM::On##p ) ) return FALSE
HANDLER_CG_ITEM( CG_ITEM, CG_ITEM_QUICK_LINKITEM_SYN );
HANDLER_CG_ITEM( CG_ITEM, CG_ITEM_QUICK_LINKSKILL_SYN );
HANDLER_CG_ITEM( CG_ITEM, CG_ITEM_QUICK_UNLINK_SYN );
HANDLER_CG_ITEM( CG_ITEM, CG_ITEM_QUICK_MOVE_SYN );
// 炼钦
HANDLER_CG_ITEM( CG_ITEM, CG_ITEM_ENCHANT_SYN );
HANDLER_CG_ITEM( CG_ITEM, CG_ITEM_ENCHANTUP_SYN );
HANDLER_CG_ITEM( CG_ITEM, CG_ITEM_RANKUP_SYN );
HANDLER_CG_ITEM( CG_ITEM, CG_ITEM_SOCKET_FILL_SYN );
HANDLER_CG_ITEM( CG_ITEM, CG_ITEM_SOCKET_EXTRACT_SYN );
HANDLER_CG_ITEM( CG_ITEM, CG_ITEM_ACCESSORY_CREATE_SYN );
#define HANDLER_CG_WAREHOUSE( c, p ) if( !AddHandler_AG( c, p, Handler_CG_WAREHOUSE::On##p ) ) return FALSE
// 芒绊
HANDLER_CG_WAREHOUSE( CG_WAREHOUSE, CG_WAREHOUSE_START_SYN );
HANDLER_CG_WAREHOUSE( CG_WAREHOUSE, CG_WAREHOUSE_MONEY_SYN );
HANDLER_CG_WAREHOUSE( CG_WAREHOUSE, CG_WAREHOUSE_END_SYN );
// 芭贰
#define HANDLER_CG_TRADE( c, p ) if( !AddHandler_AG( c, p, Handler_CG_TRADE::On##p ) ) return FALSE
HANDLER_CG_TRADE( CG_TRADE, CG_TRADE_REQ_SYN );
HANDLER_CG_TRADE( CG_TRADE, CG_TRADE_RES_SYN );
HANDLER_CG_TRADE( CG_TRADE, CG_TRADE_PUT_SYN );
HANDLER_CG_TRADE( CG_TRADE, CG_TRADE_PUT_MONEY_SYN );
HANDLER_CG_TRADE( CG_TRADE, CG_TRADE_GET_SYN );
HANDLER_CG_TRADE( CG_TRADE, CG_TRADE_GET_MONEY_SYN );
HANDLER_CG_TRADE( CG_TRADE, CG_TRADE_PROPOSAL_SYN );
HANDLER_CG_TRADE( CG_TRADE, CG_TRADE_MODIFY_SYN );
HANDLER_CG_TRADE( CG_TRADE, CG_TRADE_ACCEPT_SYN );
HANDLER_CG_TRADE( CG_TRADE, CG_TRADE_CANCEL_SYN );
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -