clcreatepchandler.cpp

来自「dk1游戏的原代码文件,完整.编译系统redhat7.3,mysql 3.23 」· C++ 代码 · 共 492 行 · 第 1/2 页

CPP
492
字号
		{			pResult = pStmt->executeQuery("SELECT GoalExp FROM DEXBalanceInfo WHERE Level = %d", nDEX);			if (pResult->next()) nDEXGoalExp = DEXGoalExp[nDEX] = pResult->getInt(1);		}		nDEXExp = DEXAccumExp[nDEX-1];		if (nDEXExp==0)		{			pResult = pStmt->executeQuery("SELECT AccumExp FROM DEXBalanceInfo WHERE Level = %d", nDEX - 1);			if (pResult->next()) nDEXExp = DEXAccumExp[nDEX-1] = pResult->getInt(1);		}		nINTGoalExp = INTGoalExp[nINT];		if (nINTGoalExp==0)		{			pResult = pStmt->executeQuery("SELECT GoalExp FROM INTBalanceInfo WHERE Level = %d", nINT);			if (pResult->next()) nINTGoalExp = INTGoalExp[nINT] = pResult->getInt(1);		}		nINTExp = INTAccumExp[nINT-1];		if (nINTExp==0)		{			pResult = pStmt->executeQuery("SELECT AccumExp FROM INTBalanceInfo WHERE Level = %d", nINT - 1);			if (pResult->next()) nINTExp = INTAccumExp[nINT-1] = pResult->getInt(1);		}		// 老窜 汗厘篮 绝绊.. 巢/赤 备盒父..		DWORD slayerShape = (pPacket->getSex()==1? 1 : 0);		DWORD vampireShape = slayerShape;		slayerShape |= (pPacket->getHairStyle() << PCSlayerInfo::SLAYER_BIT_HAIRSTYLE1);		Color_t	HelmetColor = 0;		Color_t JacketColor = 0;		Color_t	PantsColor  = 0;		Color_t	WeaponColor = 0;		Color_t	ShieldColor = 0;		/*		StringStream slayerSQL;		slayerSQL << "INSERT INTO Slayer ("			<< " Race, Name, PlayerID, Slot, ServerGroupID, Active,"			<< " Sex, HairStyle, HairColor, SkinColor, Phone, "			<< " STR, STRExp, STRGoalExp, DEX, DEXExp, DEXGoalExp, INTE, INTExp, INTGoalExp, HP, CurrentHP, MP, CurrentMP,"			<< " ZoneID, XCoord, YCoord, Sight, Gold, Alignment,"			<< " Shape, HelmetColor, JacketColor, PantsColor, WeaponColor, ShieldColor,"			<< " creation_date) VALUES ('"			<< "SLAYER" << "', '"			<< pPacket->getName() << "', '"			<< pLoginPlayer->getID() << "', '"			<< Slot2String[pPacket->getSlot()] << "', "			<< (int)CurrentServerGroupID << " , "			<< "'ACTIVE', '"			<< Sex2String[pPacket->getSex()] << "', '"			<< HairStyle2String[pPacket->getHairStyle()] << "', "			<< (int)pPacket->getHairColor() << ", "			<< (int)pPacket->getSkinColor() << ", '"			<< (int)0 << "', "			<< (int)pPacket->getSTR() << ", "			<< nSTRExp << ", "			<< nSTRGoalExp << ", "			<< (int)pPacket->getDEX() << ", "			<< nDEXExp << ", "			<< nDEXGoalExp << ", "			<< (int)pPacket->getINT() << ", "			<< nINTExp << ", "			<< nINTGoalExp << ", "			<< (int)pPacket->getSTR()*2 << ","			<< (int)pPacket->getSTR()*2 << ","			<< (int)pPacket->getINT()*2 << ","			<< (int)pPacket->getINT()*2 << ","			<< "2101, 65, 45, 13, 0, 7500, "			<< slayerShape << ", "			<< (int)HelmetColor << ", "			<< (int)JacketColor << ", "			<< (int)PantsColor << ", "			<< (int)WeaponColor << ", "			<< (int)ShieldColor << ", "			<< "now() "			<< ")";		StringStream vampireSQL;		vampireSQL << "INSERT INTO Vampire ("			<< " Name, PlayerID, Slot, ServerGroupID, Active,"			<< " Sex, HairColor, SkinColor,"			<< " STR, DEX, INTE, HP, CurrentHP,"			<< " ZoneID, XCoord, YCoord, Sight, Alignment, Exp, GoalExp, Shape) VALUES ('"			<< pPacket->getName() << "', '"			<< pLoginPlayer->getID() << "', '"			<< Slot2String[pPacket->getSlot()] << "', "			<< (int)CurrentServerGroupID << " , "			<< "'ACTIVE', '"			<< Sex2String[pPacket->getSex()] << "', "			<< (int)pPacket->getHairColor() << ", "			<< (int)pPacket->getSkinColor() << ", "			<< "20, 20, 20, 50, 50, "			<< "2020, 233, 55, 13, 7500, 0, 125, "			<< vampireShape			<< ")";		pStmt->executeQuery(slayerSQL.toString());		pStmt->executeQuery(vampireSQL.toString());		*/		// 某腐磐 积己矫俊 轨颇捞绢甫 急琶且 荐 乐促.		// by sigi. 2002.10.31		string race;		switch ( pPacket->getRace() )		{			case RACE_SLAYER:				race = "SLAYER";				break;			case RACE_VAMPIRE:				race = "VAMPIRE";				break;			case RACE_OUSTERS:				race = "OUSTERS";				break;			default:				lcCreatePCError.setErrorID(ETC_ERROR);				pLoginPlayer->sendPacket(&lcCreatePCError); // 努扼捞攫飘俊霸 PC 积己 角菩 菩哦阑 朝赴促.				return;		}		pStmt->executeQuery(				"INSERT INTO Slayer (Race, Name, PlayerID, Slot, ServerGroupID, Active, Sex, HairStyle, HairColor, SkinColor, Phone, STR, STRExp, STRGoalExp, DEX, DEXExp, DEXGoalExp, INTE, INTExp, INTGoalExp, Rank, RankExp, RankGoalExp, HP, CurrentHP, MP, CurrentMP, ZoneID, XCoord, YCoord, Sight, Gold, Alignment, Shape, HelmetColor, JacketColor, PantsColor, WeaponColor, ShieldColor, creation_date) VALUES ('%s', '%s', '%s', '%s', %d, 'ACTIVE', '%s', '%s', %d, %d, 0, %d, %d, %d, %d, %d, %d, %d, %d, %d, %d, %d, %d, %d, %d, %d, %d, 12, 237, 138, 13, 0, 7500, %d, %d, %d, %d, %d, %d, now())",				race.c_str(),				pPacket->getName().c_str(), 				pLoginPlayer->getID().c_str(), 				Slot2String[pPacket->getSlot()].c_str(), 				(int)CurrentServerGroupID,				Sex2String[pPacket->getSex()].c_str(), 				HairStyle2String[pPacket->getHairStyle()].c_str(), 				(int)pPacket->getHairColor(), 				(int)pPacket->getSkinColor(),				(int)pPacket->getSTR(), nSTRExp, nSTRGoalExp, 				(int)pPacket->getDEX(), nDEXExp, nDEXGoalExp, 				(int)pPacket->getINT(), nINTExp, nINTGoalExp,				1, 0, RankGoalExpSlayer,				(int)pPacket->getSTR()*2,				(int)pPacket->getSTR()*2,				(int)pPacket->getINT()*2,				(int)pPacket->getINT()*2,				slayerShape,				(int)HelmetColor,				(int)JacketColor,				(int)PantsColor,				(int)WeaponColor,				(int)ShieldColor);		// 积己 困摹 函版. by sigi. 2002.10.31		// 酒快胶磐胶肺狼 辆练埃 函脚捞 绝栏骨肺 笛吝俊 窍唱父 父电促.		// 辟单 控瘤 辆练埃 函脚捞 甸绢哎瘤档 葛弗促绰 阂辨茄 抗埃捞 甸绊		// 亲惑 弊繁 抗皑甸篮 嘎酒 吭扁锭巩俊 攫哩啊 捞 林籍阑 焊绊 笛促 钱绢林绰霸....栏酒~~		if (  pPacket->getRace() != RACE_OUSTERS )		{			pStmt->executeQuery(					"INSERT INTO Vampire ( Name, PlayerID, Slot, ServerGroupID, Active, Sex, SkinColor, STR, DEX, INTE, HP, CurrentHP, ZoneID, XCoord, YCoord, Sight, Alignment, Exp, GoalExp, Rank, RankExp, RankGoalExp, Shape, CoatColor) VALUES ( '%s', '%s', '%s', %d, 'ACTIVE', '%s', %d, 20, 20, 20, 50, 50, 1003, 62, 64, 13, 7500, 0, %d, 1, 0, %d, %d, 377 )",					pPacket->getName().c_str(),					pLoginPlayer->getID().c_str(),					Slot2String[pPacket->getSlot()].c_str(),					(int)CurrentServerGroupID,					Sex2String[pPacket->getSex()].c_str(),					(int)pPacket->getSkinColor(),					GoalExpVampire,	// by sigi. 2002.12.20					RankGoalExpVampire,					vampireShape);		} else		{			pStmt->executeQuery(					"INSERT INTO Ousters ( Name, PlayerID, Slot, ServerGroupID, Active, Sex, STR, DEX, INTE, BONUS, HP, CurrentHP, MP, CurrentMP, ZoneID, XCoord, YCoord, Sight, Alignment, Exp, GoalExp, Rank, RankExp, RankGoalExp, CoatColor, HairColor, ArmColor, BootsColor ) Values ( '%s', '%s', '%s', %d, 'ACTIVE', 'FEMALE', %d, %d, %d, 0, 50, 50, 50, 50, 1311, 24, 73, 13, 7500, 0, %d, 1, 0,	%d, 377, %d, 377, 377 )",					pPacket->getName().c_str(),					pLoginPlayer->getID().c_str(),					Slot2String[pPacket->getSlot()].c_str(),					(int)CurrentServerGroupID,					(int)pPacket->getSTR(),					(int)pPacket->getDEX(),					(int)pPacket->getINT(),					GoalExpOusters,					RankGoalExpOusters,					(int)pPacket->getHairColor() );		}		if (pPacket->getRace()==RACE_SLAYER)		{			pStmt->executeQuery("INSERT IGNORE INTO FlagSet (OwnerID, FlagData) VALUES ('%s','11110010001')", pPacket->getName().c_str());		}		else		{			pStmt->executeQuery("INSERT IGNORE INTO FlagSet (OwnerID, FlagData) VALUES ('%s','00000000001')", pPacket->getName().c_str());		}		// 努扼捞攫飘俊霸 PC 积己 己傍 菩哦阑 朝赴促.		LCCreatePCOK lcCreatePCOK;		pLoginPlayer->sendPacket(&lcCreatePCOK);		pLoginPlayer->setPlayerStatus(LPS_WAITING_FOR_CL_GET_PC_LIST);		SAFE_DELETE(pStmt);	} 	catch (DuplicatedException & de) 	{		SAFE_DELETE(pStmt);		pLoginPlayer->sendPacket(&lcCreatePCError); // 努扼捞攫飘俊霸 PC 积己 角菩 菩哦阑 朝赴促.	} 	catch (SQLQueryException & sqe) 	{		SAFE_DELETE(pStmt);		lcCreatePCError.setErrorID(ETC_ERROR);		pLoginPlayer->sendPacket(&lcCreatePCError); // 努扼捞攫飘俊霸 PC 积己 角菩 菩哦阑 朝赴促.	}#endif	__END_DEBUG_EX __END_CATCH}boolisAvailableID(const char* pID){	const int maxInvalidID = 10;	static const char* invalidID[maxInvalidID] =	{		"NONE",		"包府磊",		"档快固",		"淬寸磊",		"款康",		"扁裙磊",		"俺惯磊",		"抛胶磐",		"流盔",		"GM"	};		// 粱 狐甫鳖. - -; 2002.7.13 by sigi.	for (int i=0; i<maxInvalidID; i++)	{		if (strstr(pID, invalidID[i])!=NULL) 		{			return false;		}	}	return true;}

⌨️ 快捷键说明

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