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