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

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

?? map.cpp

?? 韓國英雄王座倒閉后流出來部分源代碼
?? CPP
?? 第 1 頁 / 共 5 頁
字號:
	int		nMaxX	=	MapConfig[nMapLayer].nMaxX;
	int		nMaxY	=	MapConfig[nMapLayer].nMaxY;

	//	--------------------------------------------------------------------------------
	//	Item闌 殿廢 矯糯	
	//	--------------------------------------------------------------------------------
	m_MapItem.Insert( pItem->m_dwItemHandle, pItem );	

	//	--------------------------------------------------------------------------------
	//	撈悼且 困摹甫 	崔曝撈 葛膽肺 秦寸 困摹俊 瀝焊甫 扁廢 矯糯 	
	//	--------------------------------------------------------------------------------
	int nLevel	= 0, i, j;
		
	int	nXFrom	= 0, nXTo =	0;
	int nYFrom	= 0, nYTo =	0;

	while( 1 )
	{
		//	八禍 裹困 瘤瀝
		nXFrom	= pTile.x  - nLevel;
		nXTo	= pTile.x  + nLevel;
	
		nYFrom	= pTile.y  - nLevel;
		nYTo	= pTile.y  + nLevel;

		//	----------------------------------------------------------------------------
		//	MAP MAX藹 厚背
		//	----------------------------------------------------------------------------
		nXFrom	=	MAX( nXFrom	,	0		);
		nXTo	=	MIN( nXTo	,	nMaxX	);

		nYFrom	=	MAX( nYFrom	,	0		);
		nYTo	=	MIN( nYTo	,	nMaxY	);

		//	----------------------------------------------------------------------------
		//	秦寸 八禍 備埃俊輯 Item闌 困摹 矯懦 薦 樂綽 鎊闌 茫瀾 
		//	----------------------------------------------------------------------------
		for( i = nXFrom; i <= nXTo; i ++ )
		{
			for( j = nYFrom; j <= nYTo; j ++ )
			{					
				if( _MAP[nMapLayer][i][j].dwHandle		)	continue;	//	PC/NPC啊 糧犁 竅瘤 臼瀾
				if( _MAP[nMapLayer][i][j].dwItemHandle	)	continue;	// Item撈 糧犁 竅瘤 臼瀾

				EnterCriticalSection( &m_MapLock );

					_MAP[nMapLayer][i][j].dwItemHandle	=	pItem->m_dwItemHandle;	//	Item Handle澇仿 
					_MAP[nMapLayer][i][j].pItemObject	=	pItem;					//	Item Object澇仿

				LeaveCriticalSection( &m_MapLock );

				//	Tilte困摹 藹闌 澇仿 
				pItem->m_TilePoint.x	= i;
				pItem->m_TilePoint.y	= j;

				//	Item困摹 藹闌 澇仿 
				pItem->m_PostionPoint.x	= i * 100 + 50;
				pItem->m_PostionPoint.y	= j * 100 + 50;

				return nLevel;	// LOOP狐廉 唱坷扁 
			}
		}	
		
		nLevel ++;

		// 漂瀝 Level鱉瘤 貿府 竅瘤 給茄 版快
		if( nLevel > 10 ) return -1;
	}
	
	return nLevel;
}


