| #!/usr/bin/python  | 
| # -*- coding: GBK -*-  | 
| #---------------------------------------------------------------------  | 
| #  | 
| #---------------------------------------------------------------------  | 
| ##@package GY_Query_GetPlayerFuncInfo  | 
| # @todo: Ìṩ²éÑ¯Íæ¼Ò¹¦ÄÜÐÅÏ¢  | 
| #  | 
| # @author: xdh  | 
| # @date 2017-07-12 12:00  | 
| # @version 1.0  | 
| # @note  | 
| #---------------------------------------------------------------------  | 
| """Version = 2017-07-12 12:00"""  | 
| #---------------------------------------------------------------------  | 
| import IPY_GameWorld  | 
| import GameWorld  | 
| import ChConfig  | 
| import Operate_EquipPlus  | 
| import ItemCommon  | 
|   | 
| #---------------------------------------------------------------------  | 
|   | 
| ## ÇëÇóÂß¼  | 
| #  @param query_Type ÇëÇóÀàÐÍ  | 
| #  @param query_ID ÇëÇóµÄÍæ¼ÒID  | 
| #  @param packCMDList ·¢°üÃüÁî [ ]  | 
| #  @param tick µ±Ç°Ê±¼ä  | 
| #  @return resultDisc  | 
| #  @remarks º¯ÊýÏêϸ˵Ã÷.  | 
| def DoLogic(query_Type, query_ID, packCMDList, tick):  | 
|     curPlayer = GameWorld.GetPlayerManager().FindPlayerByID(query_ID)  | 
|       | 
|     if not curPlayer or curPlayer.IsEmpty():  | 
|         return ''  | 
|     #GameWorld.Log('GY_Query_GetPlayerFuncInfo packCMDList=%s'%packCMDList)  | 
|     queryKeyStr = packCMDList[1]  | 
|       | 
|     resultDict = {}  | 
|     queryKeyList = queryKeyStr.split('|')  | 
|     for queryKey in queryKeyList:  | 
|         if queryKey == 'herolv': #½ÇÉ«µÈ¼¶  | 
|             resultDict['herolv'] = curPlayer.GetLV()  | 
|         if queryKey == 'viplv': #vipµÈ¼¶  | 
|             resultDict['viplv'] = curPlayer.GetVIPLv()  | 
|         #if queryKey == 'rechargeOnce': #Ò»´ÎÐÔ³äֵǮ  | 
|         #    result = curPlayer.NomalDictGetProperty(ChConfig.Def_Player_RechargeOnce_Coin)  | 
|         #    resultDict['rechargeOnce'] = result  | 
| #        elif queryKey == 'horselv': #×øÆï½×¼¶  | 
| #            result = curPlayer.NomalDictGetProperty(ChConfig.Def_PDict_Horser_ClassLV, 0, ChConfig.Def_PDictType_Horse)  | 
| #            resultDict['horselv'] = result  | 
|         #elif queryKey == 'petlv': #×î¸ßµÄ³èÎï½×¼¶  | 
|         #    result = curPlayer.GetDictByKey(ChConfig.Def_PDict_BillboardPetClassLV)  | 
|         #    resultDict['petlv'] = result  | 
|         elif queryKey == 'officiallv': #¾ôλ½×¼¶  | 
|             result = curPlayer.GetOfficialRank()  | 
|             resultDict['officiallv'] = result  | 
|         #=======================================================================  | 
|         # elif queryKey == 'pluslv':  | 
|         #    #È«Éí12²¿Î»Ç¿»¯µÈ¼¶×îµÍµÄÒ»¼þ  | 
|         #    result = Operate_EquipPlus.GetMinPlusLV(curPlayer)  | 
|         #    resultDict['pluslv'] = result  | 
|         #=======================================================================  | 
|         elif queryKey == 'orangeEquip':  | 
|             equipPartIndexList = ChConfig.Pack_EquipPart_CanPlusStar.get(IPY_GameWorld.rptEquip, [])  | 
|             equipPack = curPlayer.GetItemManager().GetPack(IPY_GameWorld.rptEquip)  | 
|             result = -1 #È«Éí×îµÍ³Èɫװ±¸µÄ½×Êý  | 
|             for equipIndex in range(0, equipPack.GetCount()):  | 
|                 #·Ç¿ÉÇ¿»¯²¿Î»²»´¦Àí  | 
|                 if equipIndex not in equipPartIndexList:  | 
|                     continue  | 
|                 curEquip = equipPack.GetAt(equipIndex)  | 
|                 if curEquip.IsEmpty():  | 
|                     result = 0  | 
|                     break  | 
|                 if curEquip.GetItemColor() < ChConfig.Def_Quality_Orange:  | 
|                     result = 0  | 
|                     break  | 
|                 equipClassLV = ItemCommon.GetItemClassLV(curEquip)  | 
|                 if result == -1 or equipClassLV < result:  | 
|                     result = equipClassLV  | 
|             resultDict['orangeEquip'] = result  | 
|               | 
|       | 
|     resultMsg = str([packCMDList[0], resultDict, 'GMT_GetPlayerFuncInfo'])  | 
|     GameWorld.GetPlayerManager().GameServer_QueryPlayerResult(0, 0, 0, 'GMToolResult',   | 
|                                                               resultMsg, len(resultMsg))  | 
|     return ''  | 
|       | 
|       | 
|       | 
|       | 
|      |