From 2ba465b561623032a4a650f303aa600054187164 Mon Sep 17 00:00:00 2001
From: hxp <ale99527@vip.qq.com>
Date: 星期二, 14 八月 2018 20:59:30 +0800
Subject: [PATCH] Fix: 2529 【测试】组队系统在某些情况下可能导致队伍进入错误的副本线路
---
ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/GameWorldLogic/GameWorldProcess.py | 8 ++++++--
ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/GameWorldLogic/FBProcess/FBCommon.py | 12 +++++++++++-
2 files changed, 17 insertions(+), 3 deletions(-)
diff --git a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/GameWorldLogic/FBProcess/FBCommon.py b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/GameWorldLogic/FBProcess/FBCommon.py
index 0afee67..9f78fe5 100644
--- a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/GameWorldLogic/FBProcess/FBCommon.py
+++ b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/GameWorldLogic/FBProcess/FBCommon.py
@@ -943,7 +943,17 @@
if gameWorld.GetCloseFBTick() > 0:
#不可进入
return False
-
+
+ if askStruct.GetTeamLV() == IPY_GameWorld.tmlLeader:
+ '''原因:
+ 队长退出组队副本,其他队员还在里面,此时副本不会被关闭
+ 队长在队伍ID不变的情况下又组了其他人,然后又想进去该副本,那么这时会进入之前队员还在的那条队伍分线,导致队伍线路错乱
+ 所以此处不允许该队长进入,并提示其等待或重新建队进入
+
+ FBinCantEnter 副本清理中,请等待关闭或重新创建队伍进入
+ '''
+ return False, "FBinCantEnter"
+
#副本在等待关闭状态不允许玩家进入
return (gameWorld.GetOpenState() != IPY_GameWorld.fbosWaitForClose)
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 b399c4a..e3ddad5 100644
--- a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/GameWorldLogic/GameWorldProcess.py
+++ b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/GameWorldLogic/GameWorldProcess.py
@@ -422,9 +422,13 @@
return IPY_GameWorld.cmePlayerFull
#检查副本状态是否可以登录
- if not FBCommon.CheckFBStateCanEnter(askStruct):
+ checkRet = FBCommon.CheckFBStateCanEnter(askStruct)
+ if type(checkRet) not in [tuple, list]:
+ checkRet = (checkRet, "FB_andyshao_861048")
+ canEnter, notifyMark = checkRet
+ if not canEnter:
#副本关闭中, 请稍后
- return IPY_GameWorld.cmeCustom, 'FB_andyshao_861048'
+ return IPY_GameWorld.cmeCustom, notifyMark
changeMapAskResult = FBLogic.OnChangeMapAsk(askStruct, tick)
--
Gitblit v1.8.0