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

📄 dlgmain1.cpp

📁 网络游戏魔域源代码 测试可以完整变异
💻 CPP
📖 第 1 页 / 共 5 页
字号:
		m_DlgSetup.Exit ();
		return ;
	}
}



void CDlgMain::OnMainChat() 
{
	DXPlaySound ( "Sound/DlgMain_Trade.wav" ) ;
	if (g_objHero.IsDead()) 
	{
		g_objGameMsg.AddMsg((char*)g_objGameDataSet.GetStr(10712)); //死亡状态下不允许交易!
		return;
	}
	else
		CDlgMain::GetParent()->PostMessage( WM_MY_MESSAGE, ON_MAIN_TRADE ) ;
}

void CDlgMain::OnMainGroup() 
{
	if ( !m_DlgGroup.m_bShow ) 
	{
		m_DlgGroup.EnableWindow() ;
		return ;
	}
	else if ( m_DlgGroup.m_bShow ) 
	{
		m_DlgGroup.EnableWindow( false ) ;
		return ;
	}
}

void CDlgMain::CloseCurDlg( int nPos )
{
	if ( !m_bCreate )
		return ;

	if ( nPos == 0 )
	{
		switch ( m_uCurLDlgID )
		{
		case DLG_NPCBOOTH:
			m_DlgNpcBooth.EnableWindow(false);
			break;
		case DLG_MPCBOOTH:
			m_DlgMpcBooth.EnableWindow(false);
			break;
		case DLG_TRADE:
			m_DlgTrade.EnableWindow( false ) ;
			break ;
		case DLG_TBOARDINFO:
			m_DlgAnnounceInfo.EnableWindow(false);
			break;
		default:
			break ;
		}
		m_uCurLDlgID = -1 ;
	}
	else if ( nPos == 1 )
	{
		CDlgMain::GetParent()->PostMessage(WM_MY_MESSAGE,ON_TALK_LOGCLOSE);
		switch ( m_uCurMDlgID )
		{
		case DLG_IDENTIFY:
			m_DlgIdentify.EnableWindow(false);
			break;
		case DLG_AUCTION:
			m_DlgBidAuction.EnableWindow(false);
			break;
		case DLG_ADDAUCITEM:
			m_DlgAddAucItem.EnableWindow(false);
			break;
		case DLG_AUCPACKAGE:
			m_DlgAucPackage.EnableWindow(false);
			break;
		case DLG_MONSTERNPC:
			m_DlgMonsterNpc.EnableWindow(false);
			break;
		case DLG_MONSTERDEPOT:
			m_DlgMonsterDepot.EnableWindow(false);
			break;
		case DLG_MONSTEREVOLVE:
			m_DlgMonsterEvolve.EnableWindow(false);
			break;
		case DLG_MONSTERIMPROVE:
			m_DlgMonsterImprove.EnableWindow(false);
			break;
		case DLG_MONSTERHATCH:
			m_DlgMonsterHatch.EnableWindow(false);
			break;
		case DLG_TASKUPITEM:
			m_DlgTaskUpItem.EnableWindow(false);
			break;
		case DLG_INSHELP:
			m_DlgInsHelp.EnableWindow(false);
			break;
		case DLG_EMBED:
			m_DlgEmbed.EnableWindow(false);
			break;
		case DLG_IMPROVE:
			m_DlgImprove.EnableWindow(false);
			break;
		case DLG_SETUP:
			m_DlgSetup.EnableWindow( false ) ;
			break ;
		case DLG_MSGSEND:
			m_DlgMsgSend.EnableWindow( false ) ;
			break ;
		case DLG_MSGRECEIVE:
			m_DlgMsgReceive.EnableWindow( false ) ;
			break ;
		default:
			break ;
		}
		m_uCurMDlgID = -1 ;
	}
	else if ( nPos == 2 ) 
	{
		switch ( m_uCurRDlgID )
		{
		case DLG_NPCEQUIP:
			m_DlgNpcEquip.EnableWindow(false);
			break;
		case DLG_TBOARDUP:
			m_DlgAnnounceUp.EnableWindow(false);
			break;
		case DLG_TBOARDLIST:
			m_DlgAnnounceList.EnableWindow(false);
			break;
		case DLG_TASKVIEW:
			m_DlgPlayerTaskView.EnableWindow(false);
			break;
		case DLG_TASKGET:
			m_DlgPlayerTaskUp.EnableWindow(false);
			break;
		case DLG_TASKLIST:
			m_DlgPlayerTaskList.EnableWindow(false);
			break;
		case DLG_DEPOT:
			m_DlgDepot.EnableWindow( false ) ;
			break ;
		case DLG_NPCBUY:
			m_DlgNpcBuy.EnableWindow( false ) ;
			m_DlgNpcBuy.CloseShop() ;
			if ( m_DlgMpcGoods.m_bShow )
			{
				m_DlgMpcGoods.EnableWindow( false ) ;
			}
			break ;
		case DLG_MONSTER:
			m_DlgMonster.EnableWindow( false ) ;
			break ;
		case DLG_FRIEND:
			m_DlgEnemyFriend.EnableWindow( false ) ;
			break ;
		case DLG_QUERY:
			m_DlgQuery.EnableWindow( false ) ;
			break ;
		case DLG_CONTACT:
			m_DlgKnightage.EnableWindow(false);
			break;
		default:
			break ;
		}
		m_uCurRDlgID = -1 ;
	}
	else if ( nPos == 3 )
	{
		if ( m_DlgGroup.IsWindowEnabled() )
		{
			m_DlgGroup.EnableWindow( false ) ;
		}
	}
	if (m_DlgBigmap.m_bShow)
		m_DlgBigmap.EnableWindow(false);
}



