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

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

?? zone.cpp.backup

?? 天之煉獄1服務器端源文件游戲服務端不完整
?? BACKUP
?? 第 1 頁 / 共 5 頁
字號:
		m_pTiles[i] = new Tile [m_Height];	}	// 冀磐甫 2瞞盔 硅凱肺 父甸絹 皋葛府甫 且寸茄促.	m_SectorWidth = (int)ceil((float)m_Width/(float)SECTOR_SIZE);	m_SectorHeight = (int)ceil((float)m_Height/(float)SECTOR_SIZE);	m_pSectors = new (Sector*)[m_SectorWidth];	for (int x=0; x<m_SectorWidth; x++)	{		m_pSectors[x] = new Sector[m_SectorHeight];	}	// 阿阿狼 鷗老俊促啊 冀磐 器牢磐甫 技潑茄促.	for (int x=0; x<m_Width; x++)	{		for (int y=0; y<m_Height; y++)		{			int sx = x/SECTOR_SIZE;			int sy = y/SECTOR_SIZE;			Assert(sx < m_SectorWidth && sy < m_SectorHeight);			m_pTiles[x][y].setSector(&m_pSectors[sx][sy]);		}	}	// 冀磐嘗府 楷搬闌 茄促.	VSRect srect(0, 0, m_SectorWidth-1, m_SectorHeight-1);	for (int x=0; x<m_SectorWidth; x++)	{		for (int y=0; y<m_SectorHeight; y++)		{			for (uint d=0; d<9; d++)			{				int sectorx = x + dirMoveMask[d].x;				int sectory = y + dirMoveMask[d].y;				if (srect.ptInRect(sectorx, sectory))				{					m_pSectors[x][y].setNearbySector(d, &m_pSectors[sectorx][sectory]);				}			}		}	}	// MonsterAI甫 困秦 糧狼 康開闌 備盒瘤絹初籃 葷阿屈闌 積己茄促.	m_OuterRect.set(0, 0, m_Width-1, m_Height-1);	if (m_Width > 64 && m_Height > 64)	{		m_InnerRect.set(15, 15, m_Width-15, m_Height-15);		m_CoreRect.set(25, 25, m_Width-25, m_Height-25);	}	for (ZoneCoord_t y=0; y<m_Height; y++)	{		for (ZoneCoord_t x=0; x<m_Width; x++)		{			BYTE flag = 0;			SMP.read(&flag, szBYTE);			// 鑒輯措肺 瘤竅, 瘤惑, 傍吝 喉廢			if (flag & 0x01) m_pTiles[x][y].setBlocked(Creature::MOVE_MODE_BURROWING);			if (flag & 0x02) m_pTiles[x][y].setBlocked(Creature::MOVE_MODE_WALKING);			if (flag & 0x04) m_pTiles[x][y].setBlocked(Creature::MOVE_MODE_FLYING);			// 酒公巴檔 絕綽 版快..			// 各 積己闌 困茄 諒釬瀝焊甫 父甸絹敵促.			if (flag==0 && m_InnerRect.ptInRect( x, y ))			{				m_MonsterRegenPositions.push_back( BPOINT( (BYTE)x, (BYTE)y ) );			}			// 器嘔 瀝焊			if (flag & 0x80)			{				BYTE	type;				ZoneID_t targetZoneID;				BYTE     targetX, targetY;				SMP.read(&type, szBYTE);				if (type == PORTAL_NORMAL)				{					SMP.read(&targetZoneID, szZoneID);					SMP.read(&targetX,      szBYTE);					SMP.read(&targetY,      szBYTE);					// 器嘔闌 積己秦 霖促.					NormalPortal* pNormalPortal = new NormalPortal();					pNormalPortal->setObjectType(PORTAL_NORMAL);					pNormalPortal->setZoneID(targetZoneID);					pNormalPortal->setX(targetX);					pNormalPortal->setY(targetY);					getObjectRegistry().registerObject(pNormalPortal);					m_pTiles[x][y].addPortal(pNormalPortal);					if (bOutput)					{						cout << "Normal(" << (int)x << "," << (int)y << "," << (int)targetZoneID << "," << (int)targetX << "," << (int)targetY << ")" << endl;					}				}				else if (type == PORTAL_SLAYER)				{					SMP.read(&targetZoneID, szZoneID);					SMP.read(&targetX,      szBYTE);					SMP.read(&targetY,      szBYTE);					// 器嘔闌 積己秦 霖促.					NormalPortal* pNormalPortal = new NormalPortal();					pNormalPortal->setObjectType(PORTAL_SLAYER);					pNormalPortal->setZoneID(targetZoneID);					pNormalPortal->setX(targetX);					pNormalPortal->setY(targetY);					getObjectRegistry().registerObject(pNormalPortal);					m_pTiles[x][y].addPortal(pNormalPortal);					if (bOutput)					{						cout << "Slayer(" << (int)x << "," << (int)y << "," << (int)targetZoneID << "," << (int)targetX << "," << (int)targetY << ")" << endl;					}				}				else if (type == PORTAL_VAMPIRE)				{					SMP.read(&targetZoneID, szZoneID);					SMP.read(&targetX,      szBYTE);					SMP.read(&targetY,      szBYTE);					// 器嘔闌 積己秦 霖促.					NormalPortal* pNormalPortal = new NormalPortal();					pNormalPortal->setObjectType(PORTAL_VAMPIRE);					pNormalPortal->setZoneID(targetZoneID);					pNormalPortal->setX(targetX);					pNormalPortal->setY(targetY);					getObjectRegistry().registerObject(pNormalPortal);					m_pTiles[x][y].addPortal(pNormalPortal);					if (bOutput)					{						cout << "Vampire(" << (int)x << "," << (int)y << "," << (int)targetZoneID << "," << (int)targetX << "," << (int)targetY << ")" << endl;					}				}				else if (type == PORTAL_MULTI_TARGET)				{					BYTE size;					SMP.read(&size, szBYTE);					// 器嘔闌 積己秦 霖促.					MultiPortal* pMultiPortal = new MultiPortal();					for(int i = 0; i < size; i++) 					{						SMP.read(&targetZoneID, szZoneID);						SMP.read(&targetX,      szBYTE);						SMP.read(&targetY,      szBYTE);						pMultiPortal->setObjectType(PORTAL_SLAYER);						// 鷗百 牢器甫 備己茄促.						PortalTargetInfo* pPortalTargetInfo = new PortalTargetInfo();						pPortalTargetInfo->setZoneID(targetZoneID);						pPortalTargetInfo->setX(targetX);						pPortalTargetInfo->setY(targetY);						pMultiPortal->setPortalTargetInfo(pPortalTargetInfo);					}					getObjectRegistry().registerObject(pMultiPortal);					m_pTiles[x][y].addPortal(pMultiPortal);					if (bOutput)					{						cout << "Multi(" << (int)x << "," << (int)y << "," << (int)targetZoneID << "," << (int)targetX << "," << (int)targetY << ")" << endl;					}				}				else if ( type == PORTAL_GUILD )				{					SMP.read(&targetZoneID, szZoneID);					SMP.read(&targetX,      szBYTE);					SMP.read(&targetY,      szBYTE);					// 器嘔闌 積己秦 霖促.					GuildPortal* pGuildPortal = new GuildPortal();					pGuildPortal->setObjectType( PORTAL_GUILD );					pGuildPortal->setZoneID( targetZoneID );					pGuildPortal->setX( targetX );					pGuildPortal->setY( targetY );					getObjectRegistry().registerObject(pGuildPortal);					m_pTiles[x][y].addPortal(pGuildPortal);					if (bOutput)					{						cout << "Guild(" << (int)x << "," << (int)y << "," << (int)targetZoneID << "," << (int)targetX << "," << (int)targetY << ")" << endl;					}				}				else if ( type == PORTAL_BATTLE )				{					SMP.read(&targetZoneID, szZoneID);					SMP.read(&targetX,      szBYTE);					SMP.read(&targetY,      szBYTE);					// 器嘔闌 積己秦 霖促.					NormalPortal* pNormalPortal = new NormalPortal();					pNormalPortal->setObjectType(PORTAL_SLAYER);					pNormalPortal->setZoneID(targetZoneID);					pNormalPortal->setX(targetX);					pNormalPortal->setY(targetY);					getObjectRegistry().registerObject(pNormalPortal);					m_pTiles[x][y].addPortal(pNormalPortal);					if (bOutput)					{						cout << "Slayer(" << (int)x << "," << (int)y << "," << (int)targetZoneID << "," << (int)targetX << "," << (int)targetY << ")" << endl;					}				}				else				{				}			} //if (flag & 0x80)		} // for 	} // for	SMP.close();	///*	if (m_MonsterRegenPositions.size()==0)	{		cout << "MonsterRegenPosition not exist" << endl;		cout << "Width = " << m_Width << endl;		cout << "Height = " << m_Height << endl;		//Assert(m_MonsterRegenPositions.size()!=0);		ZoneCoord_t outerMinX = m_Width/7;		ZoneCoord_t outerMinY = m_Height/7;		ZoneCoord_t outerMaxX = m_Width-outerMinX;		ZoneCoord_t outerMaxY = m_Width-outerMinY;		for (ZoneCoord_t y=outerMinY; y<outerMaxY; y++)		{			for (ZoneCoord_t x=outerMinX; x<outerMaxX; x++)			{				Tile& rTile = m_pTiles[x][y];				if (!rTile.hasPortal() 					&& !rTile.isGroundBlocked()					&& !rTile.isAirBlocked()					&& !rTile.isUndergroundBlocked())				{					m_MonsterRegenPositions.push_back( BPOINT( (BYTE)x, (BYTE)y ) );				}			}		}		Assert(m_MonsterRegenPositions.size()!=0);	}	//*/	// Zone 瀝焊甫 技潑茄促.	m_ZoneType  = pZoneInfo->getZoneType();	m_ZoneLevel = pZoneInfo->getZoneLevel();	// 皋葛府 且寸秦林絆...	m_ppLevel = new (ZoneLevel_t*) [ m_Width ];	for (uint i = 0; i < m_Width; i++)		m_ppLevel[i] = new ZoneLevel_t[m_Height];	// 糧 飯駭闌 叼棄飄 藹欄肺 檬扁拳矯挪促.	for (ZoneCoord_t x = 0; x < m_Width; x++)		for (ZoneCoord_t y = 0; y < m_Height; y++)			m_ppLevel[x][y] = m_ZoneLevel;	// SSI 瀝焊 頗老闌 楷促.	string SSIFilename = g_pConfig->getProperty("HomePath") + "/data/" + pZoneInfo->getSSIFilename();	ifstream SSI(SSIFilename.c_str(), ios::in | ios::binary | ios::nocreate);	if (!SSI)	{		strcpy( lwrFilename, SSIFilename.c_str());		strlwr( lwrFilename );		SSI.open(lwrFilename, ios::in | ios::binary | ios::nocreate);		//cout << "second chk : " << lwrFilename << endl;		if (!SSI)		{			StringStream msg;			msg << SSIFilename << " not exist or cannot open it";			throw FileNotExistException(msg.toString());		}	}	int size = 0;	SSI.read(&size, szint);	BYTE left, top, right, bottom, level;	for (int i=0; i<size; i++)	{		SSI.read(&level, szBYTE);		SSI.read(&left, szBYTE);		SSI.read(&top, szBYTE);		SSI.read(&right, szBYTE);		SSI.read(&bottom, szBYTE);		if (bOutput)		{			cout << "LEVEL:" << (int)level << ",(" << (int)left << "," << (int)top << "," << (int)right << "," << (int)bottom << ")" << endl;		}		Assert(left <= right);		Assert(top  <= bottom);		for (int bx=left; bx<=right; bx++)			for (int by=top; by<=bottom; by++)				m_ppLevel[bx][by] = level;	}	SSI.close();	// 飄府芭靛 器嘔闌 肺靛茄促.	loadTriggeredPortal();	// 閣膠磐 肺靛竅絆....	m_pMonsterManager->load();//#ifdef __XMAS_EVENT_CODE__	cout << "Begin Event Monster Loading..." << endl;	m_pEventMonsterManager->load();	cout << "Event Monster Loading Completed..." << endl;//#endif	cout << "Begin Combat Monster Loading..." << endl;	m_pCombatMonsterManager->load();	cout << "Combat Monster Loading Completed..." << endl;	// 酒撈袍 肺靛茄促.	loadItem();	// NPC 甫 肺爹茄促.	m_pNPCManager->load(m_ZoneID);	// 膠橇扼撈飄 骯薦甫 檬扁拳茄促.	initSpriteCount();} catch ( Throwable& t ){ cout << t.toString() << endl; Assert(false);}	__END_DEBUG	__END_CATCH}// g_pCombatSystemManager甫 烹秦輯 立辟void Zone::ActiveCombatMonster() 	throw(Error) {	m_pCombatMonsterManager->activeMonster();}// g_pCombatSystemManager甫 烹秦輯 立辟void Zone::DeactiveCombatMonster() 	throw(Error) {	m_pCombatMonsterManager->deactiveMonster();}//////////////////////////////////////////////////////////////////////////////// load items from database// * NOTE *// 泅犁 官躥俊 凍絹柳 酒撈袍籃 輯滾啊 犁矯累登絹檔 肺爹竅瘤 臼綽促.//////////////////////////////////////////////////////////////////////////////void Zone::loadItem () 	throw(Error){	__BEGIN_TRY	/*	// 酒撈袍 肺爹...........	g_pItemLoaderManager->load(this);	// 酒撈袍籃 促 朝妨滾啡瘤父...弊貳滴...	// 酒撈袍 坷宏璃飄 酒撈叼甫 犁 且寸 罐絆 促矯 歷厘茄促.	for (int j = 0; j < m_Height; j++) 	{		for (int i = 0; i < m_Width; i++) 		{			if (m_pTiles[i][j].hasItem()) 			{				Item* pItem = m_pTiles[i][j].getItem();				m_ObjectRegistry.registerObject(pItem);				pItem->save("", STORAGE_ZONE, m_ZoneID, i, j);				addToItemList(pItem);				if (pItem->getItemClass() == Item::ITEM_CLASS_MOTORCYCLE) 				{					Motorcycle* pMotorcycle = dynamic_cast<Motorcycle*>(pItem);					MotorcycleBox* pMotorcycleBox = new MotorcycleBox(pMotorcycle, this, i, j);					g_pParkingCenter->addMotorcycleBox(pMotorcycleBox);				}			}		}	}	*/	__END_CATCH}//////////////////////////////////////////////////////////////////////////////// 泅犁 糧俊 飄府芭靛 器嘔闌 肺靛茄促.//////////////////////////////////////////////////////////////////////////////void Zone::loadTriggeredPortal ()	throw(Error){	__BEGIN_TRY	Statement* pStmt   = NULL;	Result*    pResult = NULL;	BEGIN_DB	{		pStmt   = g_pDatabaseManager->getConnection("DARKEDEN")->createStatement();		pResult = pStmt->executeQuery("SELECT X1, Y1, X2, Y2 FROM ZoneTriggers WHERE ZoneID=%d", m_ZoneID);		while (pResult->next())		{			int left   = pResult->getInt(1);			int top    = pResult->getInt(2);			int right  = pResult->getInt(3);			int bottom = pResult->getInt(4);			Assert(left <= right);			Assert(top <= bottom);						Assert(m_OuterRect.ptInRect(left, top));			Assert(m_OuterRect.ptInRect(right, bottom));			for (int x=left; x<=right; x++)			{				for (int y=top; y<=bottom; y++)				{					if (getTile(x,y).hasPortal())					{						//cerr << "loadTriggeredPortal : 撈固 器嘔撈 糧犁欽聰促." << endl;

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
91香蕉视频污| 免费xxxx性欧美18vr| 91久久一区二区| 蜜桃视频一区二区三区| 国产精品欧美极品| 欧美一区二区在线播放| 成人av网站免费| 久久综合综合久久综合| 亚洲精品国产品国语在线app| 日韩欧美国产精品| 在线观看日韩av先锋影音电影院| 国精产品一区一区三区mba视频 | 欧美视频在线一区二区三区 | 久久99九九99精品| 一区二区三区欧美久久| 久久久久久电影| 91精品欧美久久久久久动漫| 91在线porny国产在线看| aaa欧美色吧激情视频| 国产一区二区精品久久99| 亚洲成a人v欧美综合天堂| 中文字幕精品一区二区三区精品| 日韩一区二区三区视频在线| 欧美日韩不卡视频| 91福利视频久久久久| 欧美性受xxxx| 日韩欧美高清一区| 国产亚洲欧洲997久久综合| 日韩精品一区二区三区视频在线观看 | 成人国产亚洲欧美成人综合网 | 欧美成人一区二区三区| 欧美精品vⅰdeose4hd| 91国产视频在线观看| 欧美日本在线播放| 亚洲精品在线网站| 日韩欧美一级片| 久久久久久久久久美女| 最新日韩av在线| 最好看的中文字幕久久| 中文字幕第一区综合| 亚洲综合一二区| 亚洲伊人色欲综合网| 蜜桃一区二区三区四区| 国产v日产∨综合v精品视频| 国产91精品一区二区| 欧洲日韩一区二区三区| 精品成人a区在线观看| 国产精品国产自产拍高清av| 精品不卡在线视频| 亚洲免费观看视频| 一区二区三区日本| 久久国产精品色婷婷| 99久久精品一区| 91美女精品福利| 日韩视频在线你懂得| 国产精品卡一卡二| 日本亚洲三级在线| 久久成人免费网| 91网址在线看| 久久蜜桃av一区精品变态类天堂| 依依成人精品视频| 国产精品一区2区| 成人a免费在线看| 欧美一区中文字幕| 亚洲精品中文字幕在线观看| 国精产品一区一区三区mba桃花 | 91精品国产免费| 亚洲色图视频免费播放| 激情国产一区二区 | 亚洲三级在线免费观看| 黄网站免费久久| 欧美精品久久一区| 亚洲色图色小说| 成人黄色软件下载| 久久精品亚洲精品国产欧美 | 亚洲成av人片在线观看| 国产sm精品调教视频网站| 欧美一区二区三区四区久久 | 国产成人精品免费视频网站| 国产91高潮流白浆在线麻豆 | 日韩免费视频一区| 亚洲午夜久久久久久久久电影网| 日韩va亚洲va欧美va久久| 99精品在线免费| 久久久不卡网国产精品二区| 美洲天堂一区二卡三卡四卡视频| 欧美在线观看视频一区二区| 国产精品国产三级国产| 国产精品亚洲午夜一区二区三区| 精品久久一区二区三区| 蜜芽一区二区三区| 91精品在线麻豆| 婷婷开心激情综合| 丰满亚洲少妇av| 久久久国产精品午夜一区ai换脸| 精品一区二区日韩| 日韩免费福利电影在线观看| 免费观看成人av| 精品乱码亚洲一区二区不卡| 精品亚洲国产成人av制服丝袜| 日韩一区二区三区精品视频| 视频一区二区欧美| 99国内精品久久| 国产精品欧美极品| 91视频在线观看| 一区二区三区在线视频观看58 | 欧美一区二区三区四区在线观看| 天天操天天干天天综合网| 欧美精品视频www在线观看| 午夜国产不卡在线观看视频| 欧美猛男男办公室激情| 视频一区在线播放| 精品免费视频一区二区| 国产一区不卡精品| 国产精品免费视频观看| 91美女在线视频| 一区二区三区免费在线观看| 欧美日韩精品电影| 免费观看一级特黄欧美大片| 久久久噜噜噜久噜久久综合| 高清不卡在线观看| 综合精品久久久| 欧美精品粉嫩高潮一区二区| 精品一区二区免费在线观看| 国产女主播视频一区二区| 日本一不卡视频| 久久精品视频免费| 91亚洲永久精品| 日本中文字幕一区二区视频| 久久综合久久鬼色中文字| 免费高清在线视频一区·| 久久婷婷成人综合色| 成人短视频下载| 亚洲成av人片在线观看| 精品国产一区二区三区久久久蜜月 | 欧美大黄免费观看| 国产成人精品免费一区二区| 亚洲女人****多毛耸耸8| 欧美日韩高清影院| 国产美女av一区二区三区| 亚洲欧美激情视频在线观看一区二区三区| 在线中文字幕一区二区| 亚洲福利一区二区| 久久综合视频网| 欧美性淫爽ww久久久久无| 精品亚洲aⅴ乱码一区二区三区| 国产精品视频一二三| 在线视频欧美精品| 国产在线精品一区二区| 亚洲欧美另类小说视频| 日韩精品一区二区三区swag| av不卡一区二区三区| 日本欧美一区二区三区乱码| 国产精品女同一区二区三区| 欧美人伦禁忌dvd放荡欲情| 国产精品亚洲视频| 婷婷综合久久一区二区三区| 国产精品进线69影院| 4438成人网| 91在线porny国产在线看| 久久99国产精品成人| 一区二区欧美在线观看| 久久久欧美精品sm网站| 欧美日本国产视频| 99久久久久久99| 国产麻豆91精品| 日本一道高清亚洲日美韩| 亚洲视频香蕉人妖| 国产午夜精品在线观看| 欧美裸体一区二区三区| 99久久免费国产| 国产高清久久久| 免费观看一级欧美片| 亚洲一级在线观看| 中文字幕一区二区在线观看| 精品国产乱码久久久久久浪潮| 欧美在线制服丝袜| 成人av资源在线| 国产在线播放一区| 麻豆中文一区二区| 亚洲午夜电影在线| 亚洲欧美日本韩国| 国产精品成人一区二区艾草| 久久免费视频色| 欧美电影免费观看高清完整版在线观看 | 日韩成人精品在线| 一区二区三区四区在线播放| 国产精品午夜电影| 久久综合久久鬼色中文字| 欧美成人免费网站| 欧美乱妇23p| 欧美日韩综合在线免费观看| 麻豆视频观看网址久久| 亚洲成av人片一区二区三区| 亚洲女人****多毛耸耸8| 亚洲欧洲日韩综合一区二区| 欧美国产日产图区| 久久久久国产精品人| 26uuu亚洲综合色| 精品福利二区三区|