| | |
| | | WORD AdvanceMinutes; //前端提前X分钟展示活动
|
| | | WORD LVLimit; //限制等级
|
| | | BYTE IsDayReset; //是否每天重置
|
| | | BYTE IsJueban; //是否绝版礼包
|
| | | dict GiftbagTypeList; //礼包类型列表
|
| | | char MailKey; //活动更新时发送邮件key
|
| | | list MailItemPrize; //活动更新时发送邮件奖励物品
|
| | |
| | | ("WORD", "AdvanceMinutes", 0),
|
| | | ("WORD", "LVLimit", 0),
|
| | | ("BYTE", "IsDayReset", 0),
|
| | | ("BYTE", "IsJueban", 0),
|
| | | ("dict", "GiftbagTypeList", 0),
|
| | | ("char", "MailKey", 0),
|
| | | ("list", "MailItemPrize", 0),
|
| | |
| | | self.AdvanceMinutes = 0
|
| | | self.LVLimit = 0
|
| | | self.IsDayReset = 0
|
| | | self.IsJueban = 0
|
| | | self.GiftbagTypeList = {}
|
| | | self.MailKey = ""
|
| | | self.MailItemPrize = [] |
| | |
| | | def GetAdvanceMinutes(self): return self.AdvanceMinutes # 前端提前X分钟展示活动
|
| | | def GetLVLimit(self): return self.LVLimit # 限制等级
|
| | | def GetIsDayReset(self): return self.IsDayReset # 是否每天重置
|
| | | def GetIsJueban(self): return self.IsJueban # 是否绝版礼包
|
| | | def GetGiftbagTypeList(self): return self.GiftbagTypeList # 礼包类型列表
|
| | | def GetMailKey(self): return self.MailKey # 活动更新时发送邮件key
|
| | | def GetMailItemPrize(self): return self.MailItemPrize # 活动更新时发送邮件奖励物品 |
| | |
| | | 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]
|
| | |
| | | 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})
|
| | |
| | | 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:
|