亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? cfightzone.cpp

?? 韓國英雄王座倒閉后流出來部分源代碼
?? CPP
?? 第 1 頁 / 共 4 頁
字號:
////////////////////////////////////////////////////////////////////////////////////////
//	CFIGHTZONE_CPP   2004斥 3巋 8老 陛
//
//	by Mun Sung-hun (badajoa2002@hotmail.net)
//	Copyright(C) 2004
//
//
////////////////////////////////////////////////////////////////////////////////////////
#include "StdAfx.h"
#include "CFightzone.h"
#include "MapServerSocket.h"
#include "PacketCrypt.h"
#include "DBSocket.h"
#include "ServerMem.h"

#ifdef DEF_SECURITYPACKET
	#include "17CryptServer.h"
	#include "RegCrypt.h"

	extern CRegCrypt crypt;
#endif

////////////////////////////////////////////////////////////////////////////////////////
//	Global Class
////////////////////////////////////////////////////////////////////////////////////////
extern	MapServerSocket		*g_pServer;				//	Map Server 
extern _LPCFIGHTZONEMANAGER g_lpFightzoneManager;
extern _LPDBSOCK			g_lpDBSock ;			// 2003-7-14  badajoa World Server 眠啊

extern	ServerMem			*g_pServerMem;	


CMatch::CMatch()
{

}
CMatch::~CMatch()
{

}



////////////////////////////////////////////////////////////////////////////////////////
//
////////////////////////////////////////////////////////////////////////////////////////
void CMatch::Clear()
{
	memset(this,0x0,sizeof(CMatch));
}

////////////////////////////////////////////////////////////////////////////////////////
//
////////////////////////////////////////////////////////////////////////////////////////
bool CMatch::bIsLogoutTeam(PlayerInfo * lpPlayer)
{

	BYTE nTeam = lpPlayer->m_nTeam ;

	LogOutTeam( lpPlayer->m_pSocketFD, nTeam)  ;

	if( nTeam == DEF_OBSERVER )
	{
		return false; 
	}

	if (	lpPlayer->m_bIsFightMode== true				&& 
			m_lpFightZone->Type		== PVP_TYPE_LADDER	&& 
			m_lpFightZone->Team		== PVP_TEAM_PERSON )
	{
		++lpPlayer->m_dwPVPLose;
		g_pServer->PacketSend_ChangePlayerBase(lpPlayer->m_pSocketFD) ;
	}

	if(m_lpFightZone->nPlayer <= 0 )  return true ;
	

	if(lpPlayer->m_bIsFightMode == true)
	{
		lpPlayer->MatchClear() ;

		lpPlayer->m_dwMatchSEQ = 0 ;
	}

	if( m_lpFightZone->Team == PVP_TEAM_PARTY)
	{
		if(	lpPlayer->m_dwHandle == MasterHandle[nTeam]  )
		{
			// 頗萍傈牢單 頗萍 付膠磐啊 唱啊擱 官肺 霸烙 場撈促.
			m_lpFightZone->bTeamJoin[nTeam] = false ;
			return true ;
		}
	}

			
	switch( Rule)
	{
		case PVP_RULE_KILLMASTER :
		case PVP_RULE_MASTERKILLCOUNT :
		{
			if(	lpPlayer->m_dwHandle == MasterHandle[nTeam]  )
			{
				++m_lpFightZone->KilledCount[nTeam] ;

				return true ;
			}
		}

		// break 啊 絕促 蝶扼輯 酒貳 風憑檔 角青竅霸 等促.
		// 干滾 皚家綽 LogOut team 俊輯 秦霖促. 
		case PVP_RULE_SERVIVAL:
		case PVP_RULE_FFA:	
		case PVP_RULE_NOMAL:
		case PVP_RULE_KILLCOUNT :
		default:
		{
			if(--m_lpFightZone->MemberCount[nTeam]  <= 0 )

			return true;
		}
	}

	return false ;
}