////////////////////////////////////////////////////////////////////////////////////////
//	AOI 包府 Array俊輯 秦寸 Object甫 力芭 矯糯 
//
////////////////////////////////////////////////////////////////////////////////////////
bool Map::AOI_PlayerDelete(CPlayer *pPlayer)
{
	if( !pPlayer  )	return false;

	//	--------------------------------------------------------------------------------
	//	Map Layer厚背
	//	--------------------------------------------------------------------------------
	BYTE	nMapLayer =	pPlayer->m_nMapLayer;
	if( nMapLayer >= m_nMaxLayer )	return	false;

	if( pPlayer->m_Tile.x <	0	)	return	false;
	if( pPlayer->m_Tile.y <	0	)	return	false;

	int		nMaxX	=	MapConfig[nMapLayer].nMaxX;
	int		nMaxY	=	MapConfig[nMapLayer].nMaxY;		
		
	if( pPlayer->m_Tile.x >= nMaxX	)	return false;
	if( pPlayer->m_Tile.y >= nMaxY	)	return false;
	
	//	--------------------------------------------------------------------------------
	//	秦寸 MAP俊輯 秦寸 Object甫 茫酒輯 NULL肺 父惦
	//	--------------------------------------------------------------------------------
	if(  _MAP[nMapLayer][pPlayer->m_Tile.x][pPlayer->m_Tile.y].dwHandle == pPlayer->m_dwHandle ) 
	{			
		EnterCriticalSection( &m_MapLock );

			_MAP[nMapLayer][pPlayer->m_Tile.x][pPlayer->m_Tile.y].pObject	= NULL;
			_MAP[nMapLayer][pPlayer->m_Tile.x][pPlayer->m_Tile.y].dwHandle	= NULL;
		
		LeaveCriticalSection( &m_MapLock );
	}
	else
	{
/*		int i ; 
		int j ; 
		for( i = 0 ; i < 256 ; ++i)
		{
			for( j = 0 ; j < 256 ; ++j)
			{
				if(  _MAP[nMapLayer][i][j].dwHandle == pPlayer->m_dwHandle ) 
					break; 
			}
		}
		
*/		
		return false;
	}


	return true;
}

////////////////////////////////////////////////////////////////////////////////////////
//	AOI 包府 備煉眉俊輯 秦寸 Item瀝焊甫 力芭 矯糯
//
////////////////////////////////////////////////////////////////////////////////////////
void Map::AOI_ItemDelete(CItem *pItem)
{
	if( !pItem ) return;
	
	m_MapItem.Delete( pItem->m_dwItemHandle );		//	Item包府 MAP俊輯 昏力 矯糯

	BYTE	nMapLayer =	pItem->m_nMapLayer;



	if( _MAP[nMapLayer][pItem->m_TilePoint.x][pItem->m_TilePoint.y].dwItemHandle == pItem->m_dwItemHandle )
	{
		EnterCriticalSection( &m_MapLock );

			_MAP[nMapLayer][pItem->m_TilePoint.x][pItem->m_TilePoint.y].dwItemHandle	= NULL;
			_MAP[nMapLayer][pItem->m_TilePoint.x][pItem->m_TilePoint.y].pItemObject	= NULL;

		LeaveCriticalSection( &m_MapLock );
	}
}




////////////////////////////////////////////////////////////////////////////////////////
//	AOI 包府 備煉眉俊輯 秦寸 Item瀝焊甫 力芭 矯糯
//
////////////////////////////////////////////////////////////////////////////////////////
void Map::AOI_BatchItemDelete(CItem *pItem)
{
	if( !pItem ) return;
	
	m_MapItem.Delete( pItem->m_dwItemHandle );		//	Item包府 MAP俊輯 昏力 矯糯

	BYTE	nMapLayer =	pItem->m_nMapLayer;

	// 館券等 酒撈袍撈擱 AOI 酒撈袍 勤甸闌 啊歷客 昏力茄促.
	if(!pItem->m_bPoolUse ) 
	{
		pItem->m_dwItemHandle	 = 	_MAP[nMapLayer][pItem->m_TilePoint.x][pItem->m_TilePoint.y].dwItemHandle ;
	}

	if( _MAP[nMapLayer][pItem->m_TilePoint.x][pItem->m_TilePoint.y].dwItemHandle == pItem->m_dwItemHandle )
	{
		EnterCriticalSection( &m_MapLock );

			_MAP[nMapLayer][pItem->m_TilePoint.x][pItem->m_TilePoint.y].dwItemHandle	= NULL;
			_MAP[nMapLayer][pItem->m_TilePoint.x][pItem->m_TilePoint.y].pItemObject		= NULL;

		LeaveCriticalSection( &m_MapLock );
	}
}


