//宠物改名字
	INT	Pet::Change_Name(LuaPlus::LuaState* state)
	{
		LuaStack args(state);

		if ( !(args[2].IsInteger()) || !(args[3].IsString()) )
		{
			KLThrow("LUA:Pet Change_Name parameter error");
		}

		INT nPetNum = args[2].GetInteger();
		LPCTSTR szName = args[3].GetString();
		STRING szTemp="";

		SDATA_PET* My_Pet= CDataPool::GetMe()->Pet_GetPet(nPetNum);
		if( (!My_Pet) || ( !My_Pet->m_pModelData ) ) 
		{
			KLThrow("LUA:Pet Change_Name parameter error");
			return 0;
		}
		if(CGameProcedure::s_pUISystem->CheckStringFilter(szName, FT_NAME) == FALSE)
		{
			
			STRING strTemp = "";
			strTemp = NOCOLORMSGFUNC("GMGameInterface_Script_Talk_Info_InvalidContent");
			CEventSystem::GetMe()->PushEvent(GE_NEW_DEBUGMESSAGE,strTemp.c_str());
			return 0;

		}
		else if(CGameProcedure::s_pUISystem->CheckStringCode(szName,szTemp) == FALSE)
		{

			return 0;

		}
		else if(KLU_CheckStringValid(szName) == FALSE)
		{
			STRING strTemp = "";
			strTemp = NOCOLORMSGFUNC("ERRORSpecialString");
			CEventSystem::GetMe()->PushEvent(GE_NEW_DEBUGMESSAGE,strTemp.c_str());
			return 0;
		}
		//向服务器发送
		CGSetPetAttrib Msg;
		if(strcmp(szName, My_Pet->m_szName.c_str()) != 0)
		{
			Msg.SetGUID(My_Pet->m_GUID);
//			Msg.SetIndex(nPetNum);		
			Msg.SetName((CHAR*)szName);
			CNetManager::GetMe()->SendPacket(&Msg);
		}
		return 0;
	}
	/* ------------------------------------------------
	// 加点确认
	参数1	INT		骑宠下标
	参数2	INT		力量
	参数3	INT		敏捷
	参数4	INT		体力
	参数5	INT		智力
	------------------------------------------------ */
	INT Mount::SetAttrAddRequest(LuaPlus::LuaState* state)
	{
		LuaStack args(state);

		if (!(args[2].IsInteger()))		
			KLThrow("Mount::SetAttrAddRequest[2] param parameter error");
		
		INT nMountIndex = args[2].GetInteger();

		if (!(args[3].IsInteger()))
			KLThrow("Mount::SetAttrAddRequest[3] param parameter error");
		
		INT nStrAdd = args[3].GetInteger();
		

		if (!(args[4].IsInteger()))		
			KLThrow("Mount::SetAttrAddRequest[4] param parameter error");
		
		INT nDexAdd = args[4].GetInteger();
		

		if (!(args[5].IsInteger()))		
			KLThrow("Mount::SetAttrAddRequest[5] param parameter error");
		
		INT nConAdd = args[5].GetInteger();
		

		if (!(args[6].IsInteger()))		
			KLThrow("Mount::SetAttrAddRequest[6] param parameter error");

		INT nIntAdd = args[6].GetInteger();

		// 发送加点消息		
		const SDATA_PET* pPet = CDataPool::GetMe()->Pet_GetPet(nMountIndex);
		if (pPet && FALSE == pPet->m_GUID.IsNull())
		{
			CGSetPetAttrib Msg;

			Msg.SetGUID(pPet->m_GUID);
			Msg.SetStrIncrement(nStrAdd);
			Msg.SetDexIncrement(nDexAdd);
			Msg.SetConIncrement(nConAdd);
			Msg.SetIntIncrement(nIntAdd);

			CNetManager::GetMe()->SendPacket(&Msg);
		}
		

		return 0;
	}
	// 宠物加属性点。
	INT Pet::Add_Attribute(LuaPlus::LuaState* state)
	{
		LuaStack args(state);

		if (!(args[2].IsInteger()) ||
			!(args[3].IsInteger()) ||
			!(args[4].IsInteger()) ||
			!(args[5].IsInteger()) ||
			!(args[6].IsInteger()) ||
			!(args[7].IsInteger()) )
		{
			KLThrow("LUA:Pet Add_Attribute parameter error");
		}

		INT nPetNum = args[2].GetInteger();
		INT nStr = args[CATTR_LEVEL1_STR+3].GetInteger();
//		INT	nInt = args[CATTR_LEVEL1_SPR+3].GetInteger();
		INT nInt = 0;
		INT	nDex = args[CATTR_LEVEL1_CON+3].GetInteger();
		INT	nPF = args[CATTR_LEVEL1_INT+3].GetInteger();
		INT	nSta = args[CATTR_LEVEL1_DEX+3].GetInteger();

		SDATA_PET* My_Pet= CDataPool::GetMe()->Pet_GetPet(nPetNum);
		if( (!My_Pet) || ( !My_Pet->m_pModelData ) ) 
		{
			KLThrow("LUA:Pet Add_Attribute parameter error");
			return 0;
		}
		if( (nStr + nInt + nDex + nPF +nSta == 0) || My_Pet->m_nPotential == 0)
			return 0;
		if(nStr + nInt + nDex + nPF +nSta > My_Pet->m_nPotential )
			return 0;
		//向服务器发送

		CGSetPetAttrib Msg;
//		Msg.SetIndex(nPetNum);
		Msg.SetGUID(My_Pet->m_GUID);
		if(nStr > 0) Msg.SetStrIncrement(nStr);
		if(nSta > 0) Msg.SetIntIncrement(nSta);
		if(nDex > 0) Msg.SetDexIncrement(nDex);
		if(nPF  > 0) Msg.SetConIncrement(nPF);
//		if(nInt > 0) Msg.SetSprIncrement(nInt);

		CNetManager::GetMe()->SendPacket(&Msg);
		return 0;
	}