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

📄 dragonserver2.cpp

📁 国内著名网络游戏dragon的服务端完整源码 内附完整数据库结构
💻 CPP
📖 第 1 页 / 共 2 页
字号:
		{	//< CSD-CN-031213
			g_pUserManager->SendPacket(p);
			break;
		}	//> CSD-CN-031213
	case CMD_REQ_LOAN						:	RecvReqLoan( p, cn ); break;
	case CMD_REQ_LOAN_INFO					:	RecvLoanInfo( cn ); break;
	case CMD_REQ_REPAYMENT					:	RecvRepayment( p, cn ); break;
	case CMD_ARENA_ENTER_LOBBY:
		{	//< CSD-030506
			g_pArenaManager->RecvEnterLobby(cn, &p->u.arena.arena_enter_lobby);
			break;
		}	//> CSD-030506
	case CMD_ARENA_LEAVE_LOBBY:
		{	//< CSD-030506
			g_pArenaManager->RecvLeaveLobby(cn);
			break;
		}	//> CSD-030506
	case CMD_ARENA_ENTER_TEAM:
		{	//< CSD-030506
			g_pArenaManager->RecvEnterTeam(cn, &p->u.arena.arena_enter_team);
			break;
		}	//> CSD-030506
	case CMD_ARENA_LEAVE_TEAM:
		{	//< CSD-030506
			g_pArenaManager->RecvLeaveTeam(cn, &p->u.arena.arena_leave_team);
			break;
		}	//> CSD-030506
	case CMD_ARENA_READY_GAME:
		{	//< CSD-030521
			g_pArenaManager->RecvReadyGame(cn, &p->u.arena.arena_ready_game);
			break;
		}	//> CSD-030521
	case CMD_ARENA_START_GAME:
		{	//< CSD-030506
			g_pArenaManager->RecvStartGame(cn);
			break;
		}	//> CSD-030506		
	case CMD_ARENA_ENTER_OBSERVE:
		{	//< CSD-030509
			g_pArenaManager->RecvEnterObserve(cn, &p->u.arena.arena_enter_observe);
			break;
		}	//> CSD-030509
	case CMD_ARENA_ENTER_GAMBLING:
		{	//< CSD-030509
			g_pArenaManager->RecvEnterGambling(cn, &p->u.arena.arena_enter_gambling);
			break;
		}	//> CSD-030509
	case CMD_MERCHANT_BBS					:	RecvMerchantBBS( p, cn ); break;
	case CMD_MERCHANT_BBS_ALL				:	RecvMerchantBBSAllMap( p, cn ); break;
	case CMD_MERCHANT_BBS_MAP_TO_MAP:	
		{	//< CSD-031213
			p->h.header.type = CMD_MERCHANT_BBS;		// 鸥涝父 函券窍咯 葛电 努扼捞攫飘肺 焊辰促.
			g_pUserManager->SendPacket(p);
			break;
		}	//> CSD-031213
	case CMD_PARTY_ALL_FREE					:	RecvPartyAllFree( cn ); break;
	case CMD_MERCHANT_ITEM_BBS_ALL			:	RecvMerchantItemBBSAllMap( p, cn ); break;
	case CMD_MERCHANT_ITEM_BBS				:	RecvMerchantItemBBS( p, cn ); break;
	case CMD_MERCHANT_ITEM_BBS_MAP_TO_MAP:
		{	//< CSD-031213
			p->h.header.type = CMD_MERCHANT_ITEM_BBS;
			g_pUserManager->SendPacket(p);
			break;
		}	//> CSD-031213
	case CMD_REQ_RANK_LADDER				:	RecvReqRankLadder( p, cn ); break;
	case CMD_DIRECT_CLIENT					:	RecvDirectClient( p ); break;
	case CMD_DIRECT_CLIENT_TO_DB			:	RecvDirectDB( p, cn ); break;
	case CMD_TODAY_ITEM_GET_WHO				:	RecvDeleteTodayGambleItem();// 酒贰 风凭 荐青
	case CMD_OX_SET_TIME					:
	case CMD_OX_QUESTION					:	
	case CMD_PUT_MENU_STRING				:
	case CMD_SEND_SOUND:
		{	//< CSD-031213
			g_pUserManager->SendPacket(p);
			break;
		}	//> CSD-031213
	case CMD_REQ_VISA						:	RecvReqVisa( p, cn ); break;
	case CMD_BUY_VISA						:	RecvBuyVisa( p, cn ); break;
	case CMD_NATION_INFO_MAP_TO_MAP			:	RecvNationInfo( p ); break;
	case CMD_EXIT_GUILD_SELF				:	RecvExitGuildHimSelf( cn ); break;		// 010613 YGI
	case CMD_REGIST_GUILD					:	RecvReqistGuild( p, cn ); break;
	case CMD_REGIST_GUILD_IMSI				:	RecvReqistGuildImsi( p, cn ); break;
	case CMD_REGIST_GUILD_IMSI_OK			: 	RecvReqistGuildImsiOk( p ); break;
	case CMD_REGIST_GUILD_IMSI_OK_ALL		:	RecvSetGuildInfo( p ); break;
	case CMD_TEST							:	RecvTest( p, cn ); break;	
	case CMD_GUILD_INFO1_REQ				:	RecvGuildInfo( p, cn ); break;
	case CMD_GUILD_NUMBER_INFO_DB_TO_MAP	:	RecvGuildNumberInfo( p ); break;
	case CMD_GUILD_DEGREE_INFO			:	RecvGuildDegreeInfo( p ); break;		// 沥侥 辨靛 殿废 己傍
	case CMD_GUILD_DEGREE_INFO2			: RecvGuildDegreeInfo2( p ); break;		// 流氓 函版
	case CMD_REQ_GUILD_INTRODUCTION			:	RecvGuildIntroduction( cn ); break;
	case CMD_UPDATE_GUILD_MAIL_ID			:	TransDbGuildMailId( p, cn ); break;
	case CMD_CHECK_MY_GUILD					:	RecvCheckGuild( p, cn ); break;
	case CMD_GUILD_CHAT_MAP					:	RecvGuildChatMap( p ); break;
	case CMD_GUILD_CHAT						:	RecvGuildChat( p, cn ); break;
	case CMD_REQ_RESET_ABILITY				:	RecvReqResetAbility( cn ); break;
	case CMD_DELETE_GUILD					:	RecvDeleteGuild( p, cn ); break;
	case CMD_DELETE_GUILD_OK				:	RecvDeleteGuildOk( p ); break;
	case CMD_GET_GHOST_QUEST_INFO			:	RecvGetGhostQuestInfo( cn ); break;
	case CMD_SHOW_ME_DUAL_CHAR				:	RecvSearchDualCharacter( p, cn ); break;
	case CMD_CHANGE_COLOR					:	RecvChangeColor( p, cn ); break;
	case CMD_GET_NATION_MONEY				:	RecvGetNationMoney( cn, p->u.kein.default_char ); break;
	case CMD_GAMBLE_ITEM					:	RecvGambleItem( p, cn ); break;
	case CMD_GAMBLE_START					:	RecvGambleStart( cn ); break;
	case CMD_SEND_LOGOUT_CHAR				:	RecvLogoutChar( p, cn ); break;
	case CMD_SEND_DIRECT_CLIENT_TO_MAP		:	RecvSEND_DIRECT_CLIENT_TO_MAP( p ); break;
	case CMD_REPORTER_MODE					:	RecvReporterMode( p, cn ); break;
	case CMD_SET_TODAY_GAMBLE_ITEM			:	RecvSetTodayGambleItem( p ); break;
	case CMD_DELETE_TODAY_GAMBLE_ITEM		:	RecvDeleteTodayGambleItem(); break;
	case CMD_GET_TODAY_GAMBLE_ITEM			:	RecvGetTodayGambleItem( cn ); break;
	case CMD_CHANGE_PARTY_SELECT_EXP		:	RecvChangePartySelectExp( p, cn ); break;
	case CMD_GOTO_POTAL						:	RecvGotoPotal( p, cn ); break;
	case CMD_SET_MAP_TYPE					:	RecvSetMapType( p, cn ); break;
	case CMD_OX_SELECT						:	RecvOXSelect( p, cn ); break;
	case CMD_OX_ANSER						:	RecvOXAnser( p, cn ); break;
	case CMD_CHECK_SKILL					:	RecvCheckSkill( cn ); break;
	case CMD_PUT_GUILD_ITEM					:	RecvPutGuildItem( p, cn ); break;
	case CMD_GET_GUILD_ITEM_CLIENT			:	RecvGetGuildItemClient( p, cn ); break;
	case CMD_GET_GUILD_ITEM_MAP				:	RecvGetGuildItemMap( p ); break;
	case CMD_CHANGE_GUILD_MASTER			:	RecvChangeGuildMaster( cn ); break;
	case CMD_CHANGE_GUILD_MASTER_ALL_MAP	:	RecvChangeGuildMasterAllMap( p ); break;
	case CMD_CHECK_CHANGE_GUILD_INFO		:	RecvCheckGuildChange( p, cn ); break;
	case CMD_GET_NATION_ITEM				:	RecvGetNationItem( cn ); break;
	case CMD_BUY_NATION_ITEM				:	RecvBuyNationItem( cn ); break;
	case CMD_CHECK_COLOSSUS_MAP				:	RecvCheckColossusMap( p, cn ); break;
	case CMD_INVITE_COLOSSUS				:	RecvInviteColossus( p, cn ); break;
	case CMD_INVITE_COLOSSUS_REPLY			:	RecvInviteColossusReply( p ); break;
	case CMD_JOIN_COLOSSUS_MAP				:	RecvJoinColossusMap( p, cn ); break;
	case CMD_ATTACK_COLOSSUS_STONE			:	RecvAttackColossusItem( p, cn ); break;
	case CMD_REVIVAL_COLOSSUS				:	RecvRevivalColossus( p, cn ); break;
	case CMD_GUILD_HOUSE_INFO				:	RecvGuildHouseInfo( p, cn ); break;
	case CMD_BUY_GUILD_HOUSE				:	RecvBuyGuildHouse( p, cn ); break;
	case CMD_CHANGE_GUILDHOUSE_INFO			:	RecvChangeGuildHouse( p, cn ); break;
	case CMD_CHECK_GUILD_HOUSE				:	RecvCheckGuildHouse( p, cn ); break;
	case CMD_RELOAD_GUILD_HOUSE				:	LoadGuildHouse(); break;
	case CMD_PK_ON_OFF						:	RecvPkOnOff( p, cn ); break;
	case CMD_GET_PK_ON_OFF					:	RecvCMD_GET_PK_ON_OFF( p, cn ); break;
	case CMD_SAVE_ITEM_LOG					:	RecvSaveItemLogByEvent( p ); break;
	case CMD_DIRECT_MAP_MOVE				:	RecvDirectMapMove( p, cn ); break;
	case CMD_SEARCH_OTHER_CHAR					:	RecvSearchChar( p, cn ); break;
	case CMD_SEARCH_OTHER_CHAR_MAP				:	RecvSearchCharMap( p ); break;
	case CMD_USE_GM_TOOL					:	RecvUseGmTool_SaveLog( p, cn ); break;
	case CMD_SERVER_KILLPC				:	break;
	case CMD_SEND_EVENT_NO					:	RecvEventNumber( p, cn ); break;	
	case CMD_SEND_DUNGEON_HISTORY			:	RecvDungeonHistory( p ); break;
	case CMD_GET_SCENARIO_INFO				:	RecvGetScenarioInfo( p, cn ); break;	// 蜡历茄抛 柯 夸没
	case CMD_GET_SCENARIO_INFO_MAP			:	RecvGetScenarioInfoMap( p ); break;	// 甘辑滚茄抛 柯 夸没
	case CMD_SCENARIO_COMMAND				:	RecvScenarioCommand( p ); break;
	default:	
		{
			return MenuFunctions( p, cn );	// 020620 YGI
		}
	}

	return 1;
}
// 020620 YGI -------------------------
#define _MAX_MENU_FUNCTIONS		1000
void (*PMenuFunctions[_MAX_MENU_FUNCTIONS])( t_packet *p, short int cn );

