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

📄 menustart.cpp

📁 网络游戏龙族 完整的登陆器 C++ 源代码
💻 CPP
📖 第 1 页 / 共 5 页
字号:
										SMenu[i].nField[j].fRectMouse=false;
										SMenu[i].nField[j].fLButtonDown=false;
								//		SMenu[i].nField[j].fCheakFlag=false;
								}
								break;
							}
//					case 3:	{
//								int ArrayX=(g_pointMouseX - (SMenu[i].x + 202) )/8;
//								int ArrayY=(g_pointMouseY - (SMenu[i].y + 390) )/13;
//								if( (ArrayX >= 0) && (ArrayX <= 15)  &&  (ArrayY >=0) && (ArrayY <=15) ) // 付快胶甫 捞侩秦 备茄 谅钎啊 硅凯俊 甸绢啊衬?
//								{
//									if( ( (CheakArray[SMenu[i].CheakType - 1][ArrayY][ArrayX] - 1) == j ) )
//											SMenu[i].nField[j].fRectMouse = true;
//									else 
//									{
//										SMenu[i].nField[j].fRectMouse=false;
//										SMenu[i].nField[j].fLButtonDown=false;
//										SMenu[i].nField[j].fCheakFlag=false;
///									}
//								}
//								else	
//								{
//										SMenu[i].nField[j].fRectMouse=false;
//										SMenu[i].nField[j].fLButtonDown=false;
//								//		SMenu[i].nField[j].fCheakFlag=false;
//								}
//								break;
//							}
				}
			}
		}
		else
		{
			for(j=0;j<SMenu[i].nFieldCount;j++)
			{
				SMenu[i].nField[j].fRectMouse=false;
			}
		}
	}

	if( g_nLDButtonState == STATE_BUTTON_DOUBLECLICK )
	{
		for(x=0;x<MAX_START;x++)
		{
			i=menu[x];
			if(SMenu[i].bActive) 
			{	
				if( y_MenuFocus && y_MenuFocus != i ) continue;
				for(j=0; j<SMenu[i].nFieldCount;j++)  
				{
					if( MouseInRectCheak(SMenu[i].x, SMenu[i].y, SMenu[i].nField[j].rCheakBox))
					{
						DoLButtonDoubbleClickOfStartMenu(i, j);
						b_DoubleClickOn = true;
						return;
					}
					if(SMenu[i].nField[j].nType==FT_HIDE_NOMAL_ONE_PUT)
					{
						for(k=SMenu[i].nField[j].nSHideNomalStart; k<(SMenu[i].nField[j].nSHideNomalStart)+(SMenu[i].nField[j].nShideNomalPlus) && k<SMenu[i].nField[j].nSHideNomalCount; k++)
						{
							if( MouseInRectCheak(SMenu[i].x, SMenu[i].y, SHideNomal[SMenu[i].nField[j].nSHideNomalNumber][k].rCheakBox))
							{
									DoLButtonDoubbleClickOfStartMenu( i, j );
//									MouseDrag = true;		// 捞扒 促澜俊 努腐狼 康氢阑 林瘤 臼扁 困秦辑捞促.. 呈公窍寸~
									b_DoubleClickOn = true;
									return;
							}
						}
					}
				}
			}
		}
	}

	if(g_nLButtonState==STATE_BUTTON_PRESSED)
	{
		LButtonDown=TRUE;
		StateMousePoint = g_pointMouse;
	}
	if(g_nLButtonState==STATE_BUTTON_STILL && LButtonDown==TRUE)   // 老窜 付快胶啊 绢叼急啊 规陛 喘啡促. 弊霸 裹困 救俊辑 喘啡绰瘤, 酒囱瘤 魄窜 何盒
	{
		MouseDrag = true;
		for(x=0;x<MAX_START;x++)
		{
			i=menu[x];
			if(SMenu[i].bActive) 
			{	
				if( y_MenuFocus && y_MenuFocus != i ) continue;
				switch(SMenu[i].CheakType)
				{
				case 0 :    //RECT屈 眉农 鸥涝
					for(j=0; j<SMenu[i].nFieldCount;j++)  //皋春狼 备己夸家甸阑 八荤
					{
						if( MouseInRectCheak(SMenu[i].x, SMenu[i].y, SMenu[i].nField[j].rCheakBox) && 
							MouseInRectCheak(SMenu[i].x, SMenu[i].y, SMenu[i].nField[j].rCheakBox, FALSE))  //付快胶啊 皋春备己 夸家狼 rect救俊辑 L滚瓢捞 喘啡衬
						{	
							SMenu[i].nField[j].fLButtonDown=TRUE;  //弊矾搁 喘啡促绊 钎矫
						}
						else
						{
							SMenu[i].nField[j].fLButtonDown=FALSE;
						}
					}

					break;

				case 1 :    //硅凯锅龋 1锅栏肺 眉农
				case 2 :    //硅凯锅龋 2锅栏肺 眉农

					int ArrayX=(g_pointMouseX - (SMenu[i].x + 31) )/10; //10皋春啊 10侨伎究 唱床辑 硅凯拳 矫淖促 (16*16)
					int ArrayY=(g_pointMouseY - (SMenu[i].y + 31) )/10;
					int StateArrayX = (StateMousePoint.x - (SMenu[i].x + 31) )/10;
					int StateArrayY = (StateMousePoint.y - (SMenu[i].y + 31) )/10;

					for(j=0;j<SMenu[i].nFieldCount;j++)
					{
						if(SMenu[i].nField[j].fLButtonDown)  //捞 皋春夸家啊 喘啡菌衬?
						{
							if( (ArrayX >= 0) && (ArrayX <= 15)  &&  (ArrayY >=0) && (ArrayY <=15) ) // 付快胶甫 捞侩秦 备茄 谅钎啊 硅凯俊 甸绢啊衬?
							{
								if( ( (CheakArray[SMenu[i].CheakType - 1][ArrayY][ArrayX] - 1) != j ) || 
									( (CheakArray[SMenu[i].CheakType - 1][StateArrayY][StateArrayX] - 1) != j ) )   //付快胶啊 哭率滚瓢栏肺 急琶沁带 皋春备己夸家俊辑 狐廉唱艾衬?
								{
									SMenu[i].nField[j].fLButtonDown = FALSE;
								}
							}
							else
							{
								SMenu[i].nField[j].fLButtonDown=FALSE;   
							}
						}
						else
						{
							if( (ArrayX >= 0) && (ArrayX <= 15) && (ArrayY >=0) && (ArrayY <=15) &&   //贸澜 哭率滚瓢栏肺 喘赴 捞 皋春备己 夸家俊 付快胶啊 力措肺 急琶沁衬?
								(StateArrayX >= 0) && (StateArrayX <= 15) && (StateArrayY >=0) && (StateArrayY <=15) )
							{
								if( ( (CheakArray[SMenu[i].CheakType - 1][ArrayY][ArrayX] - 1) == j )  &&
									( (CheakArray[SMenu[i].CheakType - 1][StateArrayY][StateArrayX] - 1) == j ) )   //付快胶啊 哭率滚瓢栏肺 急琶沁带 皋春备己夸家俊辑 狐廉唱艾衬?
												SMenu[i].nField[(CheakArray[ SMenu[i].CheakType - 1][ArrayY][ArrayX] - 1)].fLButtonDown = TRUE;
							}
						}
					}
				}
			}
		}
	}
	else if(g_nLButtonState==STATE_BUTTON_RELEASED) //付快胶啊 规陛 冻绢柳 惑怕衬?
	{
		bSoundOn = false;
		if( b_DoubleClickOn ) 
		{
			b_DoubleClickOn = false;
			return;
		}
		LButtonDown=FALSE;
		for(x=0;x<MAX_START;x++)
		{
			bool f_ClickOn = false;		// 努腐窍搁 歹捞惑 皋春 曼炼绰 绝促.
			i=menu[x];
			if(SMenu[i].bActive)   //i锅掳 皋春啊 劝己拳 登乐衬?
			{
				if( y_MenuFocus && y_MenuFocus != i ) continue;
				switch(SMenu[i].CheakType) //劝己拳等 皋春狼 眉农 鸥涝捞 构衬?
				{
				case 0 :    //RECT屈 眉农 鸥涝
					for(j=0; j<SMenu[i].nFieldCount;j++)  //皋春狼 备己夸家甸阑 八荤
					{
						if(SMenu[i].nField[j].nType==FT_HIDE_NOMAL_ONE_PUT)
						{
							for(k=SMenu[i].nField[j].nSHideNomalStart; k<(SMenu[i].nField[j].nSHideNomalStart)+(SMenu[i].nField[j].nShideNomalPlus) && k<SMenu[i].nField[j].nSHideNomalCount; k++)
							{
								if( MouseInRectCheak(SMenu[i].x, SMenu[i].y, SHideNomal[SMenu[i].nField[j].nSHideNomalNumber][k].rCheakBox))
								{
									SHideNomal[SMenu[i].nField[j].nSHideNomalNumber][k].bShow=TRUE;
									if(SMenu[MN_MAKECHARACTER_BASIC].bActive) 
									{
										SCharSource.nCharacterData[SMenu[i].nField[j].nSHideNomalNumber]=k;
										MP3(SN_SELECT_START);
									}
								}
								else
								{
									SHideNomal[SMenu[i].nField[j].nSHideNomalNumber][k].bShow=FALSE;
								}
							}
						}
						else if( !MouseDrag || SMenu[i].nField[j].fLButtonDown )
						{
							if( MouseInRectCheak(SMenu[i].x, SMenu[i].y, SMenu[i].nField[j].rCheakBox))
							{
								SMenu[i].nField[j].fLButtonDown=FALSE;
							    SMenu[i].nField[j].fCheakFlag=TRUE;
							}
							else
							{
								SMenu[i].nField[j].fLButtonDown=FALSE;
							}
						}
					}
					break;

				case 1 :    
				case 2 :	int ArrayX=(g_pointMouseX - (SMenu[i].x + 31) )/10;
							int ArrayY=(g_pointMouseY - (SMenu[i].y + 31) )/10;
							for(j=0;j<SMenu[i].nFieldCount;j++)
							{
								if(!MouseDrag || SMenu[i].nField[j].fLButtonDown)
								{
									SMenu[i].nField[j].fLButtonDown=FALSE;
									if( ( (ArrayX >= 0) && (ArrayX <= 15) ) && ( (ArrayY >=0) && (ArrayY <=15) ) )
									{
										if( (CheakArray[ SMenu[i].CheakType - 1][ArrayY][ArrayX] - 1) == j )
										{
											SMenu[i].nField[j].fCheakFlag=TRUE;
//											f_ClickOn = true;	// 眉农 窍唱俊 努腐窍唱
										}
									}
								}
							}
							break;
				}
			}
			if( f_ClickOn ) break;
		}
		MouseDrag = false;
	}
}



