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

? 歡迎來(lái)到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關(guān)于我們
? 蟲蟲下載站

?? cfightzone.cpp

?? 韓國(guó)英雄王座倒閉后流出來(lái)部分源代碼
?? CPP
?? 第 1 頁(yè) / 共 4 頁(yè)
字號(hào):
		//
		//	Socket Check Function欄肺 薦瀝竊 (礙輛齲)
		//
		/*
		if( !lpSocketFD								) continue;
		if( lpSocketFD->dwMagicNum	!=	MAGIC_NUM	) continue;
		if( lpSocketFD->bClose						) continue;
		if( lpSocketFD->socket == INVALID_SOCKET	) continue;
		if( !lpSocketFD->pPlayer)					  continue;
		*/
		if( !IsSocketValidity( lpSocketFD )	) continue;	
		 

		if(bIsStarGame)
		{
			if( lpSocketFD->pPlayer->m_nTeam != DEF_OBSERVER )
			{
				lpSocketFD->pPlayer->m_bIsFightMode = true ;
			}
		}
		else
		{
			// 版扁啊 輛豐 登綽 版快 檬扁拳 
			lpSocketFD->pPlayer->MatchClear(); 
		}

		lpSendIOContext = NULL;
		lpSendIOContext = g_pServer->CreateIOContext(WRITE);

		if( lpSendIOContext )
		{
			memcpy( lpSendIOContext->buf , pZemiPacket, pZemiPacket->dwSize );
			lpSendIOContext->dwTotalBytes = pZemiPacket->dwSize;

			g_pServer->Send( lpSocketFD , lpSendIOContext );						
		}
	}	
}


////////////////////////////////////////////////////////////////////////////////////////
//
////////////////////////////////////////////////////////////////////////////////////////
void CFightZone::GameEnd()
{
	if (m_lpMatch != NULL)
	{
		g_lpDBSock->WorldSend_FightzoneReserveCancel(NULL, lpZoneInfor.strFightZoneName ,wSeq, m_lpMatch->m_dwMatchSEQ ) ;

#ifdef DEF_FIGHTZONEITEM
		if(Prize != PVP_PRIZE_GAMBLIE ) 
#endif
		{
			g_lpFightzoneManager->lpMapMatch->Delete(m_lpMatch->m_dwMatchSEQ) ;
			g_lpFightzoneManager->lpMatchPool->Free(m_lpMatch) ;
			m_lpMatch = NULL ;
		}
	}
	else 
	{
		g_lpDBSock->WorldSend_FightzoneReserveCancel(NULL, lpZoneInfor.strFightZoneName ,wSeq, 0 ) ;
	}
	
	
}


////////////////////////////////////////////////////////////////////////////////////////
//	PVP 矯累
//
////////////////////////////////////////////////////////////////////////////////////////
void CFightZone::GameStart()
{

	if (m_lpMatch == NULL) return ;

	// 惑措規(guī)狼 付膠磐啊 絕欄擱 矯累且 薦絕促. 
	if (sMasterCount != sTeamCount || nPlayer == 0 )
	{
		bIsFightEnd = true ;
		
		if (Team == PVP_TEAM_PERSON)
			Send_NoticeMsgAndChangeMode(MSG_FIGHTZONENOENEMY,false) ;
		else
			Send_NoticeMsgAndChangeMode(MSG_FIGHTZONENOMASTER,false) ;

		return ;
	}


	// 評(píng) 牢盔薦啊 嘎瘤 臼闌錠 霸烙 輛豐 

//	if ( MemberCount[0] != MemberCount[1])
//	{
//		Send_NoticeMsg(MSG_FIGHTZONENOSAMEMEMBER) ;
//		bIsFightEnd = true ;
//		
//		return ;
//	}

	for(int i = 0 ; i < DEF_MAXTEAM ; ++i)
		 
	{
		if(MemberCount[i] > 0 )
			bTeamJoin[i] = true;
	}

	// 版扁 矯累
	bIsFightStart = true ;

	// 彌措 牢盔薦甫 歷厘茄促.
	memcpy(sMaxMember, MemberCount, sizeof(short)*DEF_MAXTEAM) ;


	_LPZEMIPACKET lpSendPacket	=	g_pServerMem->ZemiPacket_Pop();

		lpSendPacket->dwCommand	= ZP_PVPSTART ;
		lpSendPacket->dwSize	= 0 ;
			
		SendAll_PacketAndChangeMode( lpSendPacket , true );

	g_pServerMem->ZemiPacket_Push(  lpSendPacket );
}


