From 5a7a39b5800cc9825387e0a5ff6a4c9eeaacc3fb Mon Sep 17 00:00:00 2001
From: hxp <ale99527@vip.qq.com>
Date: 星期四, 30 八月 2018 15:35:49 +0800
Subject: [PATCH] Fix: 修复服务器启动报错; 读功能配置表错误增加详细错误日志输出;
---
PySysDB/生成IpyGameDataPY/IpyGameDataPYTemp.py | 36 ++++++++++--------
ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/IpyGameDataPY.py | 36 ++++++++++--------
ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/NPC/ChNPC.py | 10 ++--
3 files changed, 45 insertions(+), 37 deletions(-)
diff --git "a/PySysDB/\347\224\237\346\210\220IpyGameDataPY/IpyGameDataPYTemp.py" "b/PySysDB/\347\224\237\346\210\220IpyGameDataPY/IpyGameDataPYTemp.py"
index 940810b..2a912e4 100644
--- "a/PySysDB/\347\224\237\346\210\220IpyGameDataPY/IpyGameDataPYTemp.py"
+++ "b/PySysDB/\347\224\237\346\210\220IpyGameDataPY/IpyGameDataPYTemp.py"
@@ -153,22 +153,26 @@
for i, strValue in enumerate(rowList):
if i == 0:
continue
- fieldName = fieldList[i][1]
- strValue = strValue.lstrip().rstrip()
- if strValue.isdigit():
- configValue = int(strValue)
- elif (strValue.startswith("{") and strValue.endswith("}")) \
- or (strValue.startswith("[") and strValue.endswith("]")) \
- or (strValue.startswith("(") and strValue.endswith(")")):
- configValue = eval(strValue)
- elif "_" in strValue and type(self.__StrToDict(strValue)) == dict:
- configValue = self.__StrToDict(strValue)
- elif ChConfig.Def_Str_Montant in strValue:
- configValue = eval("(%s,)" % strValue.replace(ChConfig.Def_Str_Montant, ","))
- elif strValue in ["-", ""]:
- configValue = ""
- else:
- configValue = self.__ToFloat(strValue)
+ try:
+ fieldName = fieldList[i][1]
+ strValue = strValue.lstrip().rstrip()
+ if strValue.isdigit():
+ configValue = int(strValue)
+ elif (strValue.startswith("{") and strValue.endswith("}")) \
+ or (strValue.startswith("[") and strValue.endswith("]")) \
+ or (strValue.startswith("(") and strValue.endswith(")")):
+ configValue = eval(strValue)
+ elif "_" in strValue and type(self.__StrToDict(strValue)) == dict:
+ configValue = self.__StrToDict(strValue)
+ elif ChConfig.Def_Str_Montant in strValue:
+ configValue = eval("(%s,)" % strValue.replace(ChConfig.Def_Str_Montant, ","))
+ elif strValue in ["-", ""]:
+ configValue = ""
+ else:
+ configValue = self.__ToFloat(strValue)
+ except BaseException:
+ ErrLog("SetIpyDataError: tableName=%s,key=%s,i=%s,value=%s" % ("FuncConfig", key, i, strValue))
+ raise
setattr(funcConfigObj, fieldName, configValue)
self.ipyFuncConfigDict[key] = funcConfigObj
return
diff --git a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/IpyGameDataPY.py b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/IpyGameDataPY.py
index a3e0660..490a5ec 100644
--- a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/IpyGameDataPY.py
+++ b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/IpyGameDataPY.py
@@ -3212,22 +3212,26 @@
for i, strValue in enumerate(rowList):
if i == 0:
continue
- fieldName = fieldList[i][1]
- strValue = strValue.lstrip().rstrip()
- if strValue.isdigit():
- configValue = int(strValue)
- elif (strValue.startswith("{") and strValue.endswith("}")) \
- or (strValue.startswith("[") and strValue.endswith("]")) \
- or (strValue.startswith("(") and strValue.endswith(")")):
- configValue = eval(strValue)
- elif "_" in strValue and type(self.__StrToDict(strValue)) == dict:
- configValue = self.__StrToDict(strValue)
- elif ChConfig.Def_Str_Montant in strValue:
- configValue = eval("(%s,)" % strValue.replace(ChConfig.Def_Str_Montant, ","))
- elif strValue in ["-", ""]:
- configValue = ""
- else:
- configValue = self.__ToFloat(strValue)
+ try:
+ fieldName = fieldList[i][1]
+ strValue = strValue.lstrip().rstrip()
+ if strValue.isdigit():
+ configValue = int(strValue)
+ elif (strValue.startswith("{") and strValue.endswith("}")) \
+ or (strValue.startswith("[") and strValue.endswith("]")) \
+ or (strValue.startswith("(") and strValue.endswith(")")):
+ configValue = eval(strValue)
+ elif "_" in strValue and type(self.__StrToDict(strValue)) == dict:
+ configValue = self.__StrToDict(strValue)
+ elif ChConfig.Def_Str_Montant in strValue:
+ configValue = eval("(%s,)" % strValue.replace(ChConfig.Def_Str_Montant, ","))
+ elif strValue in ["-", ""]:
+ configValue = ""
+ else:
+ configValue = self.__ToFloat(strValue)
+ except BaseException:
+ ErrLog("SetIpyDataError: tableName=%s,key=%s,i=%s,value=%s" % ("FuncConfig", key, i, strValue))
+ raise
setattr(funcConfigObj, fieldName, configValue)
self.ipyFuncConfigDict[key] = funcConfigObj
return
diff --git a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/NPC/ChNPC.py b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/NPC/ChNPC.py
index 3ef7bf5..3d2fdf0 100644
--- a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/NPC/ChNPC.py
+++ b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/NPC/ChNPC.py
@@ -140,15 +140,15 @@
gameWorldIndex = GameWorld.GetGameWorld().GetCurGameWorldIndex()
GameWorld.Log("NPC Initing...FB %d" % gameWorldIndex)
mapID = GameWorld.GetMap().GetMapID()
+ hideNPCIDList = [] # 需要隐藏的NPCID列表
# 由于某些常规线boss区域要重复利用,所以活动线独立,不开放给玩家,仅特定活动时系统传入
activityMapLineDict = IpyGameDataPY.GetFuncEvalCfg("MapLine", 2, {})
if mapID in activityMapLineDict:
activityLineID = max(0, activityMapLineDict[mapID] - 1)
- hideNPCIDList = [] # 需要隐藏的NPCID列表
- if gameWorldIndex == activityLineID:
- hideNPCIDList = IpyGameDataPY.GetFuncEvalCfg("MapLine", 3)
- GameWorld.Log(" hideNPCIDList=%s" % hideNPCIDList)
-
+ if gameWorldIndex == activityLineID:
+ hideNPCIDList = IpyGameDataPY.GetFuncEvalCfg("MapLine", 3)
+ GameWorld.Log(" hideNPCIDList=%s" % hideNPCIDList)
+
gameNPC = GameWorld.GetNPCManager()
npcCount = gameNPC.GetNPCCount()
for i in xrange(npcCount):
--
Gitblit v1.8.0