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

📄 user.cpp.bak

📁 决战帝王1.5武神降临对喜爱决战的玩家共享研究用
💻 BAK
📖 第 1 页 / 共 5 页
字号:
	{
		dwValue = GetDWORD(m_RData + index, index);

		tempVer = dwValue - m_Recv_value;

		if(tempVer > 100) return;		// 菩哦 鞠龋拳 烙矫 抛胶飘侩烙

		m_Recv_value = dwValue;
	}

	command = GetByte(m_RData, index);

	UserTimer();

	// Before Game Start...
	if(command == CHECK_ALIVE_REQ) CheckServerTest();
	else if(command == ENCRYPTION_START_REQ) EncryptionStartReq(pBuf + index);
	else if(command == ANNOUNCE_NOTICE) AnnounceNotice(pBuf + index);

	if( !bEncryption ) return;		// 鞠龋拳啊 救登绢 乐栏搁 公矫..	

	g_ThreadErr[m_iModSid] = command;

	if(command != CLIENT_TICK) 
	{
		m_dwNoDamageTime = 0;
		m_dwLastNoDamageTime = GetTickCount();
	}

	// Before Game Start...
	switch( command )
	{
//	case SESSION_LOGIN_REQ:
//		SessionLoginReq(pBuf + index);
//		break;
	
//	case NEW_ACCOUNT_REQ:
//		NewAccountReq(pBuf + index);
//		break;
	
	case ACCOUNT_LOGIN_REQ:
		AccountLoginReq(pBuf + index);
//		AccountLoginReqWithThread(pBuf+index);
//		AccountLoginReqWithDbServer(pBuf+index);
		break;

	case NEW_CHAR_REQ:
		NewCharReq(pBuf + index);
//		NewCharReqWithThread(pBuf + index);
		break;

	case CHECK_ID_REQ:
		CheckIDReq(pBuf + index);
		break;

	case REROLL_REQ:
		RerollReq(pBuf + index);
		break;

	case DELETE_CHAR_REQ:
		DeleteCharReq(pBuf + index);
//		DeleteCharReqWithThread(pBuf + index);
		break;

	case GAME_START_REQ:
		GameStart(pBuf + index);
//		GameStartWithThread(pBuf + index);
//		GameStartWithDbServer(pBuf + index);
		break;

	case ZONE_LOGIN_REQ:
		ZoneLoginReq(pBuf + index);
		break;

	case LOGOUT_REQ:
		SoftClose();
//		LogOut();
		break;

	case CLIENT_TICK:
		if ( g_ChatEnable[m_iModSid] == TRUE ) CheckSpeedHack();
		break;

//	case CHECK_ALIVE_REQ:			//@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ 抛胶飘 内靛烙
//		CheckServerTest();
//		break;
//	case ANNOUNCE_NOTICE:
//		AnnounceNotice(pBuf + index);
//		break;
	default:
		break;
	}

	if( g_bShutDown )
	{
		SoftClose();
		return;
	}

	// Game Start...
	switch( command )
	{
	case CHAT_REQ:
//		if ( g_ChatEnable[m_iModSid] == TRUE )	ChatReq(pBuf + index);
		if ( g_ChatEnable[m_iModSid] == TRUE ) ChatReqWithThread(len-1, pBuf + index);
		break;

	case LIVE_REQ:
		LiveReq(pBuf + index);
		break;

	case REVIVAL_REQ:
		RevivalReq( pBuf + index );
		break;

	case USERINFO_REQ:
		UserInfoReq(pBuf + index);
		break;

	case CLIENT_TIMER:					// 老窜 SP甫 雀汗茄促.
//		UserTimer();
		break;

	case ITEM_TRADE_REQ:
		ItemTradeReq(pBuf + index);
		break;

	case EXCHANGE_REQ:
		ExchangeReq(pBuf + index);
		break;

	case RESTART_REQ:
		RestartReq(pBuf + index);
//		RestartReqWithThread(pBuf + index);
		break;

	case HELP_REQ:
		HelpStatusOpenReq();
		break;

	case SCREEN_CAPTURE_REQ:
		ScreenCaptureReq( );
		break;

	case EXPRESSION_REQ:
		ExpressionReq( pBuf + index );
		break;

	case EXPRESSION_OPEN:
		ExpressionOpen( );
		break;

//	case PERSONAL_SHOP_REQ:
	//	if ( m_sLevel >= 100 )	PersonalShopReq( pBuf + index );
//		break;


//	case SERVER_TICK_REQ:
//		SendServerTick();
//		break;

	default:
		break;
	}

	if(m_bLive == USER_DEAD) return;		// 酒贰狼 菩哦篮 蜡历啊 混酒乐阑 版快父 贸府
	if(m_bNowTrading == TRUE) return;		// Trade 吝俊绰 谍窿阑 给茄促.
	if(m_bNoItemMove == TRUE) return;		// 酒捞袍阑 框流阑 荐 绝绰 惑怕捞搁 府畔
	if(m_bPShopOpen == TRUE) return;		// User has Personal shop open
	if(m_bViewingAShop == TRUE) return;		// A User is viewing another users shop
	if(m_state != STATE_GAMESTARTED) return;
	if( m_bZoneLogOut ) return;

	switch( command )
	{
	case CLIENT_EVENT:
		ClientEvent(pBuf+index);
		break;

	case BANK_ITEM_MOVE_REQ:
		BankItemMoveReq(pBuf + index);
		break;

	case BUY_ITEM:
		BuyItem(pBuf + index);
		break;

	case BUY_PSY_REQ:
		BuyPsi(pBuf + index);
		break;

	case SELL_ITEM:
		SellItem(pBuf + index);
		break;

	case REPAIR_ITEM:
		RepairItem(pBuf + index);
		break;

	case MOVE_CHAT_REQ:
		MoveChatReq(pBuf + index);
		break;

	case CHANGE_DIR_REQ:
		ChangeDir(pBuf + index);
		break;

	case MOVE_FIRST_REQ:
		MoveFirstReq(pBuf + index);
		break;
	case MOVE_REQ:
		MoveReq(pBuf + index);
		break;
	case MOVE_END_REQ:
		MoveEndReq(pBuf + index);
		break;

	case RUN_FIRST_REQ:
		RunFirstReq(pBuf + index);
		break;
	case RUN_REQ:
		RunReq(pBuf + index);
		break;
	case RUN_END_REQ:
		RunEndReq(pBuf + index);
		break;
	
	case FIND_USER_REQ:
		FindUserReq(pBuf + index);
		break;

	case BBS_NEXT:
		BBSNext(pBuf + index);
//		BBSNextWithThread(pBuf + index);
		break;

	case BBS_READ:
		BBSRead(pBuf + index);
//		BBSReadWithThread(pBuf + index);
		break;

	case BBS_WRITE:
		BBSWrite(pBuf + index);
//		BBSWriteWithThread(pBuf + index);
		break;

	case BBS_EDIT:
		BBSEdit(pBuf + index);
//		BBSEditWithThread(pBuf + index);
		break;

	case BBS_DELETE:
		BBSDelete(pBuf + index);
//		BBSDeleteWithThread(pBuf + index);
		break;

	case PSI_ATTACK_REQ:
		PsiAttack(pBuf + index);
		break;

	case ATTACK_REQ:
		Attack(pBuf + index);
		break;

	case TRADE_MODE_REQ:
		SetTradeMode(pBuf + index);
		break;

	case ITEM_MOVE_REQ:
		ItemMoveReq(pBuf + index);
		break;

	case ITEM_GIVE_REQ:
		ItemGiveReq(pBuf + index);
		break;

	case ITEM_LOAD_REQ:
		ItemLoadReq(pBuf + index);
		break;

	case ITEM_USE_REQ:
		ItemUseReq(pBuf + index);
		break;

	case CHANGE_WEAPON_REQ:
		ChangeWeaponReq(pBuf + index);
		break;

	case SKILL_ONOFF_REQ:
		SkillOnOffReq(pBuf + index);
		break;

	case PSI_CHANGE_REQ:
		PsiChangeReq(pBuf + index);
		break;

	case USER_STATUS_SKILL_UP_REQ:
		UserStatusSkillUp(pBuf + index);
		break;

	case BUDDY_MODE_REQ: 
		SetBuddyMode(pBuf + index);
		break;

	case UPGRADE_ITEM_REQ:
//		SendSystemMsg( IDS_USER_UNDER_CONSTRUCTION, SYSTEM_NORMAL, TO_ME);
//		UpgradeItemReq(pBuf + index);
		UpgradeItemReqBegin(pBuf + index);
		break;

	case GUILD_OPEN_REQ:
		NewGuild(pBuf + index);
//		NewGuildWithThread(pBuf + index);
		break;

	case GUILD_WAREHOUSE_CLOSE:
		GuildWharehouseCloseReq();
		break;

	case GUILD_ADD_REQ:
		GuildAddReq(pBuf + index);
		break;

	case GUILD_MARK_ADD_REQ:
		GuildMarkAddReq(pBuf + index);
//		GuildMarkAddReqWithThread(pBuf + index);
		break;

	case GUILD_ITEM_MOVE_REQ:
		GuildItemMoveReq(pBuf + index);
//		GuildItemMoveReqWithThread(pBuf + index);
		break;

	case GUILD_USER_INFO_REQ:
		GuildUserInfoReq(pBuf + index);
		break;

	case GUILD_TAX_REQ:
		GetStoreTax(pBuf + index);
		break;

	case GUILD_WAR_REQ:
		GetGuildWarScheme(pBuf + index);
		break;

	case GUILD_WAR_APPLY_REQ:
		GuildWarApplyReq(pBuf + index);
		break;

	case GUILD_FIELD_WAR_RESULT:
		SendGuildWarFieldApplyResult(pBuf + index);
		break;

	case GUILD_HOUSE_APPLY_REQ:
		MassZoneMove(pBuf + index);
		break;

	case TELEPORT_REQ:
		TeleportReq();
		break;

	case TELEPORT_EDIT_REQ: 
		TelportEdit(pBuf + index);
		break;

	case TELEPORT_COPY_REQ:
		TeleportCopyReq(pBuf + index);
		break;

	case TELEPORT_COPY_RESULT:
		TeleportCopyResult(pBuf + index);
		break;

	case EVENT_UPGRADE_ITEM_REQ:
		EventUpgradeItemReq(pBuf + index);
		break;

	case ADDRESS_WINDOW_OPEN:
	case ADDRESS_WINDOW_OPEN_NEW:
		RecvAddress( pBuf + index );
		break;

	case PRE_REG_USER_EVENT_REQ:
		RecvEventItemSerial( pBuf + index );
		break;

	case PRE_REG_GAMEROOM_EVENT_REQ:
		RecvEventItemSerialForGameRoom( pBuf + index );
		break;

	case ACCOUNT_BANK_ITEM_MOVE_REQ:
		AccountBankItemMoveReq( pBuf + index );
		break;

	case DRESSING:
		m_bNoItemMove = TRUE;
		DressingReq( pBuf + index );
		m_bNoItemMove = FALSE;
		break;

	case SELECT_OVER100_SKILL:
		SelectOver100Skill( pBuf+index );
		break;

	case GUILD_INVITE_REQ:
		SendGuildInviteReq( pBuf+index );
		break;

	case GUILD_INVITE_RESULT:
		GuildInviteResult( pBuf+index );
		break;

	case QUESTWINDOW_OPEN_REQ:
		QuestWindowOpenReq( pBuf + index);
		break;

	case LOVE_NAME_REQ://--yskang 0.1
		LoveName(pBuf+index);
		break;

	// Mail system by zinee 02-11-15
	case MAIL_INFO_REQ:
		MailInfoReq( pBuf+index );
		break;

	case MAIL_SEND_REQ:
		MailSendReq( pBuf+index );
		break;

	case MAIL_LIST_REQ:
		MailListReq( pBuf+index );
		break;

	case MAIL_CONTENTS_REQ:
		MailContentReq( pBuf+index );
		break;

	case MAIL_DELETE_REQ:
		MailDeleteReq( pBuf+index );
		break;

	case EBODY_IDENTIFY_REQ:
		EBodyIdentifyReq( pBuf + index );
		break;

	case PK_BUTTON_REQ:
		TogglePKButton( pBuf + index );
		break;

	case TRANSFORM_REQ:
		TransformReq( pBuf + index  );
	default:
		break;
	}
}
//////////////////////////////////////////////////////////////////////
//	About DB