////////////////////////////////////////////////////////////////////////////////////////
//	Debug儈欄肺 Map狼 郴儈闌 免仿矯 郴儈 館券 
//
////////////////////////////////////////////////////////////////////////////////////////
int Map::MapView( BYTE pMapIndex, DWORD pX, DWORD pY)
{
	if( _MAP[pMapIndex][pX][pY].nCheckBit & CHK_MOVE) 
	{

		// PC牢 版快
		if( _MAP[pMapIndex][pX][pY].dwHandle )
		{
			return _MAP[pMapIndex][pX][pY].nType;
		}
	}
	else
	{
		return -1;
	}


	return 0;
}


////////////////////////////////////////////////////////////////////////////////////////
//
//
////////////////////////////////////////////////////////////////////////////////////////
bool Map::AOI_PlayerDelete( DWORD pHandle, BYTE pMapLayer, BYTE pX, BYTE pY )
{

	//	秦寸 MAP俊輯 秦寸 Object甫 茫酒輯 NULL肺 父惦
	if(  _MAP[pMapLayer][pX][pY].dwHandle == pHandle ) 
	{			
		EnterCriticalSection( &m_MapLock );

			_MAP[pMapLayer][pX][pY].pObject		= NULL;
			_MAP[pMapLayer][pX][pY].dwHandle	= NULL;
		
		LeaveCriticalSection( &m_MapLock );
	}
	else
	{
		return false;
	}


	return true;
}



////////////////////////////////////////////////////////////////////////////////////////
//	Memory Pool 積己 
//
//
////////////////////////////////////////////////////////////////////////////////////////
bool Map::CreateMemory()
{
	//	--------------------------------------------------------------------------------
	//	葷儈瞪 Player Socket Memory甫 積己 矯糯
	//	葷儈瞪 Player Memory甫 積己 矯糯 
	//	--------------------------------------------------------------------------------
#ifdef DEF_NEWREGISTRY 
	for( int i=0; i < _Module.m_dwMaxUser; i ++ )
#else
	for( int i=0; i < MAX_SOCKET_CONTEXT; i ++ )
#endif
	{
		_SOCKET_FD	*pSocketFD	= new _SOCKET_FD;
		if( !pSocketFD  ) return false;


		memset(	pSocketFD, 0x00, sizeof( _SOCKET_FD ) );		
		pSocketFD->dwMagicNum = MAGIC_NUM;


		::InitializeCriticalSectionAndSpinCount( &pSocketFD->SendCS	, 2000 );

		pSocketFD->pPlayer = new PlayerInfo;		// Player 按眉甫 Memory 且寸
		if( !pSocketFD->pPlayer  )	return false;
		
		m_PoolSocket.Insert( pSocketFD );
	}


	//	--------------------------------------------------------------------------------
	//	葷儈瞪 Party List瀝焊甫 掘瀾
	//	--------------------------------------------------------------------------------
#ifdef DEF_NEWREGISTRY 
	for(i = 0; i < _Module.m_dwMaxUser  / 25  ; ++i )
#else
	for(i = 0; i < ( MAX_SOCKET_CONTEXT / 25) ; ++i )
#endif
	{
		CParty *pParty = new CParty;

		if( !pParty )	return false;
		
		m_PoolParty.Insert( pParty );
	}
	
	//	--------------------------------------------------------------------------------
	//	NOTENOTE: 葷儈瞪 辨靛 皋葛府 積己 
	//	--------------------------------------------------------------------------------
#ifdef DEF_NEWREGISTRY 
	for(i=0; i < ( _Module.m_dwMaxUser / 50) ; ++i)
#else
	for(i=0; i < ( MAX_SOCKET_CONTEXT / 50) ; ++i)
#endif
	{
		_CGUILD *pGuild = new _CGUILD;

		if( !pGuild )	return false;

		m_PoolGuild.Insert( pGuild );
	}

	//	--------------------------------------------------------------------------------
	//	葷儈瞪 SKILL MEMORY甫 積己 矯糯 (MAX * 2俺 父怒 積己)
	//	--------------------------------------------------------------------------------
#ifdef DEF_NEWREGISTRY 
	for( i=0; i < _Module.m_dwMaxUser	; i ++ )
#else
	for( i=0; i < MAX_SOCKET_CONTEXT 	; i ++ )
#endif
	{
		CEnchant *pEnchant =	new CEnchant;

		if( !pEnchant )	return false;

		m_PoolSkill.Insert( pEnchant );		
	}

	//	--------------------------------------------------------------------------------
	//	葷儈瞪 Item	Memory甫 積己 矯糯 
	//	--------------------------------------------------------------------------------
#ifdef DEF_NEWREGISTRY 
	for( i=0; i < _Module.m_dwMaxUser * 5	; ++i )
#else
	for( i=0; i < MAX_SOCKET_CONTEXT * 5	; ++i )
#endif
	{
		CItem *pItem =	new CItem;		// Item 按眉甫 Memory 且寸

		if( !pItem ) return false;
		pItem->dwMagicNum	=	MAGIC_NUM;

		m_PoolItem.Insert( pItem );
	}

	for( i=0;  i < m_nMaxLayer; ++i )
	{
		m_MapNPC[i] = new SafeMap ;
	}

	return	true;
}



