From b3c6d36f5ae851f09a3c2e73494ff19956b06fb0 Mon Sep 17 00:00:00 2001
From: hxp <ale99527@vip.qq.com>
Date: 星期五, 11 四月 2025 16:56:14 +0800
Subject: [PATCH] 10367 【越南】【英语】【BT】【砍树】仙盟攻城战-服务端(跨服仙盟支持;后台查询区服仙盟支持;活动时间流程支持;攻城战主活动功能完整流程:公示、分组、战备、战斗、榜单、竞猜、领奖等;)

---
 ServerPython/CoreServerGroup/GameServer/Script/IpyGameDataPY.py |  161 +++++++++++++++++++++++++++++++++++++++++++++++++++++
 1 files changed, 161 insertions(+), 0 deletions(-)

diff --git a/ServerPython/CoreServerGroup/GameServer/Script/IpyGameDataPY.py b/ServerPython/CoreServerGroup/GameServer/Script/IpyGameDataPY.py
index d5d148a..b711674 100644
--- a/ServerPython/CoreServerGroup/GameServer/Script/IpyGameDataPY.py
+++ b/ServerPython/CoreServerGroup/GameServer/Script/IpyGameDataPY.py
@@ -646,6 +646,54 @@
                         ("dict", "ScoreAwardEx", 0),
                         ),
 
