| | |
| | | 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:
|
| | |
| | | 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)
|
| | |
| | | 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)
|
| | |
| | | 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
|
| | |
|
| | |
|
| | |
| | | orderInfo = chargeInfo.GetOrderInfo() # 商品编号
|
| | | orderID = chargeInfo.GetOrderID() #订单号,兑换成功后清除
|
| | | isAddBourseMoney = chargeInfo.GetIsAddBourseMoney()
|
| | | if orderID:
|
| | | curPlayer.SendDBFinishRecharge(orderID)
|
| | | |
| | | appID = chargeInfo.GetAppID()
|
| | | if not appID:
|
| | | appID = GameWorld.GetPlayerPlatform(curPlayer)
|
| | |
| | |
|
| | | #充值成功主动查询一次,无充值数量就不会继续查询
|
| | | if orderID:
|
| | | curPlayer.SendDBFinishRecharge(orderID)
|
| | | #curPlayer.SendDBFinishRecharge(orderID)
|
| | | # 充值成功回报客户端,SDK等会用到
|
| | | Sync_CoinToGoldReport(curPlayer, orderID, orderCoin)
|
| | |
|
| | |
| | | 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]
|