From 05fa532f5bd8b842208fa4a2768f5bcb97f60cff Mon Sep 17 00:00:00 2001
From: hxp <ale99527@vip.qq.com>
Date: 星期一, 23 五月 2022 17:00:34 +0800
Subject: [PATCH] 9415 【BT】【后端】古神战场(进场设置仙盟ID为0,防止同盟玩家在不同阵营时无法选中PK)

---
 ServerPython/CoreServerGroup/GameServer/Script/GameWorldLogic/GameWorldActionControl.py |   14 ++++++++++++--
 1 files changed, 12 insertions(+), 2 deletions(-)

diff --git a/ServerPython/CoreServerGroup/GameServer/Script/GameWorldLogic/GameWorldActionControl.py b/ServerPython/CoreServerGroup/GameServer/Script/GameWorldLogic/GameWorldActionControl.py
index 1a81493..bc415ec 100644
--- a/ServerPython/CoreServerGroup/GameServer/Script/GameWorldLogic/GameWorldActionControl.py
+++ b/ServerPython/CoreServerGroup/GameServer/Script/GameWorldLogic/GameWorldActionControl.py
@@ -65,7 +65,10 @@
         # 跨服不处理运营活动
         return
     
-    isReload, OperationActionInfo = __GetOperationActionInfo()
+    # 玩家登录的不触发重载活动,不然刚好在0点服务器处理OnDay之前登录的时候会有问题
+    isReload, OperationActionInfo = __GetOperationActionInfo(needReload=False)
+    if not OperationActionInfo:
+        return
     operationActionDict = OperationActionInfo[OperationAction_TodayInfo]
     
     if isReload:
@@ -189,7 +192,7 @@
                       % (actName, cfgID, recStartDateStr, recEndDateStr, recLimitWorldLV, recWorldLV))
     return actWorldLVLimitInfo
 
-def __GetOperationActionInfo(isRefreshState=True):
+def __GetOperationActionInfo(isRefreshState=True, needReload=True):
     # @return: isReload, OperationActionInfo
     
     key = "OperationActionInfo"
@@ -203,6 +206,9 @@
     reloadSign = [openServerDay, isMixServer, mixServerDay, reloadSignHour]
     if OperationActionInfo and OperationActionInfo[OperationAction_ReloadSign] == reloadSign:
         #GameWorld.DebugLog("已经加载过本日运营活动处理信息!openServerDay=%s" % openServerDay)
+        return False, OperationActionInfo
+    
+    if not needReload:
         return False, OperationActionInfo
     
     # 因为后面的时间判断都是精确到分的,而处理此逻辑的时候可能不是0秒,所以这里的datetime取当前时间精确到分的
@@ -969,6 +975,10 @@
         dailyIpyData = ipyDataMgr.GetDailyActionByIndex(i)
         dailyID = dailyIpyData.GetDailyID()
         
+        if dailyID in [ShareDefine.DailyActionID_CrossBattlefield]:
+            GameWorld.Log("    不需要处理的日常活动! dailyID=%s" % dailyID)
+            continue
+        
         # 是当天开服天定制活动的不处理常规活动
         if dailyID in customDailyIDList:
             GameWorld.Log("    常规活动ID配置是今天的定制活动ID,不处理!: dailyID=%s" % dailyID)

--
Gitblit v1.8.0