void CDlgMain::OnMainFaction() 
{
	if ( !m_DlgKnightage.m_bShow ) 
	{
		if (m_DlgInsHelp.m_bShow)
			m_DlgInsHelp.EnableWindow(false);
		if (m_DlgSetup.m_bShow)
			m_DlgSetup.EnableWindow(false);
		CDlgMain::GetParent()->PostMessage(WM_MY_MESSAGE,ON_DLGTASK_CLOSE);
		CDlgMain::CloseCurDlg ( 2 ) ;
		m_uCurRDlgID = DLG_CONTACT ;
		m_DlgKnightage.EnableWindow() ;
		return ;
	}
	else if ( m_DlgKnightage.m_bShow ) 
	{
		m_uCurRDlgID = -1 ;
		m_DlgKnightage.EnableWindow(false) ;
		return ;
	}
}


LRESULT CDlgMain::WindowProc(UINT message, WPARAM wParam, LPARAM lParam) 
{
	switch(message)
	{
	case  WM_COMMAND:
		{
			if ( wParam == 1 || wParam == 2 )
				return true ;
		}
		break;
	case WM_DESTROY:
		{
			CDlgMain::WriteRecord () ;
		}
		break;
	default:
		break;
	}
	return CDialog::WindowProc(message, wParam, lParam);
}

void CDlgMain::OpenNpcShop(int nNpcType, OBJID idNpc)
{
	if ( m_DlgTrade.m_bShow )
		return ;
	CDlgMain::CloseCurDlg ( 2 ) ;
	if ( nNpcType != _ROLE_STORAGE_NPC )
	{
		if(m_DlgNpcBuy.OpenShop ( idNpc ) == 3)
		{
			if (!m_DlgMpcGoods.m_bShow ) 
			{	
				m_DlgMpcGoods.EnableWindow();
				m_DlgMpcGoods.m_ChkStones.SetCheckValue(1);
				m_DlgMpcGoods.m_ChkGoods.SetCheckValue(0);
				m_DlgMpcGoods.m_MpcStonesGri.EnableWindow();
				m_DlgMpcGoods.m_MpcGoodsGri.EnableWindow(false);				
			}
		}
		else
		{
			if ( !m_DlgMpcGoods.m_bShow ) 
			{	
				m_DlgMpcGoods.EnableWindow() ;
				m_DlgMpcGoods.m_ChkStones.SetCheckValue(0);
				m_DlgMpcGoods.m_ChkGoods.SetCheckValue(1);
				m_DlgMpcGoods.m_MpcStonesGri.EnableWindow(false);
				m_DlgMpcGoods.m_MpcGoodsGri.EnableWindow();				
			}			
		}
		m_DlgNpcBuy.EnableWindow() ;
		m_uCurRDlgID = DLG_NPCBUY ;
	}
}

void CDlgMain::OpenDepot(int nNpcType, OBJID idNpc)
{
	if ( m_DlgTrade.m_bShow )
		return ;
	CDlgMain::CloseCurDlg( 2 ) ;
	m_DlgDepot.OpenDepot ( idNpc ) ;
	m_DlgDepot.EnableWindow() ;
	if ( !m_DlgMpcGoods.m_bShow ) 
	{	
		m_DlgMpcGoods.EnableWindow() ;
	}	
	m_uCurRDlgID = DLG_DEPOT ;
}

