From 5d79b486b2974522c2d1978dc90c3081827224e0 Mon Sep 17 00:00:00 2001
From: hxp <ale99527@vip.qq.com>
Date: 星期四, 26 二月 2026 15:46:46 +0800
Subject: [PATCH] 493 【活动内容】武将登场-服务端

---
 ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/IpyGameDataPY.py |  224 +++++++++++++++++++++++++++++++++++++------------------
 1 files changed, 150 insertions(+), 74 deletions(-)

diff --git a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/IpyGameDataPY.py b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/IpyGameDataPY.py
index 8f85a04..8257d1d 100644
--- a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/IpyGameDataPY.py
+++ b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/IpyGameDataPY.py
@@ -1008,6 +1008,7 @@
                         ("list", "ItemListEx", 0),
                         ("BYTE", "ResetType", 0),
                         ("DWORD", "LimitCnt", 0),
+                        ("DWORD", "CostItemID", 0),
                         ("BYTE", "MoneyType", 0),
                         ("DWORD", "MoneyNum", 0),
                         ("DWORD", "MoneyOriginal", 0),
@@ -1173,10 +1174,10 @@
 
                 "TreasureSet":(
                         ("BYTE", "TreasureType", 1),
-                        ("BYTE", "PackType", 0),
-                        ("BYTE", "CheckPack", 0),
-                        ("BYTE", "IsActType", 0),
+                        ("list", "CheckPackList", 0),
+                        ("BYTE", "ActType", 0),
                         ("DWORD", "DailyMaxCount", 0),
+                        ("DWORD", "DailyMaxCountMoney", 0),
                         ("BYTE", "DailyFreeCount", 0),
                         ("list", "TreasureCountList", 0),
                         ("char", "RecycleItemMail", 0),
@@ -1189,10 +1190,12 @@
                         ("char", "LuckyRateFormat", 0),
                         ("BYTE", "LuckyGridNum", 0),
                         ("dict", "GridNumMaxLimitInfo", 0),
+                        ("list", "RecordGridNumList", 0),
                         ("list", "NotifyGridNumList", 0),
                         ("dict", "NotifyKeyDict", 0),
                         ("BYTE", "AwardMoneyType", 0),
                         ("WORD", "AwardMoneyValue", 0),
+                        ("list", "AwardItemInfo", 0),
                         ("BYTE", "WishReset", 0),
                         ("dict", "WishLibSelect", 0),
                         ("dict", "WishLibPubFreeCnt", 0),
@@ -1514,25 +1517,47 @@
                         ("list", "AwardItemList", 0),
                         ),
 