/**************************************************************************************/
//劝己拳等 皋春狼 备己夸家甸阑 荐青
//免仿阑 窍绰 何盒
/**************************************************************************************/
void StartMenuSubProcessType(SMENU *SubMenu )
{
	int explain_start_map = 0;
	int i,j,k;
	int code;
	int lenght;	
	int LenghtTotal;
	static int nCursor_Flicker=0;   // 濒冠捞绰 目辑甫 困茄 函荐
	BOOL flag=TRUE;					// int & ability=nWeapon_Type;		// 林牢傍 瓷仿摹 免仿阑 困茄 烙矫 函荐
//	static id_password = TRUE;		// 酒捞叼 菩胶况靛 沫 吭促 艾促窍扁...
	int cursor1=0, cursor2=0;		// 濒冠捞绰 目辑 烙矫 历厘
	char sPassword_temp[15]="";

	// 俊叼磐 冠胶 磷捞绰 何盒.... 酒流 滴 焙单辑父 静牢促...
	if((!SMenu[MN_LOGIN].bActive) && (!SMenu[MN_MAKECHARACTER_NAME].bActive)) 
	{
		if(!SMenu[MN_DEL_CHAR_COMFORM].bActive)//某腐 昏力 鞠龋 何盒捞 波廉 乐栏搁
		{
			EWndMgr.ClearAllTxt();//021001 lsw
			SetFocus2( HWND_GAME_MAIN );//021001 lsw
		}
	}
	SetCharacterData();
	start_KeyProc();

	for(j=0;j<SubMenu->nFieldCount;j++)   //皋春俊 备己夸家甸阑 荐青秦扼
	{
		Hcolor( FONT_COLOR_NUMBER );
		SetHangulAlign( TA_LEFT );
		switch(SubMenu->nField[j].nType)  //备己夸家啊 绢恫 鸥涝捞瘤?
		{
		case FT_NOMAL_PUT :     //捞固瘤父 嘛绰 备己夸家
//					if( SubMenu->Id == MN_MAINSTART_BACK ) FieldTypeNomalPutFx(SubMenu->x, SubMenu->y, SubMenu->nField[j].x, SubMenu->nField[j].y, SubMenu->nField[j].nImageNumber, 15,1);
//					else 
						FieldTypeNomalPut(SubMenu->x, SubMenu->y, SubMenu->nField[j].x, SubMenu->nField[j].y, SubMenu->nField[j].nImageNumber, SubMenu->nField[j].nImageType );
					
						if( !SubMenu->key) 
						{
							if( *SubMenu->nField[j].temp )
							{
								Hcolor( FONT_COLOR_NAME );
								static old_field = j;
								static count = 0;
								if( old_field != j )
								{
									old_field = j;
									count = 0;
								}

								if( !count ) MP3( SN_MENU_OPEN );

								int curr_line = count / 30;
								int max_line = GetLineRectTextPut( 170, SubMenu->nField[j].temp );
								if( max_line ) 
								{
									if( max_line == 2 )
									{
										RectTextPut(SubMenu->x+SubMenu->nField[j].x+13,SubMenu->y+SubMenu->nField[j].y+14,170,SubMenu->nField[j].temp); // 汲疙巩阑 敬促 
									}
									else 
									{
										curr_line %= max_line;
										SkipRectTextPut(SubMenu->x+SubMenu->nField[j].x+13,SubMenu->y+SubMenu->nField[j].y+14,170, curr_line, SubMenu->nField[j].temp, 2, 0); // 汲疙巩阑 敬促 
									}
									count++;
								}								
							}
						}
					SubMenu->nField[j].fLButtonDown = false;
					SubMenu->nField[j].fCheakFlag = false;
					break;

		case FT_NOMAL_PUT_FX :	FieldTypeNomalPutFx(SubMenu->x, SubMenu->y, SubMenu->nField[j].x, SubMenu->nField[j].y, SubMenu->nField[j].nImageNumber, 8, 3);
								break;

		case FT_NOMAL_PUT_CENTER_1 :
					if( !spr[SubMenu->nField[j].nImageNumber].img ) 
					{
						LoadSmallMenuImage( SubMenu->nField[j].nImageNumber );
					}
					lenght= (spr[SubMenu->nImageNumber].xl - spr[SubMenu->nField[j].nImageNumber].xl)/2;
					FieldTypeNomalPut(SubMenu->x, SubMenu->y, lenght+1, SubMenu->nField[j].y, SubMenu->nField[j].nImageNumber);
					break;
		case FT_SWITCH_PUT : {
								static int stch=0;
								static int de=3;
								FieldTypeNomalPutFx(SubMenu->x, SubMenu->y, SubMenu->nField[j].x, SubMenu->nField[j].y, SubMenu->nField[j].nImageNumber, de/3, 2);

								if(stch > 19) de--;
								else de++;
								stch++;
								stch %= 40;
							 }	

		case FT_SELECT_SERVER_SCROLL : //020828 lsw
			{
				const int willdo = SubMenu->nField[j].nWillDo;
				const int max_server = SubMenu->work;
				int &curr_page = SubMenu->key;
				const int max_page = (max_server-1)/5 + 1;
				switch(willdo)
				{
				case SCROLL_UP:
					{
						if( curr_page <= 0  ) break;//0 其捞瘤 焊促 累阑 荐绰 绝促
						if( SubMenu->nField[j].fCheakFlag)
						{
							curr_page--;
							SubMenu->nField[j].fCheakFlag = 0;
							break;
						}
					}break;
				case SCROLL_DOWN:
					{
						if( max_page <= curr_page+1  ) break;
						if( SubMenu->nField[j].fCheakFlag)
						{
							curr_page++;
							SubMenu->nField[j].fCheakFlag = 0;
							break;
						}
					}break;
				default:
					{
					}break;
				}

				int target_number;
				if( SubMenu->nField[j].fLButtonDown )
				{
					target_number = SubMenu->nField[j].nImageNumber;
				}
				else if( SubMenu->nField[j].fRectMouse )
				{
					target_number = SubMenu->nField[j].nRectImage;
				}
				else
				{
					target_number = SubMenu->nField[j].nSpecialWillDo;
				}
				FieldTypeNomalPut(SubMenu->x, SubMenu->y, SubMenu->nField[j].x, SubMenu->nField[j].y, target_number, SubMenu->nField[j].nImageType );
			}break;

		case FT_HIDE_AUTO_PUT :	if(SubMenu->nField[j].fRectMouse)

⌨️ 快捷键说明

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