void CDlgMain::OnShellEnter()
{
	m_DlgTalk.m_TalkDataCob.SetFocus () ;
}

void CDlgMain::PlayItemQUse(int nGridIndex)
{
	CAni *pActAni = g_objGameDataSet.GetDataAni ( "ani/effect.ani",
												  "ItemUse",
												  EXIGENCE_IMMEDIATE ) ;
	if ( pActAni != NULL )
	{
		CRect Drect, rect ;
		CDlgMain::GetWindowRect ( Drect ) ;
		m_DlgTalk.m_GoodBox.GetWindowRect ( rect ) ;
		m_ActPnt.x = rect.left - Drect.left + m_DlgPnt.x + ( nGridIndex - 1 ) * 41 - 60;
		m_ActPnt.y = m_DlgPnt.y + 30;
		m_bItemAct = true ;	
		m_dwLastActTime = 0 ;
		m_nActAmount = pActAni->GetFrameAmount () ;
	}
}

void CDlgMain::OnMainMagic() 
{
	// Open Skill dialog
	if(!m_DlgQuery.m_bShow)
	{
		if (m_DlgInsHelp.m_bShow)
			m_DlgInsHelp.EnableWindow(false);
		CDlgMain::GetParent()->PostMessage(WM_MY_MESSAGE,ON_DLGTASK_CLOSE);
		CDlgMain::CloseCurDlg( 2 );
		m_uCurRDlgID = DLG_QUERY;
		m_DlgQuery.PopupCurChk();
		m_DlgQuery.m_ChkSkill.SetCheckValue(1);
		m_DlgQuery.m_btCurChildDlgID = 2;
		CDlgMain::CloseCurDlg(1);
		m_DlgQuery.EnableWindow(true);
	}
	else 
	{
		if(m_DlgQuery.m_btCurChildDlgID == 2)
		{
			if (m_DlgQuery.m_DlgSkill.m_nSkillListMode == 1)
				m_DlgQuery.m_DlgSkill.SetMagicSkill();
			else
			{
				CDlgMain::CloseCurDlg(2);
				m_uCurRDlgID = -1;
				m_DlgQuery.EnableWindow(false);
			}
			return;
		}
		else 
		{
			m_DlgQuery.HideCurDlg( m_DlgQuery.m_btCurChildDlgID);
			m_DlgQuery.PopupCurChk();
			m_DlgQuery.m_btCurChildDlgID = 2;
			m_DlgQuery.m_ChkSkill.SetCheckValue(1);
			m_DlgQuery.ShowCurDlg(2);
		}
	}
}

