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 ++++++++++++++++++-------------------------
ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/ChConfig.py | 3 ++-
2 files changed, 20 insertions(+), 26 deletions(-)
diff --git a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/ChConfig.py b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/ChConfig.py
index 52496a3..d88f06e 100644
--- a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/ChConfig.py
+++ b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/ChConfig.py
@@ -3658,7 +3658,8 @@
Def_PDict_ComposeMustSuccess = "ComposeMustSuccess_%s" # 前X次合成必定成功,参数(合成归组)
Def_PDict_FirstSuccMakeJobItem = "FirstSuccMakeJobItem_%s" # 首次合成成功给本职业物品记录,参数为(合成ID)
-Def_PDict_DownloadAwardState = "DownloadAwardState" # 分支下载奖励状态 0-未领 1-已领
+Def_PDict_DownloadAwardState = "DownloadAwardState" # 分包包下载奖励状态 0-未领 >0-已领奖励编号
+Def_PDict_DownloadPatchAward = "DownloadPatchAward" # 更新包下载奖励状态 0-未领 >0-已领奖励编号
Def_PDict_ChestsOpenCount = "ChestsOpenCount_%s" # 宝箱已开启次数, 参数(宝箱ID), 只有有开启次数额外奖励的才会记录
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