From ed229e08570d6394af15743125d03031b75096be Mon Sep 17 00:00:00 2001
From: hxp <ale99527@vip.qq.com>
Date: 星期六, 25 五月 2019 15:35:14 +0800
Subject: [PATCH] 6805 【后端】【2.0】副本前端化(给物品虚拟掉落顺序优化,补齐创建物品没有传curPlayer参数)

---
 ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/PlayerCoin.py |   29 ++++++++++++++++++++---------
 1 files changed, 20 insertions(+), 9 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 c0c7493..83afe91 100644
--- a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/PlayerCoin.py
+++ b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/PlayerCoin.py
@@ -61,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:
@@ -74,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)
@@ -85,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)
@@ -95,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
 
 
@@ -167,6 +175,9 @@
     orderInfo = chargeInfo.GetOrderInfo() # 商品编号
     orderID = chargeInfo.GetOrderID() #订单号,兑换成功后清除
     isAddBourseMoney = chargeInfo.GetIsAddBourseMoney()
+    if orderID:
+        curPlayer.SendDBFinishRecharge(orderID)
+        
     appID = chargeInfo.GetAppID()
     if not appID:
         appID = GameWorld.GetPlayerPlatform(curPlayer)
@@ -207,7 +218,7 @@
     
     #充值成功主动查询一次,无充值数量就不会继续查询
     if orderID:
-        curPlayer.SendDBFinishRecharge(orderID)
+        #curPlayer.SendDBFinishRecharge(orderID)
         # 充值成功回报客户端,SDK等会用到
         Sync_CoinToGoldReport(curPlayer, orderID, orderCoin)
         
@@ -263,7 +274,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]

--
Gitblit v1.8.0