From 00f4a55d20b44485efb11172bf61263e8cfb57fa Mon Sep 17 00:00:00 2001
From: hxp <ale99527@vip.qq.com>
Date: 星期三, 12 三月 2025 15:09:14 +0800
Subject: [PATCH] 10416 【英文】【bt】【GM】【砍树】登录基金和幻境基金 完成后可以重置购买(重置关联的充值ID)

---
 ServerPython/CoreServerGroup/GameServer/Script/IpyGameDataPY.py |  137 +++++++++++++++++++++++++++++++++++++--------
 1 files changed, 112 insertions(+), 25 deletions(-)

diff --git a/ServerPython/CoreServerGroup/GameServer/Script/IpyGameDataPY.py b/ServerPython/CoreServerGroup/GameServer/Script/IpyGameDataPY.py
index 7e446ed..19aee5f 100644
--- a/ServerPython/CoreServerGroup/GameServer/Script/IpyGameDataPY.py
+++ b/ServerPython/CoreServerGroup/GameServer/Script/IpyGameDataPY.py
@@ -617,6 +617,27 @@
                         ("WORD", "XiangongID", 0),
                         ),
 
+                "CrossActLianqi":(
+                        ("DWORD", "CfgID", 1),
+                        ("char", "ActGroupName", 0),
+                        ("BYTE", "ZoneID", 0),
+                        ("list", "ServerIDRangeList", 0),
+                        ("char", "StartDate", 0),
+                        ("char", "EndDate", 0),
+                        ("char", "JoinStartTime", 0),
+                        ("char", "JoinEndTime", 0),
+                        ("WORD", "LVLimit", 0),
+                        ("WORD", "PersonalTemplateID", 0),
+                        ),
+
+                "ActLianqiBillTemp":(
+                        ("DWORD", "TemplateID", 1),
+                        ("BYTE", "Rank", 0),
+                        ("list", "AwardItemList", 0),
+                        ("DWORD", "NeedScore", 0),
+                        ("dict", "ScoreAwardEx", 0),
+                        ),
+
                 "ActXianXiaMJ":(
                         ("DWORD", "CfgID", 1),
                         ("list", "PlatformList", 0),
@@ -741,7 +762,7 @@
                         ("list", "NotifyInfoLoop", 0),
                         ("WORD", "LVLimit", 0),
                         ("BYTE", "IsDayReset", 0),
-                        ("list", "ShopTypeList", 0),
+                        ("dict", "ShopTypeList", 0),
                         ),
 
                 "Store":(
@@ -958,6 +979,16 @@
                         ("BYTE", "ResetType", 0),
                         ),
 
+                "ActLunhuidian":(
+                        ("DWORD", "CfgID", 1),
+                        ("list", "PlatformList", 0),
+                        ("list", "ServerGroupIDList", 0),
+                        ("BYTE", "ActNum", 0),
+                        ("char", "StartDate", 0),
+                        ("char", "EndDate", 0),
+                        ("BYTE", "ResetType", 0),
+                        ),
+
                 "ActBuyCountGift":(
                         ("DWORD", "CfgID", 1),
                         ("list", "PlatformList", 0),
@@ -965,9 +996,6 @@
                         ("BYTE", "ActNum", 0),
                         ("char", "StartDate", 0),
                         ("char", "EndDate", 0),
-                        ("dict", "NotifyInfoStart", 0),
-                        ("dict", "NotifyInfoEnd", 0),
-                        ("list", "NotifyInfoLoop", 0),
                         ("BYTE", "IsDayReset", 0),
                         ("BYTE", "ResetType", 0),
                         ),
@@ -979,9 +1007,6 @@
                         ("BYTE", "ActNum", 0),
                         ("char", "StartDate", 0),
                         ("char", "EndDate", 0),
-                        ("dict", "NotifyInfoStart", 0),
-                        ("dict", "NotifyInfoEnd", 0),
-                        ("list", "NotifyInfoLoop", 0),
                         ("BYTE", "IsDayReset", 0),
                         ("BYTE", "ResetType", 0),
                         ),
@@ -993,9 +1018,6 @@
                         ("BYTE", "ActNum", 0),
                         ("char", "StartDate", 0),
                         ("char", "EndDate", 0),
