9687 【后端】【越南】【主干】【BT7】野外根据境界动态刷怪(修复切分线境界难度刷怪异常bug)
2个文件已修改
19 ■■■■■ 已修改文件
ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/NPC/NPCRealmRefresh.py 17 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/PyGameData.py 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
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):
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 # 常规地图分线人数是否有变更需要通知