cgsayhandler.cpp

来自「天之炼狱1服务器端源文件游戏服务端不完整」· C++ 代码 · 共 1,958 行 · 第 1/5 页

CPP
1,958
字号
		gcSystemMessage.setMessage(message.toString()); 	}	else if (set_type == "master_blood_drain_start_hp")	{		message << "软趋 矫累 锭狼 HP : " << g_pVariableManager->getMasterBloodDrainStartHP() << "%";		gcSystemMessage.setMessage(message.toString()); 	}	else if (set_type == "master_blood_drain_start_bd")	{		message << "软趋 矫累 锭狼 软趋 犬伏 : " << g_pVariableManager->getMasterBloodDrainStartBD() << "%";		gcSystemMessage.setMessage(message.toString()); 	}	else if (set_type == "master_blood_drain_end_hp")	{		message << "软趋 场(?) 锭狼 HP : " << g_pVariableManager->getMasterBloodDrainEndHP() << "%";		gcSystemMessage.setMessage(message.toString()); 	}	else if (set_type == "master_blood_drain_end_bd")	{		message << "软趋 场(?) 锭狼 软趋 犬伏 : " << g_pVariableManager->getMasterBloodDrainEndBD() << "%";		gcSystemMessage.setMessage(message.toString()); 	}	else if(set_type == "chief_monster")	{	    message << "摹橇 阁胶磐 殿厘 : " << (g_pVariableManager->isActiveChiefMonster()? "ON":"OFF");		gcSystemMessage.setMessage(message.toString());	}	else if (set_type == "chief_monster_rare_item_percent")	{		message << "摹橇 阁胶磐 饭绢 酒捞袍 风泼 犬伏: " << g_pVariableManager->getChiefMonsterRareItemPercent() << "%";		gcSystemMessage.setMessage(message.toString()); 	}	else if (set_type == "newbie_transport_to_guild")	{		message << "瓷仿摹 40楼府 辨靛肺 捞悼矫虐扁: " << (g_pVariableManager->isNewbieTransportToGuild()? "ON":"OFF");		gcSystemMessage.setMessage(message.toString()); 	}	else	{		// by sigi. 2002.11.19		VariableType vt = g_pVariableManager->getVariableType( set_type );		if (vt!=VARIABLE_MAX)		{			const string& msg = g_pVariableManager->toString(vt);			gcSystemMessage.setMessage(msg);		}		else		{			gcSystemMessage.setMessage( g_pStringPool->getString( STRID_WRONG_VARIABLE_NAME ) );		}	}	// 磊脚俊霸父 矫胶袍 皋矫瘤 焊郴扁 (荐沥登菌阑矫)	pGamePlayer->sendPacket (&gcSystemMessage);	__END_CATCH}#endif#ifdef __GAME_SERVER__////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////void CGSayHandler::opload(GamePlayer* pGamePlayer, string msg, int i)	throw(ProtocolException, Error){	__BEGIN_TRY		GCSystemMessage gcSystemMessage;	StringStream message;	uint j = msg.find_first_of(' ' , i+1);	uint z = msg.find_first_of(' ' , j+1);		string load_type = msg.substr(j+1, z-j-1);	string load_value = "0";		if (z!=string::npos)		load_value = msg.substr(z+1);	if(load_type.length() < 1)		return;	if (pGamePlayer!=NULL)	{		Creature* pCreature = pGamePlayer->getCreature();		filelog("change.txt", "[LOAD] %s , %s , %s", pCreature->getName().c_str(), load_type.c_str(), load_value.c_str());	}	EventReloadInfo* pEvent = NULL;	if (load_type == "master_lair_info")	{		pEvent =  new EventReloadInfo( pGamePlayer,  EventReloadInfo::MASTER_LAIR_INFO );//		StringStream msg;//		msg << "付胶磐 饭绢 沥焊甫 load钦聪促.";		gcSystemMessage.setMessage( g_pStringPool->getString( STRID_LOAD_MASTER_LAIR_INFO ) );		filelog("change.txt", "[%s]%s", (pGamePlayer==NULL?"Nobody":pGamePlayer->getCreature()->getName().c_str()), gcSystemMessage.toString().c_str());	}	else if (load_type == "monster_info")	{	//	string MonsterName = load_value;		string MonsterName = "all";		int SpriteType = 0;		// 老窜 '捞抚'栏肺 阁胶磐 SpriteType阑 茫酒夯促.//		int SpriteType = g_pMonsterInfoManager->getSpriteTypeByName( MonsterName );//		if (SpriteType==0)//		{			// 捞抚栏肺 绝促搁.. 蔼 磊眉啊 箭磊(SpriteType)牢啊?//			SpriteType = atoi( MonsterName.c_str() );//		}			bool bExist = true;//		try //		{//			g_pMonsterInfoManager->getMonsterTypeBySprite(SpriteType);//		} catch (Throwable&) {//			bExist = false;//		}//		StringStream msg;        char msg[100];		if (bExist || MonsterName=="all")		{			// all牢 版快绰 SpriteType捞 0捞促.			pEvent =  new EventReloadInfo( pGamePlayer,  EventReloadInfo::MONSTER_INFO, SpriteType );			if (SpriteType!=0)			{                sprintf( msg, g_pStringPool->c_str( STRID_LOAD_MONSTER_INFO ),                                load_value.c_str() );//				msg << "阁胶磐 沥焊(" << load_value.c_str() << ")甫 load钦聪促.";			}			else			{                sprintf( msg, g_pStringPool->c_str( STRID_LOAD_ALL_MONSTER_INFO ) );//				msg << "葛电 阁胶磐 沥焊甫 load钦聪促.";			}		}		else		{            sprintf( msg, g_pStringPool->c_str( STRID_LOAD_WRONG_MONSTER_INFO ),                            load_value.c_str() );//			msg << "阁胶磐(" << load_value.c_str() << ")啊 肋给 瘤沥登菌嚼聪促.";		}		gcSystemMessage.setMessage(msg);		filelog("change.txt", "[%s]%s", (pGamePlayer==NULL?"Nobody":pGamePlayer->getCreature()->getName().c_str()), gcSystemMessage.toString().c_str());	}	else if (load_type == "monster_ai")	{		pEvent =  new EventReloadInfo( pGamePlayer,  EventReloadInfo::MONSTER_AI );//		StringStream msg;//		msg << "阁胶磐 AI沥焊(DirectiveSet)甫 load钦聪促.";		gcSystemMessage.setMessage( g_pStringPool->getString( STRID_LOAD_DIRECTIVESET ) );		filelog("change.txt", "[%s]%s", (pGamePlayer==NULL?"Nobody":pGamePlayer->getCreature()->getName().c_str()), gcSystemMessage.toString().c_str());	}	else if (load_type == "zone_info")	{		pEvent =  new EventReloadInfo( pGamePlayer,  EventReloadInfo::ZONE_INFO );//		StringStream msg;//		msg << "粮 沥焊甫 load钦聪促.";		gcSystemMessage.setMessage( g_pStringPool->getString( STRID_LOAD_ZONE ) );		filelog("change.txt", "[%s]%s", (pGamePlayer==NULL?"Nobody":pGamePlayer->getCreature()->getName().c_str()), gcSystemMessage.toString().c_str());	}	else if (load_type == "zone")	{		int zoneID = atoi(load_value.c_str());		pEvent =  new EventReloadInfo( pGamePlayer,  EventReloadInfo::ZONE, zoneID );//		StringStream msg;//		msg << "粮阑 load钦聪促.";		gcSystemMessage.setMessage( g_pStringPool->getString( STRID_LOAD_ZONE ) );		filelog("change.txt", "[%s]%s", (pGamePlayer==NULL?"Nobody":pGamePlayer->getCreature()->getName().c_str()), gcSystemMessage.toString().c_str());	}	else if (load_type == "log_user")	{		pEvent =  new EventReloadInfo( pGamePlayer,  EventReloadInfo::LOG_USER_INFO );//		StringStream msg;//		msg << "LogUser 沥焊甫 load钦聪促.";		gcSystemMessage.setMessage( g_pStringPool->getString( STRID_LOAD_LOG_USER ) );		filelog("change.txt", "[%s]%s", (pGamePlayer==NULL?"Nobody":pGamePlayer->getCreature()->getName().c_str()), gcSystemMessage.toString().c_str());	}	else if (load_type == "item_info")	{		Item::ItemClass ItemClass = g_pItemFactoryManager->getItemClassByName( load_value );		// ItemClass啊 MAX扼搁 捞抚栏肺绰 给 茫疽促绰 富捞促. 		// 捞 版快俊绰 酒捞袍 努贰胶啊 箭磊肺 官肺 坷瘤绰 臼疽绰瘤 八荤秦具 茄促.		if (ItemClass == Item::ITEM_CLASS_MAX)		{			int temp = atoi(load_value.c_str());			if (temp < 0 || temp >= Item::ITEM_CLASS_MAX)			{				return;			}			else			{				ItemClass = (Item::ItemClass)(temp);			}		}		pEvent = new EventReloadInfo( pGamePlayer, EventReloadInfo::ITEM_INFO, ItemClass );//		StringStream msg;//		msg << load_value << " Info甫 load钦聪促.";        char msg[100];        sprintf( msg, g_pStringPool->c_str( STRID_LOAD_ITEM_INFO ),                        load_value.c_str() );        gcSystemMessage.setMessage( msg );	}	else if ( load_type == "option_info" )	{		pEvent = new EventReloadInfo( pGamePlayer, EventReloadInfo::OPTION_INFO );	//	StringStream msg;	//	msg << "OptionInfo 沥焊甫 load钦聪促.";		gcSystemMessage.setMessage( g_pStringPool->getString( STRID_LOAD_OPTION_INFO ) );	}	else if ( load_type == "rank_bonus_info" )	{		pEvent = new EventReloadInfo( pGamePlayer, EventReloadInfo::RANK_BONUS_INFO );//		StringStream msg;//		msg << "RankBonusInfo 沥焊甫 load钦聪促.";		gcSystemMessage.setMessage( g_pStringPool->getString( STRID_LOAD_RANK_BONUS_INFO ) );	}    else if ( load_type == "string_pool" )    {        pEvent = new EventReloadInfo( pGamePlayer, EventReloadInfo::STRING_POOL );        gcSystemMessage.setMessage( "reload StringPool" );    }	else if ( load_type == "war_schedule_info" )	{		ZoneID_t zoneID = atoi( load_value.c_str() );		// 汲沥 救等 版快绰 泅犁 Creature啊 乐绰 粮		if (zoneID==0)		{			if (pGamePlayer!=NULL)			{				Creature* pCreature = pGamePlayer->getCreature();				Assert(pCreature!=NULL);				Zone* pZone = pCreature->getZone();				Assert(pZone!=NULL);				zoneID = pZone->getZoneID();			}		}		pEvent = new EventReloadInfo( pGamePlayer, EventReloadInfo::WAR_SCHEDULE_INFO, zoneID );		StringStream msg;		msg << g_pStringPool->getString( STRID_LOAD_WAR_SCHEDULE_INFO );		if (!g_pVariableManager->isWarActive())		{			msg << g_pStringPool->getString( STRID_WAR_OFF );		}		gcSystemMessage.setMessage(msg.toString().c_str());	}	else if ( load_type == "blood_bible_owner" )	{		pEvent = new EventReloadInfo( pGamePlayer, EventReloadInfo::BLOOD_BIBLE_OWNER );//		StringStream msg;//		msg << "BloodBibleOwner 沥焊甫 load钦聪促.";		gcSystemMessage.setMessage( g_pStringPool->getString( STRID_LOAD_BLOOD_BIBLE_OWNER_INFO ) );	}	else if ( load_type == "sweeper_owner" )	{		int level = atoi( load_value.c_str() );		pEvent = new EventReloadInfo( pGamePlayer, EventReloadInfo::SWEEPER_OWNER, level );//		StringStream msg;//		msg << "BloodBibleOwner 沥焊甫 load钦聪促.";		gcSystemMessage.setMessage( g_pStringPool->getString( STRID_LOAD_BLOOD_BIBLE_OWNER_INFO ) );	}	else if ( load_type == "race_war_pc_limit" )	{		pEvent = new EventReloadInfo( pGamePlayer, EventReloadInfo::RACE_WAR_PC_LIMIT );//		StringStream msg;//		msg << "RaceWarPCLimit 沥焊甫 load钦聪促.";		gcSystemMessage.setMessage( g_pStringPool->getString( STRID_LOAD_RACE_WAR_PC_LIMIT_INFO ) );	}	else if ( load_type == "npc" )	{		ZoneID_t zoneID = (ZoneID_t)(atoi(load_value.c_str()));		Zone* pZone = getZoneByZoneID( zoneID );		if ( pZone != NULL)		{			// 己 寇俊绰 NPC 啊 荤扼瘤绰 老捞 绝栏聪 -_-a			CastleInfo* pCastleInfo = g_pCastleInfoManager->getCastleInfo( zoneID );			if ( pCastleInfo != NULL)				pZone->loadNPCs( pCastleInfo->getRace() );		}	}	else if ( load_type == "goods_list_info" )	{		pEvent = new EventReloadInfo( pGamePlayer, EventReloadInfo::GOODS_LIST_INFO );		gcSystemMessage.setMessage( g_pStringPool->getString( STRID_LOAD_GOODS_LIST_INFO ) );	}/*	else if ( load_type == "quest_info" )	{		pEvent = new EventReloadInfo( pGamePlayer, EventReloadInfo::QUEST_INFO );		gcSystemMessage.setMessage( g_pStringPool->getString( STRID_LOAD_QUEST_INFO ) );	}*/	else	{		gcSystemMessage.setMessage( g_pStringPool->getString( STRID_WRONG_VARIABLE_NAME ) );	}	if (pEvent!=NULL)	{		g_pClientManager->addEvent( pEvent );	}	// 磊脚俊霸父 矫胶袍 皋矫瘤 焊郴扁 (荐沥登菌阑矫)	if (pGamePlayer!=NULL)	{		pGamePlayer->sendPacket( &gcSystemMessage );	}			__END_CATCH}////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////void CGSayHandler::opset(GamePlayer* pGamePlayer, string msg, int i)	throw(ProtocolException, Error){	__BEGIN_TRY	// [!!!] GGCommand甫 烹秦辑 咯扁啊 贸府瞪锭俊绰	// pGamePlayer啊 NULL老 荐 乐栏骨肺.. 怖 眉农甫 秦具茄促! by sigi.2002.12.23		GCSystemMessage gcSystemMessage;	StringStream message;	uint j = msg.find_first_of(' ' , i+1);	uint z = msg.find_first_of(' ' , j+1);		string set_type = msg.substr(j+1, z-j-1);	string set_value = msg.substr(z+1);	if(set_value.length() < 1)		return;	if (pGamePlayer!=NULL)	{		Creature* pCreature = pGamePlayer->getCreature();		filelog("change.txt", "%s , %s , %s", pCreature->getName().c_str(), set_type.c_str(), set_value.c_str());	}		if(set_type == "star")	{		g_pVariableManager->setStar(atoi(set_value.c_str()));        char msg[100];        sprintf( msg, g_pStringPool->c_str( STRID_SET_STAR_RATIO ),                        set_value.c_str() );//	    message << "喊 免泅 犬伏捞 1/" << set_value << "肺 荐沥登菌嚼聪促";		gcSystemMessage.setMessage(msg);		filelog("change.txt", "[%s]%s", (pGamePlayer==NULL?"Nobody":pGamePlayer->getCreature()->getName().c_str()), gcSystemMessage.toString().c_str());	}	else if(set_type == "event_activate")	{		if(set_value == "start")		{			g_pVariableManager->setEventActivate(1);//	    	message << "捞亥飘啊 矫累登菌嚼聪促";			gcSystemMessage.setMessage( g_pStringPool->getString( STRID_EVENT_START ) );			filelog("change.txt", "[%s]%s", (pGamePlayer==NULL?"Nobody":pGamePlayer->getCreature()->getName().c_str()), gcSystemMessage.toString().c_str());		}		else		{			g_pVariableManager->setEventActivate(0);//	    	message << "捞亥飘啊 吝瘤登菌嚼聪促";			gcSystemMessage.setMessage( g_pStringPool->getString( STRID_EVENT_END ) );			filelog("change.txt", "[%s]%s", (pGamePlayer==NULL?"Nobody":pGamePlayer->getCreature()->getName().c_str()), gcSystemMessage.toString().c_str());

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?