From 8b0c819702a1b7863a9bcd2a5054a1ef862e7d34 Mon Sep 17 00:00:00 2001 From: hxp <ale99527@vip.qq.com> Date: 星期一, 20 六月 2022 16:00:05 +0800 Subject: [PATCH] 9553 【yn_1.0.1】【后端】新增下载奖励(完整包下载奖励支持配置递增编号重复领取) --- ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/ChPlayer.py | 43 ++++++++++++++++++------------------------- 1 files changed, 18 insertions(+), 25 deletions(-) diff --git a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/ChPlayer.py b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/ChPlayer.py index cdf62cb..2802cc7 100644 --- a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/ChPlayer.py +++ b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/ChPlayer.py @@ -6051,38 +6051,33 @@ ## 发放下载补丁包奖励 playerID = curPlayer.GetPlayerID() patchAwardNum = IpyGameDataPY.GetFuncCfg('DownReward', 4) - if patchAwardNum >= 100000000: - GameWorld.ErrLog("GiveDownloadPatchAward patchAwardNum error! >= 100000000") - return - - awardState = curPlayer.NomalDictGetProperty(ChConfig.Def_PDict_DownloadAwardState) - curPatchAwardNum = awardState / 10 - - if curPatchAwardNum >= patchAwardNum: - GameWorld.DebugLog("已发放下载补丁包奖励! curPatchAwardNum(%s) >= patchAwardNum(%s)" % (curPatchAwardNum, patchAwardNum), playerID) + curAwardNum = curPlayer.NomalDictGetProperty(ChConfig.Def_PDict_DownloadPatchAward) + if curAwardNum == patchAwardNum: + GameWorld.DebugLog("已发放下载补丁包奖励! curAwardNum(%s) == patchAwardNum(%s)" % (curAwardNum, patchAwardNum), playerID) return awardItemList = IpyGameDataPY.GetFuncEvalCfg('DownReward', 3) if not awardItemList: return - downloadAwardState = awardState % 10 - updateAwardState = patchAwardNum * 10 + downloadAwardState - PlayerControl.NomalDictSetProperty(curPlayer, ChConfig.Def_PDict_DownloadAwardState, updateAwardState) - GameWorld.DebugLog("发放补丁包下载奖励: awardState=%s,curPatchAwardNum=%s,patchAwardNum=%s,updateAwardState=%s" % - (awardState, curPatchAwardNum, patchAwardNum, updateAwardState), playerID) + PlayerControl.NomalDictSetProperty(curPlayer, ChConfig.Def_PDict_DownloadPatchAward, patchAwardNum) + GameWorld.DebugLog("发放补丁包下载奖励: curAwardNum=%s,patchAwardNum=%s" % (curAwardNum, patchAwardNum), playerID) PlayerControl.SendMailByKey("DownloadPatchAward", [playerID], awardItemList) return def GetDownloadAward(curPlayer, dataEx): ##分包下载奖励 dataEx 0直接领取 1发邮件 - awardState = curPlayer.NomalDictGetProperty(ChConfig.Def_PDict_DownloadAwardState) - downloadAwardState = awardState % 10 - if downloadAwardState: - GameWorld.Log(' 分包下载奖励已领取,不可重复领取!', curPlayer.GetID()) + playerID = curPlayer.GetPlayerID() + downloadAwardNum = IpyGameDataPY.GetFuncCfg('DownReward', 5) + curAwardNum = curPlayer.NomalDictGetProperty(ChConfig.Def_PDict_DownloadAwardState) + if curAwardNum == downloadAwardNum: + GameWorld.DebugLog("已领取分包奖励! curAwardNum(%s) == downloadAwardNum(%s)" % (curAwardNum, downloadAwardNum), playerID) return - awardItemList = IpyGameDataPY.GetFuncEvalCfg('DownReward') + awardItemList = IpyGameDataPY.GetFuncEvalCfg('DownReward', 1) + if not awardItemList: + return + # 检查背包 if dataEx == 0: needSpace = len(awardItemList) @@ -6091,11 +6086,8 @@ PlayerControl.NotifyCode(curPlayer, "GeRen_chenxin_998371") return - curPatchAwardNum = awardState / 10 - updateAwardState = curPatchAwardNum * 10 + 1 - PlayerControl.NomalDictSetProperty(curPlayer, ChConfig.Def_PDict_DownloadAwardState, updateAwardState) - GameWorld.DebugLog("领取分包下载奖励: awardState=%s,curPatchAwardNum=%s,updateAwardState=%s" % - (awardState, curPatchAwardNum, updateAwardState), curPlayer.GetPlayerID()) + PlayerControl.NomalDictSetProperty(curPlayer, ChConfig.Def_PDict_DownloadAwardState, downloadAwardNum) + GameWorld.DebugLog("领取分包下载奖励: curAwardNum=%s,downloadAwardNum=%s" % (curAwardNum, downloadAwardNum), playerID) if dataEx == 1: PlayerControl.SendMailByKey('SubpackageDownload', [curPlayer.GetID()], awardItemList) else: @@ -6106,9 +6098,10 @@ def SyncPackDownloadAward(curPlayer): #分包下载奖励记录通知 + downloadAwardNum = IpyGameDataPY.GetFuncCfg('DownReward', 5) sendPack = ChPyNetSendPack.tagMCPackDownloadRecord() sendPack.Clear() - sendPack.Record = curPlayer.NomalDictGetProperty(ChConfig.Def_PDict_DownloadAwardState) % 10 + sendPack.Record = curPlayer.NomalDictGetProperty(ChConfig.Def_PDict_DownloadAwardState) == downloadAwardNum NetPackCommon.SendFakePack(curPlayer, sendPack) return -- Gitblit v1.8.0