From 54257275bdaa30fb8d38da4144050511825d0d84 Mon Sep 17 00:00:00 2001 From: hxp <ale99527@vip.qq.com> Date: 星期四, 16 五月 2019 11:01:45 +0800 Subject: [PATCH] 3583 3524 【BUG】【2.0】妖王副本没有boss(进入副本如果boss已经被击杀则弹出结算界面) --- ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/GM/GMShell.py | 39 ++++++++++++++++++++++++++++++--------- 1 files changed, 30 insertions(+), 9 deletions(-) diff --git a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/GM/GMShell.py b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/GM/GMShell.py index 571488b..928baf0 100644 --- a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/GM/GMShell.py +++ b/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命令 -- Gitblit v1.8.0