From 9a5d8288ba607bdcd67cb93e03c7f09ece8b1569 Mon Sep 17 00:00:00 2001
From: hxp <ale99527@vip.qq.com>
Date: 星期五, 13 三月 2026 14:29:24 +0800
Subject: [PATCH] 556 【付费功能】时装商店-服务端(优化时装转化碎片时A801通知,封包修改货币增加IsBind,同物品标记逻辑,时装转化标记=40;)

---
 ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/PlayerCoin.py |  286 ++++++++++++++++++++-------------------------------------
 1 files changed, 100 insertions(+), 186 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 64e705e..a3ab2ee 100644
--- a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/PlayerCoin.py
+++ b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/PlayerCoin.py
@@ -41,29 +41,17 @@
 import NetPackCommon
 import IpyGameDataPY
 import ShareDefine
-import PlayerFlashGiftbag
-import PlayerDailyGiftbag
 import PlayerGoldGift
 import PlayerActTotalRecharge
-import PlayerActRechargeRebateGold
-import PlayerActFamilyCTGAssist
 import PlayerActManyDayRecharge
 import PlayerActSingleRecharge
-import PlayerActRechargePrize
-import PlayerFamilyRedPacket
-import CrossActCTGBillboard
-import CrossActAllRecharge
-import PlayerActGrowupBuy
-import OpenServerCampaign
-import PlayerFeastTravel
-import PlayerWeekParty
+import PlayerActHeroAppear
 import PlayerGoldInvest
-import PlayerActTurntable
-import PlayerTongTianLing
 import PlayerZhanling
 import PlayerGoldRush
-import ItemCommon
+import PlayerLLMJ
 import PyGameData
+import DBDataMgr
 import CommFunc
 
 import time
@@ -97,10 +85,6 @@
 def OnLogin(curPlayer):
     if not DoResetCTGCountByTime(curPlayer):
         Sync_CoinToGoldCountInfo(curPlayer)
-    if curPlayer.NomalDictGetProperty(ChConfig.Def_PDict_DayFreeGoldGiftState):
-        Sync_DayFreeGoldGiftState(curPlayer)
-    if curPlayer.NomalDictGetProperty(ChConfig.Def_PDict_OnlineRechargeTHAward):
-        SyncOnlineRechargeTH(curPlayer)
     return
 
 def DoResetCTGCountByTime(curPlayer):
@@ -186,7 +170,6 @@
     ## 充值相关过天
     
     #在重置之前需要处理的
-    PlayerActGrowupBuy.DoUpdateGrowupBuyStateOnDay(curPlayer) # 成长必买
     
     PlayerControl.NomalDictSetProperty(curPlayer, ChConfig.Def_PDict_TodayCTGCoinTotal, 0)
     PlayerControl.NomalDictSetProperty(curPlayer, ChConfig.Def_PDict_CTGRealToday, 0)
@@ -207,9 +190,6 @@
     if syncRecordIDList:
         Sync_CoinToGoldCountInfo(curPlayer, syncRecordIDList)
         
-    if curPlayer.NomalDictGetProperty(ChConfig.Def_PDict_DayFreeGoldGiftState):
-        PlayerControl.NomalDictSetProperty(curPlayer, ChConfig.Def_PDict_DayFreeGoldGiftState, 0)
-        Sync_DayFreeGoldGiftState(curPlayer)
     return
 
 def OnWeek(curPlayer):
@@ -240,6 +220,19 @@
         Sync_CoinToGoldCountInfo(curPlayer, syncRecordIDList)
     return
 
+#// A8 06 查询充值结果 #tagCMQueryRecharge
+#
+#struct    tagCMQueryRecharge
+#{
+#    tagHead        Head;
+#};
+def OnQueryRecharge(index, packData, tick):
+    #curPlayer = GameWorld.GetPlayerManager().GetPlayerByIndex(index)
+    #if tick - curPlayer.GetDictByKey("QRtick") < 10000:
+    #    return
+    #curPlayer.SetDict("QRtick", tick)
+    #curPlayer.SendDBQueryRecharge() 不查了,由在线轮询触发即可
+    return
 
 #// A1 23 查询充值次数 #tagCMQueryCoinToGoldCount
 #
