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

📄 skill_lsw.cpp

📁 国内著名网络游戏dragon的服务端完整源码 内附完整数据库结构
💻 CPP
📖 第 1 页 / 共 5 页
字号:
				g_pLogManager->SaveEventItemLostLog(EILT_INVALID_NAME, p.u.Event_Item_List.szChrName, i+1);
			}
		}
		return;
	}

	// 牢亥狼 后沫 技扁
	int blankcount = 0;
	for(int a=0; a<3; a++)
	{
		for(int b=0; b<3; b++)
		{
			for(int c=0; c<8; c++)
			{
				if( !ch->inv[a][b][c].item_no )
				{
					blankcount++;
				}
			}
		}
	}
	
	if(blankcount < 10)	// 10沫 捞惑牢啊?
	{
		::OutMessage(ch,2,13);//烙矫,,牢亥配府 傍埃捞 面盒摹 臼嚼聪促.
		// 酒捞袍捞 朝扼艾促. 肺弊 巢扁磊.
		for(int i = 0; i < MAX_EVENT_USER_FILED; i++)
		{
			if(p.u.Event_Item_List.nIndex[i])
			{
				//i+1牢 牢郸胶狼 酒捞袍捞 朝酒艾促
				g_pLogManager->SaveEventItemLostLog(EILT_NOTENOUGH_INVENTORY, p.u.Event_Item_List.szChrName, i+1);
			}
		}
		return;
	}

	// 风橇甫 倒哥瘤鞭
	for(int i = 0; i < MAX_EVENT_USER_FILED; i++)
	{
		if(p.u.Event_Item_List.item[i].item_no)
		{
			// 酒捞袍 瘤鞭窍磊
			int a=0,b=0,c=0;
			if(::SearchInv(ch->inv,a,b,c))//傍埃捞 乐备唱
			{
				POS pos;
				SetItemPos(INV,a,b,c,&pos);//pos悸泼 
				ITEMATTR *pItem = ::GetItemByPOS(ch,pos);//酒捞袍 林家 罐绊
				(*pItem) = p.u.Event_Item_List.item[i];
				::SendServerEachItem( &pos, pItem,nUserCn);//焊郴扁
				// DB俊辑 积己登绢 柯 酒捞袍捞聪 DB俊辑 父甸菌促绊 肺弊 巢扁磊
				::SendItemEventLog( pItem, ch->GetServerID(), 0, SILT_MAKE_BY_DB, 1 );
			}
		}
	}
}
//> BBD 040308		单阁栏肺何磐狼 捞亥飘酒捞袍 瘤鞭 览翠矫 妮登绰 窃荐