////////////////////////////////////////////////////////////////////////////////////////
//
////////////////////////////////////////////////////////////////////////////////////////
bool CMatch::bIsLoseTeam(PlayerInfo * lpPlayer)
{


	BYTE nTeam = lpPlayer->m_nTeam ;


	if( nTeam == DEF_OBSERVER )
	{
		return false; 
	}

	switch(Rule)
	{
		case PVP_RULE_SERVIVAL:
		case PVP_RULE_FFA:	
		case PVP_RULE_NOMAL:
		{

			lpPlayer->MatchClear(); 

			if( --m_lpFightZone->MemberCount[nTeam]  <= 0 )
			{
				m_lpFightZone->bTeamJoin[nTeam] = false ;

				return true;
			}
		}
		break;

		case PVP_RULE_KILLCOUNT :
		{

			++m_lpFightZone->KilledCount[nTeam] ;

		}
		break;

		case PVP_RULE_KILLMASTER :
		{

			lpPlayer->MatchClear(); 

			if(	lpPlayer->m_dwHandle == MasterHandle[nTeam]  )
			{
				++m_lpFightZone->KilledCount[nTeam ] ;
				m_lpFightZone->bTeamJoin[nTeam] = false ;
				
				return true ;
			}
			
			if (--m_lpFightZone->MemberCount[nTeam]  <= 0)
			{
				m_lpFightZone->bTeamJoin[nTeam] = false ;
				
				return true ;
			}

		}
		break;
	
		case PVP_RULE_MASTERKILLCOUNT :
		{
			if(	lpPlayer->m_dwHandle == MasterHandle[lpPlayer->m_nTeam]  )
				++m_lpFightZone->KilledCount[lpPlayer->m_nTeam] ;

		}
		break;
	}
	
	return false ;
}

////////////////////////////////////////////////////////////////////////////////////////
//
////////////////////////////////////////////////////////////////////////////////////////
void CMatch::CheckWinTeam() 
{

	switch(Rule)
	{
		case PVP_RULE_SERVIVAL:
		case PVP_RULE_FFA:	
		case PVP_RULE_NOMAL:
		{
			sWinTeam = m_lpFightZone->sCountMember() ;
		}
		break;

		case PVP_RULE_KILLCOUNT :
		{
			sWinTeam = m_lpFightZone->sCountKilled() ;
		}
		break;

		case PVP_RULE_KILLMASTER :
		{
			sWinTeam = m_lpFightZone->sCountKilled() ;
		}
		break;
	
		case PVP_RULE_MASTERKILLCOUNT :
		{
			sWinTeam = m_lpFightZone->sCountKilled() ;
		}
		break;
	}

	
	m_lpFightZone->Send_GameEndMsg(sWinTeam );

	// 辨靛傈籃 淚矯饒 府妮茄促.
	if(m_lpFightZone->Team == PVP_TEAM_GUILD )
		m_lpFightZone->Send_NoticeMsg(MSG_FIGHTZONERECALLMSG) ;


	ErrorMsg("(FZ) Player WinTeam (%d) Match(%d) (%s) Team Killed(%d) Member(%d) (%s) Team Killed(%d) Member(%d) ",
			sWinTeam, m_dwMatchSEQ ,m_lpFightZone->cTeamName[0],  m_lpFightZone->KilledCount[0] , m_lpFightZone->MemberCount[0] 
			,m_lpFightZone->cTeamName[1], m_lpFightZone->KilledCount[1] , m_lpFightZone->MemberCount[1] );

	m_lpFightZone->bIsFightEnd = true	;
}

////////////////////////////////////////////////////////////////////////////////////////
//
////////////////////////////////////////////////////////////////////////////////////////
void CMatch::CheckWinTeamForLogout() 
{
	sWinTeam = m_lpFightZone->sCountMember() ;
	
	m_lpFightZone->Send_GameEndMsg(sWinTeam );

	// 辨靛傈籃 淚矯饒 府妮茄促.
	if(m_lpFightZone->Team == PVP_TEAM_GUILD )
		m_lpFightZone->Send_NoticeMsg(MSG_FIGHTZONERECALLMSG) ;


	ErrorMsg("(FZ) Player WinTeam (%d) Match(%d) (%s) Team Killed(%d) Member(%d) (%s) Team Killed(%d) Member(%d) ",
			sWinTeam, m_dwMatchSEQ ,m_lpFightZone->cTeamName[0],  m_lpFightZone->KilledCount[0] , m_lpFightZone->MemberCount[0] 
			,m_lpFightZone->cTeamName[1], m_lpFightZone->KilledCount[1] , m_lpFightZone->MemberCount[1] );

	m_lpFightZone->bIsFightEnd = true	;
}