@@ -334,7 +327,7 @@
     PlayerControl.SendMailByKey("ExchangeToPayCoin", [playerID], addItemList, paramList)
     
     if payOrderType != PayOrderType_PayCoin:
-        serverDay = GameWorld.GetGameWorld().GetGameWorldDictByKey(ShareDefine.Def_Notify_WorldKey_ServerDay) + 1
+        serverDay = DBDataMgr.GetEventTrigMgr().GetValue(ShareDefine.Def_ServerDay) + 1
         addDRDict.update({"coinType":ChConfig.CoinType_ExchangePayCoin, "PayCoin":[befPayCoin, aftPayCoin], 
                           "VIPLv":curPlayer.GetVIPLv(), "ServerDay":serverDay, "eventName":eventName})
         DataRecordPack.DR_CTGOK(curPlayer, addDRDict)
@@ -405,6 +398,15 @@
     cPlayerCoin.isAddBourseMoney = isAddBourseMoney
     return PlayerCoinToGold(curPlayer, cPlayerCoin, eventName)
 
+def OnDBPushRecharge(curPlayer, orderID, orderInfo, orderAmount):
+    cPlayerCoin = CPY_PlayerCoinToGold()
+    cPlayerCoin.useCoin = orderAmount
+    cPlayerCoin.orderID = orderID
+    cPlayerCoin.orderInfo = orderInfo
+    cPlayerCoin.isAddBourseMoney = True
+    GameWorld.Log("OnDBPushRecharge: useCoin=%s,orderInfo=%s,orderID=%s" % (cPlayerCoin.useCoin, cPlayerCoin.orderInfo, cPlayerCoin.orderID), curPlayer.GetPlayerID())
+    return PlayerCoinToGold(curPlayer, cPlayerCoin, ChConfig.Def_GiveMoney_CoinToGold)
+
 ##特别说明:充值赠送点券都要计算到各个活动中
 ##玩家点卷兑换元宝.
 # @param curPlayer 玩家实例
@@ -418,12 +420,15 @@
     orderInfo = chargeInfo.GetOrderInfo() # 商品编号
     orderID = chargeInfo.GetOrderID() #订单号,兑换成功后清除
     isAddBourseMoney = chargeInfo.GetIsAddBourseMoney()
-    if orderID:
-        curPlayer.SendDBFinishRecharge(orderID)
-        
+    #if orderID:
+    #    curPlayer.SendDBFinishRecharge(orderID)
+    
     appID = chargeInfo.GetAppID()
     if not appID:
         appID = GameWorld.GetPlayerPlatform(curPlayer)
+    if not appID:
+        appID = GameWorld.GetAppIDByAccID(curPlayer.GetAccID())
+        GameWorld.DebugLog("GetAppIDByAccID appID=%s" % appID)
     addDRDict = {"orderCoin":orderCoin, "orderInfo":orderInfo, "orderID":orderID, 
                  "isAddBourseMoney":isAddBourseMoney, "eventName":eventName, "appID":appID}
     
@@ -476,13 +481,6 @@
             return
         moneyType, addGold, prizeGold, giveItemList, ctgIpyData = ctgResultInfo
         
-    elif ipyData.GetGiftbagID():
-        giftbagID = ipyData.GetGiftbagID()
-        if 100 <= giftbagID < 199:
-            if not PlayerDailyGiftbag.OnPlayerOrderDailyGiftbag(curPlayer, giftbagID, addDRDict):
-                return
-        elif not PlayerFlashGiftbag.OnPlayerOrderGiftbag(curPlayer, [ipyData.GetGiftbagID()], addDRDict):
-            return
     else:
         #用于支付其他的商品,待扩展...
         DataRecordPack.DR_CTGError(curPlayer, "The orderInfo is useless!", addDRDict)
@@ -502,7 +500,7 @@
     recordID = ctgIpyData.GetRecordID() if ctgIpyData else 0
     Sync_CoinToGoldReport(curPlayer, orderID, orderCoin, recordID, orderInfo)
     
-    curPlayer.SendDBQueryRecharge()
+    #curPlayer.SendDBQueryRecharge() 不查了,由在线轮询触发即可
     return True
 
 def __GetCTGInfoByID(curPlayer, recordID, addDRDict):
