From 6343277477b190efbc389bab2706cf94eb09be8d Mon Sep 17 00:00:00 2001
From: hxp <ale99527@vip.qq.com>
Date: 星期六, 07 二月 2026 20:59:32 +0800
Subject: [PATCH] 358 【内政】红颜系统-服务端(红颜时装默认解锁的状态也通知;红颜时装物品解锁改为直接取背包中的物品;)

---
 ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/PlayerCoin.py |   52 ++++++++++++++++++++--------------------------------
 1 files changed, 20 insertions(+), 32 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 ddfddca..0996c27 100644
--- a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/PlayerCoin.py
+++ b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/PlayerCoin.py
@@ -45,23 +45,16 @@
 import PlayerDailyGiftbag
 import PlayerGoldGift
 import PlayerActTotalRecharge
-import PlayerActRechargeRebateGold
-import PlayerActFamilyCTGAssist
 import PlayerActManyDayRecharge
 import PlayerActSingleRecharge
-import PlayerActRechargePrize
-import CrossActCTGBillboard
-import CrossActAllRecharge
 import PlayerActGrowupBuy
-import PlayerWeekParty
 import PlayerGoldInvest
 import PlayerActTurntable
-import PlayerTongTianLing
 import PlayerZhanling
 import PlayerGoldRush
 import PlayerLLMJ
-import ItemCommon
 import PyGameData
+import DBDataMgr
 import CommFunc
 
 import time
@@ -338,7 +331,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)
@@ -594,14 +587,7 @@
     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):
@@ -617,7 +603,8 @@
             syncRecordIDList.append(ctgID)
             ctgItemList = GetCTGGiveItemList(ctgIpyData)
             packCTGIDDict[ctgID] = ctgItemList
-            for itemID, itemCount, _ in ctgItemList:
+            for itemInfo in ctgItemList:
+                itemID, itemCount = itemInfo[:2]
                 packItemDict[itemID] = packItemDict.get(itemID, 0) + itemCount
             __addCTGIDBuyCnt(curPlayer, ctgID)
         if packCTGIDDict:
@@ -719,16 +706,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:
@@ -737,8 +736,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)
@@ -809,33 +808,22 @@
     
     # 所有真实充值均有效的
     if coinType in [ChConfig.CoinType_Gold, ChConfig.CoinType_Buy, ChConfig.CoinType_UsePayCoin]:
-        #跨服充值排行活动
-        CrossActCTGBillboard.AddCTGRMB(curPlayer, orderCoin)
-        #跨服全民充值
-        CrossActAllRecharge.AddCTGRMB(curPlayer, orderCoin)
         PlayerActManyDayRecharge.AddManyDayRechargeValue(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) # 转盘
-    PlayerWeekParty.AddWeekPartyActionCnt(curPlayer, ChConfig.Def_WPAct_Recharge, 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,

--
Gitblit v1.8.0