////////////////////////////////////////////////////////////////////////////////////////
//	PVP狼 焊齲 MODE矯埃闌 厚背竊
//
////////////////////////////////////////////////////////////////////////////////////////
void CFightZone::CheckProtectTime()
{
	_LPSOCKET_FD lpSocketFD ;
	
	for(POSITION pos = m_lpListPlayer->GetHeadPosition(); pos != NULL;)
	{
		lpSocketFD = (_LPSOCKET_FD)m_lpListPlayer->GetNext(pos);

		if( !lpSocketFD								) continue;
		if( IsBadReadPtr(lpSocketFD, sizeof(_SOCKET_FD) ) )
		{
			MapLog("(X) Fightzone Point Error !!") ;
			continue ;
		}

		//
		//	Socket Function欄肺 措眉 矯糯	[礙輛齲]
		//
		/*
		if( lpSocketFD->dwMagicNum	!=	MAGIC_NUM	) continue;
		if( lpSocketFD->bClose						) continue;
		if( lpSocketFD->socket == INVALID_SOCKET	) continue;
		if( !lpSocketFD->pPlayer)					  continue;
		*/
		if( !IsSocketValidity( lpSocketFD )	) continue;	

		if( lpSocketFD->pPlayer->m_sProtectTime > 0 )
		{
			 if(--lpSocketFD->pPlayer->m_sProtectTime <= 0)
			 {
				lpSocketFD->pPlayer->m_bIsFightMode = true ;
				lpSocketFD->pPlayer->m_sProtectTime = 0 ;
			 }
		}

	}
}


CFightzoneManager::~CFightzoneManager()
{

	lpMapFightZone->Clear() ;

	SAFE_DELETE <SafeMap> (&lpMapFightZone ) ;

	SAFE_DELETE <SafeMap> (&lpMapMatch ) ;


	SAFE_DELETE <CMemPool <CFightZone> > (&lpFightzonePool ) ;

	SAFE_DELETE <CMemPool <CMatch> > (&lpMatchPool ) ;

}

////////////////////////////////////////////////////////////////////////////////////////
//
////////////////////////////////////////////////////////////////////////////////////////
CFightzoneManager::CFightzoneManager()
{
	lpMapFightZone  = new SafeMap ;

	lpMapMatch		= new SafeMap ;


	lpFightzonePool = new CMemPool<CFightZone>(MAX_FIGHTZONE);

	lpMatchPool		= new CMemPool< CMatch >(MAX_FIGHTZONE * MAX_MATCH);

	wFightZoneSeq	= 0 ;
	m_dwTimeTick	= 0 ;
}

////////////////////////////////////////////////////////////////////////////////////////
//
////////////////////////////////////////////////////////////////////////////////////////
CFightzoneManager::CFightzoneManager(bool bIsMapServer)
{
	// 甘輯滾綽 葷捧厘 瀝焊啊 鞘夸 絕促.
	if(!bIsMapServer)
	{
		lpMapFightZone  = new SafeMap ;

		lpFightzonePool = new CMemPool<CFightZone>(MAX_FIGHTZONE);
	}
	else
	{
		lpMapFightZone = NULL ;
		lpFightzonePool = NULL ;
	}

	lpMapMatch		= new SafeMap ;

	lpMatchPool		= new CMemPool< CMatch >(MAX_FIGHTZONE * MAX_MATCH);

	wFightZoneSeq	= 0 ;
	m_dwTimeTick	= 0 ;
	m_bIsMapServer  = bIsMapServer ;
}