@@ -515,13 +513,6 @@
     
     addDRDict.update({"recordID":recordID})
     
-    # 成长必买类型
-    if ipyData.GetPayType() == PayType_GrowupBuy:
-        canBuy, errInfo = PlayerActGrowupBuy.CheckGrowupBuyState(curPlayer, recordID)
-        if not canBuy:
-            DataRecordPack.DR_CTGError(curPlayer, errInfo, addDRDict)
-            return
-        
     totalBuyCountLimit = ipyData.GetTotalBuyCount()
     totalBuyCount = curPlayer.NomalDictGetProperty(ChConfig.Def_PDict_CTGGoodsBuyCount % recordID)
     if totalBuyCountLimit:
@@ -565,42 +556,66 @@
             return
         addDRDict.update({"selectItemList":selectItemList})
         
-    totalBuyCountUpd = min(totalBuyCount + 1, ChConfig.Def_UpperLimit_DWord)
-    PlayerControl.NomalDictSetProperty(curPlayer, ChConfig.Def_PDict_CTGGoodsBuyCount % recordID, totalBuyCountUpd)
-    addDRDict.update({"totalBuyCountUpd":totalBuyCountUpd})
-    
-    todayBuyCountUpd = min(todayBuyCount + 1, ChConfig.Def_UpperLimit_DWord)
-    PlayerControl.NomalDictSetProperty(curPlayer, ChConfig.Def_PDict_TodayCTGCount % recordID, todayBuyCountUpd)
-    addDRDict.update({"todayBuyCountUpd":todayBuyCountUpd})
-    
-    weekBuyCountUpd = min(weekBuyCount + 1, ChConfig.Def_UpperLimit_DWord)
-    PlayerControl.NomalDictSetProperty(curPlayer, ChConfig.Def_PDict_WeekCTGCount % recordID, weekBuyCountUpd)
-    addDRDict.update({"weekBuyCountUpd":weekBuyCountUpd})
-    
-    monthBuyCountUpd = min(monthBuyCount + 1, ChConfig.Def_UpperLimit_DWord)
-    PlayerControl.NomalDictSetProperty(curPlayer, ChConfig.Def_PDict_MonthCTGCount % recordID, monthBuyCountUpd)
-    addDRDict.update({"monthBuyCountUpd":monthBuyCountUpd})
+    totalBuyCountUpd, todayBuyCountUpd, weekBuyCountUpd, monthBuyCountUpd = __addCTGIDBuyCnt(curPlayer, recordID)
+    addDRDict.update({"totalBuyCountUpd":totalBuyCountUpd, "todayBuyCountUpd":todayBuyCountUpd, "weekBuyCountUpd":weekBuyCountUpd, "monthBuyCountUpd":monthBuyCountUpd})
     
     giveItemList = []
     giveItemList += GetCTGGiveItemList(ipyData)
     giveItemList += selectItemList
+    giveItemList += PlayerActHeroAppear.GetCTGActItemList(curPlayer, recordID) # 武将登场
     
-    payType = ipyData.GetPayType()
+    #payType = ipyData.GetPayType()
     moneyType = ipyData.GetMoneyType() # 获得货币类型
     addGold = ipyData.GetGainGold() # 获得货币数
     gainGoldPrize = ipyData.GetGainGoldPrize() # 赠送货币数,首次充值赠送仙玉时,此仙玉不给
     firstGoldPrize = ipyData.GetFirstGoldPrize() # 首次充值赠送的仙玉
     prizeGold = firstGoldPrize if (not totalBuyCount and firstGoldPrize) else gainGoldPrize