int LoadRaregroup()
{
	HSTMT		hStmt = NULL;
	RETCODE		retCode;
	SDWORD		cbValue;

	SQLAllocStmt(hDBC, &hStmt);
	retCode = SQLExecDirect(hStmt, (UCHAR *)"Select * from rare_group order by no", SQL_NTS);
	if(retCode == SQL_SUCCESS || retCode == SQL_SUCCESS_WITH_INFO)
	{		
		int i = 0;
		retCode = SQLFetch(hStmt);
		while( retCode == SQL_SUCCESS || retCode == SQL_SUCCESS_WITH_INFO)
		{
			if(i >= MAX_RARE_GROUP) 
			{
				SQLFreeStmt(hStmt, SQL_DROP);
				return 0;
			}

			retCode = SQLGetData(hStmt, 1, SQL_INTEGER	 ,	&RareGroup[0][i].no					, 0, &cbValue);
			retCode = SQLGetData(hStmt, 2, SQL_CHAR		 ,	RareGroup[0][i].name					, 40, &cbValue);
			retCode = SQLGetData(hStmt, 3, SQL_CHAR		 ,	RareGroup[0][i].rareset[0].rare					, 40, &cbValue);
			retCode = SQLGetData(hStmt, 4, SQL_INTEGER	 ,	&RareGroup[0][i].rareset[0].rare_num			, 0, &cbValue);
			retCode = SQLGetData(hStmt, 5, SQL_INTEGER	 ,	&RareGroup[0][i].rareset[0].rare_rate			, 0, &cbValue);
			retCode = SQLGetData(hStmt, 6, SQL_CHAR		 ,	RareGroup[0][i].rareset[1].rare					, 40, &cbValue);
			retCode = SQLGetData(hStmt, 7, SQL_INTEGER	 ,	&RareGroup[0][i].rareset[1].rare_num			, 0, &cbValue);
			retCode = SQLGetData(hStmt, 8, SQL_INTEGER	 ,	&RareGroup[0][i].rareset[1].rare_rate			, 0, &cbValue);
			retCode = SQLGetData(hStmt, 9, SQL_CHAR		 ,	RareGroup[0][i].rareset[2].rare					, 40, &cbValue);
			retCode = SQLGetData(hStmt, 10, SQL_INTEGER	 ,	&RareGroup[0][i].rareset[2].rare_num			, 0, &cbValue);
			retCode = SQLGetData(hStmt, 11, SQL_INTEGER	 ,	&RareGroup[0][i].rareset[2].rare_rate			, 0, &cbValue);
			retCode = SQLGetData(hStmt, 12, SQL_CHAR	 ,	RareGroup[0][i].rareset[3].rare					, 40, &cbValue);
			retCode = SQLGetData(hStmt, 13, SQL_INTEGER	 ,	&RareGroup[0][i].rareset[3].rare_num			, 0, &cbValue);
			retCode = SQLGetData(hStmt, 14, SQL_INTEGER	 ,	&RareGroup[0][i].rareset[3].rare_rate			, 0, &cbValue);
			retCode = SQLGetData(hStmt, 15, SQL_CHAR	 ,	RareGroup[0][i].rareset[4].rare					, 40, &cbValue);
			retCode = SQLGetData(hStmt, 16, SQL_INTEGER	 ,	&RareGroup[0][i].rareset[4].rare_num			, 0, &cbValue);
			retCode = SQLGetData(hStmt, 17, SQL_INTEGER	 ,	&RareGroup[0][i].rareset[4].rare_rate			, 0, &cbValue);
			retCode = SQLGetData(hStmt, 18, SQL_CHAR	 ,	RareGroup[0][i].rareset[5].rare					, 40, &cbValue);
			retCode = SQLGetData(hStmt, 19, SQL_INTEGER	 ,	&RareGroup[0][i].rareset[5].rare_num			, 0, &cbValue);
			retCode = SQLGetData(hStmt, 20, SQL_INTEGER	 ,	&RareGroup[0][i].rareset[5].rare_rate			, 0, &cbValue);
			retCode = SQLGetData(hStmt, 21, SQL_CHAR	 ,	RareGroup[0][i].rareset[6].rare					, 40, &cbValue);
			retCode = SQLGetData(hStmt, 22, SQL_INTEGER	 ,	&RareGroup[0][i].rareset[6].rare_num			, 0, &cbValue);
			retCode = SQLGetData(hStmt, 23, SQL_INTEGER	 ,	&RareGroup[0][i].rareset[6].rare_rate			, 0, &cbValue);
			retCode = SQLGetData(hStmt, 24, SQL_CHAR	 ,	RareGroup[0][i].rareset[7].rare					, 40, &cbValue);
			retCode = SQLGetData(hStmt, 25, SQL_INTEGER	 ,	&RareGroup[0][i].rareset[7].rare_num			, 0, &cbValue);
			retCode = SQLGetData(hStmt, 26, SQL_INTEGER	 ,	&RareGroup[0][i].rareset[7].rare_rate			, 0, &cbValue);
			retCode = SQLGetData(hStmt, 27, SQL_CHAR	 ,	RareGroup[0][i].group_buffer_1			, 40, &cbValue);
			retCode = SQLGetData(hStmt, 28, SQL_CHAR	 ,	RareGroup[0][i].group_buffer_2			, 40, &cbValue);
			retCode = SQLGetData(hStmt, 29, SQL_CHAR	 ,	RareGroup[0][i].group_buffer_3			, 40, &cbValue);
			retCode = SQLGetData(hStmt, 30, SQL_INTEGER	 ,	&RareGroup[0][i].group_buffer_4		, 0, &cbValue);
			retCode = SQLGetData(hStmt, 31, SQL_INTEGER	 ,	&RareGroup[0][i].group_buffer_5		, 0, &cbValue);
			retCode = SQLGetData(hStmt, 32, SQL_INTEGER	 ,	&RareGroup[0][i].group_buffer_6		, 0, &cbValue);
			retCode = SQLGetData(hStmt, 33, SQL_INTEGER	 ,	&RareGroup[0][i].group_buffer_7		, 0, &cbValue);
			retCode = SQLGetData(hStmt, 34, SQL_INTEGER	 ,	&RareGroup[0][i].group_buffer_8		, 0, &cbValue);
			retCode = SQLGetData(hStmt, 35, SQL_INTEGER	 ,	&RareGroup[0][i].group_buffer_9		, 0, &cbValue);
			retCode = SQLGetData(hStmt, 36, SQL_INTEGER	 ,	&RareGroup[0][i].group_buffer_10		, 0, &cbValue);

			i++;

			retCode = SQLFetch(hStmt);
			if(retCode == SQL_SUCCESS || retCode == SQL_SUCCESS_WITH_INFO)
			{
			}
			else if( retCode == SQL_NO_DATA ) 
			{
				break;
			}
			else
			{
				SQLFreeStmt(hStmt, SQL_DROP);
				return 0;
			}
		}	
	}		
	else 
	{
		SQLFreeStmt(hStmt, SQL_DROP);
		return 0;
	}
	SQLFreeStmt(hStmt, SQL_DROP);		// 0308 YGI
	return 1;
}