////////////////////////////////////////////////////////////////////////////////////////
//
////////////////////////////////////////////////////////////////////////////////////////
bool CMatch::bCheckLocation(int nLayer,int x, int y)
{
	if (   m_lpFightZone->lpZoneInfor.StartPoint.x <= x && x <= m_lpFightZone->lpZoneInfor.EndPoint.x 
	&& m_lpFightZone->lpZoneInfor.StartPoint.y <= y && y <= m_lpFightZone->lpZoneInfor.EndPoint.y
	&& nLayer == m_lpFightZone->nLayer 
	)
		return true ;
	else 
		return false ;
}

////////////////////////////////////////////////////////////////////////////////////////
//
////////////////////////////////////////////////////////////////////////////////////////
void CMatch::JoinTeam(_LPSOCKET_FD lpSocketFD, int nTeam)
{
	m_lpFightZone->m_lpListPlayer->AddTail(lpSocketFD ) ;

	// 葷捧厘俊 立加茄 牢盔 
	++m_lpFightZone->nPlayer ;

	if( nTeam == DEF_OBSERVER )
	{
		lpSocketFD->pPlayer->ChangeStatus(STATUS_INVISIBLE) ;
	}
	else
	{
		// 曼啊茄 評狼 牢盔
		++m_lpFightZone->MemberCount[nTeam ];

		// 付膠磐撈擱 
		if(MasterHandle[nTeam] == lpSocketFD->pPlayer->m_dwHandle )
			++m_lpFightZone->sMasterCount ;

	}

	// 版扁 矯累 饒綽 焊塵 鞘夸 絕促.

	if( nTeam == DEF_OBSERVER) 
		m_lpFightZone->Send_PVPInfor() ;
	else if(  !m_lpFightZone->bIsFightStart )
		m_lpFightZone->Send_PVPInfor() ;
	

	if ( m_lpFightZone->dwTime > g_lpFightzoneManager->m_dwTimeTick )
	{
		char cMsg[100] ={0,} ;
		wsprintf(cMsg,MSG_FIGHTZONELOGINMSG, (m_lpFightZone->dwTime -  g_lpFightzoneManager->m_dwTimeTick) ) ; 
		m_lpFightZone->Send_Msg(lpSocketFD,cMsg) ;
		
		if (m_lpFightZone->UsePotion == PVP_POTION_USE)
			m_lpFightZone->Send_Msg(lpSocketFD,MSG_FIGHTZONE_RULE_POTION) ;
		else
			m_lpFightZone->Send_Msg(lpSocketFD,MSG_FIGHTZONE_RULE_NOPOTION) ;

		switch(Rule)
		{
		case PVP_RULE_NOMAL:			wsprintf(cMsg,MSG_FIGHTZONE_RULE_NORMAL			);	break;

		case PVP_RULE_KILLCOUNT:		wsprintf(cMsg,MSG_FIGHTZONE_RULE_KILLCOUNT		);	break;

		case PVP_RULE_KILLMASTER:		wsprintf(cMsg,MSG_FIGHTZONE_RULE_KILLMASTER		);	break;

		case PVP_RULE_MASTERKILLCOUNT:	wsprintf(cMsg,MSG_FIGHTZONE_RULE_MASTERKILLCOUNT);	break;
		}
		
		m_lpFightZone->Send_Msg(lpSocketFD,cMsg) ;
		
		if (Rule == PVP_RULE_KILLCOUNT ||  Rule == PVP_RULE_MASTERKILLCOUNT  )
			m_lpFightZone->Send_Msg(lpSocketFD,MSG_FIGHTZONE_RULE_REVIVE) ;

	}
}

