From 593c79cbe45d9a6722f57d0e0287de3b11a79917 Mon Sep 17 00:00:00 2001
From: hxp <ale99527@vip.qq.com>
Date: 星期日, 09 十月 2022 16:26:58 +0800
Subject: [PATCH] 9687 【后端】【越南】【主干】【BT7】野外根据境界动态刷怪(修复切分线境界难度刷怪异常bug)
---
ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/NPC/NPCRealmRefresh.py | 17 +++++++++++------
ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/PyGameData.py | 2 +-
2 files changed, 12 insertions(+), 7 deletions(-)
diff --git a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/NPC/NPCRealmRefresh.py b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/NPC/NPCRealmRefresh.py
index 7073fd2..faf9446 100644
--- a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/NPC/NPCRealmRefresh.py
+++ b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/NPC/NPCRealmRefresh.py
@@ -72,10 +72,12 @@
def GetTagNPCRefresh(curNPC):
realmDiff = curNPC.GetSightLevel()
refreshID = curNPC.GetDictByKey(ChConfig.Def_NPC_Dict_SummonRefreshID)
+ lineID = GameWorld.GetGameWorld().GetLineID()
+ key = (lineID, realmDiff)
obj = None
- if realmDiff in PyGameData.g_realmDiffNPCRefresh:
- mapNPCRefresh = PyGameData.g_realmDiffNPCRefresh[realmDiff]
+ if key in PyGameData.g_realmDiffNPCRefresh:
+ mapNPCRefresh = PyGameData.g_realmDiffNPCRefresh[key]
if refreshID in mapNPCRefresh:
obj = mapNPCRefresh[refreshID]
else:
@@ -88,8 +90,11 @@
''' 加载本地图 tagNPCRefresh.txt 刷怪规则
'''
- if realm in PyGameData.g_realmDiffNPCRefresh:
- return PyGameData.g_realmDiffNPCRefresh[realm]
+ lineID = GameWorld.GetGameWorld().GetLineID()
+ key = (lineID, realm)
+
+ if key in PyGameData.g_realmDiffNPCRefresh:
+ return PyGameData.g_realmDiffNPCRefresh[key]
filePath = os.path.join(ChConfig.GetDBPath(), "SysDB", "tagNPCRefresh.txt")
if not os.path.isfile(filePath):
@@ -139,8 +144,8 @@
GameWorld.ErrLog("tagNPCRefresh.txt line(%s) error." % (line + 1))
continue
- PyGameData.g_realmDiffNPCRefresh[realm] = mapNPCRefresh
- GameWorld.Log("LoadMapRealmNPCRefresh mapID=%s,realm=%s,refreshIDList=%s" % (curMapID, realm, mapNPCRefresh.keys()))
+ PyGameData.g_realmDiffNPCRefresh[key] = mapNPCRefresh
+ GameWorld.Log("LoadMapRealmNPCRefresh mapID=%s,lineID=%s,realm=%s,refreshIDList=%s" % (curMapID, lineID, realm, mapNPCRefresh.keys()))
return mapNPCRefresh
def ProcessRealmNPCRefresh(gameWorld, tick):
diff --git a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/PyGameData.py b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/PyGameData.py
index c53fa23..85ff7dd 100644
--- a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/PyGameData.py
+++ b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/PyGameData.py
@@ -16,7 +16,7 @@
#-------------------------------------------------------------------------------
g_mapIDTxtInfo = {} # MapID.txt 加载的信息
g_realmDiffPlayerDict = {} # 境界难度玩家信息 {realm:[playerID, ...], ...}
-g_realmDiffNPCRefresh = {} # {realm:{refreshID:tagNPCRefresh, ...}}
+g_realmDiffNPCRefresh = {} # {(lineID, realm):{refreshID:tagNPCRefresh, ...}}
g_commMapLinePlayerCountDict = {} # 常规地图分线人数 {mapID:{lineID:人数, ...}}
g_needRefreshMapServerState = True # 常规地图分线人数是否有变更需要通知
--
Gitblit v1.8.0