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