-                "ActLoginNew":(
-                        ("DWORD", "CfgID", 1),
-                        ("char", "StartDate", 0),
-                        ("char", "EndDate", 0),
-                        ("WORD", "RelateFuncID", 0),
-                        ("BYTE", "FuncActDays", 0),
-                        ("BYTE", "FuncLoop", 0),
-                        ("WORD", "LVLimit", 0),
-                        ("list", "RepSignCostMoneyInfo", 0),
-                        ("BYTE", "TemplateID", 0),
-                        ("WORD", "AwardExCTGID", 0),
-                        ("WORD", "ActZhanlingType", 0),
-                        ),
-
-                "ActLoginNewAward":(
+                "ActSignAward":(
                         ("BYTE", "TemplateID", 1),
                         ("BYTE", "DayNum", 0),
-                        ("list", "LoginAwardItemList", 0),
-                        ("list", "LoginAwardItemListEx", 0),
+                        ("list", "SignAwardItemList", 0),
+                        ),
+
+                "ActBillboardAward":(
+                        ("DWORD", "TemplateID", 1),
+                        ("WORD", "RankA", 0),
+                        ("WORD", "RankB", 0),
+                        ("float", "NeedValue", 0),
+                        ("list", "AwardItemList", 0),
+                        ),
+
+                "ActHeroAppear":(
+                        ("DWORD", "CfgID", 1),
+                        ("list", "PlatformList", 0),
+                        ("list", "ServerIDList", 0),
+                        ("BYTE", "ActNum", 0),
+                        ("char", "StartDate", 0),
+                        ("char", "EndDate", 0),
+                        ("list", "ActHeroIDList", 0),
+                        ("WORD", "ActTreasureType", 0),
+                        ("BYTE", "StarGiftTempID", 0),
+                        ("list", "SkinCTGIDList", 0),
+                        ("list", "GiftCTGIDList", 0),
+                        ("WORD", "GiftShopType", 0),
+                        ("WORD", "ExShopType", 0),
+                        ("char", "ExShopRecycleMail", 0),
+                        ("WORD", "SignTempID", 0),
+                        ("WORD", "BillTempID", 0),
+                        ("char", "BillAwardMail", 0),
+                        ),
+
+                "ActHeroAppearStar":(
+                        ("BYTE", "StarTempID", 1),
+                        ("BYTE", "NeedStar", 0),
+                        ("BYTE", "AwardIndex", 0),
+                        ("list", "FreeAwardItemList", 0),
+                        ("WORD", "StarGiftCTGID", 0),
+                        ("dict", "HeroGiftItemInfo", 0),
                         ),
 
                 "EquipPlaceIndexMap":(
@@ -3157,11 +3182,12 @@
     def GetItemListEx(self): return self.attrTuple[4] # 扩展物品列表[[物品ID,个数,是否绑定],...] list
     def GetResetType(self): return self.attrTuple[5] # 重置类型 BYTE
     def GetLimitCnt(self): return self.attrTuple[6] # 个人限制数量 DWORD
-    def GetMoneyType(self): return self.attrTuple[7] # 金钱类型 BYTE
-    def GetMoneyNum(self): return self.attrTuple[8] # 金钱数量 DWORD
-    def GetMoneyOriginal(self): return self.attrTuple[9] # 原价 DWORD
-    def GetUnlockType(self): return self.attrTuple[10] # 解锁类型 BYTE
-    def GetUnlockValue(self): return self.attrTuple[11] # 解锁所需值 DWORD
+    def GetCostItemID(self): return self.attrTuple[7] # 消耗道具ID DWORD
+    def GetMoneyType(self): return self.attrTuple[8] # 金钱类型 BYTE
+    def GetMoneyNum(self): return self.attrTuple[9] # 金钱数量 DWORD
+    def GetMoneyOriginal(self): return self.attrTuple[10] # 原价 DWORD
+    def GetUnlockType(self): return self.attrTuple[11] # 解锁类型 BYTE
+    def GetUnlockValue(self): return self.attrTuple[12] # 解锁所需值 DWORD
 
 # 每日任务表
 class IPY_DailyTask():
@@ -3397,10 +3423,10 @@
         return
         
     def GetTreasureType(self): return self.attrTuple[0] # 寻宝类型 BYTE
-    def GetPackType(self): return self.attrTuple[1] # 放入背包 BYTE
-    def GetCheckPack(self): return self.attrTuple[2] # 是否检查背包 BYTE
-    def GetIsActType(self): return self.attrTuple[3] # 是否活动寻宝 BYTE
-    def GetDailyMaxCount(self): return self.attrTuple[4] # 每日最大次数 DWORD
+    def GetCheckPackList(self): return self.attrTuple[1] # 检查背包类型列表 list
+    def GetActType(self): return self.attrTuple[2] # 活动寻宝类型 BYTE
+    def GetDailyMaxCount(self): return self.attrTuple[3] # 每日最大次数 DWORD
+    def GetDailyMaxCountMoney(self): return self.attrTuple[4] # 每日货币次数 DWORD
     def GetDailyFreeCount(self): return self.attrTuple[5] # 每日免费次数 BYTE
     def GetTreasureCountList(self): return self.attrTuple[6] # 抽奖次数列表 list
     def GetRecycleItemMail(self): return self.attrTuple[7] # 重置回收道具邮件,如果有配置回收邮件key,则重置时会回收多余的寻宝道具 char
@@ -3413,14 +3439,16 @@
     def GetLuckyRateFormat(self): return self.attrTuple[14] # 幸运格子概率公式 char
     def GetLuckyGridNum(self): return self.attrTuple[15] # 幸运格子编号 BYTE
     def GetGridNumMaxLimitInfo(self): return self.attrTuple[16] # 格子最大产出次数限制,{"格子":最大可产出次数, ...} dict
-    def GetNotifyGridNumList(self): return self.attrTuple[17] # 需要额外广播的格子 list
-    def GetNotifyKeyDict(self): return self.attrTuple[18] # 广播key dict
-    def GetAwardMoneyType(self): return self.attrTuple[19] # 额外奖励货币类型 BYTE
-    def GetAwardMoneyValue(self): return self.attrTuple[20] # 单次奖励货币数 WORD
-    def GetWishReset(self): return self.attrTuple[21] # 心愿重置规则 BYTE
-    def GetWishLibSelect(self): return self.attrTuple[22] # 心愿库选择数 dict
-    def GetWishLibPubFreeCnt(self): return self.attrTuple[23] # 心愿库公共免费次数 dict
-    def GetWishLibCard(self): return self.attrTuple[24] # 心愿库心愿卡 dict
+    def GetRecordGridNumList(self): return self.attrTuple[17] # 需要记录产出的格子 list
+    def GetNotifyGridNumList(self): return self.attrTuple[18] # 需要额外广播的格子 list
+    def GetNotifyKeyDict(self): return self.attrTuple[19] # 广播key dict
+    def GetAwardMoneyType(self): return self.attrTuple[20] # 额外奖励货币类型 BYTE
+    def GetAwardMoneyValue(self): return self.attrTuple[21] # 单次奖励货币数 WORD
+    def GetAwardItemInfo(self): return self.attrTuple[22] # 单次额外奖励道具,物品ID|个数 list
+    def GetWishReset(self): return self.attrTuple[23] # 心愿重置规则 BYTE
+    def GetWishLibSelect(self): return self.attrTuple[24] # 心愿库选择数 dict
+    def GetWishLibPubFreeCnt(self): return self.attrTuple[25] # 心愿库公共免费次数 dict
+    def GetWishLibCard(self): return self.attrTuple[26] # 心愿库心愿卡 dict
 
 # 寻宝产出库表
 class IPY_TreasureHouse():
@@ -3912,27 +3940,8 @@
     def GetNeedValue(self): return self.attrTuple[3] # 完成任务所需值 DWORD
     def GetAwardItemList(self): return self.attrTuple[4] # 任务奖励列表[[物品ID,个数,是否拍品], ...] list
 
-# 登录活动奖励时间表新
-class IPY_ActLoginNew():
-    
-    def __init__(self):
-        self.attrTuple = None
-        return
-        
-    def GetCfgID(self): return self.attrTuple[0] # 配置ID DWORD
-    def GetStartDate(self): return self.attrTuple[1] # 开启日期 char
-    def GetEndDate(self): return self.attrTuple[2] # 结束日期 char
-    def GetRelateFuncID(self): return self.attrTuple[3] # 关联功能ID WORD
-    def GetFuncActDays(self): return self.attrTuple[4] # 功能活动天数 BYTE
-    def GetFuncLoop(self): return self.attrTuple[5] # 功能是否循环 BYTE
-    def GetLVLimit(self): return self.attrTuple[6] # 限制等级 WORD
-    def GetRepSignCostMoneyInfo(self): return self.attrTuple[7] # 补签消耗货币类型数量 list
-    def GetTemplateID(self): return self.attrTuple[8] # 登录奖励模板编号 BYTE
-    def GetAwardExCTGID(self): return self.attrTuple[9] # 扩展奖励礼包充值ID WORD
-    def GetActZhanlingType(self): return self.attrTuple[10] # 关联活动战令类型 WORD
-
-# 登录活动奖励模板表新
-class IPY_ActLoginNewAward():
+# 活动签到奖励表
+class IPY_ActSignAward():
     
     def __init__(self):
         self.attrTuple = None
@@ -3940,8 +3949,59 @@
         
     def GetTemplateID(self): return self.attrTuple[0] # 模板ID BYTE
     def GetDayNum(self): return self.attrTuple[1] # 第X天从1开始 BYTE
-    def GetLoginAwardItemList(self): return self.attrTuple[2] # 奖励列表[[物品ID,个数,是否拍品], ...] list
-    def GetLoginAwardItemListEx(self): return self.attrTuple[3] # 扩展奖励列表[[物品ID,个数,是否拍品], ...] list
+    def GetSignAwardItemList(self): return self.attrTuple[2] # 奖励列表[[物品ID,个数], ...] list
+
+# 活动排行奖励表
+class IPY_ActBillboardAward():
+    
+    def __init__(self):
+        self.attrTuple = None
+        return
+        
+    def GetTemplateID(self): return self.attrTuple[0] # 模板ID DWORD
+    def GetRankA(self): return self.attrTuple[1] # 名次A WORD
+    def GetRankB(self): return self.attrTuple[2] # 至名次B WORD
+    def GetNeedValue(self): return self.attrTuple[3] # 至少所需值 float
+    def GetAwardItemList(self): return self.attrTuple[4] # 奖励物品列表[[物品ID,个数], ...] list
+
+# 武将登场时间表
+class IPY_ActHeroAppear():
+    
+    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 GetServerIDList(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 GetActHeroIDList(self): return self.attrTuple[6] # 登场武将ID列表 list
+    def GetActTreasureType(self): return self.attrTuple[7] # 招募寻宝类型 WORD
+    def GetStarGiftTempID(self): return self.attrTuple[8] # 专属升星礼包模板 BYTE
+    def GetSkinCTGIDList(self): return self.attrTuple[9] # 时装充值ID列表 list
+    def GetGiftCTGIDList(self): return self.attrTuple[10] # 礼包充值ID列表 list
+    def GetGiftShopType(self): return self.attrTuple[11] # 礼包商店类型 WORD
+    def GetExShopType(self): return self.attrTuple[12] # 兑换商店类型 WORD
+    def GetExShopRecycleMail(self): return self.attrTuple[13] # 兑换货币回收邮件 char
+    def GetSignTempID(self): return self.attrTuple[14] # 签到奖励模板 WORD
+    def GetBillTempID(self): return self.attrTuple[15] # 排行奖励模板 WORD
+    def GetBillAwardMail(self): return self.attrTuple[16] # 榜单奖励发放邮件 char
+
+# 升星计划奖励表
+class IPY_ActHeroAppearStar():
+    
+    def __init__(self):
+        self.attrTuple = None
+        return
+        
+    def GetStarTempID(self): return self.attrTuple[0] # 模板ID BYTE
+    def GetNeedStar(self): return self.attrTuple[1] # 所需星 BYTE
+    def GetAwardIndex(self): return self.attrTuple[2] # 奖励记录索引 BYTE
+    def GetFreeAwardItemList(self): return self.attrTuple[3] # 免费奖励物品信息列表[[物品ID,个数], ...] list
+    def GetStarGiftCTGID(self): return self.attrTuple[4] # 星级礼包充值ID WORD
+    def GetHeroGiftItemInfo(self): return self.attrTuple[5] # 登场武将额外专属奖励信息{"武将ID":[[专属物品ID,个数], ...], ...} dict
 
 # 装备位背包索引映射表
 class IPY_EquipPlaceIndexMap():
@@ -4446,8 +4506,10 @@
         self.__LoadFileData("ActBuyCountGift", onlyCheck)
         self.__LoadFileData("ActTask", onlyCheck)
         self.__LoadFileData("ActTaskTemp", onlyCheck)
-        self.__LoadFileData("ActLoginNew", onlyCheck)
-        self.__LoadFileData("ActLoginNewAward", onlyCheck)
+        self.__LoadFileData("ActSignAward", onlyCheck)
+        self.__LoadFileData("ActBillboardAward", onlyCheck)
+        self.__LoadFileData("ActHeroAppear", onlyCheck)
+        self.__LoadFileData("ActHeroAppearStar", onlyCheck)
         self.__LoadFileData("EquipPlaceIndexMap", onlyCheck)
         self.__LoadFileData("EquipShenAttr", onlyCheck)
         self.__LoadFileData("EquipShenEvolve", onlyCheck)
@@ -5684,19 +5746,33 @@
         self.CheckLoadData("ActTaskTemp")
         return self.ipyActTaskTempCache[index]
 
-    def GetActLoginNewCount(self):
-        self.CheckLoadData("ActLoginNew")
-        return self.ipyActLoginNewLen
-    def GetActLoginNewByIndex(self, index):
-        self.CheckLoadData("ActLoginNew")
-        return self.ipyActLoginNewCache[index]
+    def GetActSignAwardCount(self):
+        self.CheckLoadData("ActSignAward")
+        return self.ipyActSignAwardLen
+    def GetActSignAwardByIndex(self, index):
+        self.CheckLoadData("ActSignAward")
+        return self.ipyActSignAwardCache[index]
 
-    def GetActLoginNewAwardCount(self):
-        self.CheckLoadData("ActLoginNewAward")
-        return self.ipyActLoginNewAwardLen
-    def GetActLoginNewAwardByIndex(self, index):
-        self.CheckLoadData("ActLoginNewAward")
-        return self.ipyActLoginNewAwardCache[index]
+    def GetActBillboardAwardCount(self):
+        self.CheckLoadData("ActBillboardAward")
+        return self.ipyActBillboardAwardLen
+    def GetActBillboardAwardByIndex(self, index):
+        self.CheckLoadData("ActBillboardAward")
+        return self.ipyActBillboardAwardCache[index]
+
+    def GetActHeroAppearCount(self):
+        self.CheckLoadData("ActHeroAppear")
+        return self.ipyActHeroAppearLen
+    def GetActHeroAppearByIndex(self, index):
+        self.CheckLoadData("ActHeroAppear")
+        return self.ipyActHeroAppearCache[index]
+
+    def GetActHeroAppearStarCount(self):
+        self.CheckLoadData("ActHeroAppearStar")
+        return self.ipyActHeroAppearStarLen
+    def GetActHeroAppearStarByIndex(self, index):
+        self.CheckLoadData("ActHeroAppearStar")
+        return self.ipyActHeroAppearStarCache[index]
 
     def GetEquipPlaceIndexMapCount(self):
         self.CheckLoadData("EquipPlaceIndexMap")

--
Gitblit v1.8.0