////////////////////////////////////////////////////////////////////////////////////////
//
////////////////////////////////////////////////////////////////////////////////////////
void CFightzoneManager::MatchReserve(_LPZW_FIGHTZONERESERVE lpFightZoneReserve)
{
	_LPCFIGHTZONE lpFightZone = Find_FightZone(lpFightZoneReserve->wSEQ) ;
	
	if(lpFightZone == NULL) return ;

	lpFightZone->Clear() ;

	_LPCMATCH	lpMatch	= lpMatchPool->Alloc() ;

	lpMatch->Clear() ;

	lpMatch->m_lpFightZone	= lpFightZone ;
	lpFightZone->m_lpMatch	= lpMatch ;

	lpFightZone->Prize		= lpFightZoneReserve->lpInfor.Prize ;
	lpFightZone->Team		= lpFightZoneReserve->lpInfor.Team ;
	lpFightZone->UsePotion	= lpFightZoneReserve->lpInfor.UsePotion ;
	lpFightZone->wTime		= lpFightZoneReserve->lpInfor.wTime ;
	lpFightZone->Type		= lpFightZoneReserve->lpInfor.Type  ;
	lpFightZone->dwReserveTime = m_dwTimeTick ;

	lpMatch->Rule			= lpFightZoneReserve->lpInfor.Rule ;

	lpMatch->MasterHandle[0] = lpFightZoneReserve->lpInfor.dwFromPlayerHande ;
	lpMatch->MasterHandle[1] = lpFightZoneReserve->lpInfor.dwToPlayerHande ;

	lpMatch->m_dwMatchSEQ =  lpFightZoneReserve->dwMatchSEQ ;
	
	// 15檬 饒 矯累
	lpFightZone->dwTime = 15 + m_dwTimeTick  ;

	if(lpFightZone->bIsHidden )
		lpFightZone->dwTime = 20 + m_dwTimeTick  ;

	lpFightZone->bIsHidden = lpFightZoneReserve->bIsHiden ;
	
	// 評(píng)傈撈擱 15檬 眠啊
	if (lpFightZone->Team == PVP_TEAM_GUILD)
		lpFightZone->dwTime += 15  ;


	memcpy(lpFightZone->cTeamName[0], lpFightZoneReserve->lpInfor.strFromPlayerID,20) ;
	memcpy(lpFightZone->cTeamName[1], lpFightZoneReserve->lpInfor.strToPlayerID	 ,20) ;
		
	lpFightZone->sTeamCount = lpFightZoneReserve->nTeamCount ;
	lpMapMatch->Insert(lpFightZoneReserve->dwMatchSEQ , lpMatch ) ;
	
}

////////////////////////////////////////////////////////////////////////////////////////
//
////////////////////////////////////////////////////////////////////////////////////////
void CFightzoneManager::Register(_FIGHTZONE * lpZoneInfor,DWORD dwMapSEQ ,int nlayer ,int nPKMode)
{
	_LPCFIGHTZONE lpFightzone = lpFightzonePool->Alloc() ;

	lpFightzone->m_lpListPlayer = new CXPtrList ;

	lpFightzone->Clear() ;

	memcpy(&lpFightzone->lpZoneInfor, lpZoneInfor, sizeof(_FIGHTZONE) ) ;
	lpFightzone->nLayer		= nlayer ;
	lpFightzone->dwMapSEQ	= dwMapSEQ ;

	++wFightZoneSeq ;

	lpFightzone->nPlayer	= 0 ;
	lpFightzone->wSeq  = wFightZoneSeq ;

	if(nPKMode)
		lpFightzone->lpZoneInfor.bIsHiden = false ;
	else
		lpFightzone->lpZoneInfor.bIsHiden = true ;


	lpMapFightZone->Insert(wFightZoneSeq, lpFightzone ) ;
}

////////////////////////////////////////////////////////////////////////////////////////
//
////////////////////////////////////////////////////////////////////////////////////////
WORD CFightzoneManager::wGetList(char * lpData)
{
	WORD wFightZoneCount = 0 ;

	_LPCFIGHTZONE lpFightZone = NULL; 

	MAP_VOIDPTR::iterator iEnd  = lpMapFightZone->End() ;

	for (MAP_VOIDPTR::iterator it = lpMapFightZone->Begin(); it != iEnd; ++it)
	{
		lpFightZone = static_cast <_LPCFIGHTZONE> (it->second) ;

		if(lpFightZone == NULL) continue ;
			
		_LPFIGHTZONEINFOR lpFightzoneInfor = (_LPFIGHTZONEINFOR) lpData ;

		memcpy(lpFightzoneInfor->strMapName, lpFightZone->lpZoneInfor.strFightZoneName , 20) ;
		
		memcpy(lpFightzoneInfor->Point, lpFightZone->lpZoneInfor.Point,sizeof(_POINT)*DEF_MAXTEAM ) ;

		lpFightzoneInfor->dwMapSEQ = lpFightZone->dwMapSEQ   ;
		lpFightzoneInfor->wSEQ	   =  it->first ;

		lpFightzoneInfor->bIsHiden = lpFightZone->lpZoneInfor.bIsHiden ;

		lpData += sizeof(_FIGHTZONEINFOR)  ;
		++wFightZoneCount ;
	}

	return wFightZoneCount ;
}

