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