From 63d62011dc3639c1b6a0ea3f920e9ec6bada71f2 Mon Sep 17 00:00:00 2001 From: hxp <ale99527@vip.qq.com> Date: 星期三, 10 三月 2021 18:13:39 +0800 Subject: [PATCH] 8650 【主干】【BT2】活动规则优化(充值返利仙玉 移到主干,为节日活动类型,改为仅直充仙玉有效,配表为仙玉); --- ServerPython/CoreServerGroup/GameServer/Script/GameWorldLogic/GameWorldBoss.py | 46 +++++++++++++++++++++++++--------------------- 1 files changed, 25 insertions(+), 21 deletions(-) diff --git a/ServerPython/CoreServerGroup/GameServer/Script/GameWorldLogic/GameWorldBoss.py b/ServerPython/CoreServerGroup/GameServer/Script/GameWorldLogic/GameWorldBoss.py index 20ffece..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: # 全服广播在线玩家 @@ -428,10 +431,10 @@ mapID = ipyData.GetMapID() if mapID in ChConfig.Def_CrossMapIDList: continue + bossPrizeRec = __GetBossRecDataByID(bossID) refreshTimeStr = ipyData.GetRefreshTime() if not refreshTimeStr or refreshTimeStr == "0": continue - bossPrizeRec = __GetBossRecDataByID(bossID) killedTime = bossPrizeRec.GetValue2() refreshTime = __GetBossRefreshTime(bossID) PyGameData.g_sortBOSSRefreshList.append([bossID, killedTime, refreshTime]) @@ -453,7 +456,7 @@ break #此处只处理复活的 - PlayerGeTui.GeTuiBossReborn(bossID) + #PlayerGeTui.GeTuiBossReborn(bossID) __SetIsAlive(bossID, 1) syncBOSSIDList.append(bossID) @@ -468,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): @@ -802,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