From 5300950136a7d0556945fbd0cb953b331ee79f2c Mon Sep 17 00:00:00 2001 From: hxp <ale99527@vip.qq.com> Date: 星期二, 29 一月 2019 16:07:46 +0800 Subject: [PATCH] 6087 【后端】【1.5.200】春节红包雨活动(初版) --- ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/PlayerSuccess.py | 41 ++++++++++++++++++++++++++++++++++++++++- 1 files changed, 40 insertions(+), 1 deletions(-) diff --git a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/PlayerSuccess.py b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/PlayerSuccess.py index 0597d42..bb509e0 100644 --- a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/PlayerSuccess.py +++ b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/PlayerSuccess.py @@ -43,6 +43,7 @@ import Operate_EquipStone import Operate_EquipWash import Operate_EquipSuitCompose +import PlayerFeastRedPacket import PlayerDogz import QuestCommon import DataRecordPack @@ -440,6 +441,29 @@ Sync_SuccessInfo(curPlayer, resetList, True) return +def DoResetSuccessIDList(curPlayer, resetSuccIDList): + ## 重置成就相关数据 + if not resetSuccIDList: + return + resetList = [] + for succID in resetSuccIDList: + succData = GetSuccDataMng().GetSuccessData(succID) + if not succData: + continue + succType = succData.succType + condition = succData.condition + if not GetSuccFinishValue(curPlayer, succType, condition): + continue + SetSuccFinishValue(curPlayer, succType, condition, 0) + SetSuccFinish(curPlayer, succID, False) + SetSuccHasGot(curPlayer, succID, False) + resetList.append(succID) + GameWorld.DebugLog(" 重置成就类型: succType=%s,succID=%s" % (succType, succID)) + if resetList: + Sync_SuccTypeIndexAwardRecord(curPlayer, resetList, True) + Sync_SuccessInfo(curPlayer, resetList, True) + return + ## 成就OnDay # @param curPlayer # @return @@ -559,6 +583,9 @@ def UptateSuccessProgress(curPlayer, successType, newCnt, condition=[]): if successType not in ShareDefine.SuccessTypeList: return + if successType in ShareDefine.FeastRedPackSuccessTypeList: + if not PlayerFeastRedPacket.GetFeastRedPacketState(): + return succInfoList = GetSuccDataMng().GetSuccDataByType(successType) if not succInfoList: return @@ -580,6 +607,11 @@ succID = succDataObj.succID cond = succDataObj.condition + if successType in ShareDefine.FeastRedPackSuccessTypeList: + todayFeastSuccIDList = PlayerFeastRedPacket.GetTodayFeastSuccIDList() + if not todayFeastSuccIDList or succID not in todayFeastSuccIDList: + #GameWorld.DebugLog(" 非今日节日红包成就,不增加进度! succID=%s,todayFeastSuccIDList=%s" % (succID, todayFeastSuccIDList)) + return isUnDownCheck = successType in ShareDefine.UnDownCheckSuccessTypeList isContain = successType in ShareDefine.ContainSuccessTypeList # 已完成的不再检查 @@ -650,7 +682,14 @@ def DoAddSuccessProgress(curPlayer, successType, addCnt, condition=[], delayCalc=True): #GameWorld.DebugLog("DoAddSuccessProgress type=%s,addCnt=%s,condition=%s" # % (successType, addCnt, condition), curPlayer.GetPlayerID()) - + if GameWorld.IsCrossServer(): + return + + if successType in ShareDefine.FeastRedPackSuccessTypeList: + if not PlayerFeastRedPacket.GetFeastRedPacketState(): + #GameWorld.DebugLog("非节日红包活动时间,不增加成就!successType=%s" % successType) + return + playerID = curPlayer.GetID() if delayCalc and successType not in ShareDefine.NeedResetSuccessTypeList: if playerID not in PyGameData.g_delaySuccessDict: -- Gitblit v1.8.0