From fea76cc7386e6c35cfe0f4910f066d04d24061f0 Mon Sep 17 00:00:00 2001 From: xdh <xiefantasy@qq.com> Date: 星期六, 13 十月 2018 14:26:42 +0800 Subject: [PATCH] 4075 【后端】限时抢购开发 --- ServerPython/CoreServerGroup/GameServer/Script/IpyGameDataPY.py | 82 +++++++++++++++++++++++++++++++++++++++++ 1 files changed, 82 insertions(+), 0 deletions(-) diff --git a/ServerPython/CoreServerGroup/GameServer/Script/IpyGameDataPY.py b/ServerPython/CoreServerGroup/GameServer/Script/IpyGameDataPY.py index ce59ba0..e945a24 100644 --- a/ServerPython/CoreServerGroup/GameServer/Script/IpyGameDataPY.py +++ b/ServerPython/CoreServerGroup/GameServer/Script/IpyGameDataPY.py @@ -281,6 +281,30 @@ ("WORD", "Multiple", 0), ("WORD", "LVLimit", 0), ), + + "ActFlashSale":( + ("DWORD", "CfgID", 1), + ("char", "ActMark", 0), + ("list", "ServerIDList", 0), + ("char", "StartDate", 0), + ("char", "EndDate", 0), + ("list", "StartTimeList", 0), + ("list", "EndTimeList", 0), + ("WORD", "AdvanceMinutes", 0), + ("dict", "NotifyInfoStart", 0), + ("dict", "NotifyInfoEnd", 0), + ("list", "NotifyInfoLoop", 0), + ("WORD", "LVLimit", 0), + ("BYTE", "IsDayReset", 0), + ("list", "ShopTypeList", 0), + ), + + "Store":( + ("DWORD", "ID", 1), + ("DWORD", "ShopType", 0), + ("BYTE", "RefreshType", 0), + ("DWORD", "ServerLimitCnt", 0), + ), } @@ -808,6 +832,56 @@ def GetNotifyInfoEnd(self): return self.NotifyInfoEnd # 全服提示信息 - 相对结束时间 def GetMultiple(self): return self.Multiple # 倍数 def GetLVLimit(self): return self.LVLimit # 限制等级 + +# 限时抢购表 +class IPY_ActFlashSale(): + + def __init__(self): + self.CfgID = 0 + self.ActMark = "" + self.ServerIDList = [] + self.StartDate = "" + self.EndDate = "" + self.StartTimeList = [] + self.EndTimeList = [] + self.AdvanceMinutes = 0 + self.NotifyInfoStart = {} + self.NotifyInfoEnd = {} + self.NotifyInfoLoop = [] + self.LVLimit = 0 + self.IsDayReset = 0 + self.ShopTypeList = [] + return + + def GetCfgID(self): return self.CfgID # 配置ID + def GetActMark(self): return self.ActMark # 活动组标记 + def GetServerIDList(self): return self.ServerIDList # 服务器ID列表 + def GetStartDate(self): return self.StartDate # 开启日期 + def GetEndDate(self): return self.EndDate # 结束日期 + def GetStartTimeList(self): return self.StartTimeList # 开启时间列表, 支持多个时段 + def GetEndTimeList(self): return self.EndTimeList # 结束时间列表, 支持多个时段 + def GetAdvanceMinutes(self): return self.AdvanceMinutes # 前端提前X分钟展示活动 + def GetNotifyInfoStart(self): return self.NotifyInfoStart # 全服提示信息 - 相对开始时间 + def GetNotifyInfoEnd(self): return self.NotifyInfoEnd # 全服提示信息 - 相对结束时间 + def GetNotifyInfoLoop(self): return self.NotifyInfoLoop # 全服提示信息 - 循环广播[间隔分钟, 广播key] + def GetLVLimit(self): return self.LVLimit # 限制等级 + def GetIsDayReset(self): return self.IsDayReset # 是否每天重置 + def GetShopTypeList(self): return self.ShopTypeList # 商店类型列表 + +# 商城表 +class IPY_Store(): + + def __init__(self): + self.ID = 0 + self.ShopType = 0 + self.RefreshType = 0 + self.ServerLimitCnt = 0 + return + + def GetID(self): return self.ID # ID + def GetShopType(self): return self.ShopType # 商店类型 + def GetRefreshType(self): return self.RefreshType # 刷新类型 0-不重置,1-onWeek0点,2-onWeek5点,3-OnDay0点,4-OnDay5点 + def GetServerLimitCnt(self): return self.ServerLimitCnt # 全服限制数量 def Log(msg, playerID=0, par=0): @@ -883,6 +957,10 @@ self.ipyUniquenessArriveLen = len(self.ipyUniquenessArriveCache) self.ipyActRealmPointCache = self.__LoadFileData("ActRealmPoint", IPY_ActRealmPoint) self.ipyActRealmPointLen = len(self.ipyActRealmPointCache) + self.ipyActFlashSaleCache = self.__LoadFileData("ActFlashSale", IPY_ActFlashSale) + self.ipyActFlashSaleLen = len(self.ipyActFlashSaleCache) + self.ipyStoreCache = self.__LoadFileData("Store", IPY_Store) + self.ipyStoreLen = len(self.ipyStoreCache) Log("IPY_FuncConfig count=%s" % len(self.ipyFuncConfigDict)) Log("IPY_DataMgr InitOK!") return @@ -1099,6 +1177,10 @@ def GetUniquenessArriveByIndex(self, index): return self.ipyUniquenessArriveCache[index] def GetActRealmPointCount(self): return self.ipyActRealmPointLen def GetActRealmPointByIndex(self, index): return self.ipyActRealmPointCache[index] + def GetActFlashSaleCount(self): return self.ipyActFlashSaleLen + def GetActFlashSaleByIndex(self, index): return self.ipyActFlashSaleCache[index] + def GetStoreCount(self): return self.ipyStoreLen + def GetStoreByIndex(self, index): return self.ipyStoreCache[index] IPYData = IPY_DataMgr() def IPY_Data(): return IPYData -- Gitblit v1.8.0