From ee0976feabc604ac91bdc86fc368941cf85d97b7 Mon Sep 17 00:00:00 2001 From: hxp <ale99527@vip.qq.com> Date: 星期二, 12 二月 2019 11:39:51 +0800 Subject: [PATCH] Merge branch 'master' of http://192.168.0.87:10010/r/SnxxServerCode --- ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/PlayerFlashGiftbag.py | 23 ++++++++++++++++------- 1 files changed, 16 insertions(+), 7 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 bca97e7..0545836 100644 --- a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/PlayerFlashGiftbag.py +++ b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/PlayerFlashGiftbag.py @@ -30,13 +30,13 @@ import ChConfig -def GetGiftbagTypeList(cfgID, dayIndex): +def GetGiftbagTypeList(cfgID, dayIndex, woldLV): if cfgID == None or dayIndex == None: return [] ipyData = IpyGameDataPY.GetIpyGameData("ActFlashGiftbag", cfgID) if not ipyData: return [] - giftbagTypeList = ipyData.GetGiftbagTypeList() + giftbagTypeList = GameWorld.GetDictValueByRangeKey(ipyData.GetGiftbagTypeList(), woldLV, []) todayGiftbag = giftbagTypeList[-1] if dayIndex >= len(giftbagTypeList) else giftbagTypeList[dayIndex] return todayGiftbag @@ -65,7 +65,7 @@ cfgID = actInfo.get(ShareDefine.ActKey_CfgID, 0) playerActID = curPlayer.NomalDictGetProperty(ChConfig.Def_PDict_FlashGiftbagID) # 玩家身上的活动ID - giftbagTypeList = [] if not cfgID else GetGiftbagTypeList(cfgID, actInfo.get(ShareDefine.ActKey_DayIndex, 0)) + giftbagTypeList = [] if not cfgID else GetGiftbagTypeList(cfgID, actInfo.get(ShareDefine.ActKey_DayIndex, 0), actInfo.get(ShareDefine.ActKey_WorldLV, 0)) isReset = False if actID != playerActID: isReset = True @@ -123,7 +123,7 @@ DataRecordPack.DR_CTGError(curPlayer, "FlashGiftbag state is 0!", addDRDict) return - giftbagTypeList = GetGiftbagTypeList(actInfo.get(ShareDefine.ActKey_CfgID, 0), actInfo.get(ShareDefine.ActKey_DayIndex, 0)) + giftbagTypeList = GetGiftbagTypeList(actInfo.get(ShareDefine.ActKey_CfgID, 0), actInfo.get(ShareDefine.ActKey_DayIndex, 0), actInfo.get(ShareDefine.ActKey_WorldLV, 0)) if not giftbagTypeList: DataRecordPack.DR_CTGError(curPlayer, "FlashGiftbag GiftbagTypeList is null!", addDRDict) return @@ -143,7 +143,7 @@ return giftbagID = giftbagIpyData.GetGiftbagID() - giftItemList = giftbagIpyData.GetGiftItemList() + giftItemList = __GetJobItemList(giftbagIpyData.GetGiftItemList(), curPlayer.GetJob()) addDRDict.update({"giftbagID":giftbagID, "giftItemList":giftItemList}) buyCountLimit = giftbagIpyData.GetBuyCountLimit() buyCount = curPlayer.NomalDictGetProperty(ChConfig.Def_PDict_FlashGiftbagBuyCount % giftbagID) @@ -176,6 +176,15 @@ SyncFlashGiftbagBuyCount(curPlayer, [giftbagID]) PlayerWeekParty.AddWeekPartyActionCnt(curPlayer, ChConfig.Def_WPAct_GiftBag, actGiftbagType, False) return True + +def __GetJobItemList(itemList, job): + jobItemList = [] + for itemID, itemCnt, isBind in itemList: + if type(itemID) == int: + jobItemList.append([itemID, itemCnt, isBind]) + elif job in itemID: + jobItemList.append([itemID[job], itemCnt, isBind]) + return jobItemList def SyncFlashGiftbagBuyCount(curPlayer, syncIDList=[], giftbagTypeList=[]): ## 通知限时礼包玩家活动信息 @@ -221,7 +230,7 @@ cfgID = actInfo.get(ShareDefine.ActKey_CfgID, 0) if not cfgID: return - giftbagTypeList = GetGiftbagTypeList(cfgID, actInfo.get(ShareDefine.ActKey_DayIndex, 0)) + giftbagTypeList = GetGiftbagTypeList(cfgID, actInfo.get(ShareDefine.ActKey_DayIndex, 0), actInfo.get(ShareDefine.ActKey_WorldLV, 0)) if not giftbagTypeList: return @@ -274,7 +283,7 @@ giftBag.RMB = 0 if not orderIpyData else int(orderIpyData.GetPayRMBNum()) giftBag.RMBOriginal = giftIpyData.GetOriginalRMB() giftBag.ItemInfo = [] - for itemID, itemCount, isBind in giftIpyData.GetGiftItemList(): + for itemID, itemCount, isBind in __GetJobItemList(orderIpyData.GetGiftItemList(), curPlayer.GetJob()): item = ChPyNetSendPack.tagMCFlashGiftbagItem() item.ItemID = itemID item.ItemCount = itemCount -- Gitblit v1.8.0