-    if moneyType == IPY_GameWorld.TYPE_Price_Gold_Money:
-        if payType in [PayType_Gold, PayType_GoldPlus] and PlayerGoldInvest.GetInvestState(curPlayer, ChConfig.InvestType_Life):
-            prizeGold = addGold # bt tqxbqy 版本,永久卡仙玉直充固定双倍
-        actPrizeGold = PlayerActRechargePrize.DoAddPlayerActRechargePrizeCount(curPlayer, recordID)
-        if actPrizeGold:
-            prizeGold += actPrizeGold
-            addDRDict.update({"actRechargePrize":1})
+    
+    syncRecordIDList = [recordID]
+    # 打包购买 - 目前用于每日特惠,有需要可扩展为通用
+    if recordID == IpyGameDataPY.GetFuncCfg("DailyTehui", 2):
+        packItemDict = {}
+        packCTGIDDict = {}
+        dailyTehuiCTGIDList = IpyGameDataPY.GetFuncEvalCfg("DailyTehui", 1)
+        for ctgID in dailyTehuiCTGIDList:
+            ctgIpyData = IpyGameDataPY.GetIpyGameData("CTG", ctgID)
+            if not ctgIpyData:
+                continue
+            if curPlayer.NomalDictGetProperty(ChConfig.Def_PDict_TodayCTGCount % ctgID):
+                continue
+            syncRecordIDList.append(ctgID)
+            ctgItemList = GetCTGGiveItemList(ctgIpyData)
+            packCTGIDDict[ctgID] = ctgItemList
+            for itemInfo in ctgItemList:
+                itemID, itemCount = itemInfo[:2]
+                packItemDict[itemID] = packItemDict.get(itemID, 0) + itemCount
+            __addCTGIDBuyCnt(curPlayer, ctgID)
+        if packCTGIDDict:
+            GameWorld.Log("打包购买: recordID=%s,packCTGIDDict=%s" % (recordID, packCTGIDDict), curPlayer.GetPlayerID())
+            addDRDict.update({"packCTGIDDict":packCTGIDDict})
+        for itemID, itemCount in packItemDict.items():
+            giveItemList.append([itemID, itemCount, 0])
             
-    Sync_CoinToGoldCountInfo(curPlayer, [recordID])
+    Sync_CoinToGoldCountInfo(curPlayer, syncRecordIDList)
     return moneyType, addGold, prizeGold, giveItemList, ipyData
+
+def __addCTGIDBuyCnt(curPlayer, recordID):
+    totalBuyCount = curPlayer.NomalDictGetProperty(ChConfig.Def_PDict_CTGGoodsBuyCount % recordID)
+    totalBuyCountUpd = min(totalBuyCount + 1, ChConfig.Def_UpperLimit_DWord)
+    PlayerControl.NomalDictSetProperty(curPlayer, ChConfig.Def_PDict_CTGGoodsBuyCount % recordID, totalBuyCountUpd)
+    
+    todayBuyCount = curPlayer.NomalDictGetProperty(ChConfig.Def_PDict_TodayCTGCount % recordID)
+    todayBuyCountUpd = min(todayBuyCount + 1, ChConfig.Def_UpperLimit_DWord)
+    PlayerControl.NomalDictSetProperty(curPlayer, ChConfig.Def_PDict_TodayCTGCount % recordID, todayBuyCountUpd)
+    
+    weekBuyCount = curPlayer.NomalDictGetProperty(ChConfig.Def_PDict_WeekCTGCount % recordID)
+    weekBuyCountUpd = min(weekBuyCount + 1, ChConfig.Def_UpperLimit_DWord)
+    PlayerControl.NomalDictSetProperty(curPlayer, ChConfig.Def_PDict_WeekCTGCount % recordID, weekBuyCountUpd)
+    
+    monthBuyCount = curPlayer.NomalDictGetProperty(ChConfig.Def_PDict_MonthCTGCount % recordID)
+    monthBuyCountUpd = min(monthBuyCount + 1, ChConfig.Def_UpperLimit_DWord)
+    PlayerControl.NomalDictSetProperty(curPlayer, ChConfig.Def_PDict_MonthCTGCount % recordID, monthBuyCountUpd)
+    return totalBuyCountUpd, todayBuyCountUpd, weekBuyCountUpd, monthBuyCountUpd
 
 def GetSelectItemListInfo(selectItemInfo, selectItemValue):
     errorInfo = ""
@@ -632,27 +647,9 @@
         return []
     
     gainItemList = ipyData.GetGainItemList()
