From a49287c1591671d95952114f04db742c1507de13 Mon Sep 17 00:00:00 2001
From: hxp <ale99527@vip.qq.com>
Date: 星期二, 20 八月 2024 15:01:53 +0800
Subject: [PATCH] 10223 10238 10241 【越南】【砍树】【主干】【港台】仙匣秘境、骑宠养成、古宝养成增加可配置是否关联跨服活动;
---
ServerPython/CoreServerGroup/GameServer/Script/GameWorldLogic/GameWorldActionControl.py | 43 ++++++++++++++++++++++++++++++++++++++++---
1 files changed, 40 insertions(+), 3 deletions(-)
diff --git a/ServerPython/CoreServerGroup/GameServer/Script/GameWorldLogic/GameWorldActionControl.py b/ServerPython/CoreServerGroup/GameServer/Script/GameWorldLogic/GameWorldActionControl.py
index 046d843..6ffbdec 100644
--- a/ServerPython/CoreServerGroup/GameServer/Script/GameWorldLogic/GameWorldActionControl.py
+++ b/ServerPython/CoreServerGroup/GameServer/Script/GameWorldLogic/GameWorldActionControl.py
@@ -33,8 +33,12 @@
import PlayerFamilyRedPacket
import PlayerFairyCeremony
import PlayerNewFairyCeremony
+import PlayerActFamilyCTGAssist
import PlayerActGarbageSorting
import PlayerActBossTrial
+import PlayerActXianXiaMJ
+import PlayerActGubao
+import PlayerActHorsePetTrain
import PlayerUniversalGameRec
import GameWorldAverageLv
import PlayerFamilyBoss
@@ -741,7 +745,7 @@
for sendMapServerMsgDict in curActMapInfoDictList:
state = 0 # 默认关闭
- stateJoin = 0 # 可参与状态
+ stateJoin = ShareDefine.ActStateJoin_None # 可参与状态,0-参与前;1-可参与;2-参与结束
ipyData = None
actNum = sendMapServerMsgDict.get(ShareDefine.ActKey_ActNum, 0)
@@ -772,10 +776,12 @@
for jIndex, joinStartDateTime in enumerate(joinStartTimeList):
endJoinDateTime = joinEndTimeList[jIndex]
if joinStartDateTime <= curDateTime < endJoinDateTime:
- stateJoin = state
+ stateJoin = ShareDefine.ActStateJoin_Start
break
+ elif curDateTime >= endJoinDateTime:
+ stateJoin = ShareDefine.ActStateJoin_End
else:
- stateJoin = state
+ stateJoin = ShareDefine.ActStateJoin_Start if state else ShareDefine.ActStateJoin_None
# 全服广播提示信息
if curDateTime in notifyDict:
@@ -817,6 +823,12 @@
if dbActID:
if actName == ShareDefine.OperationActionName_BossTrial:
PlayerActBossTrial.OnActEnd(actNum, ipyData, dayIndex)
+ elif actName == ShareDefine.OperationActionName_XianXiaMJ:
+ PlayerActXianXiaMJ.OnActEnd(actNum, ipyData, dayIndex)
+ elif actName == ShareDefine.OperationActionName_Gubao:
+ PlayerActGubao.OnActEnd(actNum, ipyData, dayIndex)
+ elif actName == ShareDefine.OperationActionName_HorsePetTrain:
+ PlayerActHorsePetTrain.OnActEnd(actNum, ipyData, dayIndex)
if curActID:
if actName in ShareDefine.NeedWorldLVOperationActNameList:
@@ -847,6 +859,14 @@
PlayerActGarbageSorting.OnActStart(actNum)
elif actName == ShareDefine.OperationActionName_BossTrial:
PlayerActBossTrial.OnActStart(actNum)
+ elif actName == ShareDefine.OperationActionName_XianXiaMJ:
+ PlayerActXianXiaMJ.OnActStart(actNum)
+ elif actName == ShareDefine.OperationActionName_Gubao:
+ PlayerActGubao.OnActStart(actNum)
+ elif actName == ShareDefine.OperationActionName_HorsePetTrain:
+ PlayerActHorsePetTrain.OnActStart(actNum)
+ elif actName == ShareDefine.OperationActionName_FamilyCTGAssist:
+ PlayerActFamilyCTGAssist.OnActStart(actNum)
else:
if actName == ShareDefine.OperationActionName_GarbageSorting:
PlayerActGarbageSorting.OnActEnd(actNum)
@@ -854,6 +874,23 @@
else:
GameWorld.Log(" dbActID不变: dbActID=%s,curActID=%s" % (dbActID, curActID))
+ # 仅活动有配置参与时间段的会触发
+ if curActID and dbActID == curActID and preStateJoin != stateJoin:
+ GameWorld.Log(" 参与状态变更: preStateJoin=%s,stateJoin=%s" % (preStateJoin, stateJoin))
+ # 参与开始
+ if stateJoin == ShareDefine.ActStateJoin_Start:
+ pass
+ # 参与结束
+ elif stateJoin == ShareDefine.ActStateJoin_End:
+ if actName == ShareDefine.OperationActionName_BossTrial:
+ PlayerActBossTrial.OnActJoinEnd(actNum, ipyData, dayIndex)
+ elif actName == ShareDefine.OperationActionName_XianXiaMJ:
+ PlayerActXianXiaMJ.OnActJoinEnd(actNum, ipyData, dayIndex)
+ elif actName == ShareDefine.OperationActionName_Gubao:
+ PlayerActGubao.OnActJoinEnd(actNum, ipyData, dayIndex)
+ elif actName == ShareDefine.OperationActionName_HorsePetTrain:
+ PlayerActHorsePetTrain.OnActJoinEnd(actNum, ipyData, dayIndex)
+
if ipyData and actName in ShareDefine.NeedWorldLVOperationActNameList:
actWorldLV = PlayerDBGSEvent.GetDBGSTrig_ByKey(dbOperationActWorldLVKey)
sendMapServerMsgDict[ShareDefine.ActKey_WorldLV] = actWorldLV
--
Gitblit v1.8.0