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