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 | 226 ++++++++++++++++++++++++++++++++++++++++++++++++++------
1 files changed, 200 insertions(+), 26 deletions(-)
diff --git a/ServerPython/CoreServerGroup/GameServer/Script/IpyGameDataPY.py b/ServerPython/CoreServerGroup/GameServer/Script/IpyGameDataPY.py
index 1844e1f..19aee5f 100644
--- a/ServerPython/CoreServerGroup/GameServer/Script/IpyGameDataPY.py
+++ b/ServerPython/CoreServerGroup/GameServer/Script/IpyGameDataPY.py
@@ -70,6 +70,7 @@
("DWORD", "NeedMoney", 0),
("DWORD", "WeekMissionMoneyMax", 0),
("BYTE", "BossFBCnt", 0),
+ ("DWORD", "ZhenbaogeWeights", 0),
),
"FamilyEmblem":(
@@ -77,6 +78,19 @@
("BYTE", "UnlockFamilyLV", 0),
("DWORD", "ExpireMinutes", 0),
("DWORD", "CustomFamilyID", 0),
+ ),
+
+ "FamilyZhenbaogeCut":(
+ ("BYTE", "CutNum", 1),
+ ("DWORD", "CutWeight", 0),
+ ("float", "MinRatio", 0),
+ ("float", "RandRatio", 0),
+ ),
+
+ "FamilyZhenbaogeItem":(
+ ("BYTE", "ItemGroupNum", 1),
+ ("DWORD", "ItemWeight", 0),
+ ("list", "ItemList", 0),
),
"FamilyBossHurtAward":(
@@ -603,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),
@@ -727,7 +762,7 @@
("list", "NotifyInfoLoop", 0),
("WORD", "LVLimit", 0),
("BYTE", "IsDayReset", 0),
- ("list", "ShopTypeList", 0),
+ ("dict", "ShopTypeList", 0),
),
"Store":(
@@ -934,6 +969,26 @@
("WORD", "LVLimit", 0),
),
+ "ActYunshi":(
+ ("DWORD", "CfgID", 1),
+ ("list", "PlatformList", 0),
+ ("list", "ServerGroupIDList", 0),
+ ("BYTE", "ActNum", 0),
+ ("char", "StartDate", 0),
+ ("char", "EndDate", 0),
+ ("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),
@@ -941,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),
),
@@ -955,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),
),
@@ -969,9 +1018,6 @@
("BYTE", "ActNum", 0),
("char", "StartDate", 0),
("char", "EndDate", 0),
- ("dict", "NotifyInfoStart", 0),
- ("dict", "NotifyInfoEnd", 0),
- ("list", "NotifyInfoLoop", 0),
),
"ActLoginAward":(
@@ -1248,7 +1294,8 @@
def GetEliteCnt(self): return self.attrTuple[3] # 精英数量 BYTE
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
+ def GetBossFBCnt(self): return self.attrTuple[6] # BOSS副本次数 BYTE
+ def GetZhenbaogeWeights(self): return self.attrTuple[7] # 珍宝阁总权重 DWORD
# 仙盟徽章表
class IPY_FamilyEmblem():
@@ -1261,6 +1308,29 @@
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_FamilyZhenbaogeCut():
+
+ def __init__(self):
+ self.attrTuple = None
+ return
+
+ def GetCutNum(self): return self.attrTuple[0] # 砍价人次 BYTE
+ def GetCutWeight(self): return self.attrTuple[1] # 砍价权重 DWORD
+ def GetMinRatio(self): return self.attrTuple[2] # 保底比值 float
+ def GetRandRatio(self): return self.attrTuple[3] # 随机比值 float
+
+# 仙盟珍宝阁物品
+class IPY_FamilyZhenbaogeItem():
+
+ def __init__(self):
+ self.attrTuple = None
+ return
+
+ def GetItemGroupNum(self): return self.attrTuple[0] # 物品组编号 BYTE
+ def GetItemWeight(self): return self.attrTuple[1] # 随机权重 DWORD
+ def GetItemList(self): return self.attrTuple[2] # 物品列表[[物品ID,个数,是否拍品], ...] list
# 仙盟试炼伤血奖励表
class IPY_FamilyBossHurtAward():
@@ -2026,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():
@@ -2201,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():
@@ -2512,6 +2613,36 @@
def GetNotifyInfoEnd(self): return self.attrTuple[10] # 全服提示信息 - 相对结束时间 dict
def GetLVLimit(self): return self.attrTuple[11] # 限制等级 WORD
+# 运势活动时间表
+class IPY_ActYunshi():
+
+ 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_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():
@@ -2525,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():
@@ -2544,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():
@@ -2562,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():
@@ -2934,6 +3056,8 @@
self.__LoadFileData("WorldLV", onlyCheck)
self.__LoadFileData("Family", onlyCheck)
self.__LoadFileData("FamilyEmblem", onlyCheck)
+ self.__LoadFileData("FamilyZhenbaogeCut", onlyCheck)
+ self.__LoadFileData("FamilyZhenbaogeItem", onlyCheck)
self.__LoadFileData("FamilyBossHurtAward", onlyCheck)
self.__LoadFileData("FamilyZhenfa", onlyCheck)
self.__LoadFileData("MarketQuery", onlyCheck)
@@ -2982,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)
@@ -3013,6 +3139,8 @@
self.__LoadFileData("CrossDemonLandZoneMap", onlyCheck)
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)
@@ -3115,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":
@@ -3289,6 +3421,20 @@
def GetFamilyEmblemByIndex(self, index):
self.CheckLoadData("FamilyEmblem")
return self.ipyFamilyEmblemCache[index]
+
+ def GetFamilyZhenbaogeCutCount(self):
+ self.CheckLoadData("FamilyZhenbaogeCut")
+ return self.ipyFamilyZhenbaogeCutLen
+ def GetFamilyZhenbaogeCutByIndex(self, index):
+ self.CheckLoadData("FamilyZhenbaogeCut")
+ return self.ipyFamilyZhenbaogeCutCache[index]
+
+ def GetFamilyZhenbaogeItemCount(self):
+ self.CheckLoadData("FamilyZhenbaogeItem")
+ return self.ipyFamilyZhenbaogeItemLen
+ def GetFamilyZhenbaogeItemByIndex(self, index):
+ self.CheckLoadData("FamilyZhenbaogeItem")
+ return self.ipyFamilyZhenbaogeItemCache[index]
def GetFamilyBossHurtAwardCount(self):
self.CheckLoadData("FamilyBossHurtAward")
@@ -3626,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
@@ -3843,6 +4003,20 @@
self.CheckLoadData("ActWeekParty")
return self.ipyActWeekPartyCache[index]
+ def GetActYunshiCount(self):
+ self.CheckLoadData("ActYunshi")
+ return self.ipyActYunshiLen
+ def GetActYunshiByIndex(self, index):
+ 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