extern void SetMenuFunctionsAll();		// 020701 YGI
int MenuFunctions( t_packet *p, short int cn )
{
	int type = p->h.header.type;
	type -= KEIN_FUNCTIONS_START;
	if( type < 0 || type >= _MAX_MENU_FUNCTIONS ) return -31;
	if( PMenuFunctions[type] )
	{
		(*PMenuFunctions[type])( p, cn );
		return 1;
	}
	return -31;
}


void SetMenuFunctions( int type, void function(t_packet *, short int) )
{
	type -= KEIN_FUNCTIONS_START;
	if( type < 0 || type >= _MAX_MENU_FUNCTIONS ) JustMsg( "Error!! regist functions :: kein" );
	PMenuFunctions[type] = function;
}

void SetMenuFunctionsAll()
{
	SetMenuFunctions( CMD_CHECK_GOTO_SCENARIO_DUNGEON, RecvCheckGotoScenarioDungeon );
	SetMenuFunctions( CMD_CHECK_GOTO_SCENARIO_DUNGEON_RESULT, RecvCheckGotoScenarioDungeonResult );
	SetMenuFunctions( CMD_SCENARIO_MESSAGE_MAP, RecvScenarioMessageMap );
	SetMenuFunctions( CMD_TRAP_INFO, RecvScenarioDetailInfo);
	SetMenuFunctions( CMD_TRAP_INFO_MAP, RecvScenarioDetailInfoMap );
	SetMenuFunctions( CMD_SCENARIO_TRAP_KEY, RecvScenarioTrapKeyInfo);
	SetMenuFunctions( CMD_DRAGONROAD_VOTE, RecvDragonVote );
	SetMenuFunctions( CMD_SCENARIO_TIME_INFO, RecvGetScenarioTime ); // CSD-030306
	SetMenuFunctions( CMD_CHANGE_SCENARIO_TIME, RecvChangeScenarioTime );
	SetMenuFunctions( CMD_MOVEMAP_FOR_LIGHT_VERSION, RecvSetInstallVersion );		// 021117 YGI
	// 021107 YGI
	SetMenuFunctions( CMD_CHECK_EVENT_SCRIPT_ITEM, RecvScriptItem );
	SetMenuFunctions( CMD_EVENT_MOVE_MAP, RecvEventMoveMap );
	SetMenuFunctions( CMD_EVENT_MOVE_MAP_CHECK_MAP, RecvEventMoveMapCheckMap );
	SetMenuFunctions( CMD_EVENT_MOVE_MAP_OK, RecvEventMoveMapOk );
	
	SetMenuFunctions( CMD_CHECK_DOUBLE_NAME, RecvCheckDoubleName );
	SetMenuFunctions( CMD_CHECK_DOUBLE_NAME_OK, RecvCheckDoubleNameOk );
	SetMenuFunctions( CMD_CHECK_DOUBLE_NAME_DB_TO_MAP, RecvCheckDoubleNameDB2Map );
	SetMenuFunctions( CMD_CHECK_DOUBLE_NAME_WHERE_FIRST, RecvCheckDoubleNameWhenFirst );
	SetMenuFunctions( CMD_CHECK_DOUBLE_NAME_WHERE_OK, RecvCheckDoubleNameWhenFirstOk );
	// 040105 YGI 焊拱
	SetMenuFunctions( CMD_CHECK_TREASURE_XY, RecvCheckTreasureXY );
	SetMenuFunctions( CMD_GET_TREASURE_MAP_DETAIL, RecvGetTreasureMapDetail );
	SetMenuFunctions( CMD_GET_TREASURE_MAP_DETAIL_DB, RecvGetTreasureMapDetailDB );
}

⌨️ 快捷键说明

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