void CDlgMain::WriteRecord()
{
	if ( g_objHero.GetName () == NULL || strlen ( g_objHero.GetName () ) == 0 )
		return ;

	if ( m_bReacord ) 
		return ;
	char strAppName[32] ;
	sprintf ( strAppName, "%sRecord", g_objHero.GetName () ) ;
	
	// begin test the account name
	char* pstrTemp = strchr ( strAppName, '[' ) ;
	if ( pstrTemp != NULL )
	{
		strncpy ( pstrTemp, "(", 1 ) ;
		pstrTemp = NULL ;
	}
	pstrTemp = strchr ( strAppName, ']' ) ;
	if ( pstrTemp != NULL )
	{
		strncpy ( pstrTemp, ")", 1 ) ;
		pstrTemp = NULL ;
	}
	// end test the account name
/*/	itoa ( m_MapChk.GetCheckValue (), strMode, 10 ) ;
	WritePrivateProfileString ( strAppName, "MapModeRecord", strMode, m_strOwnerIni ) ;
//	itoa ( m_TalkChk.GetCheckValue (), strMode, 10 ) ;
	WritePrivateProfileString ( strAppName, "TalkModeRecord", strMode, m_strOwnerIni ) ;*/
	
	
	char strTypeID[32] ;
	char strKeyName[16] ;
	int i=0;
	for ( i = 1; i <= GRID_ICONQUICK_NUM; i++ )
	{
		sprintf ( strKeyName, "QItem%dRecord", i ) ;
		if ( m_DlgTalk.m_GoodBox.GetGridAble ( CPoint ( i, 1 ) ) )
		{
			switch ( m_DlgTalk.m_GoodBox.GetIconType ( i - 1 ) )
			{
			case ICON_TYPE_QUSE:
				itoa ( m_DlgTalk.m_GoodBox.GetIconTypeID ( i - 1 ) * 10 + ICON_TYPE_QUSE, strTypeID, 10 ) ;
				WritePrivateProfileString ( strAppName, strKeyName, strTypeID, m_strOwnerIni ) ;
				break ;
			}
		}
		else
			WritePrivateProfileString ( strAppName, strKeyName, "", m_strOwnerIni ) ;
	}

	for ( i = 1; i <= 8; i++ )
	{
		sprintf ( strKeyName, "SkillHotKeyF%d", i ) ;
		if (m_DlgQuery.m_DlgSkill.m_DlgSkillHotKey.m_HotKeyIdType[i-1]>0) 
		{
			itoa (m_DlgQuery.m_DlgSkill.m_DlgSkillHotKey.m_HotKeyIdType[i-1], strTypeID , 10) ;
			WritePrivateProfileString ( strAppName, strKeyName, strTypeID, m_strOwnerIni ) ;
		}
		else
			WritePrivateProfileString ( strAppName, strKeyName, "", m_strOwnerIni ) ;
	}
	// write the chat color record
	char strInt[8] ;

	int nValue = m_DlgSetup.m_DlgMusic.m_SliderMusic.GetSliderValue () ;
	if (m_DlgSetup.m_DlgMusic.m_MusicChk.GetCheckValue()==0)
	{
		nValue = m_DlgSetup.m_DlgMusic.m_SliderMusic.GetSliderValue()*10;
	}
	else
	{
		nValue = m_DlgSetup.m_DlgMusic.m_SliderMusic.GetSliderValue()*10 + 1;		
	}
	// write record
	itoa ( nValue, strInt, 10 ) ;
	WritePrivateProfileString( strAppName, "MusicRecord", strInt, m_strOwnerIni ) ;
	
	nValue = m_DlgSetup.m_DlgMusic.m_SliderSound.GetSliderValue () ;
	if (m_DlgSetup.m_DlgMusic.m_SoundChk.GetCheckValue()==0)
	{
		nValue = m_DlgSetup.m_DlgMusic.m_SliderSound.GetSliderValue()*10;
	}
	else
		nValue = m_DlgSetup.m_DlgMusic.m_SliderSound.GetSliderValue()*10 + 1;
	
	// write record
	itoa ( nValue, strInt, 10 ) ;
	WritePrivateProfileString( strAppName, "EffectRecord", strInt, m_strOwnerIni ) ;

	for ( i = 0; i < 5; i++ )
		strInt[i] = m_DlgSetup.m_DlgSChat.m_nColorLog [i] + 48;
	strInt[5] = '\0' ;
	WritePrivateProfileString ( strAppName, "ChatColorRecord", strInt, m_strOwnerIni ) ;

	int nAmount = g_objGameMsg.GetBlackNameAmount();
	if (nAmount>0)
	{
		char strRecord[7*17];
		char strTemp[16] ;
		itoa ( nAmount, strTemp, 10 ) ;
		strcpy ( strRecord, strTemp ) ;
		strcat ( strRecord, "|" ) ;
		for( i=0;i<__min(6,nAmount);i++)
		{
			strcat(strRecord,g_objGameMsg.GetBlackNameByIndex(i));
			strcat(strRecord,"|");
		}
		WritePrivateProfileString ( strAppName, "BlackNameRecord", strRecord, m_strOwnerIni ) ;				
	}
	else
		WritePrivateProfileString ( strAppName, "BlackNameRecord", "", m_strOwnerIni ) ;				
	char strMode[16];
	itoa ( CRole::s_nShadowType, strMode, 10 );
	WritePrivateProfileString ( strAppName, "ShadowRecord", strMode, m_strOwnerIni ) ;
	
	itoa ( m_DlgSetup.m_DlgGraph.m_ChkRoleName.GetCheckValue (), strInt, 10 ) ;
	WritePrivateProfileString ( strAppName, "ShiftRecord", strInt, m_strOwnerIni ) ;

	// Begin write the talklistrecord to the ini file
	int nCount = m_DlgTalk.m_DlgListBox.m_ListBox.GetCount () ;

	if ( nCount > 0 )
	{
		char strRecord[17*18] ;
		char strTemp[16] ;
		itoa ( nCount, strTemp, 10 ) ;
		strcpy ( strRecord, strTemp ) ;
		strcat ( strRecord, "|" ) ;
		for ( int i = 0; i < __min(16, nCount); i++ )
		{
			m_DlgTalk.m_DlgListBox.m_ListBox.GetText ( i, strTemp ) ;
			strcat ( strRecord, strTemp ) ;
			strcat ( strRecord, "|" ) ;

⌨️ 快捷键说明

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