-                        ("dict", "NotifyInfoStart", 0),
-                        ("dict", "NotifyInfoEnd", 0),
-                        ("list", "NotifyInfoLoop", 0),
                         ),
 
                 "ActLoginAward":(
@@ -2074,6 +2096,37 @@
     def GetScoreAwardEx(self): return self.attrTuple[4] # 达标积分额外奖励 {积分:[[物品ID,个数,是否拍品], ...], ...} dict
     def GetXiangongID(self): return self.attrTuple[5] # 晋升仙宫ID WORD
 
+# 炼器活动跨服表
+class IPY_CrossActLianqi():
+    
+    def __init__(self):
+        self.attrTuple = None
+        return
+        
+    def GetCfgID(self): return self.attrTuple[0] # 配置ID DWORD
+    def GetActGroupName(self): return self.attrTuple[1] # 活动组名(同组活动的名字需相同) char
+    def GetZoneID(self): return self.attrTuple[2] # 组内分组编号 BYTE
+    def GetServerIDRangeList(self): return self.attrTuple[3] # 活动的账号服务器ID范围列表 [[serverIDA, serverIDB], ...] list
+    def GetStartDate(self): return self.attrTuple[4] # 开启日期 char
+    def GetEndDate(self): return self.attrTuple[5] # 结束日期 char
+    def GetJoinStartTime(self): return self.attrTuple[6] # 参与开始时间点 char
+    def GetJoinEndTime(self): return self.attrTuple[7] # 参与结束时间点 char
+    def GetLVLimit(self): return self.attrTuple[8] # 限制等级 WORD
+    def GetPersonalTemplateID(self): return self.attrTuple[9] # 个人排行模板编号 WORD
+
+# 炼器榜单模版表
+class IPY_ActLianqiBillTemp():
+    
+    def __init__(self):
+        self.attrTuple = None
+        return
+        
+    def GetTemplateID(self): return self.attrTuple[0] # 模板编号 DWORD
+    def GetRank(self): return self.attrTuple[1] # 名次 BYTE
+    def GetAwardItemList(self): return self.attrTuple[2] # 奖励物品列表[[物品ID,个数,是否拍品], ...] list
+    def GetNeedScore(self): return self.attrTuple[3] # 上榜所需积分 DWORD
+    def GetScoreAwardEx(self): return self.attrTuple[4] # 达标积分额外奖励 {积分:[[物品ID,个数,是否拍品], ...], ...} dict
+
 # 仙匣秘境活动时间表
 class IPY_ActXianXiaMJ():
     
@@ -2249,7 +2302,7 @@
     def GetNotifyInfoLoop(self): return self.attrTuple[11] # 全服提示信息 - 循环广播[间隔分钟, 广播key] list
     def GetLVLimit(self): return self.attrTuple[12] # 限制等级 WORD
     def GetIsDayReset(self): return self.attrTuple[13] # 是否每天重置 BYTE
-    def GetShopTypeList(self): return self.attrTuple[14] # 商店类型列表 list
+    def GetShopTypeList(self): return self.attrTuple[14] # 商店类型列表 dict
 
 # 商城表
 class IPY_Store():
@@ -2575,6 +2628,21 @@
     def GetEndDate(self): return self.attrTuple[5] # 结束日期 char
     def GetResetType(self): return self.attrTuple[6] # 重置类型,0-0点重置;1-5点重置 BYTE
 
+# 轮回殿活动时间表
+class IPY_ActLunhuidian():
+    
+    def __init__(self):
+        self.attrTuple = None
+        return
+        
+    def GetCfgID(self): return self.attrTuple[0] # 配置ID DWORD
+    def GetPlatformList(self): return self.attrTuple[1] # 活动平台列表["平台A", "平台A", ...],配[]代表所有 list
+    def GetServerGroupIDList(self): return self.attrTuple[2] # 服务器ID列表 list
+    def GetActNum(self): return self.attrTuple[3] # 活动分组编号, 活动类型 * 10 + 不同界面编号 BYTE
+    def GetStartDate(self): return self.attrTuple[4] # 开启日期 char
+    def GetEndDate(self): return self.attrTuple[5] # 结束日期 char
+    def GetResetType(self): return self.attrTuple[6] # 重置类型,0-0点重置;1-5点重置 BYTE
+
 # 购买次数礼包活动时间表
 class IPY_ActBuyCountGift():
     
@@ -2588,11 +2656,8 @@
     def GetActNum(self): return self.attrTuple[3] # 活动分组编号, 活动类型 * 10 + 不同界面编号 BYTE
     def GetStartDate(self): return self.attrTuple[4] # 开启日期 char
     def GetEndDate(self): return self.attrTuple[5] # 结束日期 char
-    def GetNotifyInfoStart(self): return self.attrTuple[6] # 全服提示信息 - 相对开始时间 dict
-    def GetNotifyInfoEnd(self): return self.attrTuple[7] # 全服提示信息 - 相对结束时间 dict
-    def GetNotifyInfoLoop(self): return self.attrTuple[8] # 全服提示信息 - 循环广播[间隔分钟, 广播key] list
-    def GetIsDayReset(self): return self.attrTuple[9] # 是否每天重置 BYTE
-    def GetResetType(self): return self.attrTuple[10] # 重置类型,0-0点重置;1-5点重置 BYTE
+    def GetIsDayReset(self): return self.attrTuple[6] # 是否每天重置 BYTE
+    def GetResetType(self): return self.attrTuple[7] # 重置类型,0-0点重置;1-5点重置 BYTE
 
 # 任务活动时间表
 class IPY_ActTask():
@@ -2607,11 +2672,8 @@
     def GetActNum(self): return self.attrTuple[3] # 活动分组编号, 活动类型 * 10 + 不同界面编号 BYTE
     def GetStartDate(self): return self.attrTuple[4] # 开启日期 char
     def GetEndDate(self): return self.attrTuple[5] # 结束日期 char
-    def GetNotifyInfoStart(self): return self.attrTuple[6] # 全服提示信息 - 相对开始时间 dict
-    def GetNotifyInfoEnd(self): return self.attrTuple[7] # 全服提示信息 - 相对结束时间 dict
-    def GetNotifyInfoLoop(self): return self.attrTuple[8] # 全服提示信息 - 循环广播[间隔分钟, 广播key] list
-    def GetIsDayReset(self): return self.attrTuple[9] # 是否每天重置 BYTE
-    def GetResetType(self): return self.attrTuple[10] # 重置类型,0-0点重置;1-5点重置 BYTE
+    def GetIsDayReset(self): return self.attrTuple[6] # 是否每天重置 BYTE
+    def GetResetType(self): return self.attrTuple[7] # 重置类型,0-0点重置;1-5点重置 BYTE
 
 # 登录活动奖励时间表新
 class IPY_ActLoginNew():
@@ -2625,10 +2687,7 @@
     def GetServerGroupIDList(self): return self.attrTuple[2] # 服务器ID列表 list
     def GetActNum(self): return self.attrTuple[3] # 活动分组编号, 活动类型 * 10 + 不同界面编号 BYTE
     def GetStartDate(self): return self.attrTuple[4] # 开启日期 char
-    def GetEndDate(self): return self.attrTuple[5] # 结束日期 char
-    def GetNotifyInfoStart(self): return self.attrTuple[6] # 全服提示信息 - 相对开始时间 dict
-    def GetNotifyInfoEnd(self): return self.attrTuple[7] # 全服提示信息 - 相对结束时间 dict
-    def GetNotifyInfoLoop(self): return self.attrTuple[8] # 全服提示信息 - 循环广播[间隔分钟, 广播key] list
+    def GetEndDate(self): return self.attrTuple[5] # 结束日期 char
 
 # 登录奖励时间表
 class IPY_ActLoginAward():
@@ -3047,6 +3106,8 @@
         self.__LoadFileData("ActGubao", onlyCheck)
         self.__LoadFileData("CrossActGubao", onlyCheck)
         self.__LoadFileData("ActGubaoBillTemp", onlyCheck)
+        self.__LoadFileData("CrossActLianqi", onlyCheck)
+        self.__LoadFileData("ActLianqiBillTemp", onlyCheck)
         self.__LoadFileData("ActXianXiaMJ", onlyCheck)
         self.__LoadFileData("CrossActXianXiaMJ", onlyCheck)
         self.__LoadFileData("ActXianXiaMJBillTemp", onlyCheck)
@@ -3079,6 +3140,7 @@
         self.__LoadFileData("CrossFamilyFlagwarZoneMap", onlyCheck)
         self.__LoadFileData("ActWeekParty", onlyCheck)
         self.__LoadFileData("ActYunshi", onlyCheck)
+        self.__LoadFileData("ActLunhuidian", onlyCheck)
         self.__LoadFileData("ActBuyCountGift", onlyCheck)
         self.__LoadFileData("ActTask", onlyCheck)
         self.__LoadFileData("ActLoginNew", onlyCheck)
@@ -3181,8 +3243,12 @@
                         attrValue = value
                     elif fieldType == "dict":
                         attrValue = self.__StrToDict(value)
+                        if type(attrValue) != dict:
+                            raise
                     elif fieldType == "list":
                         attrValue = self.__StrToList(value)
+                        if type(attrValue) not in [list, tuple]:
+                            raise
                     elif fieldType == "eval":
                         attrValue = self.__StrToEval(value)
                     elif fieldType == "float":
@@ -3706,6 +3772,20 @@
         self.CheckLoadData("ActGubaoBillTemp")
         return self.ipyActGubaoBillTempCache[index]
 
+    def GetCrossActLianqiCount(self):
+        self.CheckLoadData("CrossActLianqi")
+        return self.ipyCrossActLianqiLen
+    def GetCrossActLianqiByIndex(self, index):
+        self.CheckLoadData("CrossActLianqi")
+        return self.ipyCrossActLianqiCache[index]
+
+    def GetActLianqiBillTempCount(self):
+        self.CheckLoadData("ActLianqiBillTemp")
+        return self.ipyActLianqiBillTempLen
+    def GetActLianqiBillTempByIndex(self, index):
+        self.CheckLoadData("ActLianqiBillTemp")
+        return self.ipyActLianqiBillTempCache[index]
+
     def GetActXianXiaMJCount(self):
         self.CheckLoadData("ActXianXiaMJ")
         return self.ipyActXianXiaMJLen
@@ -3930,6 +4010,13 @@
         self.CheckLoadData("ActYunshi")
         return self.ipyActYunshiCache[index]
 
+    def GetActLunhuidianCount(self):
+        self.CheckLoadData("ActLunhuidian")
+        return self.ipyActLunhuidianLen
+    def GetActLunhuidianByIndex(self, index):
+        self.CheckLoadData("ActLunhuidian")
+        return self.ipyActLunhuidianCache[index]
+
     def GetActBuyCountGiftCount(self):
         self.CheckLoadData("ActBuyCountGift")
         return self.ipyActBuyCountGiftLen

--
Gitblit v1.8.0