void RareGroupSet()
{
	int i1 = 1,i2 = 1,	i3 = 1,	i4 = 1;
	for (;i1 < MAX_RARE_GROUP;i1++)
	{
		const int iGroupSet = RareGroup[1][i1].group_buffer_10;
		switch(iGroupSet)
		{
		case 2:
			{
				RareGroup[iGroupSet][i2] = RareGroup[1][i1];
				i2++;
			}break;
		case 3:
			{
				RareGroup[iGroupSet][i3] = RareGroup[1][i1];
				i3++;
			}break;
		case 4:
			{
				RareGroup[iGroupSet][i4] = RareGroup[1][i1];
				i4++;
			}break;
		default:
			continue;
			break;
		}
		
	}
}

int LoadItemFunctionGroup()
{
	HSTMT		hStmt = NULL;
	RETCODE		retCode;
	SDWORD		cbValue;

	SQLAllocStmt(hDBC, &hStmt);
	retCode = SQLExecDirect(hStmt, (UCHAR *)"Select * from Function_group order by no", SQL_NTS);
	if(retCode == SQL_SUCCESS || retCode == SQL_SUCCESS_WITH_INFO)
	{		
		int i = 0;
		retCode = SQLFetch(hStmt);
		while( retCode == SQL_SUCCESS || retCode == SQL_SUCCESS_WITH_INFO)
		{
			if(i >= MAX_RARE_GROUP) 
			{
				SQLFreeStmt(hStmt, SQL_DROP);
				return 0;
			}

			retCode = SQLGetData(hStmt, 1, SQL_INTEGER	 ,	&RareGroup[1][i].no					, 0, &cbValue);
			retCode = SQLGetData(hStmt, 2, SQL_CHAR		 ,	RareGroup[1][i].name					, 40, &cbValue);
			retCode = SQLGetData(hStmt, 3, SQL_CHAR		 ,	RareGroup[1][i].rareset[0].rare					, 40, &cbValue);
			retCode = SQLGetData(hStmt, 4, SQL_INTEGER	 ,	&RareGroup[1][i].rareset[0].rare_num			, 0, &cbValue);
			retCode = SQLGetData(hStmt, 5, SQL_INTEGER	 ,	&RareGroup[1][i].rareset[0].rare_rate			, 0, &cbValue);
			retCode = SQLGetData(hStmt, 6, SQL_CHAR		 ,	RareGroup[1][i].rareset[1].rare					, 40, &cbValue);
			retCode = SQLGetData(hStmt, 7, SQL_INTEGER	 ,	&RareGroup[1][i].rareset[1].rare_num			, 0, &cbValue);
			retCode = SQLGetData(hStmt, 8, SQL_INTEGER	 ,	&RareGroup[1][i].rareset[1].rare_rate			, 0, &cbValue);
			retCode = SQLGetData(hStmt, 9, SQL_CHAR		 ,	RareGroup[1][i].rareset[2].rare					, 40, &cbValue);
			retCode = SQLGetData(hStmt, 10, SQL_INTEGER	 ,	&RareGroup[1][i].rareset[2].rare_num			, 0, &cbValue);
			retCode = SQLGetData(hStmt, 11, SQL_INTEGER	 ,	&RareGroup[1][i].rareset[2].rare_rate			, 0, &cbValue);
			retCode = SQLGetData(hStmt, 12, SQL_CHAR	 ,	RareGroup[1][i].rareset[3].rare					, 40, &cbValue);
			retCode = SQLGetData(hStmt, 13, SQL_INTEGER	 ,	&RareGroup[1][i].rareset[3].rare_num			, 0, &cbValue);
			retCode = SQLGetData(hStmt, 14, SQL_INTEGER	 ,	&RareGroup[1][i].rareset[3].rare_rate			, 0, &cbValue);
			retCode = SQLGetData(hStmt, 15, SQL_CHAR	 ,	RareGroup[1][i].rareset[4].rare					, 40, &cbValue);
			retCode = SQLGetData(hStmt, 16, SQL_INTEGER	 ,	&RareGroup[1][i].rareset[4].rare_num			, 0, &cbValue);
			retCode = SQLGetData(hStmt, 17, SQL_INTEGER	 ,	&RareGroup[1][i].rareset[4].rare_rate			, 0, &cbValue);
			retCode = SQLGetData(hStmt, 18, SQL_CHAR	 ,	RareGroup[1][i].rareset[5].rare					, 40, &cbValue);
			retCode = SQLGetData(hStmt, 19, SQL_INTEGER	 ,	&RareGroup[1][i].rareset[5].rare_num			, 0, &cbValue);
			retCode = SQLGetData(hStmt, 20, SQL_INTEGER	 ,	&RareGroup[1][i].rareset[5].rare_rate			, 0, &cbValue);
			retCode = SQLGetData(hStmt, 21, SQL_CHAR	 ,	RareGroup[1][i].rareset[6].rare					, 40, &cbValue);
			retCode = SQLGetData(hStmt, 22, SQL_INTEGER	 ,	&RareGroup[1][i].rareset[6].rare_num			, 0, &cbValue);
			retCode = SQLGetData(hStmt, 23, SQL_INTEGER	 ,	&RareGroup[1][i].rareset[6].rare_rate			, 0, &cbValue);
			retCode = SQLGetData(hStmt, 24, SQL_CHAR	 ,	RareGroup[1][i].rareset[7].rare					, 40, &cbValue);
			retCode = SQLGetData(hStmt, 25, SQL_INTEGER	 ,	&RareGroup[1][i].rareset[7].rare_num			, 0, &cbValue);
			retCode = SQLGetData(hStmt, 26, SQL_INTEGER	 ,	&RareGroup[1][i].rareset[7].rare_rate			, 0, &cbValue);
			retCode = SQLGetData(hStmt, 27, SQL_CHAR	 ,	RareGroup[1][i].group_buffer_1			, 40, &cbValue);
			retCode = SQLGetData(hStmt, 28, SQL_CHAR	 ,	RareGroup[1][i].group_buffer_2			, 40, &cbValue);
			retCode = SQLGetData(hStmt, 29, SQL_CHAR	 ,	RareGroup[1][i].group_buffer_3			, 40, &cbValue);
			retCode = SQLGetData(hStmt, 30, SQL_INTEGER	 ,	&RareGroup[1][i].group_buffer_4		, 0, &cbValue);
			retCode = SQLGetData(hStmt, 31, SQL_INTEGER	 ,	&RareGroup[1][i].group_buffer_5		, 0, &cbValue);
			retCode = SQLGetData(hStmt, 32, SQL_INTEGER	 ,	&RareGroup[1][i].group_buffer_6		, 0, &cbValue);
			retCode = SQLGetData(hStmt, 33, SQL_INTEGER	 ,	&RareGroup[1][i].group_buffer_7		, 0, &cbValue);
			retCode = SQLGetData(hStmt, 34, SQL_INTEGER	 ,	&RareGroup[1][i].group_buffer_8		, 0, &cbValue);
			retCode = SQLGetData(hStmt, 35, SQL_INTEGER	 ,	&RareGroup[1][i].group_buffer_9		, 0, &cbValue);
			retCode = SQLGetData(hStmt, 36, SQL_INTEGER	 ,	&RareGroup[1][i].group_buffer_10		, 0, &cbValue);

			i++;

			retCode = SQLFetch(hStmt);
			if(retCode == SQL_SUCCESS || retCode == SQL_SUCCESS_WITH_INFO)
			{
			}
			else if( retCode == SQL_NO_DATA ) 
			{
				break;
			}
			else
			{
				SQLFreeStmt(hStmt, SQL_DROP);
				return 0;
			}
		}	
	}		
	else 
	{
		SQLFreeStmt(hStmt, SQL_DROP);
		return 0;
	}
	SQLFreeStmt(hStmt, SQL_DROP);		// 0308 YGI
	RareGroupSet();
	return 1;
}