////////////////////////////////////////////////////////////////////////////////////////
//
////////////////////////////////////////////////////////////////////////////////////////
void CMatch::LogOutTeam(_LPSOCKET_FD lpSocketFD, int nTeam)
{
	m_lpFightZone->m_lpListPlayer->RemovePtr(lpSocketFD ) ;

	if(nTeam == DEF_OBSERVER) return ;

	// 評狼 付膠磐撈擱 
	if(MasterHandle[nTeam] == lpSocketFD->pPlayer->m_dwHandle )
	{
		--m_lpFightZone->sMasterCount ;
	}

	// 版扁 矯累 饒綽 焊塵 鞘夸 絕促.
	if( nTeam == DEF_OBSERVER) 
		m_lpFightZone->Send_PVPInfor() ;
	else if( !m_lpFightZone->bIsFightStart ) 
		m_lpFightZone->Send_PVPInfor() ;
}


CFightZone::~CFightZone()
{
	SAFE_DELETE <CXPtrList>(&m_lpListPlayer) ;
}

CFightZone::CFightZone()
{
	
}

////////////////////////////////////////////////////////////////////////////////////////
//
////////////////////////////////////////////////////////////////////////////////////////
void CFightZone::Clear()
{
	m_lpMatch	= NULL ;
	nPlayer  = 0 		;	// 葷捧厘俊 立加茄 牢盔 

	bIsStartMatch = false ;
	bIsFightStart = false ;
	bIsFightEnd	= false ;

	sMasterCount = 0 ;

	memset(KilledCount,0x0, sizeof(short) * DEF_MAXTEAM) ;
	memset(MemberCount,0x0, sizeof(short) * DEF_MAXTEAM) ;

	for(int i = 0 ; i < DEF_MAXTEAM ; ++i)
		bTeamJoin[i] = false;

	m_lpListPlayer->RemoveAll();
}