-    actWorldLVGainItemInfo = ipyData.GetActWorldLVGainItemInfo()
-    giveItemList = []
-    # 活动世界等级对应物品信息,如果有对应活动支持 且 该配置有配,则默认走该配置,否则使用常规的默认物品配置
-    payTypeActNameDict = {PayType_GrowupBuy:ShareDefine.OperationActionName_GrowupBuy,
-                          
-                          # ... 有新增的活动需要支持,则在此新增配置上即可,后面取物品的逻辑都是一样的
-                          }
-    if actWorldLVGainItemInfo and ipyData.GetPayType() in payTypeActNameDict:
-        actName = payTypeActNameDict[ipyData.GetPayType()]
-        actInfo = PyGameData.g_operationActionDict.get(actName, {}) # 注:相关状态在前置逻辑已经判断过,这里不再判断
-        actWorldLV = actInfo.get(ShareDefine.ActKey_WorldLV, 0)
-        actWorldLVList = [int(strWorldLV) for strWorldLV in actWorldLVGainItemInfo.keys()]
-        actWorldLVList.sort() # 使用 int 的值排,否则可能引起排序错误
-        for worldLV in actWorldLVList:
-            if actWorldLV <= worldLV:
-                giveItemList = actWorldLVGainItemInfo[str(worldLV)]
-                break
-        if not giveItemList:
-            giveItemList = actWorldLVGainItemInfo[str(actWorldLVList[-1])] # 没有匹配到的话默认取最后一个等级配置
-    else:
-        giveItemList = gainItemList
+    #actWorldLVGainItemInfo = ipyData.GetActWorldLVGainItemInfo()
+    #giveItemList = []
+    giveItemList = gainItemList
     return giveItemList
 
 def __OnCTGReal(curPlayer, orderCoin):
@@ -674,16 +671,28 @@
     
     if ctgIpyData and ctgIpyData.GetPayType() == PayType_PayCoin:
         # 代币充值,仅给代币,不触发其他内容
+        ctgID = ctgIpyData.GetRecordID()
         coinType = ChConfig.CoinType_PayCoin
         orderInfo = addDRDict.get("orderInfo", "")
         orderCoin = addDRDict.get("orderCoin", 0)
         payOrderType = addDRDict.get("payOrderType", PayOrderType_Default)
         playerID = curPlayer.GetPlayerID()
+        moneyInfo = {}
         befPayCoin = PlayerControl.GetPayCoin(curPlayer)
         if addGold and moneyType == ShareDefine.TYPE_Price_PayCoin:
             drDict = {ChConfig.Def_Give_Reason_SonKey:orderInfo, "payOrderType":payOrderType, "orderInfo":orderInfo}
             PlayerControl.GiveMoney(curPlayer, moneyType, addGold, eventName, drDict)
+            moneyInfo[moneyType] = addGold
         aftPayCoin = PlayerControl.GetPayCoin(curPlayer)
+        # 三国版本充代币支持赠送元宝
+        prizeMoneyType = IPY_GameWorld.TYPE_Price_Gold_Money
+        if prizeGold > 0:
+            PlayerControl.GiveMoney(curPlayer, prizeMoneyType, prizeGold, eventName, addDRDict, isGiveBourseMoney=isAddBourseMoney)
+            moneyInfo[prizeMoneyType] = prizeGold
+            
+        if moneyInfo:
+            ItemControler.NotifyGiveAwardInfo(curPlayer, [], ChConfig.ItemGive_CTG, moneyInfo=moneyInfo, 
+                                              dataEx={"orderInfo":orderInfo, "ctgID":ctgID})
         
         isRealMoney = True if addDRDict.get("orderID") else False # tqxbqy 真实订单充代币算真实充值
         if isRealMoney:
@@ -692,8 +701,8 @@
         ctgRealToday = curPlayer.NomalDictGetProperty(ChConfig.Def_PDict_CTGRealToday) # 当日真实货币充值Coin数 ,不含后台充值- 今日
         ctgRealTotal = curPlayer.NomalDictGetProperty(ChConfig.Def_PDict_CTGRealTotal) # 累计真实货币充值Coin数 ,不包后台充值 - 总计
         ctgRealFirstTime = curPlayer.NomalDictGetProperty(ChConfig.Def_PDict_CTGRealFirstTime) # 首次真实货币充值时间戳
