From 94bb5ab94e98fb616137f9c143e702aae10df8a6 Mon Sep 17 00:00:00 2001
From: xdh <xiefantasy@qq.com>
Date: 星期三, 17 七月 2019 14:32:17 +0800
Subject: [PATCH] 8125 子 【主干】新功能:累计充值 / 【后端】【主干】累计充值

---
 ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/PlayerGoldGift.py |   64 ++++++++++++++++++++++++++++++++
 1 files changed, 64 insertions(+), 0 deletions(-)

diff --git a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/PlayerGoldGift.py b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/PlayerGoldGift.py
index ae637da..9adad02 100644
--- a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/PlayerGoldGift.py
+++ b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/PlayerGoldGift.py
@@ -158,6 +158,7 @@
     Sync_FirstGoldInfo(curPlayer)
     
     Sync_FirstGoldTime(curPlayer)
+    Sync_HistoryChargeAwardGetRecordInfo(curPlayer)
     #更新首充提示开始计时时间
     if curPlayer.NomalDictGetProperty(ChConfig.Def_PDict_FirstGoldRemainTime):
         PlayerControl.NomalDictSetProperty(curPlayer, ChConfig.Def_PDict_FirstGoldTipStartTime, int(time.time()))
@@ -263,4 +264,67 @@
         return
     PlayerControl.NomalDictSetProperty(curPlayer, ChConfig.Def_PDict_DailyChargeState, 1)
     PlayerFamilyRedPacket.CreatRedPacketByID(curPlayer, 2)
+    return
+
+
+def OnGetHistoryRechargeAward(curPlayer, awardID):
+    # 领取历史充值奖励
+    
+    ipyData = IpyGameDataPY.GetIpyGameData('HistoryRechargeAward', awardID)
+    if not ipyData:
+        return
+    
+    getRecharge = ipyData.GetRecharge()
+    # 检查可否领取
+    
+    # 玩家充值小于领取充值
+    if curPlayer.GetChangeCoinPointTotal()/100 < getRecharge:
+        GameWorld.ErrLog("OnGetHistoryRechargeAward error:getRecharge=%s greater than ChangeCoinPointTotal=%s" % (getRecharge, curPlayer.GetChangeCoinPointTotal()))
+        return
+    awardInfo = curPlayer.NomalDictGetProperty(ChConfig.Def_PDict_HistoryChargeAwardGetRecord, 0)
+    awardMark = pow(2, awardID)
+    if awardInfo & awardMark:
+        #已领取
+        GameWorld.DebugLog("已领取历史充值奖励!awardID=%s,getRecharge=%s" % (awardID, getRecharge))
+        return
+
+    job = curPlayer.GetJob()
+    awardDict = ipyData.GetReward()
+    if str(job) not in awardDict:
+        return
+    itemList = awardDict[str(job)]
+    
+    if not itemList:
+        return
+    # 检查背包
+    needSpace = len(itemList)
+    packSpace = ItemCommon.GetItemPackSpace(curPlayer, IPY_GameWorld.rptItem, needSpace)
+    if needSpace > packSpace:
+        PlayerControl.NotifyCode(curPlayer, "GeRen_chenxin_998371")
+        return
+    
+    # 给物品
+    for itemID, itemCount in itemList:
+        ItemControler.GivePlayerItem(curPlayer, itemID, itemCount, 0, [IPY_GameWorld.rptItem])
+    
+    # 更新已领取成功标记
+    awardMark = pow(2, awardID)
+
+    PlayerControl.NomalDictSetProperty(curPlayer, ChConfig.Def_PDict_HistoryChargeAwardGetRecord, awardInfo | awardMark)
+    # 通知客户端
+    Sync_HistoryChargeAwardGetRecordInfo(curPlayer)
+    
+    # 记录领取事件
+    DataRecordPack.SendEventPack("HistoryRechargeAward", {'awardID':awardID, 'getRecharge':getRecharge}, curPlayer)
+    return
+
+
+## 通知等级奖励领取记录信息
+#  @param None
+#  @return None
+def Sync_HistoryChargeAwardGetRecordInfo(curPlayer):
+    sendPack = ChPyNetSendPack.tagMCHistoryReChargeAwardRecord()
+    sendPack.Clear()
+    sendPack.AwardGetRecord = curPlayer.NomalDictGetProperty(ChConfig.Def_PDict_HistoryChargeAwardGetRecord, 0)
+    NetPackCommon.SendFakePack(curPlayer, sendPack)
     return
\ No newline at end of file

--
Gitblit v1.8.0