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

📄 smallmenu.cpp

📁 网络游戏龙族 完整的登陆器 C++ 源代码
💻 CPP
📖 第 1 页 / 共 5 页
字号:
			{
				extern void RecvCallSmallMenuCustom(t_server_call_smallmenucustom *p);//011011 lsw
				t_packet p;
				p.u.CallSmallMenuCustom.iMenuNo = 280;
				p.u.CallSmallMenuCustom.iPicNo = 8;
				p.u.CallSmallMenuCustom.iWidth = 436;
				p.u.CallSmallMenuCustom.iHeight = 437;
				p.u.CallSmallMenuCustom.iExt = 900;
				RecvCallSmallMenuCustom(&p.u.CallSmallMenuCustom);
			}
			//> CSD-011008
			if(g_aCurrentKeys[DIK_P] & 0x80 ) 
			{
				g_fight_lose = 1;
				AddCurrentStatusMessage( 250,0,0, kein_GetMenuString(11) );
			}
			if(g_aCurrentKeys[DIK_Q] & 0x80 ) 
			{
				static cn=0; 
				(cn%=4)++;
				g_RemainTimeType = cn;
				g_RemainTimeDelay = 80;
			}
			if( g_aCurrentKeys[DIK_W] & 0x80 ) CallSmallMenu( MN_ITEM_MAKE_RARE_SELECT );//010730 lsw
			if( g_aCurrentKeys[DIK_V] & 0x80 ) CallSmallMenu( MN_NATION_BUDAE );//010730 lsw
			if( g_aCurrentKeys[DIK_U] & 0x80 ) CallSmallMenu( MN_NATION_VOTE );//010730 lsw
			if( g_aCurrentKeys[DIK_T] & 0x80 ) CallSmallMenu( MN_NATION_NOW );//010730 lsw
			if( g_aCurrentKeys[DIK_S] & 0x80 ) CallSmallMenu( MN_NATION_INFO );
			if( g_aCurrentKeys[DIK_C] & 0x80 ) 
			{
				strcpy(SMenu[MN_LOCALWAR_OK].nField[3].temp, lan->OutputMessage(0,378)); // LTS LOCALWAR MENU
				CallSmallMenu(MN_LOCALWAR_OK);
			}
			if(g_aCurrentKeys[DIK_J] & 0x80 ) 
			{
				//bDisplayTacticExp= !bDisplayTacticExp;//020515 lsw
		//		CallSmallMenu(MN_EVENT_LOCALWAR_OK);MN_LOCALWAR_JOIN
				CallSmallMenu(MN_REVIVAL);
			}
			
			if(g_aCurrentKeys[DIK_R] & 0x80)
			{
				CallSmallMenu(MN_CHARACTER_COLOR_CHANGE);		// 涅胶飘 皋春
			}
			
			
			kh_KeyProc();
			return;
		}
		
		if( bCharListUp )
		{
			for( int i=STR; i<=LUCK; i++ )
			{
				DWORD data = SCharacterData.nCharacterAbility[i];
				SendCharInfoBasic( i, data );
			}
			SendCharInfoBasic( MONEY, SCharacterData.nMoney );
			SendCharInfoBasic( LVPOINT, SCharacterData.LvUpPoint );
			bCharListUp = false;
		}
		if( bGenerateItemOn ) 
		{
			SendGenrateItemByTool( gener_item );
			bGenerateItemOn = 0;
		}
		if( bTackListUp )
		{
			for( int i=CRAPPLE; i<=ORISON; i++ )
			{
				DWORD data = SCharacterData.TacticsExp[i];
				SendCharInfoBasic( i+TAC_E1, data );
			}
			ReqTacSkillExp( );
			bTackListUp = false;
		}
		
		if(g_aCurrentKeys[DIK_F12] & 0x80 )		// Refresh pc_word_table and npc_word_table 
		{
			max_pc_word = 0;			// 泅犁 PC啊 措翠且荐乐绰 巩厘狼 荐
			max_npc_word = 0;			// 泅犁 NPC啊 措翠且荐乐绰 巩厘狼 荐
		}
		
		if(g_aCurrentKeys[DIK_F2] & 0x80 )		// Refresh manlist 
		{
			LoadManList();
		}
		
		/////////////////////////////////
		if(g_aCurrentKeys[DIK_Z] & 0x80 )
		{	
			kein_kh_key_on = false;
			return;
		}
		
		/*
		
		  // ######### 牢亥 芒 Refresh 4锅 虐 #########
		  //QuickItemAttr
		  static bool f_resend = false;
		  if(g_aCurrentKeys[DIK_NUMPAD4] & 0x80 )
		  {	
		  if( !f_resend )	
		  {
		  CallServer( CMD_RESEND_ITEM );
		  f_resend = true;
		  }
		  }
		  else f_resend = false;
		  
			
			  // ######### 瓷仿摹 盎脚 5锅 虐 ########
			  static bool f_time = false;
			  if(g_aCurrentKeys[DIK_NUMPAD5] & 0x80 )
			  {	
			  if( !f_time )	
			  {
			  CallServer(CMD_RESEND_CHARLIST);
			  f_time = true;
			  }
			  }
			  else f_time = false;
			  
				// ######### 颇萍盔甸 焊咯林扁 盎脚 7锅 虐 ########
				static bool f_party = false;
				if(g_aCurrentKeys[DIK_NUMPAD7] & 0x80 )
				{	
				if( !f_party )
				{
				CallServer( CMD_REQ_PARTY_MEMBER );
				f_party = true;
				}
				}
				else f_party = false;
				// ##################################################
				static bool f_memorize = false;
				if(g_aCurrentKeys[DIK_7] & 0x80 )
				{	
				if( !f_memorize )
				{
				g_bMagicSelect = !g_bMagicSelect;
				if( g_bMagicSelect )
				{
				CallOkCancelMessageBox(0,0,0,"付过 规侥捞 皋葛扼捞令 俺充栏肺 官差菌嚼聪促.",0);//010215 lsw temp
				RecvServerWakeUp();
				}
				else 
				{
				CallOkCancelMessageBox(0,0,0,"付过 规侥捞 瓷仿力肺 官差菌嚼聪促.",0);//010215 lsw temp
				MagicSetting2();
				}
				f_memorize = true;
				}
				}
				else f_memorize = false;
				
				  
					//####### 柄绢唱扼	8锅虐 #######
					static bool f_sleep = false;
					if(g_aCurrentKeys[DIK_NUMPAD8] & 0x80 )
					{	
					if( !f_sleep )
					{
					CallServer( CMD_SERVER_WAKE_UP );
					f_sleep = true;
					}
					}
					else f_sleep = false;
					
					  static int flag = 0;
					  if(g_aCurrentKeys[DIK_NUMPAD1] & 0x80)
					  {
					  ItemRead();
					  }
					  
						if(g_aCurrentKeys[DIK_NUMPAD2] & 0x80)
						{
						if( flag == 0 )
						{
						SCharacterData.nCharacterData[GENDER] = !SCharacterData.nCharacterData[GENDER];
						Hero->sprno = SCharacterData.nCharacterData[GENDER];
						if( !SCharacterData.nCharacterData[GENDER] )	//  0:咯磊 1:巢磊
						{
						SMenu[MN_ITEM].nField[7].nImageNumber=483;
						SMenu[MN_TACTICS].nImageNumber=10001;
						}
						else
						{
						SMenu[MN_ITEM].nField[7].nImageNumber=120;
						SMenu[MN_TACTICS].nImageNumber=867;
						}			
						flag = 2;
						}
						}
						else flag = 0;
						
						  // ######### 某腐磐 酒捞袍 焊咯林扁 6锅 虐 #########
						  static bool f_itemshow = false;
						  if(g_aCurrentKeys[DIK_NUMPAD6] & 0x80 )
						  {	
						  if( !f_itemshow )	
						  {
						  //				CallOtherCharacterInv( InvItemAttr, EquipItemAttr, QuickItemAttr );
						  SendShowItemOfOtherCh( Hero->id );
						  f_itemshow = true;
						  }
						  }
						  else f_itemshow = false;
						  
							// ######### 官蹿俊 酒捞袍 冻绢哆府扁 3锅 虐 #########
							static bool f_item = false;
							if(g_aCurrentKeys[DIK_NUMPAD3] & 0x80 )
							{	
							if( !f_item )	
							{
							DropItemOnHero( QuickItemAttr[6] );
							f_item = true;
							}
							}
							else f_item = false;
							
*/