-        serverDay = GameWorld.GetGameWorld().GetGameWorldDictByKey(ShareDefine.Def_Notify_WorldKey_ServerDay) + 1
-        addDRDict.update({"coinType":coinType, "PayCoin":[befPayCoin, aftPayCoin], 
+        serverDay = DBDataMgr.GetEventTrigMgr().GetValue(ShareDefine.Def_ServerDay) + 1
+        addDRDict.update({"coinType":coinType, "PayCoin":[befPayCoin, aftPayCoin], "moneyInfo":moneyInfo,
                           "VIPLv":curPlayer.GetVIPLv(), "ServerDay":serverDay, "eventName":eventName, 
                           "ctgRealToday":ctgRealToday, "ctgRealTotal":ctgRealTotal, "ctgRealFirstTime":GameWorld.ChangeTimeNumToStr(ctgRealFirstTime) if ctgRealFirstTime else ""})
         DataRecordPack.DR_CTGOK(curPlayer, addDRDict)
@@ -764,37 +773,21 @@
     
     # 所有真实充值均有效的
     if coinType in [ChConfig.CoinType_Gold, ChConfig.CoinType_Buy, ChConfig.CoinType_UsePayCoin]:
-        #跨服充值排行活动
-        CrossActCTGBillboard.AddCTGRMB(curPlayer, orderCoin)
-        #跨服全民充值
-        CrossActAllRecharge.AddCTGRMB(curPlayer, orderCoin)
         PlayerActManyDayRecharge.AddManyDayRechargeValue(curPlayer, orderCoin) # 多日连充
-        #红包, 需要真实充值
-        PlayerFamilyRedPacket.OnPlayerRecharge(curPlayer, orderCoin)
-        
-    # 只算充仙玉的
-    if coinType == ChConfig.CoinType_Gold:
-        PlayerActRechargeRebateGold.AddRechargeRebateGoldRMB(curPlayer, addGold)
         
     #累积充值X元
     PlayerActTotalRecharge.AddTotalRechargeGold(curPlayer, orderCoin, coinType)
     PlayerActSingleRecharge.UpdSingleRechargeValue(curPlayer, orderCoin, coinType) # 单笔累充
-    PlayerActTurntable.OnPlayerRecharge(curPlayer, orderCoin, coinType) # 转盘
-    #开服活动
-    #OpenServerCampaign.AddOpenServerCampaignRecordData(curPlayer, ShareDefine.Def_Campaign_Type_Recharge, orderCoin)
-    PlayerWeekParty.AddWeekPartyActionCnt(curPlayer, ChConfig.Def_WPAct_Recharge, addVIPExp)
-    PlayerFeastTravel.AddFeastTravelTaskValue(curPlayer, ChConfig.Def_FeastTravel_CTGExp, addVIPExp)
     #投资
     if ctgIpyData:
         ctgID = ctgIpyData.GetRecordID()
-        PlayerActFamilyCTGAssist.OnPlayerCTG(curPlayer, ctgID)
         PlayerGoldInvest.InvestByCTG(curPlayer, ctgID)
         PlayerGoldGift.OnGiftByCTGID(curPlayer, ctgID)
         PlayerZhanling.OnActiviteByCTGID(curPlayer, ctgID)
         PlayerGoldRush.OnGoldRushByCTGID(curPlayer, ctgID)
-        PlayerTongTianLing.OnActiviteTTTByCTGID(curPlayer, ctgID)
+        PlayerLLMJ.OnActiviteByCTGID(curPlayer, ctgID)
         
-    serverDay = GameWorld.GetGameWorld().GetGameWorldDictByKey(ShareDefine.Def_Notify_WorldKey_ServerDay) + 1
+    serverDay = DBDataMgr.GetEventTrigMgr().GetValue(ShareDefine.Def_ServerDay) + 1
     addDRDict.update({"gold":[goldBefore, goldAfter], "changeCoinPoint":[changeCoinPointBefore, changeCoinPointAfter], "todayCTGCoinTotal":todayCTGCoinTotal,
                       "bourseMoney":[bourseMoneyBefore, bourseMoneyAfter], "addGold":addGold, "prizeGold":prizeGold, "giveItemList":giveItemList, "coinType":coinType,
                       "coinExp":coinExp, "addVIPExp":addVIPExp, "VIPLv":curPlayer.GetVIPLv(), "ServerDay":serverDay,
@@ -902,82 +895,3 @@
     countInfoPack.RecordCount = len(countInfoPack.CTGCountInfoList)
     NetPackCommon.SendFakePack(curPlayer, countInfoPack)
     return
-
-## ---------- 每日免费直购礼包 ----------------
-
-def OnGetDayFreeGoldGift(curPlayer):
-    ''' 领取每日免费直购礼包
-    '''
-    
-    isGet = curPlayer.NomalDictGetProperty(ChConfig.Def_PDict_DayFreeGoldGiftState)
-    if isGet:
-        #GameWorld.DebugLog("已经领取过每日免费直购礼包!")
-        return
-    
-    rewardItemList = IpyGameDataPY.GetFuncEvalCfg("DayFreeGoldGift", 1)
-    if not rewardItemList:
-        return
-    
-    needSpace = len(rewardItemList)
-    packSpace = ItemCommon.GetItemPackSpace(curPlayer, IPY_GameWorld.rptItem, needSpace)
-    if needSpace > packSpace:
-        PlayerControl.NotifyCode(curPlayer, "GeRen_chenxin_998371")
-        return
-    
-    PlayerControl.NomalDictSetProperty(curPlayer, ChConfig.Def_PDict_DayFreeGoldGiftState, 1)
-    
-    # 给物品
-    isAuctionItem = False
-    for itemID, itemCount in rewardItemList:        
-        ItemControler.GivePlayerItem(curPlayer, itemID, itemCount, isAuctionItem, [IPY_GameWorld.rptItem])
-        
-    # 通知客户端
-    Sync_DayFreeGoldGiftState(curPlayer)
-    return
-
-def Sync_DayFreeGoldGiftState(curPlayer):
-    clientPack = ChPyNetSendPack.tagMCDayFreeGoldGiftState()
-    clientPack.DayFreeGoldGiftState = curPlayer.NomalDictGetProperty(ChConfig.Def_PDict_DayFreeGoldGiftState)
-    NetPackCommon.SendFakePack(curPlayer, clientPack)
-    return
-
-## ------------------------------------------
-## ---------- 创角在线充值特惠 ---------------
-
-def OnGetOnlineRechargeTH(curPlayer):
-    ## 领取创角在线充值特惠
-    awardState = curPlayer.NomalDictGetProperty(ChConfig.Def_PDict_OnlineRechargeTHAward)
-    if awardState:
-        #GameWorld.DebugLog("已领取该奖励!")
-        return
-    
-    # 后端只验证是否有充值其中一个即可,不验证充值时间(充值同步到游戏服务器有时间差)
-    canGet = False
-    needCtgIDList = IpyGameDataPY.GetFuncEvalCfg("OnlineRechargeTH", 2)
-    for ctgID in needCtgIDList:
-        if curPlayer.NomalDictGetProperty(ChConfig.Def_PDict_CTGGoodsBuyCount % ctgID):
-            canGet = True
-            break
-        
-    if not canGet:
-        return
-    
-    awardItemList = IpyGameDataPY.GetFuncEvalCfg("OnlineRechargeTH", 3)
-    if not ItemControler.CheckPackSpaceEnough(curPlayer, awardItemList):
-        return
-    PlayerControl.NomalDictSetProperty(curPlayer, ChConfig.Def_PDict_OnlineRechargeTHAward, 1)
-    
-    for itemID, itemCount, isAuctionItem in awardItemList:
-        ItemControler.GivePlayerItem(curPlayer, itemID, itemCount, isAuctionItem, [IPY_GameWorld.rptItem], 
-                                     event=["OnlineRechargeTH", False, {}])
-        
-    SyncOnlineRechargeTH(curPlayer)
-    return
-
-def SyncOnlineRechargeTH(curPlayer):
-    clientPack = ChPyNetSendPack.tagMCOnlineRechargeTH()
-    clientPack.AwardState = curPlayer.NomalDictGetProperty(ChConfig.Def_PDict_OnlineRechargeTHAward)
-    NetPackCommon.SendFakePack(curPlayer, clientPack)
-    return
-
-## ------------------------------------------
\ No newline at end of file

--
Gitblit v1.8.0