#!/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.GetItemQuality() < 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 ''
|
|
|
|
|
|