ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/GM/GMShell.py
@@ -30,6 +30,7 @@
import traceback
import PlayerTJG
import FBLogic
import GameObj
#---------------------------------------------------------------------
#---------------------------------------------------------------------
@@ -103,14 +104,10 @@
            del inputList[0]
            #把剩余参数转换为整型
            for i in range(0, len(inputList)):
                if i == 0 and callFunName in ["GetPlayerDict", "SetPlayerDict", "CTG"]:
                    continue
                if i == 1 and callFunName in ["SetMissionDict"]:
                    continue
                value = GameWorld.ToIntDef(inputList[i], None)
                if value == None:
                    GameWorld.DebugAnswer(curPlayer, "参数错误, 必须为纯数字!")
                    return
                    #GameWorld.DebugAnswer(curPlayer, "参数错误, 必须为纯数字!")
                    continue
                inputList[i] = value
                
            callFunc(curPlayer, inputList)
@@ -168,13 +165,37 @@
            DR_UseGMCMD(curPlayer, inputStr)
            return
        
        # GameObj 的 Get、Set函数
        if hasattr(GameObj, callFunName):
            callObj = getattr(GameObj, callFunName)
            argcount = callObj.func_code.co_argcount # 函数参数个数
            if argcount == 1 and callFunName.startswith("Get"):
                value = callObj(curPlayer)
            elif argcount == 2 and callFunName.startswith("Set"):
                if len(inputList) < 2:
                    GameWorld.DebugAnswer(curPlayer, "必须设定一定参数值")
                    return
                value = GameWorld.ToIntDef(inputList[1], None)
                if value == None:
                    GameWorld.DebugAnswer(curPlayer, "参数错误, 必须为纯数字!")
                    return
                callObj(curPlayer, value)
            else:
                GameWorld.DebugAnswer(curPlayer, "不支持该命令!GameObj.%s" % callFunName)
                return
            GameWorld.DebugAnswer(curPlayer, "%s : %s" % (callFunName, value))
            DR_UseGMCMD(curPlayer, inputStr)
            return
        curPlayer.GameServer_GMCmd(inputStr)
    except BaseException:
        GameWorld.DebugAnswer(curPlayer, "执行GM命令错误, 请查看所在地图日志!")
        errorMsg = str(traceback.format_exc())
        GameWorld.ErrLog('GM命令错误 - > %s' % errorMsg, curPlayer.GetPlayerID())
        if GameWorld.GetGameWorld().GetDebugLevel():
            raise Exception(errorMsg)
        #if GameWorld.GetGameWorld().GetDebugLevel():
        #    raise Exception(errorMsg)
    return
## 使用GM命令流向
@@ -259,7 +280,7 @@
    curPlayer = GameWorld.GetPlayerManager().GetPlayerByIndex(index)
    
    if not curPlayer.GetMapLoadOK():
        #未读取地图成功,不让用
        GameWorld.DebugLog("    未读取地图成功,不让用")
        return
    
    #判断FB中是否可使用GM命令