| #!/usr/bin/python  | 
| # -*- coding: GBK -*-  | 
| #-------------------------------------------------------------------------------  | 
| #  | 
| ##@package GM.Commands.PrintPet  | 
| #  | 
| # @todo:ÏÔÊ¾Íæ¼ÒËùÓгèÎï  | 
| # @author hxp  | 
| # @date 2016-4-29  | 
| # @version 1.0  | 
| #  | 
| # ÏêϸÃèÊö: ÏÔÊ¾Íæ¼ÒËùÓгèÎï  | 
| #  | 
| #-------------------------------------------------------------------------------  | 
| #"""Version = 2016-4-29 18:00"""  | 
| #-------------------------------------------------------------------------------  | 
|   | 
| import ShareDefine  | 
| import GameWorld  | 
|   | 
|   | 
| ## GMÃüÁîÖ´ÐÐÈë¿Ú  | 
| #  @param curPlayer µ±Ç°Íæ¼Ò  | 
| #  @param list ²ÎÊýÁбí [tagID£¬ExpValue]  | 
| #  @return None  | 
| #  @remarks º¯ÊýÏêϸ˵Ã÷.  | 
| def OnExec(curPlayer, list):  | 
|   | 
|     petDataPack = curPlayer.GetItemManager().GetPack(ShareDefine.rptPet)  | 
|     petCnt = petDataPack.GetCount()  | 
|     if petCnt <= 0:  | 
|         GameWorld.DebugAnswer(curPlayer, 'Íæ¼ÒÎÞ³èÎï')  | 
|         return  | 
|   | 
|     showDataInfo = [  | 
|                     [ShareDefine.Def_IudetPet_ClassLV, "½×¼¶"],  | 
|                     [ShareDefine.Def_IudetPet_State, "״̬"],  | 
|                     [ShareDefine.Def_IudetPet_Skill, "¼¼ÄÜ"],  | 
|                    ]  | 
|       | 
|     showPetCnt = 0  | 
|     for petIndex in range(petDataPack.GetCount()):  | 
|         petItem = petDataPack.GetAt(petIndex)  | 
|         if petItem.IsEmpty():  | 
|             continue  | 
|           | 
|         showPetCnt += 1  | 
|         petNPCID = petItem.GetUserAttr(ShareDefine.Def_IudetPet_NPCID)  | 
|         petNPCData = GameWorld.GetGameData().FindNPCDataByID(petNPCID)  | 
|         petName = petNPCData.GetName()  | 
|         GameWorld.DebugAnswer(curPlayer, '--µÚ%sÖ»: Ë÷Òý=%s,npcID=%s,name=%s' % (showPetCnt, petIndex, petNPCID, petName))  | 
|       | 
|         infoStr = ""  | 
|         for dataNum, dataName in showDataInfo:  | 
|             if dataNum % 2 == 0:  | 
|                 value = petItem.GetUserAttr(dataNum)  | 
|                 infoStr += " %s:%s" % (dataName, value)  | 
|             else:  | 
|                 dataCnt = petItem.GetUserAttrCount(dataNum)  | 
|                 valueList = []  | 
|                 for i in xrange(dataCnt):  | 
|                     value = petItem.GetUserAttrByIndex(dataNum, i)  | 
|                     valueList.append(value)  | 
|                 infoStr += " %s:%s" % (dataName, str(valueList))  | 
|           | 
|         GameWorld.DebugAnswer(curPlayer, "%s" % infoStr)  | 
|                   | 
|     GameWorld.DebugAnswer(curPlayer, '------×ܳèÎïÊý: %s -------' % showPetCnt)  | 
|     return  | 
|           | 
|           | 
|           |