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