From ef0307df448a1187d0caecc03121bec88d4d2cad Mon Sep 17 00:00:00 2001 From: hxp <ale99527@vip.qq.com> Date: 星期日, 28 四月 2019 11:42:03 +0800 Subject: [PATCH] 3406 【2.0】妖王副本生存时间到后boss未击杀,无法再次进入。 --- ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/GameWorldLogic/GameWorldProcess.py | 14 ++++++++------ 1 files changed, 8 insertions(+), 6 deletions(-) diff --git a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/GameWorldLogic/GameWorldProcess.py b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/GameWorldLogic/GameWorldProcess.py index 7731ca7..747aea3 100644 --- a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/GameWorldLogic/GameWorldProcess.py +++ b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/GameWorldLogic/GameWorldProcess.py @@ -77,8 +77,7 @@ #调用副本开启触发器 FBLogic.OnOpenFB(tick) - if gameWorld.GetMapID() in ChConfig.Def_CrossDynamicLineMap: - GameServer_DynamicLineMapStateChange(gameWorld, IPY_GameWorld.fbosOpen) + GameServer_DynamicLineMapStateChange(gameWorld, IPY_GameWorld.fbosOpen) return ## 副本关闭 @@ -178,14 +177,16 @@ #根据是否收缩型FB处理 FreeOrClearFBByAutoSize(gameWorld) - if gameWorld.GetMapID() in ChConfig.Def_CrossDynamicLineMap: - GameServer_DynamicLineMapStateChange(gameWorld, IPY_GameWorld.fbosClosed) + GameServer_DynamicLineMapStateChange(gameWorld, IPY_GameWorld.fbosClosed) gameWorld.SetPropertyID(0) PyGameData.g_crossPlayerServerGroupIDInfo.pop(copyMapID, None) return def GameServer_DynamicLineMapStateChange(gameWorld, state): + if gameWorld.GetMapID() not in ChConfig.Def_CrossDynamicLineMap: + return + realMapID, copyMapID = gameWorld.GetRealMapID(), gameWorld.GetCopyMapID() if state == IPY_GameWorld.fbosWaitForClose: crossFuncLineDataCache = FBLogic.OnGetCrossFuncLineDataCache() @@ -195,6 +196,7 @@ msgInfo = str(msgInfo) GameWorld.GetPlayerManager().GameServer_QueryPlayerResult(0, 0, 0, "DynamicLineMapStateChange", msgInfo, len(msgInfo)) + GameWorld.Log("DynamicLineMapStateChange realMapID=%s, copyMapID=%s, PropertyID=%s, state=%s" % (realMapID, copyMapID, gameWorld.GetPropertyID(), state)) return ##根据表中的收缩类型释放或者清空副本状态 @@ -276,6 +278,7 @@ ##踢人 __KickAllPlayerAndCloseFB(gameWorld, tick) + GameServer_DynamicLineMapStateChange(gameWorld, IPY_GameWorld.fbosClosed) return ## 副本踢出玩家逻辑 @@ -632,8 +635,7 @@ GameWorld.GetGameWorld().SetCloseFBTick(tick) gameWorld = GameWorld.GetGameWorld() - if gameWorld.GetMapID() in ChConfig.Def_CrossDynamicLineMap: - GameServer_DynamicLineMapStateChange(gameWorld, IPY_GameWorld.fbosWaitForClose) + GameServer_DynamicLineMapStateChange(gameWorld, IPY_GameWorld.fbosWaitForClose) return ## 玩家离开地图时,尝试关闭副本 -- Gitblit v1.8.0