//######### 某腐磐 概流拌凯 官操扁 F10 ##########
static int flag1 = 0;
if(g_aCurrentKeys[DIK_F10] & 0x80)
{
	if( flag1 == 0 )
	{
		SCharacterData.nCharacterData[SPELL] = !SCharacterData.nCharacterData[SPELL];
		for( int a=0; a<MAX_MAGIC_; a++)  magic[a].DeleteMagic();
		
		memset( aMagicItem, 0, sizeof( int[3][4][3][5] ) );
		/*	//020515 lsw 单捞鸥 肺爹 鞘夸 绝嚼聪促.
		if( SCharacterData.nCharacterData[SPELL] == PRIEST_SPELL  )
		{
		LoadOpenningSpr( "./data/divine.dat", &divine_gauge, spr_divine_gauge );
		}
		else FreeOpenningSpr( &divine_gauge);
		*/
		ReadMagicTable();
		MagicSetting();
	}
	flag1 = 2;
}
else flag1 = 0;


	}
	else bGenerateItemOn = false;
	
	
#endif
	//#####################################################3
	if(g_aCurrentKeys[DIK_SPACE] & 0x80)			//胶其捞胶 官
	{
		CloseAllMenu();
	}
	
	static int enter_flag=0;
	if(g_aCurrentKeys[DIK_RETURN] & 0x80)				//	enter
	{
		enter_flag = 2;
	}
	else
	{
		if( enter_flag == 2 )
		{
			if( SMenu[MN_SYSTEM_LOGOUT].bActive ) 
			{
				DoButtonCheckOfMenu( MN_SYSTEM_LOGOUT, 0 );
				return;
			}
		}
		enter_flag = 0;
	}
	
	
	if(g_aCurrentKeys[DIK_ESCAPE] & 0x80)					// ESC key
	{
		if( fLMoveMenu || fRMoveMenu ) return;
		
		if( SMenu[MN_SYSTEM_LOGOUT].bActive ) 
		{
			DoButtonCheckOfMenu( MN_SYSTEM_LOGOUT, 1 ); 
			return;
		}
		
		SMenu[MN_MESSAGEBOX_BIG].bActive=false;
		SMenu[MN_MESSAGEBOX_SMALL].bActive =false;
		
		
		if( !IsChatBoxActive())
		{
			int menu = MenuStack.GetMenu();
			if( menu != -1 ) 
			{
				if( menu == MN_ARIGEMENT )
				{
					fLMoveMenu = MM_ARIGEMENT_CLOSE;
					MP3( SN_MOVE_CLOSE );
					return;
				}
				for(int j=0;j<SMenu[menu].nFieldCount;j++)
					if( (SMenu[menu].nField[j].nImageNumber==122) || (SMenu[menu].nField[j].nImageNumber==475) ) //122,475 -> done button
					{
						SMenu[menu].nField[j].fCheakFlag = TRUE;
						DoButtonCheckOfMenu( menu, j );
						return;
					}				
			}
			else CloseAllMenu();
		}
	}
	
	if( GetSysInfo( SI_GAME_MAKE_MODE ) )
	{
		static int f ;
		if(g_aCurrentKeys[DIK_TAB] & 0x80)					//	tab
		{
			if( !f ) 
			{
				
				f=1;
			}
		}
		else f = 0;
	}
	
	if(g_aCurrentKeys[DIK_LSHIFT] & 0x80)	LeftShiftOn = true;		//	SHIFT
	else	LeftShiftOn = false;
	/*-- 烙矫 胶隔 皋春 剁快扁 --*/
	if( GetSysInfo( SI_GAME_MAKE_MODE ) )
	{
		if(g_aCurrentKeys[DIK_B] & 0x80)
		{
			CallSmallMenu(MN_BLACKSMITH);
		}
		if(g_aCurrentKeys[DIK_D] & 0x80)
		{
			if( SysInfo.notconectserver )
			{
				SMenu[MN_EXCHANGE_ITEM].bActive = true;
			}
		}
		if(g_aCurrentKeys[DIK_E] & 0x80)
		{
			CallSmallMenu( MN_GOD_EDELBLHOY );
		}
		if(g_aCurrentKeys[DIK_F] & 0x80)
		{
			CallSmallMenu(MN_SHOP_MAIN);
		}
		if(g_aCurrentKeys[DIK_G] & 0x80)
		{
			CallMenu(MN_GAMBLE);
		}
		if(g_aCurrentKeys[DIK_H] & 0x80)
		{
			CallSmallMenu( MN_POTAL_MENU );
		}
		if(g_aCurrentKeys[DIK_I] & 0x80)
		{
			CallSmallMenu(MN_TOWNHALL);
		}
		if(g_aCurrentKeys[DIK_J] & 0x80)
		{
			g_bTimeMenuOn = false;
			CallSmallMenu(MN_DRINK_MAIN);
		}
		if(g_aCurrentKeys[DIK_K] & 0x80)
		{
			CallSmallMenu( MN_ACADEMY );
		}
		if(g_aCurrentKeys[DIK_L] & 0x80)
		{
			CallSmallMenu(MN_FUNCTION);
		}
		if(g_aCurrentKeys[DIK_M] & 0x80)
		{
			CallSmallMenu(MN_MAGIC_GUILD);
		}
		if(g_aCurrentKeys[DIK_Q] & 0x80)
		{
			int r = rand() % 2;
			if( r )	SCharacterData.nation = 3;
			else 	SCharacterData.nation = 4;
			nation_bbs[0] = NULL;
			nation_bbs2[0][0][0] = NULL;
			CallSmallMenu(MN_NATION_BBS);
		}
		if(g_aCurrentKeys[DIK_T] & 0x80)
		{
			quest_dot.Setting( MapNumber, Hero->x, Hero->y );
			CallServer( CMD_CALL_PUBLIC_BBS );
		}
		if(g_aCurrentKeys[DIK_C] & 0x80)
		{
			CallMenu( MN_OBSERVER_MODE );
			//bCallGodMeetingMenu = !bCallGodMeetingMenu;
			//StopWave( SN_GOD_MEETING );
			//CallSmallMenu(MN_MEM_BOOK);
		}
		if(g_aCurrentKeys[DIK_N] & 0x80)
		{
			CallMenu( MN_BETTING );
		}		
		
		if(g_aCurrentKeys[DIK_Q] & 0x80)
		{
			//			CallSmallMenu(MN_GOD_SUPPER);		// 澜侥 力傍 皋春
			//			CallSmallMenu(MN_MAIL_MENU);
		}		
		
		if(g_aCurrentKeys[DIK_R] & 0x80)
		{
			CallSmallMenu(MN_HUNTER_MAIN);
		}		
		
		
		
		if(!LeftShiftOn && g_aCurrentKeys[DIK_F12] & 0x80)
		{
			
			
			//			for( int i=0; i<ITEM_JOIN_MAX; i++)
			//			{
			//				SCharacterData.ItemId[i] = item_join[i].item_id;
			//			}
			
			//			SCharacterData.ItemIdCount = MAX_LEARN_ITEM;
		}
		else if(LeftShiftOn && g_aCurrentKeys[DIK_F12] & 0x80)
		{
			//			for( int a=0; a<SCharacterData.ItemIdCount; a++)
			//			{
			//				SCharacterData.ItemId[a] = 0;
			//			}
			
			//			SCharacterData.ItemIdCount = 0;
		}
		
		if( !LeftShiftOn && g_aCurrentKeys[DIK_F11] & 0x80)
		{
			//CallServer( CMD_LEARN_ALL );
			for( int i=0; i<200; i++ )
			{
				SCharacterData.MagicId[i] = true;
				SCharacterData.SkillId[i] = true;
			}
			MagicSetting2();
		}
		if( LeftShiftOn && g_aCurrentKeys[DIK_F11] & 0x80 )
		{
			//CallServer( CMD_LEARN_ALL_NOT );
			for( int i=0; i<200; i++ )
			{
				SCharacterData.MagicId[i] = false;
				SCharacterData.SkillId[i] = false;
			}
		}
	}
	
	if( SysInfo.notconectserver )
	{	//< CSD-030520
		static int nCount = -1;
		static key = 0;
		if(g_aCurrentKeys[DIK_1] & 0x80)
		{
			key = 1;
		}
		else if( key == 1 ) 
		{
			ChangeItem( ++nCount );
			key = 0;
		}
		else if(g_aCurrentKeys[DIK_2] & 0x80)
		{
			key =2;
		}
		else if( key == 2 )
		{
			nCount--;
			if( nCount < 0 ) nCount = 0;
			ChangeItem( nCount );
			key = 0;
		}
	}	//> CSD-030520
	
	bool lcontrol = false;
	if( g_aCurrentKeys[DIK_LCONTROL] & 0x80 ) lcontrol = true;
	
	static bool f_change_equip1 = false;
	if(g_aCurrentKeys[DIK_F9] & 0x80 )
	{	
		if( !f_change_equip1 )
		{
			if( lcontrol )
			{
				EquipSaveFlag[0] = TRUE;
				for(int i=0;i<8;i++)
				{
					SaveArmor[0][i] = EquipItemAttr[i].item_no;
				}
			}
			else 

⌨️ 快捷键说明

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