From 23bf40a8f81f642e0c186306092d7364c6ba1afb Mon Sep 17 00:00:00 2001 From: hxp <ale99527@vip.qq.com> Date: 星期四, 03 六月 2021 11:25:52 +0800 Subject: [PATCH] 8970 【后端】【btzf】【bt】【bt2】【主干】装备格数新增到16阶(装备背包格子加到203格;穿装备无格子报错防范;GM广播时间格式错误报错防范) --- ServerPython/CoreServerGroup/GameServer/Script/GameWorldLogic/GameWorldBoss.py | 47 +++++++++++++++++++++++++++-------------------- 1 files changed, 27 insertions(+), 20 deletions(-) diff --git a/ServerPython/CoreServerGroup/GameServer/Script/GameWorldLogic/GameWorldBoss.py b/ServerPython/CoreServerGroup/GameServer/Script/GameWorldLogic/GameWorldBoss.py index bda5d47..79bce76 100644 --- a/ServerPython/CoreServerGroup/GameServer/Script/GameWorldLogic/GameWorldBoss.py +++ b/ServerPython/CoreServerGroup/GameServer/Script/GameWorldLogic/GameWorldBoss.py @@ -391,6 +391,9 @@ # % (bossInfoObj.BossID, bossInfoObj.IsAlive, bossInfoObj.KillRecord, # killedTime, bossInfoObj.RefreshSecond)) + if not bossInfo.BossInfoList: + return + bossInfo.BossCnt = len(bossInfo.BossInfoList) if not curPlayer: # 全服广播在线玩家 @@ -429,6 +432,9 @@ if mapID in ChConfig.Def_CrossMapIDList: continue bossPrizeRec = __GetBossRecDataByID(bossID) + refreshTimeStr = ipyData.GetRefreshTime() + if not refreshTimeStr or refreshTimeStr == "0": + continue killedTime = bossPrizeRec.GetValue2() refreshTime = __GetBossRefreshTime(bossID) PyGameData.g_sortBOSSRefreshList.append([bossID, killedTime, refreshTime]) @@ -450,7 +456,7 @@ break #此处只处理复活的 - PlayerGeTui.GeTuiBossReborn(bossID) + #PlayerGeTui.GeTuiBossReborn(bossID) __SetIsAlive(bossID, 1) syncBOSSIDList.append(bossID) @@ -465,24 +471,25 @@ #BOSS个推提前倒计时通知处理, 复活由DoCheckWorldBossReborn处理 def ProcessBossGeTui(tick): - if not GameWorld.SetWorldDictKey(ChConfig.TYPE_WorldBossGeTuiTick, tick): - #间隔未到 - return - if GameWorld.IsCrossServer(): - return - curTime = int(time.time()) - for bossInfo in PyGameData.g_sortBOSSRefreshList: - bossID, killedTime, refreshTime = bossInfo - isAlive = __GetIsAlive(bossID) - if isAlive: - #GameWorld.DebugLog(" bossID=%s,未被击杀!" % bossID) - continue - rebornSecond = max(0, refreshTime - (curTime - killedTime)) - if not rebornSecond: - #不处理复活BOSS - continue - - PlayerGeTui.GeTuiBoss(bossID, rebornSecond) + return +# if not GameWorld.SetWorldDictKey(ChConfig.TYPE_WorldBossGeTuiTick, tick): +# #间隔未到 +# return +# if GameWorld.IsCrossServer(): +# return +# curTime = int(time.time()) +# for bossInfo in PyGameData.g_sortBOSSRefreshList: +# bossID, killedTime, refreshTime = bossInfo +# isAlive = __GetIsAlive(bossID) +# if isAlive: +# #GameWorld.DebugLog(" bossID=%s,未被击杀!" % bossID) +# continue +# rebornSecond = max(0, refreshTime - (curTime - killedTime)) +# if not rebornSecond: +# #不处理复活BOSS +# continue +# +# PlayerGeTui.GeTuiBoss(bossID, rebornSecond) def GetBossIsAliveOrCanReborn(bossID): @@ -799,7 +806,7 @@ cnt += 1 savaData += attentionData.getBuffer() - GameWorld.Log("SaveBossAttention cnt :%s" % cnt) + GameWorld.Log("SaveBossAttention cnt :%s len=%s" % (cnt, len(savaData))) return CommFunc.WriteDWORD(cntData, cnt) + savaData # 从数据库载入数据 -- Gitblit v1.8.0