#!/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  
 | 
          
 | 
          
 | 
          
 |