#!/usr/bin/python # -*- coding: GBK -*- #------------------------------------------------------------------------------- # #------------------------------------------------------------------------------- # ##@package Player.RemoteQuery.GY_Query_NPCInfo # # @todo:²éѯµØÍ¼NPCÐÅÏ¢ # @author hxp # @date 2014-12-17 # @version 1.1 # # @change: "2015-01-16 17:00" hxp µØÍ¼ÐÅÏ¢²éѯÔö¼ÓÏß·id # # ÏêϸÃèÊö: ²éѯµØÍ¼NPCÐÅÏ¢ # #--------------------------------------------------------------------- """Version = 2015-01-16 17:00""" #µ¼Èë import NPCCommon import GameWorld import IPY_GameWorld #--------------------------------------------------------------------- #È«¾Ö±äÁ¿ #--------------------------------------------------------------------- #--------------------------------------------------------------------- #Âß¼­ÊµÏÖ ## ÇëÇóÂß¼­ # @param query_Type ÇëÇóÀàÐÍ # @param query_ID ÇëÇóµÄÍæ¼ÒID # @param packCMDList ·¢°üÃüÁî [ ] # @param tick µ±Ç°Ê±¼ä # @return "True" or "False" or "" # @remarks º¯ÊýÏêϸ˵Ã÷. def DoLogic(query_Type, query_ID, packCMDList, tick): GameWorld.DebugLog("GY_Query_NPCInfo DoLogic() query_Type=%s,query_ID=%s,packCMDList=%s,tick=%s" % \ (query_Type, query_ID, packCMDList, tick)) if not packCMDList or len(packCMDList) < 3: GameWorld.DebugLog(" DoLogic() return []") return [] tagMapID = packCMDList[0] # Ä¿±êµØÍ¼id tagLineID = packCMDList[1] # Ïß·id queryNPCIDList = packCMDList[2] # ²éѯµÄNPCIDÁбí npcInfoDict = NPCCommon.GetNPCInfo(queryNPCIDList, tick) gameWorld = IPY_GameWorld.IPY_GameWorld(tagLineID) playerManager = gameWorld.GetMapCopyPlayerManagerByFbIndex(tagLineID) playerCnt = 0 if playerManager: playerCnt = playerManager.GetPlayerCount() return [tagMapID, playerCnt, npcInfoDict] #--------------------------------------------------------------------- #Ö´Ðнá¹û ## Ö´Ðнá¹û # @param curPlayer ·¢³öÇëÇóµÄÍæ¼Ò # @param callFunName ¹¦ÄÜÃû³Æ # @param funResult ²éѯµÄ½á¹û # @param tick µ±Ç°Ê±¼ä # @return None # @remarks º¯ÊýÏêϸ˵Ã÷. def DoResult(curPlayer, callFunName, funResult, tick): GameWorld.DebugLog("GY_Query_NPCInfo DoResult() funResult=%s" % str(funResult)) #»¹Ô­¸ñʽ '[]' -> [] funResult = eval(funResult) if not funResult or len(funResult) < 3: return tagMapID = funResult[0] playerCnt = funResult[1] npcInfoDict = funResult[2] # ·¢°ü NPCCommon.SyncNPCInfo(curPlayer, tagMapID, playerCnt, npcInfoDict) return