+                "ActTimeFlow":(
+                        ("DWORD", "FlowID", 1),
+                        ("BYTE", "StartDay", 0),
+                        ("BYTE", "StartHour", 0),
+                        ("BYTE", "StartMinute", 0),
+                        ("BYTE", "EndDay", 0),
+                        ("BYTE", "EndHour", 0),
+                        ("BYTE", "EndMinute", 0),
+                        ("WORD", "StateValue", 0),
+                        ),
+
+                "ActBillboardAwardTemp":(
+                        ("DWORD", "TemplateID", 1),
+                        ("BYTE", "Rank", 0),
+                        ("DWORD", "NeedValue", 0),
+                        ("dict", "ValueAwardEx", 0),
+                        ("list", "AwardItemList", 0),
+                        ("list", "LeaderAwardItemList", 0),
+                        ("list", "EliteAwardItemList", 0),
+                        ),
+
+                "ActGuess":(
+                        ("DWORD", "TemplateID", 1),
+                        ("DWORD", "AwardID", 0),
+                        ("list", "RightRankList", 0),
+                        ("list", "AwardItemList", 0),
+                        ),
+
+                "CrossActFamilyGCZ":(
+                        ("DWORD", "CfgID", 1),
+                        ("char", "ActGroupName", 0),
+                        ("BYTE", "ZoneID", 0),
+                        ("list", "ServerIDRangeList", 0),
+                        ("char", "StartDate", 0),
+                        ("char", "EndDate", 0),
+                        ("BYTE", "JoinFamilyCnt", 0),
+                        ("WORD", "ActFlowID", 0),
+                        ("WORD", "GuessTemplateID", 0),
+                        ("WORD", "PersonalTemplateID", 0),
+                        ("WORD", "FamilyTemplateID", 0),
+                        ),
+
+                "CrossActFamilyGCZCampLV":(
+                        ("DWORD", "CampLV", 1),
+                        ("DWORD", "LVUPNeedExp", 0),
+                        ("DWORD", "AddHPPer", 0),
+                        ),
+
                 "ActXianXiaMJ":(
                         ("DWORD", "CfgID", 1),
                         ("list", "PlatformList", 0),
@@ -2141,6 +2189,79 @@
     def GetNeedScore(self): return self.attrTuple[3] # 上榜所需积分 DWORD
     def GetScoreAwardEx(self): return self.attrTuple[4] # 达标积分额外奖励 {积分:[[物品ID,个数,是否拍品], ...], ...} dict
 
+# 活动时间流程表
+class IPY_ActTimeFlow():
+    
+    def __init__(self):
+        self.attrTuple = None
+        return
+        
+    def GetFlowID(self): return self.attrTuple[0] # DWORD
+    def GetStartDay(self): return self.attrTuple[1] # 开始天 BYTE
+    def GetStartHour(self): return self.attrTuple[2] # 开始时 BYTE
+    def GetStartMinute(self): return self.attrTuple[3] # 开始分 BYTE
+    def GetEndDay(self): return self.attrTuple[4] # 结束天 BYTE
+    def GetEndHour(self): return self.attrTuple[5] # 结束时 BYTE
+    def GetEndMinute(self): return self.attrTuple[6] # 结束分 BYTE
+    def GetStateValue(self): return self.attrTuple[7] # 状态值 WORD
+
+# 活动榜单奖励模版表
+class IPY_ActBillboardAwardTemp():
+    
+    def __init__(self):
+        self.attrTuple = None
+        return
+        
+    def GetTemplateID(self): return self.attrTuple[0] # 模板编号 DWORD
+    def GetRank(self): return self.attrTuple[1] # 名次 BYTE
+    def GetNeedValue(self): return self.attrTuple[2] # 上榜所需值 DWORD
+    def GetValueAwardEx(self): return self.attrTuple[3] # 达标值额外奖励 {值:[[物品ID,个数,是否拍品], ...], ...} dict
+    def GetAwardItemList(self): return self.attrTuple[4] # 奖励物品列表[[物品ID,个数,是否拍品], ...] list
+    def GetLeaderAwardItemList(self): return self.attrTuple[5] # 仙盟榜盟主奖励物品信息列表[[物品ID,个数,是否拍品], ...] list
+    def GetEliteAwardItemList(self): return self.attrTuple[6] # 仙盟榜精英奖励物品信息列表[[物品ID,个数,是否拍品], ...] list
+
+# 活动竞猜表
+class IPY_ActGuess():
+    
+    def __init__(self):
+        self.attrTuple = None
+        return
+        
+    def GetTemplateID(self): return self.attrTuple[0] # 模板编号 DWORD
+    def GetAwardID(self): return self.attrTuple[1] # 奖励ID DWORD
+    def GetRightRankList(self): return self.attrTuple[2] # 猜对名次列表 list
+    def GetAwardItemList(self): return self.attrTuple[3] # 对应奖励列表 [[物品ID,个数,是否拍品], ...] list
+
+# 仙盟攻城战活动表
+class IPY_CrossActFamilyGCZ():
+    
+    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 GetJoinFamilyCnt(self): return self.attrTuple[6] # 参与仙盟数 BYTE
+    def GetActFlowID(self): return self.attrTuple[7] # 活动流程ID,对应H.活动时间流程表 WORD
+    def GetGuessTemplateID(self): return self.attrTuple[8] # 竞猜奖励模版,对应H.活动竞猜表 WORD
+    def GetPersonalTemplateID(self): return self.attrTuple[9] # 个人伤害排行奖励模版,对应H.活动榜单奖励模版表 WORD
+    def GetFamilyTemplateID(self): return self.attrTuple[10] # 仙盟积分排行奖励模版,对应H.活动榜单奖励模版表 WORD
+
+# 仙盟攻城战大本营等级表
+class IPY_CrossActFamilyGCZCampLV():
+    
+    def __init__(self):
+        self.attrTuple = None
+        return
+        
+    def GetCampLV(self): return self.attrTuple[0] # 大本营等级 DWORD
+    def GetLVUPNeedExp(self): return self.attrTuple[1] # 升下一级所需经验 DWORD
+    def GetAddHPPer(self): return self.attrTuple[2] # 生命累计总加成百分比 DWORD
+
 # 仙匣秘境活动时间表
 class IPY_ActXianXiaMJ():
     
@@ -3111,6 +3232,11 @@
         self.__LoadFileData("ActGubaoBillTemp", onlyCheck)
         self.__LoadFileData("CrossActLianqi", onlyCheck)
         self.__LoadFileData("ActLianqiBillTemp", onlyCheck)
+        self.__LoadFileData("ActTimeFlow", onlyCheck)
+        self.__LoadFileData("ActBillboardAwardTemp", onlyCheck)
+        self.__LoadFileData("ActGuess", onlyCheck)
+        self.__LoadFileData("CrossActFamilyGCZ", onlyCheck)
+        self.__LoadFileData("CrossActFamilyGCZCampLV", onlyCheck)
         self.__LoadFileData("ActXianXiaMJ", onlyCheck)
         self.__LoadFileData("CrossActXianXiaMJ", onlyCheck)
         self.__LoadFileData("ActXianXiaMJBillTemp", onlyCheck)
@@ -3795,6 +3921,41 @@
         self.CheckLoadData("ActLianqiBillTemp")
         return self.ipyActLianqiBillTempCache[index]
 
+    def GetActTimeFlowCount(self):
+        self.CheckLoadData("ActTimeFlow")
+        return self.ipyActTimeFlowLen
+    def GetActTimeFlowByIndex(self, index):
+        self.CheckLoadData("ActTimeFlow")
+        return self.ipyActTimeFlowCache[index]
+
+    def GetActBillboardAwardTempCount(self):
+        self.CheckLoadData("ActBillboardAwardTemp")
+        return self.ipyActBillboardAwardTempLen
+    def GetActBillboardAwardTempByIndex(self, index):
+        self.CheckLoadData("ActBillboardAwardTemp")
+        return self.ipyActBillboardAwardTempCache[index]
+
+    def GetActGuessCount(self):
+        self.CheckLoadData("ActGuess")
+        return self.ipyActGuessLen
+    def GetActGuessByIndex(self, index):
+        self.CheckLoadData("ActGuess")
+        return self.ipyActGuessCache[index]
+
+    def GetCrossActFamilyGCZCount(self):
+        self.CheckLoadData("CrossActFamilyGCZ")
+        return self.ipyCrossActFamilyGCZLen
+    def GetCrossActFamilyGCZByIndex(self, index):
+        self.CheckLoadData("CrossActFamilyGCZ")
+        return self.ipyCrossActFamilyGCZCache[index]
+
+    def GetCrossActFamilyGCZCampLVCount(self):
+        self.CheckLoadData("CrossActFamilyGCZCampLV")
+        return self.ipyCrossActFamilyGCZCampLVLen
+    def GetCrossActFamilyGCZCampLVByIndex(self, index):
+        self.CheckLoadData("CrossActFamilyGCZCampLV")
+        return self.ipyCrossActFamilyGCZCampLVCache[index]
+
     def GetActXianXiaMJCount(self):
         self.CheckLoadData("ActXianXiaMJ")
         return self.ipyActXianXiaMJLen

--
Gitblit v1.8.0