int LoadRareProbability()
{
	HSTMT		hStmt = NULL;
	RETCODE		retCode;
	SDWORD		cbValue;
	SQLAllocStmt(hDBC, &hStmt);
	retCode = SQLExecDirect(hStmt, (UCHAR *)"Select * from rare_probability order by num", SQL_NTS);
	if(retCode == SQL_SUCCESS || retCode == SQL_SUCCESS_WITH_INFO)
	{		
		int i = 0;
		retCode = SQLFetch(hStmt);
		while( retCode == SQL_SUCCESS || retCode == SQL_SUCCESS_WITH_INFO)
		{
			if(i >= MAX_RARE_PROBABILIY) 
			{
				SQLFreeStmt(hStmt, SQL_DROP);
				return false;
			}
			
			retCode = SQLGetData(hStmt, 1, SQL_C_LONG,	&Rareprobability[i].num					, 0, &cbValue);
			retCode = SQLGetData(hStmt, 2, SQL_C_LONG,	&Rareprobability[i].exp_rare_suc[0]		, 0, &cbValue);
			retCode = SQLGetData(hStmt, 3, SQL_C_LONG,	&Rareprobability[i].exp_rare_suc[1]		, 0, &cbValue);
			retCode = SQLGetData(hStmt, 4, SQL_C_LONG,	&Rareprobability[i].exp_rare_suc[2]		, 0, &cbValue);
			retCode = SQLGetData(hStmt, 5, SQL_C_LONG,	&Rareprobability[i].exp_rare_suc[3]		, 0, &cbValue);
			retCode = SQLGetData(hStmt, 6, SQL_C_LONG,	&Rareprobability[i].max_rare_day		, 0, &cbValue);
			retCode = SQLGetData(hStmt, 7, SQL_C_LONG,	&Rareprobability[i].bonus_suc			, 0, &cbValue);
			retCode = SQLGetData(hStmt, 8, SQL_C_LONG,	&Rareprobability[i].max_suc				, 0, &cbValue);
			retCode = SQLGetData(hStmt, 9, SQL_C_LONG,	&Rareprobability[i].buffer_1			, 0, &cbValue);
			retCode = SQLGetData(hStmt, 10, SQL_C_LONG,	&Rareprobability[i].buffer_2			, 0, &cbValue);
			retCode = SQLGetData(hStmt, 11, SQL_C_LONG,	&Rareprobability[i].buffer_3			, 0, &cbValue);
			retCode = SQLGetData(hStmt, 12, SQL_C_LONG,	&Rareprobability[i].buffer_4			, 0, &cbValue);
			retCode = SQLGetData(hStmt, 13, SQL_C_LONG,	&Rareprobability[i].buffer_5			, 0, &cbValue);
			retCode = SQLGetData(hStmt, 14, SQL_C_LONG,	&Rareprobability[i].buffer_6			, 0, &cbValue);
			retCode = SQLGetData(hStmt, 15, SQL_C_LONG,	&Rareprobability[i].buffer_7			, 0, &cbValue);
			retCode = SQLGetData(hStmt, 16, SQL_C_LONG,	&Rareprobability[i].buffer_8			, 0, &cbValue);
			retCode = SQLGetData(hStmt, 17, SQL_C_LONG,	&Rareprobability[i].buffer_9			, 0, &cbValue);
			retCode = SQLGetData(hStmt, 18, SQL_C_LONG,	&Rareprobability[i].buffer_10			, 0, &cbValue);
			
			i++;

			retCode = SQLFetch(hStmt);
			if(retCode == SQL_SUCCESS || retCode == SQL_SUCCESS_WITH_INFO)
			{
			}
			else if( retCode == SQL_NO_DATA ) 
			{
				break;
			}
			else
			{
				SQLFreeStmt(hStmt, SQL_DROP);
				return 0;
			}
		}	
	}		
	else 
	{
		SQLFreeStmt(hStmt, SQL_DROP);
		return 0;
	}
	SQLFreeStmt(hStmt, SQL_DROP);		// 0308 YGI
	return 1;
}
/*
{
	DWORD	skillexp	:	20	;//胶懦 版氰摹
	DWORD	makecount	:	5	;//父电 肮荐
	DWORD	day 		:	8	;//历厘等 朝楼
	DWORD	month 		:	4	;//历厘等 朝楼
	DWORD	year 		:	1	;//历厘等 朝楼
}t_skillexp2, *LPSKILLEXP2;
typedef struct SkillExp3
{
	DWORD	skillexp	:	8	;//胶懦鸥涝
	DWORD	temp		:	2	;//胶懦鸥涝
	DWORD	year		:	9	;//斥档
	DWORD	day 		:	13	;//朝楼
}t_SkillExp3,*LPSKILLEXP3;
*/
int TryRareItemAbleDay(int cn,int MySkillLevel,t_skillexp2 *skillexp2)
{
	int mymax = Rareprobability[MySkillLevel].max_rare_day;
	//朝楼 快急 八祸	//朝楼 %8 岿 %8		购啊%2
	int day		=	g_day%8;
	int month	=	g_mon%8;//0-11 鳖瘤
	/*
	盔蘑.
	1.坷疵 朝楼捞搁 父甸 荐 乐促.登绢具
	2.朝楼啊 瘤唱搁 馆靛矫 府悸  茄促.(CheckRareMakeCount)
	*/
	if(day!=skillexp2->day) {return 0;}//促弗 朝楼 扁涝 登绢 乐栏搁 屁变促~
	else if(	month!=skillexp2->month){return 0;}//促弗 崔 扁涝 登绢 乐栏搁 屁变促~
	else//朝档 鞍绊 崔绊 鞍绊
	{
		if( mymax  <= skillexp2->makecount )//钙胶俊 崔窍绰啊?
		{
			OutMessage(cn,2,257);
			return 0;
		}
		else
		{
			skillexp2->makecount++;
			//父甸荐 乐促 墨款飘 棵扼啊扼
			return 1;
		}
	}
	return 0;
}

