From ba71a1935d5e96c54131173c1eccb5678efc9827 Mon Sep 17 00:00:00 2001 From: xdh <xiefantasy@qq.com> Date: 星期一, 08 四月 2019 10:19:08 +0800 Subject: [PATCH] 6341 【后端】【2.0】境界改版开发单(经验buff叠加问题) --- ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/PlayerCoin.py | 28 ++++++++++++++++++++-------- 1 files changed, 20 insertions(+), 8 deletions(-) diff --git a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/PlayerCoin.py b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/PlayerCoin.py index 954cf21..082fe20 100644 --- a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/PlayerCoin.py +++ b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/PlayerCoin.py @@ -44,9 +44,11 @@ import ShareDefine import PlayerFlashGiftbag import PlayerFairyCeremony +import PlayerNewFairyCeremony import PlayerGoldGift import PlayerActTotalRecharge import OpenServerCampaign +import PlayerWeekParty import ItemCommon import time @@ -59,11 +61,11 @@ def GetCoinRate(): return IpyGameDataPY.GetFuncCfg("PayRMB") def OnLogin(curPlayer): - DoResetCTGCount(curPlayer) - Sync_CoinToGoldCountInfo(curPlayer) + if not DoResetCTGCountByTime(curPlayer): + Sync_CoinToGoldCountInfo(curPlayer) return -def DoResetCTGCount(curPlayer): +def DoResetCTGCountByTime(curPlayer): # 重置充值次数 ctgResetTimeYMD = IpyGameDataPY.GetFuncCfg("CTG", 1) if not ctgResetTimeYMD: @@ -72,7 +74,7 @@ GameWorld.ErrLog("充值重置时间配置必须是数值格式,不能包含符号!") return curTime = int(time.time()) - playerID = curPlayer.GetPlayerID() + #playerID = curPlayer.GetPlayerID() resetTime = GameWorld.ChangeTimeStrToNum(str(ctgResetTimeYMD), "%Y%m%d") if curTime < resetTime: #GameWorld.DebugLog("还未到达充值充值次数时间!curTime=%s < resetTime=%s" % (curTime, resetTime), playerID) @@ -83,6 +85,13 @@ return PlayerControl.NomalDictSetProperty(curPlayer, ChConfig.Def_PDict_CTGCountResetTime, resetTime) + DoResetCTGCount(curPlayer, ctgResetTimeYMD) + return True + +def DoResetCTGCount(curPlayer, resetEvent): + # 重置充值次数 + + playerID = curPlayer.GetPlayerID() ipyDataMgr = IpyGameDataPY.IPY_Data() for i in xrange(ipyDataMgr.GetCTGCount()): ipyData = ipyDataMgr.GetCTGByIndex(i) @@ -93,11 +102,12 @@ continue PlayerControl.NomalDictSetProperty(curPlayer, ChConfig.Def_PDict_CTGGoodsBuyCount % recordID, 0) PlayerControl.NomalDictSetProperty(curPlayer, ChConfig.Def_PDict_TodayCTGCount % recordID, 0) - drDict = {"PlayerID":curPlayer.GetPlayerID(),"AccID":curPlayer.GetAccID(), "ResetTimeYMD":ctgResetTimeYMD, + drDict = {"PlayerID":curPlayer.GetPlayerID(),"AccID":curPlayer.GetAccID(), "ResetEvent":resetEvent, "totalBuyCount":totalBuyCount, "todayBuyCount":todayBuyCount, "recordID":recordID} DataRecordPack.SendEventPack("ResetCTGCount", drDict, curPlayer) - GameWorld.Log("重置充值次数: ResetTimeYMD=%s,recordID=%s,totalBuyCount=%s,todayBuyCount=%s" - % (ctgResetTimeYMD, recordID, totalBuyCount, todayBuyCount), playerID) + GameWorld.Log("重置充值次数: resetEvent=%s,recordID=%s,totalBuyCount=%s,todayBuyCount=%s" + % (resetEvent, recordID, totalBuyCount, todayBuyCount), playerID) + Sync_CoinToGoldCountInfo(curPlayer) return @@ -261,7 +271,7 @@ PlayerControl.SendMailByKey("", [curPlayer.GetPlayerID()], giveItemList) else: for itemID, itemCount, isBind in giveItemList: - ItemControler.GivePlayerItem(curPlayer, itemID, itemCount, isBind, [IPY_GameWorld.rptItem], + ItemControler.GivePlayerItem(curPlayer, itemID, itemCount, 0, [IPY_GameWorld.rptItem], event=[ChConfig.ItemGive_CTG, True, addDRDict]) if notifyMark: mainItemID = giveItemList[0][0] @@ -285,11 +295,13 @@ #---充值成功后逻辑--- #仙界盛典-充值大礼 PlayerFairyCeremony.OnFCRecharge(curPlayer) + PlayerNewFairyCeremony.OnFCRecharge(curPlayer) PlayerGoldGift.DayChargeRedPackAward(curPlayer) #累积充值X元 PlayerActTotalRecharge.AddTotalRechargeGold(curPlayer, orderCoin/100) #开服活动 OpenServerCampaign.AddOpenServerCampaignRecordData(curPlayer, ShareDefine.Def_Campaign_Type_Recharge, orderCoin) + PlayerWeekParty.AddWeekPartyActionCnt(curPlayer, ChConfig.Def_WPAct_Recharge, addVIPExp) GameWorld.Log("Billing: eventName=%s, %s" % (eventName, addDRDict), curPlayer.GetPlayerID()) return -- Gitblit v1.8.0