////////////////////////////////////////////////////////////////////////////////////////
//
////////////////////////////////////////////////////////////////////////////////////////
bool CFightzoneManager::bLoginZone(_LPSOCKET_FD lpSocketFD,DWORD dwMatchSeq, int nTeam, int x, int y )
{
	//
	//	Socket Function欄肺 烹老 矯糯
	//
	/*
	if( !lpSocketFD								) return false ;
	if( lpSocketFD->dwMagicNum	!=	MAGIC_NUM	) return false ;
	if( lpSocketFD->bClose						) return false ;
	if( lpSocketFD->socket == INVALID_SOCKET	) return false ;
	*/
	if( !IsSocketValidity( lpSocketFD )	) return false ;

	_LPCMATCH lpMatch = NULL ;
	

	if( NULL == (lpMatch = Find_Match(dwMatchSeq)))
	{
		return false ;
	}
	
	if( NULL == lpMatch->m_lpFightZone) 	return false ;

	// 版扁啊 矯累登菌促. 
	// 可歷滾綽 版扁 矯累苞 包拌絕撈 甸絹哎薦 樂(lè)促.
	if( nTeam != DEF_OBSERVER && lpMatch->m_lpFightZone->bIsStartMatch)	return false ;

	if ( lpMatch->bCheckLocation(lpSocketFD->pPlayer->m_nMapLayer, x, y)	)
	{

		lpSocketFD->pPlayer->m_nUsePotion = lpMatch->m_lpFightZone->UsePotion ;

		lpSocketFD->pPlayer->m_nMatchTeamType	= lpMatch->m_lpFightZone->Team ;

		lpSocketFD->pPlayer->m_bIsFightZone = true ;

		lpSocketFD->pPlayer->m_bIsFightMode = false ;

		lpMatch->JoinTeam(lpSocketFD,nTeam ) ;

		ErrorMsg("(FZ) PlayerLoin (%s) Match(%d) Killed(%d) Member(%d) TeamCount(%d) Team(%d)",
		lpSocketFD->pPlayer->m_strPlayerID, lpSocketFD->pPlayer->m_dwMatchSEQ,
		lpMatch->m_lpFightZone->KilledCount[lpSocketFD->pPlayer->m_nTeam] , lpMatch->m_lpFightZone->MemberCount[lpSocketFD->pPlayer->m_nTeam] 
		,  lpMatch->m_lpFightZone->sTeamCount ,lpSocketFD->pPlayer->m_nTeam);
		
		return true ;
	}
	
	return false ;
}


