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

📄 menustart.cpp

📁 网络游戏龙族 完整的登陆器 C++ 源代码
💻 CPP
📖 第 1 页 / 共 5 页
字号:
								{
//									if( !bSoundOn ) { MP3( SN_TOUCH_START ); bSoundOn = true; }
									FieldTypeNomalPut(SubMenu->x, SubMenu->y, SubMenu->nField[j].x, SubMenu->nField[j].y, SubMenu->nField[j].nRectImage);
								}
		case FT_HIDE_PUT_AUTO :
		case FT_HIDE_PUT :    //付快胶 捞亥飘甫 眉农秦 救焊捞带 捞固瘤啊 焊捞绰 备己夸家
						    if(SubMenu->nField[j].fLButtonDown)
								FieldTypeNomalPut(SubMenu->x, SubMenu->y, SubMenu->nField[j].x, SubMenu->nField[j].y, SubMenu->nField[j].nImageNumber);
							break;

		case FT_SELECT_SERVER_BUTTON : {
											int willdo = SubMenu->nField[j].nWillDo;
											int key = SubMenu->key;		// 胶农费 登绢 乐绰 惑怕牢瘤..
											SetHangulAlign( TA_CENTER);

											if( SubMenu->nField[j].fCheakFlag )
											{
												// ip 急琶
												g_SelectServerIndex = key*5+willdo;

												strcpy( select_server_name,  server_set[g_SelectServerIndex].server_name );
												strcpy( g_GameInfo.proxy_ip[0], server_set[g_SelectServerIndex].server_ip1 );
												strcpy( g_GameInfo.proxy_ip[1], server_set[g_SelectServerIndex].server_ip2 );

											//	SMenu[MN_MAINSTART_BACK].bActive=true;//020515 lsw
											//	SMenu[MN_LOGIN].bActive=TRUE;
												MP3( SN_MENU_OPEN );
												::CallLoginMenu(true);
												SubMenu->nField[j].fCheakFlag = false;
												SubMenu->bActive = false;
												break;
											}

											if( SubMenu->nField[j].fLButtonDown )
											{
												Hcolor( FONT_COLOR_PLUS );
											}
											else if( SubMenu->nField[j].fRectMouse )
											{
												Hcolor( FONT_COLOR_SPECIAL );
											}
											else
											{
												Hcolor( FONT_COLOR_NAME );
											}

											Hprint2( SubMenu->x+SubMenu->nField[j].x, SubMenu->y+SubMenu->nField[j].y, g_DestBackBuf, server_set[key*5+willdo].server_name );
											break;
									   }

		case FT_HIDE_WILLDO_AUTO_PUT :	{
												int flag = FALSE;
												int sound = 0;
												if( SubMenu->nField[j].fCheakFlag )
												{
													switch(SubMenu->nField[j].nWillDo)
													{
														case MN_MAKECHARACTER_CLASS :	SCharSource.nCharacterData[ARIGEMENT] = 4;
																						SCharSource.age = 18;
																						break;

														case MN_MAKECHARACTER_NAME	:	if(SCharSource.nCharacterData[GENDER] == -1) 
																						{
																							flag = TRUE;
																							sound = 1;
																						}
																						break;
														case MN_MAKECHARACTER_AGE	:	if(SCharSource.nCharacterData[ARIGEMENT] == -1) 
																						{
																							flag = TRUE;
																							sound = 1;
																						}
																						break;
														case MN_MAKECHARACTER_FACE  :	if( *SCharSource.sCharacterName )
																						{
																							if( SearchStrStr( SCharSource.sCharacterName, " ") ) 
																							{
																								CallOkCancelMessageBox( MN_MAKECHARACTER_NAME, 0,0,lan->OutputMessage(5,61), 0 );//lsw
																								SetFocus2(HWND_3);//021001 lsw
																								flag = true;
																								sound = 1;
																								break;
																							}

																							if( CheckCharName( SCharSource.sCharacterName ) ) 
																							{
																								CallOkCancelMessageBox( MN_MAKECHARACTER_NAME, 0,0, lan->OutputMessage(5,62), 0 );//lsw
																								SetFocus2(HWND_3);//021001 lsw
																								flag = TRUE;
																								sound = 1;
																							}
																						}
																						else flag = true;
																						break;
														case MN_MAKECHARACTER_COLOR :	if(SCharSource.nCharacterData[CLASS] == -1 || SCharSource.nCharacterData[SPELL] == -1) 
																						{
																							sound = 1;
																							flag = TRUE;
																						}
																						SetTacticsBySpell( &SCharSource );
																						break;
														case MN_MAKECHARACTER_JOB	:	
															{
																if(SCharSource.nCharacterData[CLASS] == -1 || SCharSource.nCharacterData[SPELL] == -1) //020725 lsw
																{
																	sound = 1;
																	flag = TRUE;
																}
																if( SCharSource.nCharacterData[GENDER] )
																{
																	SCharSource.body_r = 204;
																	SCharSource.body_g = 146;
																	SCharSource.body_b = 118;
																	SCharSource.nCharacterData[TACTICS_MAN] = 1;
																}
																else
																{
																	SCharSource.body_r = 237;
																	SCharSource.body_g = 183;
																	SCharSource.body_b = 156;
																	SCharSource.nCharacterData[TACTICS_WOMAN] = 1;
																}
																if(SCharSource.nCharacterData[GENDER] && SCharSource.nCharacterData[TACTICS_MAN] == -1)  
																{
																	flag = TRUE;
																	sound = 1;
																}
																else if(SCharSource.nCharacterData[GENDER]==0 && SCharSource.nCharacterData[TACTICS_WOMAN] == -1) flag = TRUE;
																break;
															}
														case MN_MAKECHARACTER_ARIGEMENT : // SCharSource.nCharacterData[FACE]=SCharSource.nCharacterData[GENDER]*1000 + 0;
																						break; //倔奔 捞固瘤 持绢林扁
													}
												}
												if(flag)
												{
													SubMenu->nField[j].fCheakFlag = FALSE;
													SubMenu->nField[j].fLButtonDown = FALSE;
													SubMenu->nField[j].fRectMouse= FALSE;
												}
												else if( sound ) MP3( SN_WARNING );
												


												if(SubMenu->nField[j].fRectMouse)
												{
//													if( !bSoundOn ) { MP3( SN_TOUCH ); bSoundOn = true; }
													FieldTypeNomalPut(SubMenu->x, SubMenu->y, SubMenu->nField[j].x, SubMenu->nField[j].y, SubMenu->nField[j].nRectImage, SubMenu->nField[j].nImageType);
												}
										}

		case FT_HIDE_WILLDO_PUT : 	
			{
				if(SubMenu->nField[j].fRectMouse ||
					SubMenu->nField[j].fLButtonDown)
				{
					FieldTypeNomalPut(SubMenu->x, SubMenu->y, SubMenu->nField[j].x, SubMenu->nField[j].y, SubMenu->nField[j].nImageNumber, SubMenu->nField[j].nImageType);
				}
			}

		case FT_WILLDO_PUT :
			{

			if(SubMenu->nField[j].fCheakFlag)
				{
					SubMenu->bActive=FALSE;  //磊脚篮 荤扼咙
					SMenu[SubMenu->nField[j].nWillDo].bActive=TRUE;  //促弗皋春 劝己拳
					MP3( SN_MENU_OPEN );

					switch( SubMenu->nField[j].nWillDo )
					{
						case MN_LODING :{	SMenu[MN_SELECT].bActive=FALSE;
											SMenu[MN_LOCATION].bActive=FALSE;
											if( LoadCh[ character_active ].sCharacterName[0] )
											{ 
												SendChoiceCharacter( character_active );
											} 
											break;
										}
						case MN_CREDIT :
						case MN_INFO :	//	SMenu[MN_MAINSTART_BACK].bActive = false;
											SMenu[MN_LOGIN].bActive = false;//020515 lsw
											SMenu[SubMenu->nField[j].nWillDo].bActive = true;//020515 lsw
											move_text_flag = 1;
											break;
					}
					SubMenu->nField[j].fCheakFlag=FALSE;
					SubMenu->nField[j].fLButtonDown=FALSE;
				}
			}break;

		case FT_HIDE_SPECIAL_WILLDO_AUTO_PUT_2 :	{
														if( CheckNationCity( SubMenu->nField[j].nWillDo ) == NOT	) break;

														int &tt = SubMenu->nField[j].nSHideNomalStart;
														int &de = SubMenu->nField[j].nShideNomalPlus;
														if( tt ) {	de ++;	if( de > 15 ) { tt = !tt; }	}
														else { de --; if( de < 2 ) { tt = !tt; } } 

														Spr *s = GetSprOfMenu(SubMenu->nField[j].nImageType, SubMenu->nField[j].nRectImage );
														if( s )
															PutCompressedImageFX(SubMenu->x+SubMenu->nField[j].x+s->ox, SubMenu->y+SubMenu->nField[j].y+s->oy, s ,de, 2);
													}
		case FT_HIDE_SPECIAL_WILLDO_AUTO_PUT :	
			if( SubMenu->nField[j].fRectMouse )
			{
//			   if( !bSoundOn ) { MP3( SN_TOUCH ); bSoundOn = true; }
				if( SubMenu->nField[j].nRectImage==30 && SubMenu->nField[j].nImageType == START_ETC)
				{
					static int tt;
					static int de = 3;
					if( tt ) {	de ++;	if( de > 9 ) { tt = !tt; }	}
					else { de --; if( de < 2 ) { tt = !tt; } } 

					Spr *s = &start_etc_spr[SubMenu->nField[j].nRectImage];
					PutCompressedImageFX(SubMenu->x+SubMenu->nField[j].x+s->ox, SubMenu->y+SubMenu->nField[j].y+s->oy, s ,de, 2);
				}
				else
				{
					if( SubMenu->Id == MN_START_MAP )
					{//020828 lsw
						Hcolor( FONT_COLOR_WHITE );
						SetHangulAlign( TA_LEFT );
						const int iX = 620;
						const int iY = 363;
						
						const int iWidth = TXT_BG_SHORT_WIDTH;
						int iCount = 0;
						int iReultLineCount = 0;
						
						int iBlankGab = 0;
						int iReultBlankSize = 0;
						
						const int iLineGab = TxtOut.GetLineGab();
						const int iBlankGabSize = TxtOut.GetBlankGabSize();

						TxtOut.Init(COLOR_BLACK,TXT_BG_SHORT_WIDTH);
						explain_start_map = 1;
						switch(SubMenu->nField[j].nSpecialWillDo)
						{
						case SWD_CONNECT:
							{
								TxtOut.PutTextHeaderBGImg(iX,iY+iBlankGab+iLineGab*iCount,iWidth);
								iReultLineCount = TxtOut.RcTXTOut(iX,iY+iBlankGab+iLineGab*iCount,iWidth,1,lan->OutputMessage(5,(!SubMenu->work)?63:65));
								iCount += iReultLineCount;
								TxtOut.PutTextTailBGImg(iX,iY+iBlankGab+iLineGab*iCount,iWidth);
							}break;
						case SWD_CONNECT_RECENT:
							{
								TxtOut.PutTextHeaderBGImg(iX,iY+iBlankGab+iLineGab*iCount,iWidth);
#ifdef LIGHT_VERSION_
								iReultLineCount = TxtOut.RcTXTOut(iX,iY+iBlankGab+iLineGab*iCount,iWidth,1,kein_GetMenuString( 208 ));
#else
								iReultLineCount = TxtOut.RcTXTOut(iX,iY+iBlankGab+iLineGab*iCount,iWidth,1,lan->OutputMessage(5,64));
#endif
								iCount += iReultLineCount;
								TxtOut.PutTextTailBGImg(iX,iY+iBlankGab+iLineGab*iCount,iWidth);
							}break;
						default:
							{
								if( SubMenu->nField[j].nWillDo == MN_SELECT_CHARACTER )
								{
									TxtOut.PutTextHeaderBGImg(iX,iY+iBlankGab+iLineGab*iCount,iWidth);
									iReultLineCount = TxtOut.RcTXTOut(iX,iY+iBlankGab+iLineGab*iCount,iWidth,1,lan->OutputMessage(5,66));//lsw
									iCount += iReultLineCount;
									TxtOut.PutTextTailBGImg(iX,iY+iBlankGab+iLineGab*iCount,iWidth);
								}
								else 
								{
									explain_start_map = 0;
								}
							}break;
						}
						FieldTypeNomalPut(SubMenu->x, SubMenu->y, SubMenu->nField[j].x, SubMenu->nField[j].y, SubMenu->nField[j].nRectImage, SubMenu->nField[j].nImageType);
					}
					else 
					{
						FieldTypeNomalPut(SubMenu->x, SubMenu->y, SubMenu->nField[j].x, SubMenu->nField[j].y, SubMenu->nField[j].nRectImage, SubMenu->nField[j].nImageType);
					}

				}
			}
			else if( SubMenu->Id == MN_START_MAP && !explain_start_map )
			{
				if( SubMenu->nField[j].nWillDo == MN_SELECT_CHARACTER ) 
				{//020828 lsw
					Hcolor( FONT_COLOR_WHITE );
					SetHangulAlign( TA_LEFT );
					const int iX = 620;
					const int iY = 363;
					
					const int iWidth = TXT_BG_SHORT_WIDTH;
					int iCount = 0;
					int iReultLineCount = 0;
					
					int iBlankGab = 0;
					int iReultBlankSize = 0;
					
					const int iLineGab = TxtOut.GetLineGab();
					const int iBlankGabSize = TxtOut.GetBlankGabSize();

					TxtOut.Init(COLOR_BLACK,TXT_BG_SHORT_WIDTH);
					
					TxtOut.PutTextHeaderBGImg(iX,iY+iBlankGab+iLineGab*iCount,iWidth);
					iReultLineCount = TxtOut.RcTXTOut(iX,iY+iBlankGab+iLineGab*iCount,iWidth,1,lan->OutputMessage(5,67));
					iCount += iReultLineCount;
					TxtOut.PutTextTailBGImg(iX,iY+iBlankGab+iLineGab*iCount,iWidth);
				}
			}
		case FT_HIDE_SPECIAL_WILLDO_PUT : 
								{
									int flag = FALSE;
									switch(SubMenu->nField[j].nWillDo)
									{
										case MN_MAKECHARACTER_CLASS :	if(SCharSource.nCharacterData[CLASS] == -1)  flag = TRUE;
																		break;
										case MN_MAKECHARACTER_JOB :		if(SCharSource.nCharacterData[JOB] == -1)	flag = TRUE;
																		break;
									}
									if(flag)	goto Label_2;
									if(SubMenu->nField[j].fLButtonDown)
									{
										FieldTypeNomalPut(SubMenu->x, SubMenu->y, SubMenu->nField[j].x, SubMenu->nField[j].y, SubMenu->nField[j].nImageNumber, SubMenu->nField[j].nImageType);
									}
									if( SubMenu->nField[j].nType == FT_HIDE_SPECIAL_WILLDO_AUTO_PUT_2 && SubMenu->nField[j].nSHideNomalCount )
									{
										if( SubMenu->nField[j].fRectMouse || SubMenu->nField[j].fLButtonDown )
										{
//											if( !bSoundOn ) { MP3( SN_TOUCH ); bSoundOn = true; }
											FieldTypeNomalPut(SubMenu->x, SubMenu->y, SubMenu->nField[j].x+20, SubMenu->nField[j].y+20, SubMenu->nField[j].nSHideNomalCount, SubMenu->nField[j].nImageType);
										}
									}
								}
		case FT_SPECIAL_WILLDO :
			{
				if((SubMenu->nField[j].fRectMouse ||
					SubMenu->nField[j].fLButtonDown )&& SubMenu->nField[j].nType != FT_HIDE_SPECIAL_WILLDO_AUTO_PUT_2)
				{
					FieldTypeNomalPut(SubMenu->x, SubMenu->y, SubMenu->nField[j].x, SubMenu->nField[j].y, SubMenu->nField[j].nImageNumber, SubMenu->nField[j].nImageType);
				}
				if(SubMenu->nField[j].fCheakFlag)
				{
					switch(SubMenu->nField[j].nSpecialWillDo)
					{
					case SWD_DELETE_CHARATER:
						{
							char szKeyCode[51] = {0,};
							EWndMgr.GetTxt( HWND_1, szKeyCode, 51);//021014 lsw//茄臂磊 歹 疵妨儿

							if(TRUE == SendDeleteCharacter( LoadCh[ character_active ].sCharacterName,szKeyCode))
							{
								memset( &LoadCh[ character_active ], 0, sizeof( SCharacter ) );
							}
							SCharSource = LoadCh[ character_active ];
						}
					case SWD_DELETE_CHARATER_CLOSE:
						{
							SubMenu->bActive = false;
							y_MenuFocus=0;
						}break;
						case SWD_LOGON_OK:	if(*SCharSource.sCharacterName)			// 捞抚捞 绝促搁 关狼 case巩 角青->某矾 货肺 父甸扁
											{
												if( SubMenu->Id == MN_RESET_JOB )
												{
													if( SCharSource.nCharacterData[JOB] == -1 ) goto Label_2;
													char temp[255];
													sprintf( temp, lan->OutputMessage(5,68), SHideNomal[HN_MAKECHARACTER_JOB_TEXT][SCharSource.nCharacterData[JOB]].temp );//lsw
													CallOkCancelMessageBox( SubMenu->Id, 0,0,temp );
													goto Label_2;
												}
												else if( SubMenu->Id == MN_SELECT_NATION )
												{
													if( SubMenu->nField[j].nWillDo == 0 )	
													{
														Sub

⌨️ 快捷键说明

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