int TryRareItem(const int cn, const int iSkillNo, CItem_Join join, const int iTryRare, const int iRareGruop, const int iMakeCount,const int iSuccess)//011031 lsw 
{		
	if( iTryRare  && (0 > iRareGruop || MAX_RARE_GROUP <= iRareGruop) )	return 0;

	LPCHARLIST ch = &connections[cn].chrlst;
	CItem *t ;

	int iMotherSkillNo = SkillTbl[iSkillNo].MotherSkillType;
	int TotalPercent	=	0	;
	int NowPercent		=	0	;
	int tempPercent		=	0	;
	int RareType		=   0	;
	int ItemLevel		=	join.skill1_minimum; // 版氰摹 敲矾胶
	int MySkillLevel	=	ch->skillexp[iMotherSkillNo].skillexp/10000;
	int iMaxExp			=	0	;
	int iItemtakeExp	=	0	;

	t = ItemUnit( join.item_id/1000, join.item_id%1000);
	
	if(iTryRare && !t){	return 0;	}

	//磊脚狼 饭骇 焊促 臭栏搁 救登绊 鞍栏搁 等促
	if(MySkillLevel < ItemLevel )	{	return 0;	}
	
	unsigned int iSuccessRate	=	ch->skillexp[iMotherSkillNo].rare+Rareprobability[MySkillLevel-ItemLevel].bonus_suc;

	const int iItemUpgradeType = (ItemMutantKind[t->GetItemKind()].upgrade_type -1);
	bool bMultiEXP = false;

	switch(t->GetItemKind())//抗寇利牢 酒捞袍 辆幅
	{
	case IK_POTION_BAG :	// BBD 040213 器记冠胶
	case IK_CANDLE:
	case IK_POTION:
	case IK_FOOD_MASS:
	case IK_PLATE_FOOD:
	case IK_DRINK:
	case IK_GOOD_FOOD:
	case IK_GOOD_POTION:
	case IK_GOOD_CANDLE:
		{
			bMultiEXP = true;
			if( 1 <= iItemUpgradeType && 3 >= iItemUpgradeType )
			{
				iItemtakeExp	=	Rareprobability[ItemLevel].exp_rare_suc[iItemUpgradeType];

⌨️ 快捷键说明

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