From f8746d124f66d507826a274aaaa0b71e0a67446a Mon Sep 17 00:00:00 2001
From: hxp <ale99527@vip.qq.com>
Date: 星期一, 01 十月 2018 17:59:29 +0800
Subject: [PATCH] 1 修复boss没配置复活等级时间时报错问题; 2 修复邮件给非定制装备无传奇属性bug; 3 上线重新刷一次无传奇属性的装备;

---
 ServerPython/CoreServerGroup/GameServer/Script/IpyGameDataPY.py |   62 +++++++++++++++++--------------
 1 files changed, 34 insertions(+), 28 deletions(-)

diff --git a/ServerPython/CoreServerGroup/GameServer/Script/IpyGameDataPY.py b/ServerPython/CoreServerGroup/GameServer/Script/IpyGameDataPY.py
index 75e262c..c96aa40 100644
--- a/ServerPython/CoreServerGroup/GameServer/Script/IpyGameDataPY.py
+++ b/ServerPython/CoreServerGroup/GameServer/Script/IpyGameDataPY.py
@@ -88,7 +88,7 @@
                 "DailyActionCustom":(
                         ("DWORD", "ID", 0),
                         ("BYTE", "OpenServerWeek", 1),
-                        ("DWORD", "OpenServerDay", 1),
+                        ("DWORD", "OpenServerDay", 0),
                         ("BYTE", "DailyID", 0),
                         ("list", "OpenTimeList", 0),
                         ("DWORD", "Duration", 0),
@@ -111,7 +111,7 @@
                 "FBStateTimeCustom":(
                         ("DWORD", "ID", 0),
                         ("BYTE", "OpenServerWeek", 1),
-                        ("DWORD", "OpenServerDay", 1),
+                        ("DWORD", "OpenServerDay", 0),
                         ("DWORD", "DataMapID", 0),
                         ("BYTE", "StartHour", 0),
                         ("BYTE", "StartMinute", 0),
@@ -183,32 +183,32 @@
                         ("DWORD", "CfgID", 1),
                         ("char", "ActMark", 0),
                         ("list", "ServerIDList", 0),
-                        ("BYTE", "OpenServerDayLimit", 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),
                         ),
 
                 "ActFlashGiftbag":(
                         ("DWORD", "CfgID", 1),
                         ("char", "ActMark", 0),
                         ("list", "ServerIDList", 0),
-                        ("BYTE", "OpenServerDayLimit", 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", "GiftbagTypeList", 0),
                         ),
 
                 "ActExpRate":(
@@ -221,6 +221,7 @@
                         ("list", "EndTimeList", 0),
                         ("dict", "NotifyInfoStart", 0),
                         ("dict", "NotifyInfoEnd", 0),
+                        ("list", "NotifyInfoLoop", 0),
                         ("WORD", "LVLimit", 0),
                         ("DWORD", "AddExpRate", 0),
                         ),
@@ -233,9 +234,8 @@
                         ("char", "EndDate", 0),
                         ("dict", "NotifyInfoStart", 0),
                         ("dict", "NotifyInfoEnd", 0),
-                        ("WORD", "LVLimit", 0),
+                        ("list", "NotifyInfoLoop", 0),
                         ("BYTE", "IsDayReset", 0),
-                        ("list", "TemplateIDList", 0),
                         ),
 
                 "ActBossReborn":(
@@ -244,6 +244,7 @@
                         ("list", "ServerIDList", 0),
                         ("char", "StartDate", 0),
                         ("char", "EndDate", 0),
+                        ("BYTE", "ResetType", 0),
                         ("dict", "NotifyInfoStart", 0),
                         ("dict", "NotifyInfoEnd", 0),
                         ("WORD", "LVLimit", 0),
@@ -273,6 +274,7 @@
                         ("list", "ServerIDList", 0),
                         ("char", "StartDate", 0),
                         ("char", "EndDate", 0),
+                        ("BYTE", "ResetType", 0),
                         ("dict", "NotifyInfoStart", 0),
                         ("dict", "NotifyInfoEnd", 0),
                         ("WORD", "Multiple", 0),
@@ -599,31 +601,31 @@
         self.CfgID = 0
         self.ActMark = ""
         self.ServerIDList = []
-        self.OpenServerDayLimit = 0
         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 = []
+        self.IsDayReset = 0
         return
         
     def GetCfgID(self): return self.CfgID # 配置ID
     def GetActMark(self): return self.ActMark # 活动组标记
     def GetServerIDList(self): return self.ServerIDList # 服务器ID列表
-    def GetOpenServerDayLimit(self): return self.OpenServerDayLimit # 开服X天后有效
     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 # 商店类型列表
+    def GetIsDayReset(self): return self.IsDayReset # 是否每天重置
 
 # 限时礼包表
 class IPY_ActFlashGiftbag():
@@ -632,31 +634,31 @@
         self.CfgID = 0
         self.ActMark = ""
         self.ServerIDList = []
-        self.OpenServerDayLimit = 0
         self.StartDate = ""
         self.EndDate = ""
         self.StartTimeList = []
         self.EndTimeList = []
+        self.AdvanceMinutes = 0
         self.NotifyInfoStart = {}
         self.NotifyInfoEnd = {}
+        self.NotifyInfoLoop = []
         self.LVLimit = 0
-        self.IsDayReset = 0
-        self.GiftbagTypeList = []
+        self.IsDayReset = 0
         return
         
     def GetCfgID(self): return self.CfgID # 配置ID
     def GetActMark(self): return self.ActMark # 活动组标记
     def GetServerIDList(self): return self.ServerIDList # 服务器ID列表
-    def GetOpenServerDayLimit(self): return self.OpenServerDayLimit # 开服X天后有效
     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 GetGiftbagTypeList(self): return self.GiftbagTypeList # 礼包类型列表
+    def GetIsDayReset(self): return self.IsDayReset # 是否每天重置
 
 # 双倍经验活动表
 class IPY_ActExpRate():
@@ -671,6 +673,7 @@
         self.EndTimeList = []
         self.NotifyInfoStart = {}
         self.NotifyInfoEnd = {}
+        self.NotifyInfoLoop = []
         self.LVLimit = 0
         self.AddExpRate = 0
         return
@@ -684,6 +687,7 @@
     def GetEndTimeList(self): return self.EndTimeList # 结束时间列表, 支持多个时段
     def GetNotifyInfoStart(self): return self.NotifyInfoStart # 全服提示信息 - 相对开始时间
     def GetNotifyInfoEnd(self): return self.NotifyInfoEnd # 全服提示信息 - 相对结束时间
+    def GetNotifyInfoLoop(self): return self.NotifyInfoLoop # 全服提示信息 - 循环广播[间隔分钟, 广播key, [可选参数1, ...]]
     def GetLVLimit(self): return self.LVLimit # 限制等级
     def GetAddExpRate(self): return self.AddExpRate # 经验倍率加成,万分率
 
@@ -698,9 +702,8 @@
         self.EndDate = ""
         self.NotifyInfoStart = {}
         self.NotifyInfoEnd = {}
-        self.LVLimit = 0
-        self.IsDayReset = 0
-        self.TemplateIDList = []
+        self.NotifyInfoLoop = []
+        self.IsDayReset = 0
         return
         
     def GetCfgID(self): return self.CfgID # 配置ID
@@ -710,9 +713,8 @@
     def GetEndDate(self): return self.EndDate # 结束日期
     def GetNotifyInfoStart(self): return self.NotifyInfoStart # 全服提示信息 - 相对开始时间
     def GetNotifyInfoEnd(self): return self.NotifyInfoEnd # 全服提示信息 - 相对结束时间
-    def GetLVLimit(self): return self.LVLimit # 限制等级
-    def GetIsDayReset(self): return self.IsDayReset # 是否每天重置
-    def GetTemplateIDList(self): return self.TemplateIDList # 模板ID列表
+    def GetNotifyInfoLoop(self): return self.NotifyInfoLoop # 全服提示信息 - 循环广播[间隔分钟, 广播key]
+    def GetIsDayReset(self): return self.IsDayReset # 是否每天重置
 
 # BOSS复活活动时间表
 class IPY_ActBossReborn():
@@ -723,6 +725,7 @@
         self.ServerIDList = []
         self.StartDate = ""
         self.EndDate = ""
+        self.ResetType = 0
         self.NotifyInfoStart = {}
         self.NotifyInfoEnd = {}
         self.LVLimit = 0
@@ -734,6 +737,7 @@
     def GetServerIDList(self): return self.ServerIDList # 服务器ID列表
     def GetStartDate(self): return self.StartDate # 开启日期
     def GetEndDate(self): return self.EndDate # 结束日期
+    def GetResetType(self): return self.ResetType # 重置类型,0-0点重置;1-5点重置
     def GetNotifyInfoStart(self): return self.NotifyInfoStart # 全服提示信息 - 相对开始时间
     def GetNotifyInfoEnd(self): return self.NotifyInfoEnd # 全服提示信息 - 相对结束时间
     def GetLVLimit(self): return self.LVLimit # 限制等级
@@ -784,6 +788,7 @@
         self.ServerIDList = []
         self.StartDate = ""
         self.EndDate = ""
+        self.ResetType = 0
         self.NotifyInfoStart = {}
         self.NotifyInfoEnd = {}
         self.Multiple = 0
@@ -795,6 +800,7 @@
     def GetServerIDList(self): return self.ServerIDList # 服务器ID列表
     def GetStartDate(self): return self.StartDate # 开启日期
     def GetEndDate(self): return self.EndDate # 结束日期
+    def GetResetType(self): return self.ResetType # 重置类型,0-0点重置;1-5点重置
     def GetNotifyInfoStart(self): return self.NotifyInfoStart # 全服提示信息 - 相对开始时间
     def GetNotifyInfoEnd(self): return self.NotifyInfoEnd # 全服提示信息 - 相对结束时间
     def GetMultiple(self): return self.Multiple # 倍数
@@ -1284,7 +1290,7 @@
     '''查询条件下与对应查询字段参考值相近的数据实例;参考值小于配置表最小值时返回none,大于最大值时返回最大值对应的实例
     @param dtName: 表名,不含tag
     @param keyName: 参考字段名
-    @param keyValue: 参考字段值
+    @param keyValue: 参考字段值,大于等于字段值时返回对应数据
     @param conditionDict: 查询条件,{查询字段名:字段值, ...}
     @return: 找不到数据返回 None , 否则返回对应的 ipyData 数据实例
     '''
@@ -1316,7 +1322,7 @@
         for i in xrange(near - 1, low - 1, -1):
             nearData = dataList[i]
             nearValue = getattr(nearData, "%s" % keyName)
-            if nearValue < keyValue:
+            if nearValue <= keyValue:
                 return nearData
             
     elif keyValue > nearValue:

--
Gitblit v1.8.0