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

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

?? zone.cpp.backup

?? 天之煉獄1服務器端源文件游戲服務端不完整
?? BACKUP
?? 第 1 頁 / 共 5 頁
字號:
//////////////////////////////////////////////////////////////////////////////// FileName 	: Zone.cpp// WrittenBy	:// Description	://////////////////////////////////////////////////////////////////////////////#include "Zone.h"#include <stdio.h>#include <string.h>#include "Assert.h"#include "LogClient.h"#include "ZoneGroup.h"#include "ZoneInfo.h"#include "ZoneInfoManager.h"#include "PCManager.h"#include "NPCManager.h"#include "MonsterManager.h"#include "EventMonsterManager.h"#include "CombatMonsterManager.h"#include "EffectManager.h"#include "EffectSchedule.h"#include "NPCInfo.h"#include "WeatherManager.h"#include "Creature.h"#include "Item.h"#include "ItemInfo.h"#include "DarkLightInfo.h"#include "DB.h"#include "Slayer.h"#include "Vampire.h"#include "Monster.h"#include "NPC.h"#include "Player.h"#include "Properties.h"#include "ZoneUtil.h"#include "PacketUtil.h"#include "Party.h"#include "TradeManager.h"#include "ParkingCenter.h"#include <fstream>#include <math.h>#include "EffectDarkness.h"#include "EffectVampirePortal.h"#include "SlayerCorpse.h"#include "VampireCorpse.h"#include "MonsterCorpse.h"#include "EffectDecayCorpse.h"#include "EffectDecayItem.h"//#include "EffectRevealer.h"#include "EffectDecayMotorcycle.h"#include "EffectCallMotorcycle.h"#include "EffectAddItem.h"#include "EffectDeleteItem.h"#include "EffectTransportItem.h"#include "EffectSanctuary.h"#include "Gpackets/GCAddBurrowingCreature.h"#include "Gpackets/GCAddVampireFromTransformation.h"#include "Gpackets/GCAddMonsterFromTransformation.h"#include "Gpackets/GCUntransformOK.h"#include "Gpackets/GCUntransformFail.h"#include "Gpackets/GCAddVampireFromBurrowing.h"#include "Gpackets/GCAddMonsterFromBurrowing.h"#include "Gpackets/GCAddWolf.h"#include "Gpackets/GCAddBat.h"#include "Gpackets/GCAddSlayerCorpse.h"#include "Gpackets/GCAddVampireCorpse.h"#include "Gpackets/GCAddMonsterCorpse.h"#include "Gpackets/GCAddEffectToTile.h"#include "Gpackets/GCAddVampirePortal.h"#include "Gpackets/GCDeleteEffectFromTile.h"#include "Gpackets/GCMineExplosionOK1.h"#include "Gpackets/GCMineExplosionOK2.h"#include "Gpackets/GCAddInstalledMineToZone.h"#include "Gpackets/GCModifyInformation.h"#include "Gpackets/GCFastMove.h"#include "Gpackets/GCMove.h"#include "Gpackets/GCMoveOK.h"#include "Gpackets/GCMoveError.h"#include "Gpackets/GCAddMonster.h"#include "Gpackets/GCAddNewItemToZone.h"#include "Gpackets/GCDropItemToZone.h"#include "Gpackets/GCAddNPC.h"#include "Gpackets/GCAddSlayer.h"#include "Gpackets/GCAddVampire.h"#include "Gpackets/GCDeleteObject.h"#include "Gpackets/GCSetPosition.h"#include "Gpackets/GCUnburrowOK.h"#include "Gpackets/GCUnburrowFail.h"#include "Gpackets/GCRemoveEffect.h"#include "Gpackets/GCAddEffect.h"#include "Gpackets/GCKnockBack.h"#include "item/VampirePortalItem.h"#include "Profile.h"//#define __PROFILE_MOVEPCBROADCAST__int g_FastMoveSearchX[8][4] ={	{ 0, 1, 1, 1 },     // LEFT	{ 0, 1, 0, 1 },   // LEFTDOWN	{ 0, 0, -1, 1 },    // DOWN	{ 0, -1, 0, -1 },   // RIGHTDOWN	{ 0, -1, -1, -1 },  // RIGHT	{ 0, -1, 0, -1 },   // RIGHTUP	{ 0, 0, -1, 1 },    // UP	{ 0, 1, 0, 1 },     // LEFTUP};int g_FastMoveSearchY[8][4] ={	{ 0, 0, -1, 1 },    // LEFT	{ 0, -1, -1, 0 },   // LEFTDOWN	{ 0, -1, -1, -1 },  // DOWN	{ 0, -1, -1, 0 },   // RIGHTDOWN	{ 0, 0, -1, 1 },    // RIGHT	{ 0, 1, 1, 0 },     // RIGHTUP	{ 0, 1, 1, 1 },     // UP	{ 0, 1, 1, 0 },     // LEFTUP};voidstrlwr(char* str){	while (*str!='\0')	{		*str = tolower( *str );		str ++;	}}//////////////////////////////////////////////////////////////////////////////// 老館利牢 閣膠磐甸撈 利欄肺 牢僥竅蠢襯 付蠢襯 竅綽 竊薦//////////////////////////////////////////////////////////////////////////////bool isPotentialEnemy(Monster* pMonster, Creature* pCreature){	Assert(pCreature != NULL);	// 泅犁肺輯綽 澆飯撈絹綽 公煉扒 利撈促. 	if (pCreature->isSlayer()) return true;	if (pCreature->isVampire())	{		Vampire* pVampire = dynamic_cast<Vampire*>(pCreature);		// 閣膠磐狼 飯駭撈 軌頗撈絹狼 飯駭焊促 10飯駭 撈惑 臭闌 版快,		// 利欄肺 牢僥茄促.		if ((pVampire->getLevel() + 10) <= pMonster->getLevel())		{			return true;		}		// 10飯駭 撈惑牢 軌頗撈絹綽 利撈促.		if (pVampire->getLevel() > 10)		{			return true;		}	}	return false;}//////////////////////////////////////////////////////////////////////////////// STL find_if 舅絆府硫闌 撈儈竅扁 困茄 厚背 努貳膠//////////////////////////////////////////////////////////////////////////////class isSameCreature {public:	isSameCreature(Creature* pCreature) : m_Creature(pCreature) {}	bool operator () (Creature* pCreature) throw ()	{		return pCreature->getName() == m_Creature->getName();	}	private :	Creature* m_Creature;};////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////Zone::Zone(ZoneID_t zoneID)	throw (){	m_Mutex.setName("Zone");	m_MutexEffect.setName("ZoneEffect");	m_ZoneID                  = zoneID;	m_pZoneGroup              = NULL;	m_Width                   = 0;	m_Height                  = 0;	m_pTiles                  = NULL;	m_NPCCount                = 0;	m_MonsterCount            = 0;	m_pPCManager              = new PCManager();	m_pNPCManager             = new NPCManager();	m_pMonsterManager         = new MonsterManager(this);	m_pEventMonsterManager    = new EventMonsterManager(this);	m_pCombatMonsterManager   = new CombatMonsterManager(this); // 辮版籍	m_pWeatherManager         = new WeatherManager(this);	m_pEffectManager          = new EffectManager();	m_pLockedEffectManager    = new EffectManager();	m_pVampirePortalManager   = new EffectManager();	m_pEffectScheduleManager  = new EffectScheduleManager();	m_pLocalPartyManager      = new LocalPartyManager();	m_pPartyInviteInfoManager = new PartyInviteInfoManager();	m_pTradeManager           = new TradeManager;}////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////Zone::Zone(ZoneID_t zoneID, ZoneCoord_t width, ZoneCoord_t height)	throw (){	__BEGIN_TRY	m_Mutex.setName("Zone");	m_MutexEffect.setName("ZoneEffect");	m_ZoneID     = zoneID;	m_pZoneGroup = NULL;	m_Width      = width;	m_Height     = height;	m_pTiles     = NULL;	Assert(m_ZoneID > 0);	m_pTiles = new Tile* [ m_Width ];	for (uint i = 0 ; i < m_Width ; i++) m_pTiles[i] = new Tile [m_Height];	m_ppLevel = new (ZoneLevel_t*)[ m_Width ];	for (uint i = 0; i < m_Width ; i++) m_ppLevel[i] = new ZoneLevel_t[m_Height];	m_pPCManager              = new PCManager();	m_pNPCManager             = new NPCManager();	m_pMonsterManager         = new MonsterManager(this);	m_pEventMonsterManager    = new EventMonsterManager(this);	m_pCombatMonsterManager   = new CombatMonsterManager(this); // 辮版籍	m_pWeatherManager         = new WeatherManager(this);	m_pEffectManager          = new EffectManager();	m_pLockedEffectManager    = new EffectManager();	m_pVampirePortalManager   = new EffectManager();	m_pEffectScheduleManager  = new EffectScheduleManager();	m_pLocalPartyManager      = new LocalPartyManager();	m_pPartyInviteInfoManager = new PartyInviteInfoManager();	m_pTradeManager           = new TradeManager;	__END_CATCH}////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////Zone::~Zone ()	throw (){	__BEGIN_TRY			if (m_pTiles != NULL) 	{		for (uint i=0 ; i<m_Width; i++) SAFE_DELETE_ARRAY(m_pTiles[i]);		SAFE_DELETE_ARRAY(m_pTiles);	}		if (m_ppLevel != NULL) 	{		for (uint i=0; i<m_Width; i++) SAFE_DELETE_ARRAY(m_ppLevel[i]);		SAFE_DELETE_ARRAY(m_ppLevel);	}		if (m_pSectors != NULL) 	{		for (int i=0; i<m_SectorWidth; i++) SAFE_DELETE_ARRAY(m_pSectors[i]);		SAFE_DELETE_ARRAY(m_pSectors);	}		SAFE_DELETE(m_pPCManager);	SAFE_DELETE(m_pNPCManager);	SAFE_DELETE(m_pMonsterManager);	SAFE_DELETE(m_pEventMonsterManager);	SAFE_DELETE(m_pCombatMonsterManager); // 辮版籍	SAFE_DELETE(m_pWeatherManager);	SAFE_DELETE(m_pEffectManager);	SAFE_DELETE(m_pLockedEffectManager);	SAFE_DELETE(m_pVampirePortalManager);	SAFE_DELETE(m_pEffectScheduleManager);	SAFE_DELETE(m_pLocalPartyManager);	SAFE_DELETE(m_pPartyInviteInfoManager);	__END_CATCH}//////////////////////////////////////////////////////////////////////////////// initialize zone//////////////////////////////////////////////////////////////////////////////void Zone::init ()	throw(Error){	__BEGIN_TRY	load();	m_pWeatherManager->init();	DarkLightInfo* pDIInfo = NULL;	switch (m_ZoneType)	{		case ZONE_NORMAL_FIELD:			pDIInfo = g_pDarkLightInfoManager->getCurrentDarkLightInfo();			m_DarkLevel  = pDIInfo->getDarkLevel();			m_LightLevel = pDIInfo->getLightLevel();			break;		case ZONE_NORMAL_DUNGEON:		case ZONE_PC_VAMPIRE_LAIR:		case ZONE_NPC_VAMPIRE_LAIR:			m_DarkLevel = 15;			m_LightLevel = 6;			break;		case ZONE_SLAYER_GUILD:		case ZONE_RESERVED_SLAYER_GUILD:		case ZONE_NPC_HOME:		case ZONE_NPC_SHOP:		case ZONE_RANDOM_MAP:			m_DarkLevel  = 0;			m_LightLevel = 14;			break;		default:			pDIInfo = g_pDarkLightInfoManager->getCurrentDarkLightInfo();			m_DarkLevel  = pDIInfo->getDarkLevel();			m_LightLevel = pDIInfo->getLightLevel();			break;	}	__END_CATCH}//////////////////////////////////////////////////////////////////////////////// 糧 頗老俊輯 糧 瀝焊甫 佬絹輯 肺爹茄促.//////////////////////////////////////////////////////////////////////////////void Zone::load(bool bOutput)	throw(Error){	__BEGIN_TRY	__BEGIN_DEBUGtry {	DWORD  versionLen;	char   version[128];	WORD   zoneID;	WORD   zoneGroupID;	DWORD  zonenameLen;	char   zonename[128];	BYTE   zoneType;	BYTE   zoneLevel;	DWORD  descLen;	char*  pDesc = NULL;	char   lwrFilename[256];	ZoneInfo* pZoneInfo = g_pZoneInfoManager->getZoneInfo(m_ZoneID);	// SMP 瀝焊 頗老闌 楷促.	string SMPFilename = g_pConfig->getProperty("HomePath") + "/data/" + pZoneInfo->getSMPFilename();	ifstream SMP(SMPFilename.c_str(), ios::in | ios::binary | ios::nocreate);	if (!SMP)	{		strcpy( lwrFilename, SMPFilename.c_str());		strlwr( lwrFilename );		SMP.open(lwrFilename, ios::in | ios::binary | ios::nocreate);		//cout << "second chk : " << lwrFilename << endl;		if (!SMP)		{			StringStream msg;			msg << SMPFilename << " not exist or cannot open it";			cerr << msg.toString() << endl;			throw FileNotExistException(msg.toString());		}	}    // read zone version	SMP.read(&versionLen,szDWORD);	SMP.read(version,versionLen);	version[versionLen] = 0;		// read zone id	SMP.read(&zoneID,szWORD);		// read zone group id (no use)	SMP.read(&zoneGroupID,szWORD);		// read zone name	SMP.read(&zonenameLen,szDWORD);	if (zonenameLen > 0)	{		SMP.read(zonename,zonenameLen);		zonename[zonenameLen] = 0;	}    // read zone type & level 	SMP.read(&zoneType,szBYTE);	SMP.read(&zoneLevel,szBYTE);	// read zone description	SMP.read(&descLen,szDWORD);	if (descLen > 0)	{		pDesc = new char[descLen+1];		SMP.read(pDesc,descLen);		pDesc[descLen] = 0;			SAFE_DELETE_ARRAY(pDesc);	// add '_ARRAY' moved to here.. by sigi 2002.5.2	}	// read zone width & height	SMP.read(&m_Width, szWORD);	SMP.read(&m_Height ,szWORD);	Assert(m_Width <= maxZoneWidth);	Assert(m_Height <= maxZoneHeight);	// 鷗老闌 2瞞盔硅凱肺 父甸絹 皋葛府甫 且寸茄促.	m_pTiles = new Tile* [ m_Width ];	for (uint i = 0 ; i < m_Width ; i++) 	{

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
日韩精品欧美精品| 日本国产一区二区| 紧缚奴在线一区二区三区| 日本视频免费一区| 首页国产欧美日韩丝袜| 亚洲综合色丁香婷婷六月图片| 一区二区三区视频在线观看| 亚洲综合一区在线| 亚洲黄色尤物视频| 一区二区在线观看不卡| 亚洲国产精品久久人人爱蜜臀| 一区二区三区在线视频免费观看| 一区二区在线电影| 三级不卡在线观看| 久久精品国产亚洲a| 韩国精品免费视频| 成人app下载| 色吊一区二区三区| 欧美日韩精品综合在线| 日韩美女一区二区三区| 久久久国产精品麻豆| 国产精品区一区二区三| 日韩毛片精品高清免费| 午夜精品一区二区三区免费视频 | 久久综合九色综合97婷婷 | 美美哒免费高清在线观看视频一区二区| 日韩高清欧美激情| 国产一区啦啦啦在线观看| 国产成人在线免费| 色悠悠久久综合| 91精品欧美福利在线观看| 精品粉嫩aⅴ一区二区三区四区| 久久一日本道色综合| 亚洲伦在线观看| 天天综合网 天天综合色| 国产伦精品一区二区三区在线观看| 国产成人精品综合在线观看| 91美女在线观看| 日韩一区二区在线看| 国产色产综合产在线视频 | 99re6这里只有精品视频在线观看| 在线亚洲一区二区| 精品美女在线播放| 国产精品成人免费精品自在线观看| 亚洲成va人在线观看| 精品一区二区日韩| 色88888久久久久久影院按摩| 欧美成人精品福利| 自拍偷拍亚洲激情| 免费看黄色91| 日本韩国精品在线| 久久久久久久免费视频了| 亚洲欧美精品午睡沙发| 久久国产福利国产秒拍| 色美美综合视频| 国产午夜久久久久| 日韩av不卡在线观看| 99久久精品国产麻豆演员表| 日韩三级.com| 亚洲精品精品亚洲| 国产麻豆午夜三级精品| 欧美日本在线看| 亚洲人妖av一区二区| 国产在线视频一区二区| 欧美私人免费视频| 亚洲欧美在线另类| 国产一区二区三区高清播放| 欧美日韩黄色一区二区| 国产精品福利一区| 国内精品久久久久影院薰衣草 | 欧美激情一区二区三区在线| 日韩精品成人一区二区三区| 99久久精品国产导航| 久久久久久久久久美女| 日韩成人av影视| 91精彩视频在线| 中文字幕在线观看一区二区| 国产在线不卡一区| 欧美一级生活片| 亚洲一级二级在线| 91香蕉视频污在线| 国产精品国产三级国产aⅴ原创| 黄色日韩三级电影| 日韩视频中午一区| 婷婷综合久久一区二区三区| 日本韩国欧美在线| 亚洲人一二三区| eeuss影院一区二区三区| 久久久久久久性| 国内精品久久久久影院一蜜桃| 欧美一区二区人人喊爽| 亚洲成va人在线观看| 欧美影视一区二区三区| 亚洲欧美另类久久久精品| 99久久精品99国产精品| 欧美激情在线一区二区三区| 国产电影精品久久禁18| 精品国产乱码91久久久久久网站| 蜜臀久久99精品久久久久久9 | 亚洲欧美激情在线| 91麻豆高清视频| 亚洲乱码一区二区三区在线观看| 波多野结衣一区二区三区| 国产精品乱码一区二三区小蝌蚪| 国产精品123区| 国产精品久久久久三级| 不卡av免费在线观看| 最新中文字幕一区二区三区| 一本大道av伊人久久综合| 亚洲人妖av一区二区| 欧洲一区在线观看| 亚洲第一久久影院| 日韩亚洲欧美成人一区| 经典三级一区二区| 日本一区二区综合亚洲| 国产69精品久久777的优势| 国产日韩精品一区| 床上的激情91.| 亚洲人一二三区| 欧美色图片你懂的| 奇米精品一区二区三区四区| 欧美不卡一区二区三区| 国产福利精品一区二区| 亚洲色图欧美在线| 欧美日韩成人在线| 韩国三级在线一区| 国产精品欧美精品| 91福利精品第一导航| 日韩电影免费在线观看网站| 亚洲精品在线网站| 91视视频在线观看入口直接观看www| 樱桃视频在线观看一区| 91精品国产入口在线| 国产成人免费av在线| 亚洲精品视频免费看| 欧美二区在线观看| 国产成人精品亚洲777人妖| 国产精品久久久久久亚洲伦 | 亚洲美女在线一区| 欧美美女bb生活片| 国产成人在线视频网址| 亚洲精品亚洲人成人网在线播放| 欧美电影一区二区| 国产精品1024| 亚洲成av人**亚洲成av**| 欧美不卡一区二区三区| 91一区二区在线| 免费一级片91| 1024成人网| 精品少妇一区二区三区免费观看 | 国产一区欧美二区| 亚洲一线二线三线视频| 日韩美女在线视频| 色综合视频一区二区三区高清| 日本系列欧美系列| 自拍偷拍欧美精品| 久久综合狠狠综合久久激情| 日本国产一区二区| 国产高清不卡二三区| 天天做天天摸天天爽国产一区 | 懂色av一区二区三区免费观看 | 国产福利91精品一区二区三区| 亚洲国产另类精品专区| 国产日韩欧美精品综合| 91精品一区二区三区在线观看| 99久久伊人久久99| 国产一区二三区好的| 亚洲成人激情综合网| 日韩一区欧美一区| 精品国产一区二区三区四区四| 91久久人澡人人添人人爽欧美| 国产一区二区精品久久99| 日本在线播放一区二区三区| 一区二区三区精品视频在线| 久久久一区二区三区捆绑**| 欧美日韩www| 欧美在线观看一二区| 成人av综合一区| 国内精品伊人久久久久av一坑| 视频一区视频二区在线观看| 亚洲图片另类小说| 欧美国产1区2区| 久久免费美女视频| 精品日产卡一卡二卡麻豆| 欧美精品丝袜中出| 在线精品亚洲一区二区不卡| aaa亚洲精品| 成人精品免费视频| 国产精品77777| 国产一区二区视频在线| 热久久国产精品| 日本欧美在线观看| 视频在线观看一区二区三区| 亚洲精品成人天堂一二三| 亚洲欧美日韩在线| 亚洲婷婷综合久久一本伊一区| 一区在线观看视频| 国产精品久久久久三级| 国产精品黄色在线观看| 国产精品妹子av|