From 6ed7fdf75d8bfcdbde5e8eaf0f5698a45e359076 Mon Sep 17 00:00:00 2001
From: hxp <ale99527@vip.qq.com>
Date: 星期一, 13 十二月 2021 14:16:58 +0800
Subject: [PATCH] 9293 【BT5】【后端】新增绝版礼包

---
 ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/PlayerFlashGiftbag.py |   20 +++++++++++++++++---
 1 files changed, 17 insertions(+), 3 deletions(-)

diff --git a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/PlayerFlashGiftbag.py b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/PlayerFlashGiftbag.py
index 31c25c8..2e22b00 100644
--- a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/PlayerFlashGiftbag.py
+++ b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/PlayerFlashGiftbag.py
@@ -127,7 +127,9 @@
         if not state:
             continue
         
-        giftbagTypeList = GetGiftbagTypeList(actInfo.get(ShareDefine.ActKey_CfgID, 0), actInfo.get(ShareDefine.ActKey_DayIndex, 0), actInfo.get(ShareDefine.ActKey_WorldLV, 0))
+        cfgID = actInfo.get(ShareDefine.ActKey_CfgID, 0)
+        giftbagTypeList = GetGiftbagTypeList(cfgID, actInfo.get(ShareDefine.ActKey_DayIndex, 0), actInfo.get(ShareDefine.ActKey_WorldLV, 0))
+        
         if not giftbagTypeList:
             continue
         actGiftbagType = giftbagTypeList[-1] if state > len(giftbagTypeList) else giftbagTypeList[state - 1]
@@ -143,6 +145,18 @@
         if not giftbagIpyData:
             continue
         
+        flashGiftbagIpyData = IpyGameDataPY.GetIpyGameData("ActFlashGiftbag", cfgID)
+        if not flashGiftbagIpyData:
+            continue
+        isJueban = flashGiftbagIpyData.GetIsJueban()
+        if isJueban:
+            for ipyData in giftbagIpyDataList:
+                juebanGiftbagID = ipyData.GetGiftbagID()
+                juebanBuyCount = curPlayer.NomalDictGetProperty(ChConfig.Def_PDict_FlashGiftbagBuyCount % (actNum, juebanGiftbagID))
+                if juebanGiftbagID not in giftbagIDList and juebanBuyCount > 0:
+                    DataRecordPack.DR_CTGError(curPlayer, "FlashGiftbag JueBan pay limit! have already bought other giftbagID=%s" % juebanGiftbagID, addDRDict)
+                    return
+                
         giftbagID = giftbagIpyData.GetGiftbagID()
         giftItemList = __GetJobItemList(giftbagIpyData.GetGiftItemList(), curPlayer.GetJob()) 
         addDRDict.update({"giftbagID":giftbagID, "giftItemList":giftItemList})
@@ -171,8 +185,8 @@
         PlayerWeekParty.AddWeekPartyActionCnt(curPlayer, ChConfig.Def_WPAct_GiftBag, actGiftbagType, False)
         
         canBuy = True
-        GameWorld.DebugLog("    购买限时礼包: actNum=%s,actGiftbagType=%s,giftbagID=%s,buyCount=%s" 
-                           % (actNum, actGiftbagType, giftbagID, buyCount + 1))
+        GameWorld.DebugLog("    购买限时礼包: actNum=%s,actGiftbagType=%s,giftbagID=%s,buyCount=%s,isJueban=%s" 
+                           % (actNum, actGiftbagType, giftbagID, buyCount + 1, isJueban))
         break
     
     if not canBuy:

--
Gitblit v1.8.0