From be1496bfd2b5e0d180e07e0f1a35aa3a741160f4 Mon Sep 17 00:00:00 2001
From: hxp <ale99527@vip.qq.com>
Date: 星期一, 18 四月 2022 16:14:38 +0800
Subject: [PATCH] 9553 【主干】【BT6】【BT6】【yn_1.0.1】【后端】新增下载奖励
---
ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/ChPlayer.py | 41 ++++++++++++++++++++++++++++++++++++++---
1 files changed, 38 insertions(+), 3 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 61c7c46..827d9b2 100644
--- a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/ChPlayer.py
+++ b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/ChPlayer.py
@@ -570,6 +570,9 @@
#玩家扩展信息
__SyncPlayerInfoEx(curPlayer)
+ #补丁包下载奖励
+ GiveDownloadPatchAward(curPlayer)
+
#PK模式
SyncPKModel(curPlayer)
@@ -6029,10 +6032,38 @@
PlayerControl.PyNotifyAll(curPlayer, sendPack, False, 0)
return
+def GiveDownloadPatchAward(curPlayer):
+ ## 发放下载补丁包奖励
+ 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)
+ 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.SendMailByKey("DownloadPatchAward", [playerID], awardItemList)
+ return
+
def GetDownloadAward(curPlayer, dataEx):
##分包下载奖励 dataEx 0直接领取 1发邮件
awardState = curPlayer.NomalDictGetProperty(ChConfig.Def_PDict_DownloadAwardState)
- if awardState:
+ downloadAwardState = awardState % 10
+ if downloadAwardState:
GameWorld.Log(' 分包下载奖励已领取,不可重复领取!', curPlayer.GetID())
return
@@ -6045,7 +6076,11 @@
PlayerControl.NotifyCode(curPlayer, "GeRen_chenxin_998371")
return
- PlayerControl.NomalDictSetProperty(curPlayer, ChConfig.Def_PDict_DownloadAwardState, 1)
+ 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())
if dataEx == 1:
PlayerControl.SendMailByKey('SubpackageDownload', [curPlayer.GetID()], awardItemList)
else:
@@ -6058,7 +6093,7 @@
#分包下载奖励记录通知
sendPack = ChPyNetSendPack.tagMCPackDownloadRecord()
sendPack.Clear()
- sendPack.Record = curPlayer.NomalDictGetProperty(ChConfig.Def_PDict_DownloadAwardState)
+ sendPack.Record = curPlayer.NomalDictGetProperty(ChConfig.Def_PDict_DownloadAwardState) % 10
NetPackCommon.SendFakePack(curPlayer, sendPack)
return
--
Gitblit v1.8.0