///////////////////////////////////////////////////////////////////////////////////
//	Session DB俊 Account 啊 乐绰瘤 犬牢窍绰 Stored Proc
//
BOOL USER::CheckSessionLoginReq(TCHAR *strAccount, TCHAR *strPassword, int& nCount)
{
	nCount = 0;
	
	SQLHSTMT		hstmt;
	SQLRETURN		retcode;
	TCHAR			szSQL[1024];

	BOOL bQuerySuccess = TRUE;
	
	memset(szSQL, 0x00, 1024);
	_sntprintf(szSQL, sizeof(szSQL), TEXT("{call LoginReq (\'%s\', \'%s\',?)}"), strAccount, strPassword);
	
	SQLSMALLINT	sCount = 0;
	SQLINTEGER sCountInd;

	hstmt = NULL;

	int db_index = -1;
	CDatabase* pDB = g_DBSession[m_iModSid].GetDB( db_index );
	if( !pDB ) return FALSE;
	
	retcode = SQLAllocHandle( (SQLSMALLINT)SQL_HANDLE_STMT, pDB->m_hdbc, &hstmt );
	if (retcode!=SQL_SUCCESS)
	{
//		g_DBSession[m_iModSid].ReleaseDB(db_index);
		return FALSE;
	}

	retcode = SQLBindParameter(hstmt,1 ,SQL_PARAM_OUTPUT,SQL_C_SSHORT, SQL_SMALLINT, 0, 0, &sCount, 0, &sCountInd);
	if (retcode!=SQL_SUCCESS) 
	{
//		g_DBSession[m_iModSid].ReleaseDB(db_index);
		return FALSE;
	}

	retcode = SQLExecDirect (hstmt, (unsigned char *)szSQL, SQL_NTS);
	if (retcode ==SQL_SUCCESS || retcode == SQL_SUCCESS_WITH_INFO)
	{
		while (TRUE)
		{
			retcode = SQLFetch(hstmt);
			if (retcode !=SQL_SUCCESS && retcode !=SQL_SUCCESS_WITH_INFO)
			{
				break;
			}
		}
	}
	else if (retcode==SQL_ERROR)
	{
		bQuerySuccess = FALSE;
		DisplayErrorMsg(hstmt);
	}
	else if (retcode==SQL_NO_DATA)
	{
		bQuerySuccess = FALSE;
	}
	
	if (hstmt!=NULL) SQLFreeHandle( (SQLSMALLINT)SQL_HANDLE_STMT, hstmt);

	if( !bQuerySuccess ) 
	{
//		BREAKPOINT();
		g_DBSession[m_iModSid].ReleaseDB(db_index);
		return FALSE;
	}

	nCount = sCount;

	g_DBSession[m_iModSid].ReleaseDB(db_index);

	return TRUE;

⌨️ 快捷键说明

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