////////////////////////////////////////////////////////////////////////////////////////
//
//	
////////////////////////////////////////////////////////////////////////////////////////
void CFightZone::Send_GameEndMsg(short sWinTeam)
{

	_LPZEMIPACKET pZemiPacket	=	g_pServerMem->ZemiPacket_Pop();

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
日韩女优电影在线观看| 亚洲自拍另类综合| 亚洲另类在线一区| 亚洲成人av电影| 黄网站免费久久| 色婷婷狠狠综合| 亚洲精品一线二线三线| 亚洲欧洲制服丝袜| 亚洲在线视频网站| 免费美女久久99| 91蜜桃视频在线| 欧美成人三级电影在线| 亚洲人成在线观看一区二区| 亚洲一区二区四区蜜桃| 国产在线精品国自产拍免费| 欧美性videosxxxxx| 久久亚洲私人国产精品va媚药| 亚洲免费视频成人| 精品一区二区在线播放| 在线区一区二视频| 国产欧美久久久精品影院| 午夜精品久久久久久久久久久| 高清不卡一区二区| 日韩欧美高清dvd碟片| 亚洲精品免费在线播放| 国产+成+人+亚洲欧洲自线| 在线播放视频一区| 伊人开心综合网| 东方欧美亚洲色图在线| 精品三级在线看| 亚洲午夜视频在线观看| 国产盗摄女厕一区二区三区| 欧美日韩和欧美的一区二区| 国产精品嫩草99a| 看片的网站亚洲| 欧美乱熟臀69xxxxxx| 欧美精品一区二区在线播放| 日产国产高清一区二区三区| 色婷婷激情综合| 亚洲视频一二三区| 99精品久久久久久| 国产精品天干天干在观线| 国产精品1区2区3区| 国产日韩欧美综合在线| 国产在线精品不卡| 久久噜噜亚洲综合| 黑人精品欧美一区二区蜜桃| 日韩欧美高清在线| 国模套图日韩精品一区二区 | 色综合激情五月| 国产精品麻豆一区二区| www.久久久久久久久| 日韩一区二区三区免费看| 日韩电影免费在线看| 7777精品伊人久久久大香线蕉的 | 久久99国内精品| 欧美xxxxx牲另类人与| 毛片av一区二区| 久久久久久久久久看片| 国产精品白丝av| 中文字幕不卡在线| 91麻豆精东视频| 一区二区三区四区视频精品免费| 色综合视频一区二区三区高清| 自拍偷自拍亚洲精品播放| 国产精品1024久久| 国产人妖乱国产精品人妖| gogogo免费视频观看亚洲一| 亚洲精品免费在线观看| 在线中文字幕不卡| 日韩电影在线看| ww亚洲ww在线观看国产| 韩国精品免费视频| √…a在线天堂一区| 91美女片黄在线观看| 亚洲国产视频在线| 日韩一级高清毛片| 国产超碰在线一区| 欧美精品粉嫩高潮一区二区| 美腿丝袜亚洲一区| 久久久精品国产免大香伊 | 18欧美亚洲精品| 欧美日韩一区不卡| 国产成人午夜片在线观看高清观看| 久久久不卡网国产精品一区| av亚洲精华国产精华精华| 亚洲成人久久影院| 久久综合五月天婷婷伊人| 在线观看国产日韩| 99视频超级精品| 国产乱码精品一区二区三| 五月天国产精品| 一区二区三区久久| 国产精品人妖ts系列视频| 日韩精品一区二| 欧美日韩二区三区| 91福利在线看| av在线不卡电影| 成人小视频免费在线观看| 韩国成人福利片在线播放| 视频在线观看91| 亚洲国产日韩a在线播放| 亚洲精品欧美专区| 亚洲视频每日更新| 国产精品美女一区二区| 国产欧美一区二区三区网站| 欧美一三区三区四区免费在线看 | 日韩一二三区视频| 欧美视频你懂的| 色激情天天射综合网| 91美女在线视频| 一本到一区二区三区| 99久久婷婷国产| 99精品久久免费看蜜臀剧情介绍| 成人成人成人在线视频| 成人av动漫在线| 91最新地址在线播放| 色综合天天性综合| 一本一本久久a久久精品综合麻豆 一本一道波多野结衣一区二区 | 蜜芽一区二区三区| 老汉av免费一区二区三区| 日韩成人一区二区| 青青草国产精品97视觉盛宴| 免费久久99精品国产| 久久精品99久久久| 国产久卡久卡久卡久卡视频精品| 韩国成人精品a∨在线观看| 韩国在线一区二区| 福利电影一区二区三区| a亚洲天堂av| 欧美性大战久久久久久久蜜臀| 欧美日韩精品专区| 精品欧美一区二区三区精品久久| 精品久久国产老人久久综合| 国产视频一区二区在线观看| 欧美国产丝袜视频| 亚洲精品日产精品乱码不卡| 亚洲成人在线网站| 极品少妇一区二区| 99视频一区二区| 91麻豆精品国产91久久久久久久久| 欧美一区午夜视频在线观看| 久久久亚洲午夜电影| 亚洲欧美视频在线观看| 日韩电影在线一区| 国产成人高清视频| 欧美视频一区在线观看| 精品国产成人系列| 亚洲嫩草精品久久| 日本不卡视频在线| av不卡在线观看| 日韩一级片在线播放| 国产精品网站在线| 亚洲成人高清在线| 懂色av一区二区三区免费观看| 欧美在线影院一区二区| 精品久久久久久久一区二区蜜臀| 中文字幕日本不卡| 免费在线看成人av| 91色porny在线视频| 亚洲精品一区二区在线观看| 一区二区三区色| 国产一区二区电影| 欧美精品1区2区3区| 中文字幕乱码一区二区免费| 日韩中文欧美在线| 91丨九色丨黑人外教| 26uuu亚洲综合色| 爽好久久久欧美精品| 97久久精品人人做人人爽50路| 日韩一区国产二区欧美三区| 亚洲精品乱码久久久久久| 国模冰冰炮一区二区| 欧美丰满美乳xxx高潮www| 亚洲人精品午夜| 成人一区二区三区| 精品理论电影在线| 婷婷一区二区三区| 色激情天天射综合网| 国产精品理伦片| 国产一区二区免费看| 欧美电影免费观看高清完整版| 亚洲一区av在线| 91视频精品在这里| 国产精品全国免费观看高清| 国产在线视频精品一区| 欧美一级片在线| 日韩av中文字幕一区二区| 欧美在线影院一区二区| 最新欧美精品一区二区三区| 国产乱码精品1区2区3区| 精品久久免费看| 麻豆视频观看网址久久| 日韩一级成人av| 免费精品99久久国产综合精品| 欧美日韩一级黄| 五月综合激情日本mⅴ| 欧美美女网站色| 五月天视频一区| 日韩免费在线观看|