////////////////////////////////////////////////////////////////////////////////////////
//	NPC甫 漂瀝 困摹 矯糯
//
////////////////////////////////////////////////////////////////////////////////////////
void Map::AOI_NPCPoint(NPC *pNpcHandle, _POINT_TILE pTile)
{
	EnterCriticalSection( &m_MapLock );						

		_MAP[pNpcHandle->m_nMapLayer][pTile.x][pTile.y].dwHandle	=	pNpcHandle->m_dwHandle;
		_MAP[pNpcHandle->m_nMapLayer][pTile.x][pTile.y].pObject		=	pNpcHandle;

		_MAP[pNpcHandle->m_nMapLayer][pTile.x][pTile.y].nType		=	(BYTE) MAP_MONSTER;		//	NPC

	LeaveCriticalSection( &m_MapLock );
}

////////////////////////////////////////////////////////////////////////////////////////
//	MAP俊 彌檬 立加 矯 貿府 
//	
//	-	Map殿廢撈 閡啊瓷茄 版快 
//	-	包訪	CODE甫 彌利拳 矯糯
////////////////////////////////////////////////////////////////////////////////////////
bool Map::MAP_PlayerIn(_LPSOCKET_FD pSocketFD, _POINT &pPoint)
{	
	
	//	Socket FD啊 糧犁竅瘤 臼綽 版快 
	if( !pSocketFD 								)	return false;	
	if( pSocketFD->dwMagicNum != MAGIC_NUM		)	return false;				

	if( !pSocketFD->pPlayer						)	return false;
	if(	pSocketFD->PlayerStatus == CONNECT_CLOSE)	return false;


	BYTE	nMapLayer =	pSocketFD->pPlayer->m_nMapLayer;
	if( nMapLayer >= m_nMaxLayer )	return false;

	int		nMaxX	=	MapConfig[nMapLayer].nMaxX;
	int		nMaxY	=	MapConfig[nMapLayer].nMaxY;

	//	--------------------------------------------------------------------------------
	//	MAP郴狼 葷儈磊 包府 親格俊 澇仿 矯糯 	
	//
	//	-	SOCKET FD	殿廢 
	//	-	ACCOUNT ID	殿廢
	//	-	PLAYER ID	殿廢
	//	--------------------------------------------------------------------------------
	bool	bReturn = m_MapPlayerHandle.Insert( pSocketFD->pPlayer->m_dwHandle, pSocketFD );	


	//	--------------------------------------------------------------------------------
	// NOTENOTE: 吝汗 立加欄肺 牢茄 歸擠闌 秦搬竅扁 困秦 薦瀝竊 
	//	--------------------------------------------------------------------------------
/*	
	//	ACCOUNT ID殿廢
	bReturn	= m_MapAccountID.Insert( pSocketFD->pPlayer->m_strAccountID, pSocketFD );


	//	PLAYER ID 殿廢矯 措鞏磊 肺 官曹 Temp函薦甫 葷儈 竊
	char strTempPlayer[20];	
	memcpy( strTempPlayer, pSocketFD->pPlayer->m_strPlayerID , sizeof( strTempPlayer ) );


	bReturn = m_MapPlayerID.Insert( strupr( strTempPlayer ), pSocketFD );
*/			



	//	--------------------------------------------------------------------------------		
	//	MAP Array郴俊 殿廢 矯糯
	//
	//	-	撈悼且 困摹甫 崔曝撈 葛膽肺 秦寸 困摹俊 瀝焊甫 扁廢 矯糯
	//	--------------------------------------------------------------------------------
	int nLevel	= 0, i, j;
		
	int	nXFrom	= 0, nXTo =	0;
	int nYFrom	= 0, nYTo =	0;
	
	_POINT	Point;

	Point.x = (WORD)(pPoint.x/100);
	Point.y	= (WORD)(pPoint.y/100);	

	while( 1 )
	{
		nXFrom	= Point.x  - 	nLevel;
		nXTo	= Point.x  + 	nLevel;
	
		nYFrom	= Point.y  - 	nLevel;
		nYTo	= Point.y  + 	nLevel;

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
91麻豆免费看| 青青草精品视频| 欧美日韩亚洲高清一区二区| 国产资源精品在线观看| 美国毛片一区二区| 婷婷成人综合网| 亚洲高清不卡在线观看| 一区二区三区精品在线观看| 国产精品国产自产拍高清av | 国产成人一级电影| 黄色日韩网站视频| 91精品久久久久久蜜臀| 欧美亚洲一区三区| 精品视频一区 二区 三区| 国产精品视频一区二区三区不卡| 国产精品女上位| 国产美女精品人人做人人爽| 不卡一二三区首页| 色狠狠av一区二区三区| 欧美影院精品一区| 亚洲综合男人的天堂| 免费观看日韩电影| 7777精品伊人久久久大香线蕉超级流畅| 国产精品日产欧美久久久久| 国产成人8x视频一区二区| 91在线国产福利| 91精品国产色综合久久不卡电影| 亚洲精品在线免费观看视频| 国产欧美日韩精品一区| 亚洲三级在线看| 日韩国产欧美三级| 成人av电影免费在线播放| 国产视频在线观看一区二区三区| 国产精品女上位| fc2成人免费人成在线观看播放| 91麻豆福利精品推荐| 亚洲激情自拍偷拍| 激情综合色综合久久综合| 91啦中文在线观看| 亚洲一区在线视频观看| 在线播放91灌醉迷j高跟美女| 日韩理论片网站| 国产一区二区电影| 欧美高清在线精品一区| 亚洲午夜三级在线| 欧美美女喷水视频| 青青青爽久久午夜综合久久午夜| 精品国产伦理网| 成人动漫视频在线| 亚洲国产精品久久久久秋霞影院 | 欧美三级视频在线观看| 亚洲福中文字幕伊人影院| 日韩欧美成人一区| 亚洲国产精品一区二区尤物区| 欧美男同性恋视频网站| 亚洲欧美综合网| 国产成人一级电影| 亚洲欧美另类在线| 成人黄页毛片网站| 亚洲国产综合人成综合网站| 日韩一级精品视频在线观看| 日韩在线a电影| 91一区在线观看| 精品一区二区三区影院在线午夜| 久久综合久久综合久久| 亚洲乱码日产精品bd| 91精品一区二区三区久久久久久| 粉嫩蜜臀av国产精品网站| 亚洲免费观看高清| 久久看人人爽人人| 国产一区二区三区在线观看精品| 成人欧美一区二区三区小说| 91精品国产乱| 91麻豆免费看片| 国产一区二区三区四| 天天色综合天天| 1000部国产精品成人观看| 日韩一区二区免费高清| 99这里只有精品| 精品一区二区三区免费视频| 亚洲精品视频观看| 国产精品天天摸av网| 欧美一区中文字幕| 色偷偷久久人人79超碰人人澡| 亚洲柠檬福利资源导航| 久久中文娱乐网| 欧美丰满高潮xxxx喷水动漫| 99re66热这里只有精品3直播| 九九久久精品视频| 亚洲v日本v欧美v久久精品| 欧美性猛交xxxx黑人交| 国产成人免费在线观看| 美女一区二区视频| 无码av中文一区二区三区桃花岛| 国产精品无圣光一区二区| 欧美一区二区三区免费视频| 欧美一a一片一级一片| 99综合影院在线| 成年人网站91| 成人激情图片网| 国产成人在线网站| 国模一区二区三区白浆| 麻豆精品视频在线| 奇米影视7777精品一区二区| 日韩vs国产vs欧美| 天天操天天干天天综合网| 亚洲精品国久久99热| 国产精品久久久99| 中文字幕一区在线观看视频| 国产精品不卡在线| 国产精品国产三级国产aⅴ中文 | 亚洲大尺度视频在线观看| 亚洲精品成人少妇| 亚洲免费看黄网站| 亚洲动漫第一页| 三级不卡在线观看| 久久99在线观看| 一区二区成人在线观看| 一区二区欧美国产| 天堂va蜜桃一区二区三区漫画版| 日本麻豆一区二区三区视频| 蜜臂av日日欢夜夜爽一区| 久久成人羞羞网站| 国产不卡在线视频| 91视频在线看| 欧美日韩精品一区二区在线播放| 成人av资源下载| 亚洲日本护士毛茸茸| 成人免费在线视频观看| 亚洲免费在线看| 亚洲第一会所有码转帖| 九色porny丨国产精品| 国产激情精品久久久第一区二区 | 一二三四区精品视频| 午夜久久电影网| 国产精品99久久久久久久女警| 国产欧美日韩综合| 一区免费观看视频| 日本中文在线一区| 国产高清视频一区| 欧美性大战久久| 精品剧情在线观看| 91精品国产欧美一区二区18| 久久综合久久综合久久| 亚洲精品免费一二三区| 精品一区二区在线看| 成人av综合在线| 国产大陆亚洲精品国产| 91蝌蚪国产九色| 精品美女一区二区| 亚洲摸摸操操av| 韩国视频一区二区| 91黄色免费看| 欧美激情一区二区三区全黄| 亚洲综合久久av| 国产成人8x视频一区二区| 欧美丰满少妇xxxxx高潮对白| 欧美韩国日本不卡| 久久精品国产秦先生| 在线亚洲精品福利网址导航| 北条麻妃一区二区三区| 欧美日韩一区在线| 日韩美女啊v在线免费观看| 久久精品国产一区二区三区免费看| 99国内精品久久| 国产午夜一区二区三区| 免费高清视频精品| 欧美日韩成人在线一区| 日韩理论片中文av| 国产成人午夜精品5599| 日韩欧美一区中文| 亚洲午夜久久久久久久久电影院| 不卡一卡二卡三乱码免费网站 | 欧美日韩国产高清一区二区| 国产精品久久久久精k8| 国产精品一二三在| 欧美大片一区二区| 日本sm残虐另类| 欧美日韩成人高清| 亚洲国产综合视频在线观看| 91香蕉视频mp4| 欧美一区二区在线播放| 亚洲裸体xxx| 看电影不卡的网站| 欧美三级中文字幕在线观看| 亚洲天堂2014| 成人app下载| 国产精品久线观看视频| av电影在线观看一区| 国产午夜精品一区二区三区嫩草 | 精品国产一区二区三区久久久蜜月| 九色|91porny| 中文字幕字幕中文在线中不卡视频| 色噜噜狠狠成人网p站| 日韩高清在线一区| 国产午夜精品美女毛片视频| 色综合视频一区二区三区高清| 亚洲成人免费看| 日本一区二区三区四区在线视频| 在线欧美日韩精品|