From f38f1d13f83bd005eab8a101173c916d03163dc7 Mon Sep 17 00:00:00 2001 From: hxp <ale99527@vip.qq.com> Date: 星期四, 09 一月 2020 17:20:27 +0800 Subject: [PATCH] 8346 【恺英】【后端】协助系统(修复封魔坛协助进错线路bug) --- ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/GameWorldLogic/FBProcess/GameLogic_FamilyBoss.py | 25 +++++++++++++++++++------ 1 files changed, 19 insertions(+), 6 deletions(-) diff --git a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/GameWorldLogic/FBProcess/GameLogic_FamilyBoss.py b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/GameWorldLogic/FBProcess/GameLogic_FamilyBoss.py index 4c90d5a..44b0231 100644 --- a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/GameWorldLogic/FBProcess/GameLogic_FamilyBoss.py +++ b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/GameWorldLogic/FBProcess/GameLogic_FamilyBoss.py @@ -36,9 +36,10 @@ FB_Step_Open, # 地图开启 FB_Step_MapPrepare, # 地图准备 FB_Step_Fighting, # 战斗中 -FB_Step_LeaveTime, # 自由时间 +FB_Step_LeaveTime, # 自由时间(还可进入) +FB_Step_LeaveTime1, # 自由时间(不可进入) FB_Step_Over, # 副本关闭 -) = range(5) +) = range(6) #---战盟副本--- FamilyBossFB_Star = 'FamilyBossFB_Star' #评级 @@ -103,8 +104,8 @@ # 通知GameServer副本结束 gameFB = GameWorld.GetGameFB() familyID = gameFB.GetGameFBDictByKey(Map_FamilyBossFB_FamilyID) - msgStr = str([familyID, 0]) - GameWorld.GetPlayerManager().GameServer_QueryPlayerResult(0, 0, 0, 'FamilyBossFBState', msgStr, len(msgStr)) +# msgStr = str([familyID, 0]) +# GameWorld.GetPlayerManager().GameServer_QueryPlayerResult(0, 0, 0, 'FamilyBossFBState', msgStr, len(msgStr)) if familyID in PyGameData.g_familyBossOpenCountDict: PyGameData.g_familyBossOpenCountDict.pop(familyID) @@ -195,7 +196,9 @@ notifyTick = max(familyBossFBCfg[Def_Time_Fight] * 1000 - (tick - gameFB.GetFBStepTick()), 0) curPlayer.Sync_TimeTick(IPY_GameWorld.tttTowerTake, 0, notifyTick, True) __UpdFamilyBossFBStar(tick, True, curPlayer) - + elif fbStep == FB_Step_LeaveTime: + notifyTick = max(familyBossFBCfg[Def_Time_Leave] * 1000 - (tick - gameFB.GetFBStepTick()), 0) + curPlayer.Sync_TimeTick(IPY_GameWorld.tttLeaveMap, 0, notifyTick, True) DoFBHelp(curPlayer, tick) AddFamilyBossPlayer(curPlayer) @@ -214,6 +217,8 @@ elif fbStep == FB_Step_Fighting: __DoLogic_MapFighting(tick) elif fbStep == FB_Step_LeaveTime: + __DoLogic_MapLeave(tick) + elif fbStep == FB_Step_LeaveTime1: __DoLogic_MapLeave(tick) return @@ -289,8 +294,16 @@ return def __DoLogic_MapLeave(tick): + gameFB = GameWorld.GetGameFB() invadeCfg = GetFamilyBossFBTimeCfg() - if tick - GameWorld.GetGameFB().GetFBStepTick() < invadeCfg[Def_Time_Leave] * 1000: + remianTime = invadeCfg[Def_Time_Leave] * 1000 - (tick - GameWorld.GetGameFB().GetFBStepTick()) + if remianTime > 0: + fbStep = gameFB.GetFBStep() + if remianTime < 5000 and fbStep == FB_Step_LeaveTime: + gameFB.SetFBStep(FB_Step_LeaveTime1) + familyID = gameFB.GetGameFBDictByKey(Map_FamilyBossFB_FamilyID) + msgStr = str([familyID, 0]) + GameWorld.GetPlayerManager().GameServer_QueryPlayerResult(0, 0, 0, 'FamilyBossFBState', msgStr, len(msgStr)) return # 时间到,踢出还在副本的玩家等... -- Gitblit v1.8.0