From fe9b738b1cb89e3b4d320924fceef70a8e1f6fac Mon Sep 17 00:00:00 2001
From: hxp <ale99527@vip.qq.com>
Date: 星期四, 04 三月 2021 14:24:50 +0800
Subject: [PATCH] 8650 【主干】【BT2】活动规则优化(多活动支持的改为单表模式,增加活动分组编号字段区分不同的活动编号;常规活动改为不受合服影响,合服活动独立出来;累计充值活动、集字活动适配为新模式 master冲突补同步);

---
 ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/PlayerEventCounter.py |   28 +++++++++++++++++-----------
 1 files changed, 17 insertions(+), 11 deletions(-)

diff --git a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/PlayerEventCounter.py b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/PlayerEventCounter.py
index 3b8585b..fde98a9 100644
--- a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/PlayerEventCounter.py
+++ b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/PlayerEventCounter.py
@@ -1336,18 +1336,27 @@
         if key.startswith(ShareDefine.Def_Notify_WorldKey_OperationActionInfo[:-2]): 
             keyHead = ShareDefine.Def_Notify_WorldKey_OperationActionInfo[:-2]
             actionName = key[len(keyHead):]
-            PyGameData.g_operationActionDict[actionName] = eval(msgValue)
-            
+            actInfo = eval(msgValue)
+            actNum = actInfo.get(ShareDefine.ActKey_ActNum, 0)
+            if actionName in ShareDefine.MultiActNumOperationActNameList:
+                if not actNum:
+                    GameWorld.ErrLog('MultiActNumOperation can not found actNum. actionName=%s,msg = %s' % (actionName, msg))
+                    return
+                if actionName not in PyGameData.g_operationActionDict:
+                    PyGameData.g_operationActionDict[actionName] = {}
+                PyGameData.g_operationActionDict[actionName][actNum] = actInfo
+            else:
+                PyGameData.g_operationActionDict[actionName] = actInfo
+                
             if actionName == ShareDefine.OperationActionName_ExpRate:
                 PlayerControl.RefreshOperationAction_ExpRate()
                 
             elif actionName == ShareDefine.OperationActionName_CostRebate:
                 PlayerCostRebate.RefreshCostRebateActionInfo()
-            elif actionName in ShareDefine.OperationActionName_TotalRechargeDict.values():
-                for actNum, actName in ShareDefine.OperationActionName_TotalRechargeDict.items():
-                    if actionName == actName:
-                        PlayerActTotalRecharge.RefreshTotalRechargeActionInfo(actNum)
-                        break
+                
+            elif actionName == ShareDefine.OperationActionName_TotalRecharge:
+                PlayerActTotalRecharge.RefreshTotalRechargeActionInfo(actNum)
+                
             elif actionName == ShareDefine.OperationActionName_SpringSale:
                 PlayerSpringSale.RefreshSpringSaleActionInfo()
 
@@ -1373,10 +1382,7 @@
                 PlayerWishingWell.RefreshWishingWellAction()
                 
             elif actionName == ShareDefine.OperationActionName_CollectWords:
-                PlayerActCollectWords.RefreshActCollectWordsInfo(1)
-                
-            elif actionName == ShareDefine.OperationActionName_CollectWords2:
-                PlayerActCollectWords.RefreshActCollectWordsInfo(2)
+                PlayerActCollectWords.RefreshActCollectWordsInfo(actNum)
                 
             elif actionName == ShareDefine.OperationActionName_WeekParty:
                 PlayerWeekParty.RefreshOperationAction_WeekParty()

--
Gitblit v1.8.0