#!/usr/bin/python # -*- coding: GBK -*- #------------------------------------------------------------------------------- # ##@package Player.RemoteQuery.GY_Query_GMTExecfile # # @todo:Ö´ÐÐÃüÁîÎļþ # @author hxp # @date 2021-05-19 # @version 1.0 # # ÏêϸÃèÊö: Ö´ÐÐÃüÁîÎļþ # #------------------------------------------------------------------------------- #"""Version = 2021-05-19 11:00""" #------------------------------------------------------------------------------- import DataRecordPack import GameWorld import GMCommon import traceback import os #Âß¼­ÊµÏÖ ## ÇëÇóÂß¼­ # @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): curPlayer = GameWorld.GetPlayerManager().FindPlayerByID(query_ID) if not curPlayer or curPlayer.IsEmpty(): return pack_type = "GMT_Execfile" result = GMCommon.Def_Success orderId, cmdInfo = packCMDList backDir = os.path.abspath(os.path.dirname(os.path.dirname(__file__))) execfilepath = os.path.join(backDir, "GMTExec\\%s.py" % cmdInfo) GameWorld.Log("GMT_Execfile: %s" % execfilepath) if not os.path.exists(execfilepath): GMCommon.SendGMTResult(orderId, pack_type, GMCommon.Def_ParamErr, "%s is not exists!" % cmdInfo) return mapID = GameWorld.GetMap().GetMapID() resultDict = {"cmdInfo":cmdInfo, "mapID":mapID} try: execfile(execfilepath, globals(), locals()) except: errMsg = traceback.format_exc() GameWorld.ErrLog(errMsg) resultDict["errMsg"] = errMsg GMCommon.SendGMTResult(orderId, pack_type, GMCommon.Def_Unknow, resultDict) return DataRecordPack.DR_ToolGMOperate(query_ID, curPlayer.GetPlayerName(), curPlayer.GetAccID(), pack_type, resultDict) GMCommon.SendGMTResult(orderId, pack_type, GMCommon.Def_Success, resultDict) return #Ö´Ðнá¹û ## Ö´Ðнá¹û # @param curPlayer ·¢³öÇëÇóµÄÍæ¼Ò # @param callFunName ¹¦ÄÜÃû³Æ # @param funResult ²éѯµÄ½á¹û # @param tick µ±Ç°Ê±¼ä # @return None # @remarks º¯ÊýÏêϸ˵Ã÷. def DoResult(curPlayer, callFunName, funResult, tick): return