From 514d0a393b2935c988697702ce34cec22a15623c Mon Sep 17 00:00:00 2001 From: hxp <ale99527@vip.qq.com> Date: 星期四, 19 九月 2024 19:21:47 +0800 Subject: [PATCH] 10261 【越南】【砍树】【英文】头像框,头像(动态)(B902 B908 A404 A405 B001 B004 B005 C015 C018封包支持;) --- ServerPython/CoreServerGroup/GameServer/Script/IpyGameDataPY.py | 346 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++- 1 files changed, 336 insertions(+), 10 deletions(-) diff --git a/ServerPython/CoreServerGroup/GameServer/Script/IpyGameDataPY.py b/ServerPython/CoreServerGroup/GameServer/Script/IpyGameDataPY.py index 0f1032a..1844e1f 100644 --- a/ServerPython/CoreServerGroup/GameServer/Script/IpyGameDataPY.py +++ b/ServerPython/CoreServerGroup/GameServer/Script/IpyGameDataPY.py @@ -47,6 +47,16 @@ ("list", "LimitServerGroupIDList", 0), ), + "PlayerFace":( + ("DWORD", "FaceID", 1), + ("BYTE", "UnlockDefault", 0), + ), + + "PlayerFacePic":( + ("DWORD", "FacePicID", 1), + ("BYTE", "UnlockDefault", 0), + ), + "WorldLV":( ("WORD", "WorldLV", 1), ("DWORD", "OpenServerSecond", 0), @@ -60,6 +70,13 @@ ("DWORD", "NeedMoney", 0), ("DWORD", "WeekMissionMoneyMax", 0), ("BYTE", "BossFBCnt", 0), + ), + + "FamilyEmblem":( + ("BYTE", "EmblemID", 1), + ("BYTE", "UnlockFamilyLV", 0), + ("DWORD", "ExpireMinutes", 0), + ("DWORD", "CustomFamilyID", 0), ), "FamilyBossHurtAward":( @@ -497,6 +514,9 @@ ("BYTE", "Rank", 0), ("list", "AwardItemList", 0), ("list", "MemAwardItemList", 0), + ("DWORD", "NeedScore", 0), + ("dict", "ScoreAwardEx", 0), + ("WORD", "XiangongID", 0), ), "CrossActBossTrial":( @@ -513,9 +533,74 @@ ("list", "NotifyInfoLoop", 0), ("BYTE", "IsDayReset", 0), ("BYTE", "ResetType", 0), - ("list", "RankLimitList", 0), ("WORD", "PersonalTemplateID", 0), ("WORD", "FamilyTemplateID", 0), + ), + + "ActHorsePetTrain":( + ("DWORD", "CfgID", 1), + ("list", "PlatformList", 0), + ("list", "ServerGroupIDList", 0), + ("BYTE", "ActNum", 0), + ("char", "StartDate", 0), + ("char", "EndDate", 0), + ("char", "JoinStartTime", 0), + ("char", "JoinEndTime", 0), + ("WORD", "PersonalTemplateID", 0), + ), + + "CrossActHorsePetTrain":( + ("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", "PersonalTemplateID", 0), + ), + + "ActHorsePetTrainBillTemp":( + ("DWORD", "TemplateID", 1), + ("BYTE", "Rank", 0), + ("list", "AwardItemList", 0), + ("DWORD", "NeedScore", 0), + ("dict", "ScoreAwardEx", 0), + ("WORD", "XiangongID", 0), + ), + + "ActGubao":( + ("DWORD", "CfgID", 1), + ("list", "PlatformList", 0), + ("list", "ServerGroupIDList", 0), + ("BYTE", "ActNum", 0), + ("char", "StartDate", 0), + ("char", "EndDate", 0), + ("char", "JoinStartTime", 0), + ("char", "JoinEndTime", 0), + ("WORD", "PersonalTemplateID", 0), + ), + + "CrossActGubao":( + ("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", "PersonalTemplateID", 0), + ), + + "ActGubaoBillTemp":( + ("DWORD", "TemplateID", 1), + ("BYTE", "Rank", 0), + ("list", "AwardItemList", 0), + ("DWORD", "NeedScore", 0), + ("dict", "ScoreAwardEx", 0), + ("WORD", "XiangongID", 0), ), "ActXianXiaMJ":( @@ -541,7 +626,6 @@ ("char", "JoinStartTime", 0), ("char", "JoinEndTime", 0), ("BYTE", "IsDayReset", 0), - ("WORD", "RankLimitPersonal", 0), ("WORD", "PersonalTemplateID", 0), ), @@ -549,6 +633,9 @@ ("DWORD", "TemplateID", 1), ("BYTE", "Rank", 0), ("list", "AwardItemList", 0), + ("DWORD", "NeedScore", 0), + ("dict", "ScoreAwardEx", 0), + ("WORD", "XiangongID", 0), ), "ActGodGift":( @@ -785,6 +872,7 @@ ("BYTE", "Rank", 1), ("list", "RankAwardItemList", 0), ("WORD", "MainOfficialID", 0), + ("WORD", "XiangongID", 0), ), "ChampionshipOfficial":( @@ -1075,6 +1163,16 @@ ("list", "MoneyRange", 0), ), + "Xiangong":( + ("WORD", "XiangongID", 1), + ("BYTE", "ShowDays", 0), + ("BYTE", "MoneyType", 0), + ("DWORD", "MoneyValue", 0), + ("DWORD", "TitleID", 0), + ("list", "AwardItemList", 0), + ("char", "MailKey", 0), + ), + "FairyDomain":( ("WORD", "ID", 1), ("DWORD", "HourCntPubLimit", 0), @@ -1107,6 +1205,26 @@ def GetLimitServerGroupIDRangeList(self): return self.attrTuple[0] # 限制创角的服务器组ID范围列表 list def GetLimitServerGroupIDList(self): return self.attrTuple[1] # 限制创角的服务器组ID列表 list +# 头像表 +class IPY_PlayerFace(): + + def __init__(self): + self.attrTuple = None + return + + def GetFaceID(self): return self.attrTuple[0] # 头像ID DWORD + def GetUnlockDefault(self): return self.attrTuple[1] # 是否默认激活 BYTE + +# 头像框表 +class IPY_PlayerFacePic(): + + def __init__(self): + self.attrTuple = None + return + + def GetFacePicID(self): return self.attrTuple[0] # 头像框ID DWORD + def GetUnlockDefault(self): return self.attrTuple[1] # 是否默认激活 BYTE + # 世界等级表格 class IPY_WorldLV(): @@ -1131,6 +1249,18 @@ def GetNeedMoney(self): return self.attrTuple[4] # 升级需要资金 DWORD def GetWeekMissionMoneyMax(self): return self.attrTuple[5] # 每周任务最大可获得仙盟资金 DWORD def GetBossFBCnt(self): return self.attrTuple[6] # BOSS副本次数 BYTE + +# 仙盟徽章表 +class IPY_FamilyEmblem(): + + def __init__(self): + self.attrTuple = None + return + + def GetEmblemID(self): return self.attrTuple[0] # 徽章ID BYTE + def GetUnlockFamilyLV(self): return self.attrTuple[1] # 解锁仙盟等级,为0时代表其他方式解锁 BYTE + def GetExpireMinutes(self): return self.attrTuple[2] # 有效时长,分钟 DWORD + def GetCustomFamilyID(self): return self.attrTuple[3] # 定制仙盟ID DWORD # 仙盟试炼伤血奖励表 class IPY_FamilyBossHurtAward(): @@ -1772,7 +1902,10 @@ 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 GetMemAwardItemList(self): return self.attrTuple[3] # 仙盟榜成员奖励物品信息列表[[物品ID,个数,是否拍品], ...] list + def GetMemAwardItemList(self): return self.attrTuple[3] # 仙盟榜成员奖励物品信息列表[[物品ID,个数,是否拍品], ...] list + def GetNeedScore(self): return self.attrTuple[4] # 上榜所需积分 DWORD + def GetScoreAwardEx(self): return self.attrTuple[5] # 达标积分额外奖励 {积分:[[物品ID,个数,是否拍品], ...], ...} dict + def GetXiangongID(self): return self.attrTuple[6] # 晋升仙宫ID WORD # Boss历练跨服活动表 class IPY_CrossActBossTrial(): @@ -1794,9 +1927,104 @@ def GetNotifyInfoLoop(self): return self.attrTuple[10] # 全服提示信息 - 循环广播[循环分钟, 广播key, [广播参数列表可选]] list def GetIsDayReset(self): return self.attrTuple[11] # 是否每天重置 BYTE def GetResetType(self): return self.attrTuple[12] # 重置类型,0-0点重置;1-5点重置 BYTE - def GetRankLimitList(self): return self.attrTuple[13] # 上榜个数限制 个人|仙盟 list - def GetPersonalTemplateID(self): return self.attrTuple[14] # 个人排行模板编号 WORD - def GetFamilyTemplateID(self): return self.attrTuple[15] # 仙盟排行模板编号 WORD + def GetPersonalTemplateID(self): return self.attrTuple[13] # 个人排行模板编号 WORD + def GetFamilyTemplateID(self): return self.attrTuple[14] # 仙盟排行模板编号 WORD + +# 骑宠养成活动时间表 +class IPY_ActHorsePetTrain(): + + 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 GetJoinStartTime(self): return self.attrTuple[6] # 参与开始时间点 char + def GetJoinEndTime(self): return self.attrTuple[7] # 参与结束时间点 char + def GetPersonalTemplateID(self): return self.attrTuple[8] # 个人排行模板编号 WORD + +# 骑宠养成活动跨服表 +class IPY_CrossActHorsePetTrain(): + + 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 GetPersonalTemplateID(self): return self.attrTuple[8] # 个人排行模板编号 WORD + +# 骑宠养成榜单模版表 +class IPY_ActHorsePetTrainBillTemp(): + + 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 + def GetXiangongID(self): return self.attrTuple[5] # 晋升仙宫ID WORD + +# 古宝养成活动时间表 +class IPY_ActGubao(): + + 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 GetJoinStartTime(self): return self.attrTuple[6] # 参与开始时间点 char + def GetJoinEndTime(self): return self.attrTuple[7] # 参与结束时间点 char + def GetPersonalTemplateID(self): return self.attrTuple[8] # 个人排行模板编号 WORD + +# 古宝养成活动跨服表 +class IPY_CrossActGubao(): + + 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 GetPersonalTemplateID(self): return self.attrTuple[8] # 个人排行模板编号 WORD + +# 古宝养成榜单模版表 +class IPY_ActGubaoBillTemp(): + + 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 + def GetXiangongID(self): return self.attrTuple[5] # 晋升仙宫ID WORD # 仙匣秘境活动时间表 class IPY_ActXianXiaMJ(): @@ -1832,8 +2060,7 @@ def GetJoinStartTime(self): return self.attrTuple[6] # 参与开始时间点 char def GetJoinEndTime(self): return self.attrTuple[7] # 参与结束时间点 char def GetIsDayReset(self): return self.attrTuple[8] # 是否每天重置 BYTE - def GetRankLimitPersonal(self): return self.attrTuple[9] # 个人上榜积分限制 WORD - def GetPersonalTemplateID(self): return self.attrTuple[10] # 个人排行模板编号 WORD + def GetPersonalTemplateID(self): return self.attrTuple[9] # 个人排行模板编号 WORD # 仙匣秘境榜单模版表 class IPY_ActXianXiaMJBillTemp(): @@ -1844,7 +2071,10 @@ 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 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 + def GetXiangongID(self): return self.attrTuple[5] # 晋升仙宫ID WORD # 天帝礼包活动时间表 class IPY_ActGodGift(): @@ -2185,7 +2415,8 @@ def GetRank(self): return self.attrTuple[0] # 名次 BYTE def GetRankAwardItemList(self): return self.attrTuple[1] # 名次奖励物品列表 list - def GetMainOfficialID(self): return self.attrTuple[2] # 主官职ID WORD + def GetMainOfficialID(self): return self.attrTuple[2] # 主官职ID WORD + def GetXiangongID(self): return self.attrTuple[3] # 晋升仙宫ID WORD # 跨服排位官职表 class IPY_ChampionshipOfficial(): @@ -2615,6 +2846,21 @@ def GetMoneyType(self): return self.attrTuple[3] # 膜拜货币类型 BYTE def GetMoneyRange(self): return self.attrTuple[4] # 货币值范围 list +# 仙宫表 +class IPY_Xiangong(): + + def __init__(self): + self.attrTuple = None + return + + def GetXiangongID(self): return self.attrTuple[0] # 仙宫ID WORD + def GetShowDays(self): return self.attrTuple[1] # 展示天数 BYTE + def GetMoneyType(self): return self.attrTuple[2] # 点赞货币类型 BYTE + def GetMoneyValue(self): return self.attrTuple[3] # 货币值 DWORD + def GetTitleID(self): return self.attrTuple[4] # 称号ID DWORD + def GetAwardItemList(self): return self.attrTuple[5] # 晋级仙宫奖励物品列表 list + def GetMailKey(self): return self.attrTuple[6] # 仙官通知邮件 char + # 缥缈仙域表 class IPY_FairyDomain(): @@ -2683,8 +2929,11 @@ self.ipyConfigEx = {} self.__LoadFileData("FuncConfig", onlyCheck) self.__LoadFileData("CreateRoleLimitServer", onlyCheck) + self.__LoadFileData("PlayerFace", onlyCheck) + self.__LoadFileData("PlayerFacePic", onlyCheck) self.__LoadFileData("WorldLV", onlyCheck) self.__LoadFileData("Family", onlyCheck) + self.__LoadFileData("FamilyEmblem", onlyCheck) self.__LoadFileData("FamilyBossHurtAward", onlyCheck) self.__LoadFileData("FamilyZhenfa", onlyCheck) self.__LoadFileData("MarketQuery", onlyCheck) @@ -2727,6 +2976,12 @@ self.__LoadFileData("ActBossTrial", onlyCheck) self.__LoadFileData("ActBossTrialTemplate", onlyCheck) self.__LoadFileData("CrossActBossTrial", onlyCheck) + self.__LoadFileData("ActHorsePetTrain", onlyCheck) + self.__LoadFileData("CrossActHorsePetTrain", onlyCheck) + self.__LoadFileData("ActHorsePetTrainBillTemp", onlyCheck) + self.__LoadFileData("ActGubao", onlyCheck) + self.__LoadFileData("CrossActGubao", onlyCheck) + self.__LoadFileData("ActGubaoBillTemp", onlyCheck) self.__LoadFileData("ActXianXiaMJ", onlyCheck) self.__LoadFileData("CrossActXianXiaMJ", onlyCheck) self.__LoadFileData("ActXianXiaMJBillTemp", onlyCheck) @@ -2779,6 +3034,7 @@ self.__LoadFileData("FamilyWarRankAward", onlyCheck) self.__LoadFileData("AssistThanksGift", onlyCheck) self.__LoadFileData("Worship", onlyCheck) + self.__LoadFileData("Xiangong", onlyCheck) self.__LoadFileData("FairyDomain", onlyCheck) Log("IPY_DataMgr ReloadOK! onlyCheck=%s" % onlyCheck) return @@ -2999,6 +3255,20 @@ self.CheckLoadData("CreateRoleLimitServer") return self.ipyCreateRoleLimitServerCache[index] + def GetPlayerFaceCount(self): + self.CheckLoadData("PlayerFace") + return self.ipyPlayerFaceLen + def GetPlayerFaceByIndex(self, index): + self.CheckLoadData("PlayerFace") + return self.ipyPlayerFaceCache[index] + + def GetPlayerFacePicCount(self): + self.CheckLoadData("PlayerFacePic") + return self.ipyPlayerFacePicLen + def GetPlayerFacePicByIndex(self, index): + self.CheckLoadData("PlayerFacePic") + return self.ipyPlayerFacePicCache[index] + def GetWorldLVCount(self): self.CheckLoadData("WorldLV") return self.ipyWorldLVLen @@ -3012,6 +3282,13 @@ def GetFamilyByIndex(self, index): self.CheckLoadData("Family") return self.ipyFamilyCache[index] + + def GetFamilyEmblemCount(self): + self.CheckLoadData("FamilyEmblem") + return self.ipyFamilyEmblemLen + def GetFamilyEmblemByIndex(self, index): + self.CheckLoadData("FamilyEmblem") + return self.ipyFamilyEmblemCache[index] def GetFamilyBossHurtAwardCount(self): self.CheckLoadData("FamilyBossHurtAward") @@ -3306,6 +3583,48 @@ def GetCrossActBossTrialByIndex(self, index): self.CheckLoadData("CrossActBossTrial") return self.ipyCrossActBossTrialCache[index] + + def GetActHorsePetTrainCount(self): + self.CheckLoadData("ActHorsePetTrain") + return self.ipyActHorsePetTrainLen + def GetActHorsePetTrainByIndex(self, index): + self.CheckLoadData("ActHorsePetTrain") + return self.ipyActHorsePetTrainCache[index] + + def GetCrossActHorsePetTrainCount(self): + self.CheckLoadData("CrossActHorsePetTrain") + return self.ipyCrossActHorsePetTrainLen + def GetCrossActHorsePetTrainByIndex(self, index): + self.CheckLoadData("CrossActHorsePetTrain") + return self.ipyCrossActHorsePetTrainCache[index] + + def GetActHorsePetTrainBillTempCount(self): + self.CheckLoadData("ActHorsePetTrainBillTemp") + return self.ipyActHorsePetTrainBillTempLen + def GetActHorsePetTrainBillTempByIndex(self, index): + self.CheckLoadData("ActHorsePetTrainBillTemp") + return self.ipyActHorsePetTrainBillTempCache[index] + + def GetActGubaoCount(self): + self.CheckLoadData("ActGubao") + return self.ipyActGubaoLen + def GetActGubaoByIndex(self, index): + self.CheckLoadData("ActGubao") + return self.ipyActGubaoCache[index] + + def GetCrossActGubaoCount(self): + self.CheckLoadData("CrossActGubao") + return self.ipyCrossActGubaoLen + def GetCrossActGubaoByIndex(self, index): + self.CheckLoadData("CrossActGubao") + return self.ipyCrossActGubaoCache[index] + + def GetActGubaoBillTempCount(self): + self.CheckLoadData("ActGubaoBillTemp") + return self.ipyActGubaoBillTempLen + def GetActGubaoBillTempByIndex(self, index): + self.CheckLoadData("ActGubaoBillTemp") + return self.ipyActGubaoBillTempCache[index] def GetActXianXiaMJCount(self): self.CheckLoadData("ActXianXiaMJ") @@ -3671,6 +3990,13 @@ self.CheckLoadData("Worship") return self.ipyWorshipCache[index] + def GetXiangongCount(self): + self.CheckLoadData("Xiangong") + return self.ipyXiangongLen + def GetXiangongByIndex(self, index): + self.CheckLoadData("Xiangong") + return self.ipyXiangongCache[index] + def GetFairyDomainCount(self): self.CheckLoadData("FairyDomain") return self.ipyFairyDomainLen -- Gitblit v1.8.0