////////////////////////////////////////////////////////////////////////////////////////
//
////////////////////////////////////////////////////////////////////////////////////////
bool CFightzoneManager::bIsTeleportZone(_LPSOCKET_FD lpSocketFD,DWORD nMatchSeq)
{
	/*
	if( !lpSocketFD								) return false ;
	if( lpSocketFD->dwMagicNum	!=	MAGIC_NUM	) return false ;
	if( lpSocketFD->bClose						) return false ;
	if( lpSocketFD->socket == INVALID_SOCKET	) return false ;
	*/
	if( !IsSocketValidity( lpSocketFD )	) return false ;

	_LPCMATCH lpMatch = NULL ;

?? 快捷鍵說(shuō)明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號(hào) Ctrl + =
減小字號(hào) Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
一区二区三区四区在线免费观看| 亚洲综合色噜噜狠狠| 色爱区综合激月婷婷| 国产一区二区美女| 亚洲mv大片欧洲mv大片精品| 国产精品素人一区二区| 欧美高清www午色夜在线视频| 国产.欧美.日韩| 麻豆国产精品一区二区三区| 亚洲人午夜精品天堂一二香蕉| 欧美精品一区二区三区视频| 欧美日韩亚洲综合在线| 91视频91自| 国产1区2区3区精品美女| 麻豆国产精品777777在线| 污片在线观看一区二区 | 久久亚洲一区二区三区明星换脸| 99精品久久免费看蜜臀剧情介绍| 国内精品国产成人国产三级粉色| 午夜日韩在线观看| 亚洲激情图片一区| 久久成人18免费观看| 亚洲一级片在线观看| 最新日韩av在线| 国产农村妇女精品| 久久亚洲精精品中文字幕早川悠里| 欧美精选午夜久久久乱码6080| 91香蕉视频在线| 91视视频在线观看入口直接观看www | 日韩成人dvd| 亚洲一级在线观看| 亚洲一区精品在线| 一区二区三区.www| 亚洲在线一区二区三区| 亚洲男同性恋视频| 亚洲视频免费看| 综合欧美一区二区三区| 亚洲欧洲无码一区二区三区| 中文字幕的久久| 中文字幕不卡一区| 中文字幕在线视频一区| 中文字幕亚洲视频| 亚洲精品一二三| 一区二区三区四区不卡在线| 亚洲精品日日夜夜| 亚洲福利视频一区二区| 五月婷婷激情综合| 久久国产精品第一页| 久久精品国产99国产| 国产综合色在线| 成人亚洲精品久久久久软件| 成人精品小蝌蚪| 91免费国产视频网站| 欧美性xxxxxx少妇| 日韩一级二级三级精品视频| 亚洲精品一区二区在线观看| 国产日韩欧美a| 亚洲裸体xxx| 婷婷一区二区三区| 国产一区二区不卡在线| 成人av集中营| 26uuu亚洲综合色欧美| 国产精品色在线| 亚洲精品国产无套在线观| 一区二区三区av电影| 美女一区二区视频| 成人精品一区二区三区四区 | 午夜精品123| 久久av老司机精品网站导航| 国产一区二区免费在线| 成人av动漫在线| 欧美美女bb生活片| 久久一区二区视频| 亚洲精品菠萝久久久久久久| 奇米色一区二区| 成人污视频在线观看| 欧美综合色免费| 久久综合色综合88| 一区二区高清免费观看影视大全| 美女尤物国产一区| 色综合久久天天综合网| 同产精品九九九| 国产一区91精品张津瑜| 91国产视频在线观看| 久久中文娱乐网| 亚洲国产日产av| 国产一区二区精品久久99| 91麻豆免费看片| 欧美一区二区三区啪啪| 亚洲欧洲精品一区二区三区| 欧美a级一区二区| 一本色道久久综合亚洲91| 日韩免费电影一区| 一区二区三区四区亚洲| 国产馆精品极品| 制服丝袜亚洲色图| 亚洲视频你懂的| 国产成人精品影视| 日韩欧美精品在线| 一区二区三区欧美视频| 国产成人综合在线| 日韩一二在线观看| 亚洲婷婷在线视频| 国产成人精品www牛牛影视| 欧美卡1卡2卡| 一区二区三区四区蜜桃| 成人美女视频在线看| 精品国产精品网麻豆系列| 丝袜国产日韩另类美女| 色婷婷综合久久久| 国产精品久久精品日日| 久久99久久99精品免视看婷婷| 在线看国产日韩| 中文字幕中文字幕在线一区| 国精产品一区一区三区mba桃花| 欧美精品aⅴ在线视频| 亚洲女人的天堂| 成人av网址在线观看| 久久你懂得1024| 国内精品在线播放| 欧美在线视频你懂得| 国产在线视频一区二区三区| 日韩在线一二三区| 色悠悠亚洲一区二区| 日本一区二区不卡视频| 国产一区二区在线电影| 91精品国产综合久久久久久久 | 亚洲理论在线观看| 不卡的av网站| 精品一区二区三区免费毛片爱| 欧美日韩一区二区三区高清| 亚洲精品一二三四区| 99re8在线精品视频免费播放| 欧美激情资源网| 成人动漫精品一区二区| 国产精品天干天干在线综合| 成人免费va视频| 亚洲欧洲国产日韩| 91免费版pro下载短视频| 亚洲激情校园春色| 欧美午夜精品久久久久久孕妇| 一区二区三区欧美日韩| 欧美日韩国产一级片| 日韩av网站免费在线| 日韩一区二区三区视频在线观看| 久久精品国产久精国产爱| 精品国内片67194| 国产精品2024| 亚洲日本在线看| 在线观看亚洲精品视频| 日韩综合一区二区| 精品国产乱码久久久久久久久| 国产精品一二三在| 国产精品久久久久aaaa| 91在线视频播放| 亚洲国产成人av好男人在线观看| 69堂国产成人免费视频| 黄一区二区三区| 国产精品久久一卡二卡| 色美美综合视频| 欧美a级一区二区| 久久精品一区二区| 91麻豆swag| 青青草原综合久久大伊人精品优势| 日韩女优电影在线观看| 国产福利精品一区| 亚洲图片欧美一区| 2020国产精品久久精品美国| av电影天堂一区二区在线观看| 亚洲精品欧美综合四区| 日韩一区二区三区免费观看| 丁香另类激情小说| 丝袜美腿亚洲综合| 国产欧美日韩在线观看| 欧美视频一区二| 国产激情精品久久久第一区二区| 亚洲黄色小说网站| 精品国产自在久精品国产| 91亚洲国产成人精品一区二三| 日韩国产欧美三级| 中文av一区特黄| 欧美一二区视频| 91女人视频在线观看| 久久机这里只有精品| 一区二区三区在线播放| 久久先锋影音av| 欧美日韩大陆在线| 波多野结衣在线aⅴ中文字幕不卡| 亚洲成va人在线观看| 中文字幕av一区二区三区| 欧美一区日韩一区| 91香蕉视频在线| 国产一区在线观看视频| 亚洲成av人片观看| 亚洲欧洲中文日韩久久av乱码| 日韩欧美国产麻豆| 欧美三级中文字幕| 91小视频在线| 成人黄色软件下载| 国产在线精品国自产拍免费|