From 8ed75f7d47a7624d8b0edde77a4f1106743f1d5c Mon Sep 17 00:00:00 2001 From: hxp <ale99527@vip.qq.com> Date: 星期二, 16 十月 2018 11:22:58 +0800 Subject: [PATCH] 2097 【BUG】当仙盟联赛没有正常结算时,重新开服可能导致下一次联赛无法正常开启 --- ServerPython/CoreServerGroup/GameServer/Script/GameWorldLogic/GameWorldFamilyWar.py | 12 ++++++++++-- 1 files changed, 10 insertions(+), 2 deletions(-) diff --git a/ServerPython/CoreServerGroup/GameServer/Script/GameWorldLogic/GameWorldFamilyWar.py b/ServerPython/CoreServerGroup/GameServer/Script/GameWorldLogic/GameWorldFamilyWar.py index d5a9976..794ca6f 100644 --- a/ServerPython/CoreServerGroup/GameServer/Script/GameWorldLogic/GameWorldFamilyWar.py +++ b/ServerPython/CoreServerGroup/GameServer/Script/GameWorldLogic/GameWorldFamilyWar.py @@ -295,7 +295,7 @@ # 下周分组定级 elif stateValue == FamilyWarState_NextWeekGroupRank: pass - #废弃该阶段逻辑 + #废弃该阶段逻辑,因为不再支持单次活动周期跨天,所以改为过天时触发检查一下即可 #DoLogicFamilyWar_NextWeekGroupRank() else: @@ -729,6 +729,10 @@ return +def DoOnDay(): + DoLogicFamilyWar_NextWeekGroupRank() + return + def DoLogicFamilyWar_NextWeekGroupRank(): ''' 下周分组定级 最低级别组: 不设置联赛级别, 下周最低级别组名单由其他无联赛级别仙盟总战力排行得到 @@ -737,7 +741,7 @@ # 这里补触发一次,防止总结算的时候服务器异常没有成功结算 # 或 次轮没有比赛导致没有结算(次轮的仙盟都解散了才可能出现,一般不可能出现,可不考虑,如果真出现了,会在周六凌晨结算) __DoLogicFamilyWarAllOver() - PlayerFamily.UpdFamilyWarRank() + #UpdFamilyWarRank() return def UpdFamilyWarRank(): @@ -790,6 +794,10 @@ warBatRecList = universalRecMgr.GetTypeList(ShareDefine.Def_UniversalGameRecType_FamilyWarBattle) if not warBatRecList.Count(): GameWorld.Log("没有仙盟联赛比赛记录,不需要结算!") + curRoundNum = PlayerDBGSEvent.GetDBGSTrig_ByKey(PlayerDBGSEvent.Def_FamilyWar_Round) + PlayerDBGSEvent.SetDBGSTrig_ByKey(PlayerDBGSEvent.Def_FamilyWar_Round, 0) # 重置对战轮次 + PlayerDBGSEvent.SetDBGSTrig_ByKey(PlayerDBGSEvent.Def_FamilyWar_AllOver, 1) # 设置已经处理过总结算 + GameWorld.Log("重置轮次信息,设置已结算!curRoundNum=%s" % curRoundNum) return for i in xrange(warBatRecList.Count()): recData = warBatRecList.At(i) -- Gitblit v1.8.0