From d2a7a62fce1fcbf25633c620e06f9c40d1d1bbde Mon Sep 17 00:00:00 2001 From: hxp <ale99527@vip.qq.com> Date: 星期五, 17 一月 2025 12:05:07 +0800 Subject: [PATCH] 1111 【越南】【英语】【BT】【砍树】增加击杀boss任务事件 --- ServerPython/CoreServerGroup/GameServer/Script/GameWorldLogic/GameWorldBoss.py | 32 +++++--------------------------- 1 files changed, 5 insertions(+), 27 deletions(-) diff --git a/ServerPython/CoreServerGroup/GameServer/Script/GameWorldLogic/GameWorldBoss.py b/ServerPython/CoreServerGroup/GameServer/Script/GameWorldLogic/GameWorldBoss.py index 20ffece..08e1c29 100644 --- a/ServerPython/CoreServerGroup/GameServer/Script/GameWorldLogic/GameWorldBoss.py +++ b/ServerPython/CoreServerGroup/GameServer/Script/GameWorldLogic/GameWorldBoss.py @@ -45,7 +45,6 @@ import CrossRealmMsg import CommFunc import PyGameData -import PlayerGeTui import IPY_GameServer import PlayerTeam import CrossBoss @@ -391,6 +390,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 +430,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 +455,6 @@ break #此处只处理复活的 - PlayerGeTui.GeTuiBossReborn(bossID) __SetIsAlive(bossID, 1) syncBOSSIDList.append(bossID) @@ -464,29 +465,6 @@ if syncBOSSIDList: Sync_BossInfo(None, syncBOSSIDList) return - - -#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) - def GetBossIsAliveOrCanReborn(bossID): ##BOSS是否活着或者可重生 @@ -802,7 +780,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