From 47813c8aef184ab6bc6f4556d2a18303a2a31d47 Mon Sep 17 00:00:00 2001
From: hch <305670599@qq.com>
Date: 星期二, 14 十月 2025 12:33:30 +0800
Subject: [PATCH] 15 卡牌服务端搭建 - 跨服支持PY自定义封包通信
---
ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/IpyGameDataPY.py | 531 +++++++++++++++++++---------------------------------------
1 files changed, 174 insertions(+), 357 deletions(-)
diff --git a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/IpyGameDataPY.py b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/IpyGameDataPY.py
index c5b679f..2eb4c1f 100644
--- a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/IpyGameDataPY.py
+++ b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/IpyGameDataPY.py
@@ -139,7 +139,7 @@
("BYTE", "LayerCnt", 0),
("BYTE", "LayerMax", 0),
("DWORD", "BuffRepeat", 0),
- ("DWORD", "DieContinue", 0),
+ ("BYTE", "DispersedLimit", 0),
("DWORD", "FightPower", 0),
("char", "SkillMotionName", 0),
),
@@ -772,10 +772,18 @@
"Gubao":(
("WORD", "GubaoID", 1),
- ("BYTE", "GubaoType", 0),
("BYTE", "GubaoQuality", 0),
("DWORD", "UnlockItemID", 0),
("BYTE", "UnlockItemCnt", 0),
+ ("list", "BaseAttrIDList", 0),
+ ("list", "BaseAttrValueList", 0),
+ ("list", "BaseAttrPerStarAddList", 0),
+ ("BYTE", "SpecEffType", 0),
+ ("BYTE", "SpecEffLayerMax", 0),
+ ("BYTE", "SpecAttrID", 0),
+ ("DWORD", "SpecAttrValue", 0),
+ ("DWORD", "SpecAttrPerLVAdd", 0),
+ ("DWORD", "SpecAttrPerStarAdd", 0),
),
"GubaoResonanceAttr":(
@@ -791,35 +799,16 @@
),
"GubaoStar":(
- ("WORD", "GubaoID", 1),
- ("BYTE", "GubaoStar", 1),
- ("list", "StarUPNeedItemInfo", 0),
- ("list", "StarUPNeedQualityPiece", 0),
- ("list", "StarAttrIDList", 0),
- ("list", "StarAttrValueList", 0),
- ("list", "StarEffIDList", 0),
- ),
-
- "GubaoEffAttr":(
- ("DWORD", "GubaoEffID", 1),
- ("BYTE", "GubaoEffType", 0),
- ("DWORD", "EffCond", 0),
- ("DWORD", "EffCond2", 0),
- ("DWORD", "EffCond3", 0),
- ("BYTE", "IsPer", 0),
- ("list", "EffFuncAttrIDList", 0),
- ("DWORD", "EffAttrID", 0),
- ("DWORD", "EffAttrValue", 0),
- ("list", "EffItemAwardList", 0),
+ ("BYTE", "GubaoQuality", 1),
+ ("BYTE", "GubaoStar", 0),
+ ("BYTE", "StarUPNeedSelfCnt", 0),
+ ("list", "StarUPNeedItemList", 0),
),
"GubaoLV":(
- ("BYTE", "GubaoType", 1),
("BYTE", "GubaoQuality", 1),
- ("BYTE", "GubaoLV", 1),
+ ("BYTE", "LessEqualLV", 0),
("list", "LVUPNeedItemInfo", 0),
- ("list", "LVAttrTypeList", 0),
- ("list", "LVAttrValueList", 0),
),
"Shentong":(
@@ -934,14 +923,6 @@
("dict", "ExpMaterial", 0),
),
- "FamilyTech":(
- ("DWORD", "TechID", 1),
- ("BYTE", "AttrType", 0),
- ("DWORD", "AttrValue", 0),
- ("DWORD", "Contribution", 0),
- ("DWORD", "PowerEx", 0),
- ),
-
"NPCDropItem":(
("DWORD", "NPCID", 1),
("WORD", "MaxWorldLV", 0),
@@ -997,47 +978,37 @@
"FBFunc":(
("DWORD", "DataMapID", 1),
("BYTE", "DayTimes", 0),
- ("BYTE", "DayResetType", 0),
- ("BYTE", "WeekTimes", 0),
- ("BYTE", "WeekResetType", 0),
- ("list", "RewardRate", 0),
- ("DWORD", "BuyTimesVIPPriID", 0),
- ("DWORD", "ExtraTimesVIPPriID", 0),
- ("DWORD", "ExtraTimesMWPriID", 0),
- ("BYTE", "GuardPick", 0),
- ("WORD", "OfflineTime", 0),
- ("WORD", "FBPoint", 0),
- ("WORD", "HelpPoint", 0),
- ("BYTE", "DayHelpCountMax", 0),
+ ("BYTE", "PayCntMax", 0),
+ ("BYTE", "PayMoneyType", 0),
+ ("list", "PayMoneyValues", 0),
),
"FBLine":(
("DWORD", "DataMapID", 1),
("BYTE", "LineID", 1),
- ("DWORD", "MapID", 0),
("WORD", "LVLimitMin", 0),
- ("WORD", "LVLimitMax", 0),
- ("DWORD", "TicketID", 0),
- ("list", "TicketCostCnt", 0),
- ("WORD", "TicketPrice", 0),
- ("WORD", "SweepLVLimit", 0),
- ("DWORD", "SweepItemID", 0),
- ("BYTE", "SweepCostCnt", 0),
- ("eval", "EnterPosInfo", 0),
- ("eval", "StepTime", 0),
- ("eval", "RefreshNPC", 0),
- ("eval", "GradeInfo", 0),
- ("eval", "RewardInfo", 0),
+ ("list", "PassAwardList", 0),
+ ("list", "SweepAwardList", 0),
+ ("list", "LineupIDList", 0),
+ ("WORD", "NPCLV", 0),
+ ("float", "Difficulty", 0),
),
- "FBGeneralTrain":(
- ("DWORD", "DataMapID", 1),
- ("BYTE", "LineID", 1),
- ("WORD", "LVLimit", 0),
- ("WORD", "RealmLimit", 0),
- ("DWORD", "BossNPCID", 0),
- ("list", "OtherNPCIDList", 0),
- ("list", "PassAwardItemList", 0),
+ "Tianzi":(
+ ("DWORD", "BossID", 1),
+ ("BYTE", "HPNum", 0),
+ ("DWORD", "Atk", 0),
+ ("DWORD", "Def", 0),
+ ("DWORD", "MaxHP", 0),
+ ("dict", "OtherAttrDict", 0),
+ ("list", "RandWeightItemList", 0),
+ ),
+
+ "ADAward":(
+ ("DWORD", "ADID", 1),
+ ("BYTE", "ADCntMax", 0),
+ ("list", "ADAwardItemList", 0),
+ ("DWORD", "ADMapID", 0),
),
"DailyAction":(
@@ -1156,21 +1127,9 @@
("DWORD", "PowerEx", 0),
),
- "ContineSignAward":(
- ("BYTE", "ContineDay", 1),
- ("list", "ItemID", 0),
- ("BYTE", "IsBind", 0),
- ("list", "ItemNum", 0),
- ("list", "JobItemList", 0),
- ),
-
- "SignAward":(
- ("BYTE", "RewardID", 1),
- ("list", "ItemID", 0),
- ("BYTE", "IsBind", 0),
- ("BYTE", "VipLv", 0),
- ("list", "OrdinaryNum", 0),
- ("BYTE", "VipMultiple", 0),
+ "SignIn":(
+ ("BYTE", "SignDay", 1),
+ ("list", "AwardItemList", 0),
),
"VIPAward":(
@@ -1295,14 +1254,6 @@
("list", "PersonFirstKillAward", 0),
),
- "FamilyActivity":(
- ("DWORD", "ID", 1),
- ("WORD", "UnLockFuncID", 0),
- ("BYTE", "TotalActivityTime", 0),
- ("WORD", "SingleTimes", 0),
- ("WORD", "SingleActiveValue", 0),
- ),
-
"FamilyRedPack":(
("WORD", "ID", 1),
("WORD", "GetType", 0),
@@ -1323,13 +1274,6 @@
("DWORD", "ProtectTime", 0),
("DWORD", "BindMissionID", 0),
("BYTE", "ShowType", 0),
- ),
-
- "FbEncourage":(
- ("DWORD", "DataMapID", 1),
- ("BYTE", "InspireType", 1),
- ("WORD", "InspireMaxLV", 0),
- ("char", "MoneyCount", 0),
),
"MapRefreshNPC":(
@@ -1446,12 +1390,6 @@
("dict", "Reward", 0),
),
- "OnlineAwardNew":(
- ("BYTE", "DayID", 1),
- ("list", "StageTime", 0),
- ("dict", "Reward", 0),
- ),
-
"SpringSale":(
("BYTE", "GiftID", 1),
("BYTE", "SellDay", 0),
@@ -1495,10 +1433,12 @@
("BYTE", "IsAuctionItem", 0),
),
- "FirstGold":(
- ("BYTE", "Day", 1),
- ("dict", "JobItemInfo", 0),
- ("list", "CommItemList", 0),
+ "FirstCharge":(
+ ("BYTE", "FirstID", 1),
+ ("WORD", "NeedCTGID", 0),
+ ("list", "AwardListDay1", 0),
+ ("list", "AwardListDay2", 0),
+ ("list", "AwardListDay3", 0),
),
"LVAward":(
@@ -2405,6 +2345,14 @@
("DWORD", "CustomFamilyID", 0),
),
+ "FamilyDonate":(
+ ("BYTE", "DonateType", 1),
+ ("BYTE", "DailyCnt", 0),
+ ("BYTE", "MoneyType", 0),
+ ("DWORD", "MoneyValue", 0),
+ ("list", "AwardItemList", 0),
+ ),
+
"FamilyZhenbaogeCut":(
("BYTE", "CutNum", 1),
("DWORD", "CutWeight", 0),
@@ -2430,13 +2378,6 @@
("BYTE", "Type", 1),
("BYTE", "Star", 1),
("WORD", "LevelMax", 0),
- ),
-
- "FBBuyBuff":(
- ("DWORD", "MapId", 1),
- ("WORD", "MoneyCnt", 1),
- ("DWORD", "BuffID", 0),
- ("WORD", "BuffCD", 0),
),
"SkillElement":(
@@ -2708,7 +2649,7 @@
def GetLayerCnt(self): return self.attrTuple[34] # Buff层数 BYTE
def GetLayerMax(self): return self.attrTuple[35] # 最大层数 BYTE
def GetBuffRepeat(self): return self.attrTuple[36] # Buff叠加规则 DWORD
- def GetDieContinue(self): return self.attrTuple[37] # Buff死亡存在 DWORD
+ def GetDispersedLimit(self): return self.attrTuple[37] # 驱散限制 BYTE
def GetFightPower(self): return self.attrTuple[38] # 技能战斗力 DWORD
def GetSkillMotionName(self): return self.attrTuple[39] # 技能动作名 char
@@ -3666,10 +3607,18 @@
return
def GetGubaoID(self): return self.attrTuple[0] # 古宝ID WORD
- def GetGubaoType(self): return self.attrTuple[1] # 古宝分类 BYTE
- def GetGubaoQuality(self): return self.attrTuple[2] # 古宝品质 BYTE
- def GetUnlockItemID(self): return self.attrTuple[3] # 解锁所需物品ID DWORD
- def GetUnlockItemCnt(self): return self.attrTuple[4] # 解锁所需物品数量 BYTE
+ def GetGubaoQuality(self): return self.attrTuple[1] # 古宝品质 BYTE
+ def GetUnlockItemID(self): return self.attrTuple[2] # 解锁所需物品ID DWORD
+ def GetUnlockItemCnt(self): return self.attrTuple[3] # 解锁所需物品数量 BYTE
+ def GetBaseAttrIDList(self): return self.attrTuple[4] # 基础属性ID列表 list
+ def GetBaseAttrValueList(self): return self.attrTuple[5] # 基础属性初始值 list
+ def GetBaseAttrPerStarAddList(self): return self.attrTuple[6] # 基础属性每星成长 list
+ def GetSpecEffType(self): return self.attrTuple[7] # 特殊效果类型 BYTE
+ def GetSpecEffLayerMax(self): return self.attrTuple[8] # 特殊效果最大层数 BYTE
+ def GetSpecAttrID(self): return self.attrTuple[9] # 特殊属性ID BYTE
+ def GetSpecAttrValue(self): return self.attrTuple[10] # 特殊属性初始值 DWORD
+ def GetSpecAttrPerLVAdd(self): return self.attrTuple[11] # 特殊属性每级成长 DWORD
+ def GetSpecAttrPerStarAdd(self): return self.attrTuple[12] # 特殊属性每星成长 DWORD
# 古宝共鸣属性表
class IPY_GubaoResonanceAttr():
@@ -3693,38 +3642,17 @@
def GetResonanceID(self): return self.attrTuple[0] # 共鸣ID WORD
def GetGubaoIDList(self): return self.attrTuple[1] # 古宝ID列表 list
-# 古宝升星表
+# 古宝品质升星表
class IPY_GubaoStar():
def __init__(self):
self.attrTuple = None
return
- def GetGubaoID(self): return self.attrTuple[0] # 古宝ID WORD
+ def GetGubaoQuality(self): return self.attrTuple[0] # 古宝品质 BYTE
def GetGubaoStar(self): return self.attrTuple[1] # 古宝星级 BYTE
- def GetStarUPNeedItemInfo(self): return self.attrTuple[2] # 升星所需物品 [[物品ID,个数], ...] list
- def GetStarUPNeedQualityPiece(self): return self.attrTuple[3] # 升下一星额外所需品质碎片 [[品质,个数], ...] list
- def GetStarAttrIDList(self): return self.attrTuple[4] # 累计总属性ID列表 list
- def GetStarAttrValueList(self): return self.attrTuple[5] # 累计总属性值列表 list
- def GetStarEffIDList(self): return self.attrTuple[6] # 星级特殊效果ID列表 list
-
-# 古宝特殊效果表
-class IPY_GubaoEffAttr():
-
- def __init__(self):
- self.attrTuple = None
- return
-
- def GetGubaoEffID(self): return self.attrTuple[0] # 古宝特殊效果ID DWORD
- def GetGubaoEffType(self): return self.attrTuple[1] # 效果类型 BYTE
- def GetEffCond(self): return self.attrTuple[2] # 条件 DWORD
- def GetEffCond2(self): return self.attrTuple[3] # 条件2 DWORD
- def GetEffCond3(self): return self.attrTuple[4] # 条件3 DWORD
- def GetIsPer(self): return self.attrTuple[5] # 是否百分比提升 BYTE
- def GetEffFuncAttrIDList(self): return self.attrTuple[6] # 提升指定功能属性ID列表 list
- def GetEffAttrID(self): return self.attrTuple[7] # 直接增加属性类型 DWORD
- def GetEffAttrValue(self): return self.attrTuple[8] # 提升属性值 DWORD
- def GetEffItemAwardList(self): return self.attrTuple[9] # 领取物品列表 list
+ def GetStarUPNeedSelfCnt(self): return self.attrTuple[2] # 升到本星消耗本体碎片数量 BYTE
+ def GetStarUPNeedItemList(self): return self.attrTuple[3] # 消耗其他物品列表 [[物品ID,个数], ...] list
# 古宝品质升级表
class IPY_GubaoLV():
@@ -3733,12 +3661,9 @@
self.attrTuple = None
return
- def GetGubaoType(self): return self.attrTuple[0] # 古宝分类 BYTE
- def GetGubaoQuality(self): return self.attrTuple[1] # 古宝品质 BYTE
- def GetGubaoLV(self): return self.attrTuple[2] # 古宝等级 BYTE
- def GetLVUPNeedItemInfo(self): return self.attrTuple[3] # 升级所需物品 [[物品ID,个数], ...] list
- def GetLVAttrTypeList(self): return self.attrTuple[4] # 等级属性类型列表 list
- def GetLVAttrValueList(self): return self.attrTuple[5] # 等级属性值列表 list
+ def GetGubaoQuality(self): return self.attrTuple[0] # 古宝品质 BYTE
+ def GetLessEqualLV(self): return self.attrTuple[1] # 小于等于等级 BYTE
+ def GetLVUPNeedItemInfo(self): return self.attrTuple[2] # 升级所需物品 [[物品ID,个数], ...] list
# 神通表
class IPY_Shentong():
@@ -3902,19 +3827,6 @@
def GetRandExpMax(self): return self.attrTuple[2] # 最大随机精炼值 DWORD
def GetExpMaterial(self): return self.attrTuple[3] # 翅膀代数对应精炼值 dict
-# 仙盟科技表
-class IPY_FamilyTech():
-
- def __init__(self):
- self.attrTuple = None
- return
-
- def GetTechID(self): return self.attrTuple[0] # 科技ID*1000+等级 DWORD
- def GetAttrType(self): return self.attrTuple[1] # 属性类型 BYTE
- def GetAttrValue(self): return self.attrTuple[2] # 属性值 DWORD
- def GetContribution(self): return self.attrTuple[3] # 需要贡献度 DWORD
- def GetPowerEx(self): return self.attrTuple[4] # 额外战力 DWORD
-
# NPC掉落表
class IPY_NPCDropItem():
@@ -3990,21 +3902,12 @@
return
def GetDataMapID(self): return self.attrTuple[0] # 数据地图ID DWORD
- def GetDayTimes(self): return self.attrTuple[1] # 每日可挑战次数, 0为不限制 BYTE
- def GetDayResetType(self): return self.attrTuple[2] # 每日次数重置类型; 0-不重置,1-0点,2-5点 BYTE
- def GetWeekTimes(self): return self.attrTuple[3] # 每周可挑战次数, 0为不限制 BYTE
- def GetWeekResetType(self): return self.attrTuple[4] # 每周次数重置类型; 0-不重置,1-0点,2-5点 BYTE
- def GetRewardRate(self): return self.attrTuple[5] # 评级奖励比例 list
- def GetBuyTimesVIPPriID(self): return self.attrTuple[6] # 购买次数VIP权限ID DWORD
- def GetExtraTimesVIPPriID(self): return self.attrTuple[7] # 额外次数VIP权限ID DWORD
- def GetExtraTimesMWPriID(self): return self.attrTuple[8] # 额外次数法宝权限ID DWORD
- def GetGuardPick(self): return self.attrTuple[9] # 该地图守护是否能拾取 BYTE
- def GetOfflineTime(self): return self.attrTuple[10] # 离线多久退出副本(秒) WORD
- def GetFBPoint(self): return self.attrTuple[11] # 副本过关仙缘币 WORD
- def GetHelpPoint(self): return self.attrTuple[12] # 助战仙缘币(0代表不可助战) WORD
- def GetDayHelpCountMax(self): return self.attrTuple[13] # 每日手动助战获得仙缘币次数(非镜像) BYTE
+ def GetDayTimes(self): return self.attrTuple[1] # 每日免费次数, 0为不限制 BYTE
+ def GetPayCntMax(self): return self.attrTuple[2] # 额外付费次数 BYTE
+ def GetPayMoneyType(self): return self.attrTuple[3] # 消耗货币类型 BYTE
+ def GetPayMoneyValues(self): return self.attrTuple[4] # 消耗货币值列表 list
-# 副本功能线路表
+# 副本表
class IPY_FBLine():
def __init__(self):
@@ -4013,35 +3916,39 @@
def GetDataMapID(self): return self.attrTuple[0] # 数据地图ID DWORD
def GetLineID(self): return self.attrTuple[1] # 功能线路ID BYTE
- def GetMapID(self): return self.attrTuple[2] # 场景地图ID DWORD
- def GetLVLimitMin(self): return self.attrTuple[3] # 最低等级限制, 0为不限制 WORD
- def GetLVLimitMax(self): return self.attrTuple[4] # 最高等级限制, 0为不限制 WORD
- def GetTicketID(self): return self.attrTuple[5] # 门票ID DWORD
- def GetTicketCostCnt(self): return self.attrTuple[6] # 门票消耗数信息 list
- def GetTicketPrice(self): return self.attrTuple[7] # 门票单价(不能用钱抵的配0) WORD
- def GetSweepLVLimit(self): return self.attrTuple[8] # 扫荡等级限制, 0为不限制 WORD
- def GetSweepItemID(self): return self.attrTuple[9] # 扫荡所需道具ID DWORD
- def GetSweepCostCnt(self): return self.attrTuple[10] # 扫荡所需道具个数 BYTE
- def GetEnterPosInfo(self): return self.attrTuple[11] # 进入坐标信息 eval
- def GetStepTime(self): return self.attrTuple[12] # 阶段时间 eval
- def GetRefreshNPC(self): return self.attrTuple[13] # 标试点刷怪配置 eval
- def GetGradeInfo(self): return self.attrTuple[14] # 评级规则 eval
- def GetRewardInfo(self): return self.attrTuple[15] # 奖励信息 eval
+ def GetLVLimitMin(self): return self.attrTuple[2] # 最低等级限制, 0为不限制 WORD
+ def GetPassAwardList(self): return self.attrTuple[3] # 过关奖励 list
+ def GetSweepAwardList(self): return self.attrTuple[4] # 扫荡奖励 list
+ def GetLineupIDList(self): return self.attrTuple[5] # 阵容ID列表 list
+ def GetNPCLV(self): return self.attrTuple[6] # NPC等级 WORD
+ def GetDifficulty(self): return self.attrTuple[7] # 难度系数 float
-# 副本通用养成表
-class IPY_FBGeneralTrain():
+# 天子考验
+class IPY_Tianzi():
def __init__(self):
self.attrTuple = None
return
- def GetDataMapID(self): return self.attrTuple[0] # 数据地图ID DWORD
- def GetLineID(self): return self.attrTuple[1] # 功能线路ID BYTE
- def GetLVLimit(self): return self.attrTuple[2] # 多少级可挑战, 0为不限制 WORD
- def GetRealmLimit(self): return self.attrTuple[3] # 多少境界可挑战, 0为不限制 WORD
- def GetBossNPCID(self): return self.attrTuple[4] # 过关bossID DWORD
- def GetOtherNPCIDList(self): return self.attrTuple[5] # 其他NPCIDList list
- def GetPassAwardItemList(self): return self.attrTuple[6] # 过关奖励列表 list
+ def GetBossID(self): return self.attrTuple[0] # DWORD
+ def GetHPNum(self): return self.attrTuple[1] # BYTE
+ def GetAtk(self): return self.attrTuple[2] # DWORD
+ def GetDef(self): return self.attrTuple[3] # DWORD
+ def GetMaxHP(self): return self.attrTuple[4] # DWORD
+ def GetOtherAttrDict(self): return self.attrTuple[5] # 其他属性 {attrID:attrValue, ...} dict
+ def GetRandWeightItemList(self): return self.attrTuple[6] # 宝箱随机物品权重列表,[[权重,物品ID,数量], ...] list
+
+# 广告奖励表
+class IPY_ADAward():
+
+ def __init__(self):
+ self.attrTuple = None
+ return
+
+ def GetADID(self): return self.attrTuple[0] # DWORD
+ def GetADCntMax(self): return self.attrTuple[1] # 每日次数 BYTE
+ def GetADAwardItemList(self): return self.attrTuple[2] # 广告奖励物品列表 list
+ def GetADMapID(self): return self.attrTuple[3] # 对应副本ID,默认给该副本1次次数 DWORD
# 日常活动表
class IPY_DailyAction():
@@ -4194,32 +4101,15 @@
def GetUnLockSkill(self): return self.attrTuple[4] # 解锁的技能 list
def GetPowerEx(self): return self.attrTuple[5] # 额外固定战力 DWORD
-# 连续签到奖励表
-class IPY_ContineSignAward():
-
- def __init__(self):
- self.attrTuple = None
- return
-
- def GetContineDay(self): return self.attrTuple[0] # 连续签到天数 BYTE
- def GetItemID(self): return self.attrTuple[1] # 奖励物品ID list
- def GetIsBind(self): return self.attrTuple[2] # 物品是否绑定 BYTE
- def GetItemNum(self): return self.attrTuple[3] # 物品奖励最小值 list
- def GetJobItemList(self): return self.attrTuple[4] # 职业物品列表 list
-
# 签到奖励表
-class IPY_SignAward():
+class IPY_SignIn():
def __init__(self):
self.attrTuple = None
return
- def GetRewardID(self): return self.attrTuple[0] # 奖励ID BYTE
- def GetItemID(self): return self.attrTuple[1] # 奖励物品ID list
- def GetIsBind(self): return self.attrTuple[2] # 物品是否绑定 BYTE
- def GetVipLv(self): return self.attrTuple[3] # vip等级 BYTE
- def GetOrdinaryNum(self): return self.attrTuple[4] # 奖励物品数量 list
- def GetVipMultiple(self): return self.attrTuple[5] # 奖励倍率 BYTE
+ def GetSignDay(self): return self.attrTuple[0] # 签到天 BYTE
+ def GetAwardItemList(self): return self.attrTuple[1] # 奖励列表 list
# VIP礼包表
class IPY_VIPAward():
@@ -4398,19 +4288,6 @@
def GetPerPlayerMoneyAward(self): return self.attrTuple[1] # 首杀全服玩家奖励灵石额度/人 WORD
def GetPersonFirstKillAward(self): return self.attrTuple[2] # 个人首次击杀奖励 [[物品ID,个数,是否拍品], ...] list
-# 仙盟活跃表
-class IPY_FamilyActivity():
-
- def __init__(self):
- self.attrTuple = None
- return
-
- def GetID(self): return self.attrTuple[0] # ID DWORD
- def GetUnLockFuncID(self): return self.attrTuple[1] # 解锁功能ID WORD
- def GetTotalActivityTime(self): return self.attrTuple[2] # 总次数 BYTE
- def GetSingleTimes(self): return self.attrTuple[3] # 增加活跃需要次数 WORD
- def GetSingleActiveValue(self): return self.attrTuple[4] # 每轮增加活跃积分 WORD
-
# 仙盟红包表
class IPY_FamilyRedPack():
@@ -4447,18 +4324,6 @@
def GetProtectTime(self): return self.attrTuple[3] # 保护时间, 毫秒 DWORD
def GetBindMissionID(self): return self.attrTuple[4] # 绑定的任务ID DWORD
def GetShowType(self): return self.attrTuple[5] # 0-服务端通知,>0前端处理 BYTE
-
-# 副本鼓舞表
-class IPY_FbEncourage():
-
- def __init__(self):
- self.attrTuple = None
- return
-
- def GetDataMapID(self): return self.attrTuple[0] # 地图ID DWORD
- def GetInspireType(self): return self.attrTuple[1] # 鼓舞类型 BYTE
- def GetInspireMaxLV(self): return self.attrTuple[2] # 鼓舞等级限制 WORD
- def GetMoneyCount(self): return self.attrTuple[3] # 单次消耗金钱数量 char
# 地图标试点NPC刷新
class IPY_MapRefreshNPC():
@@ -4629,17 +4494,6 @@
def GetDayID(self): return self.attrTuple[0] # 天数 BYTE
def GetReward(self): return self.attrTuple[1] # 奖励 {"职业":[[物品ID,个数],...], ...} dict
-# 七天在线奖励表新
-class IPY_OnlineAwardNew():
-
- def __init__(self):
- self.attrTuple = None
- return
-
- def GetDayID(self): return self.attrTuple[0] # 天数 BYTE
- def GetStageTime(self): return self.attrTuple[1] # 阶段所需时间(分钟) list
- def GetReward(self): return self.attrTuple[2] # 奖励 {"索引":[[物品ID,个数],...], ...} dict
-
# 七天限时特惠表
class IPY_SpringSale():
@@ -4704,15 +4558,17 @@
def GetIsAuctionItem(self): return self.attrTuple[3] # 是否拍品 BYTE
# 首充表
-class IPY_FirstGold():
+class IPY_FirstCharge():
def __init__(self):
self.attrTuple = None
return
- def GetDay(self): return self.attrTuple[0] # 首充第几天 BYTE
- def GetJobItemInfo(self): return self.attrTuple[1] # 职业物品奖励 {"职业":[[物品ID,个数], ...], ...} dict
- def GetCommItemList(self): return self.attrTuple[2] # 通用物品奖励 [[物品ID,个数], ...] list
+ def GetFirstID(self): return self.attrTuple[0] # 首充ID BYTE
+ def GetNeedCTGID(self): return self.attrTuple[1] # 所需充值ID WORD
+ def GetAwardListDay1(self): return self.attrTuple[2] # 第1天奖励 [[物品ID,个数,装备定制ID], ...] list
+ def GetAwardListDay2(self): return self.attrTuple[3] # 第2天奖励 [[物品ID,个数,装备定制ID], ...] list
+ def GetAwardListDay3(self): return self.attrTuple[4] # 第3天奖励 [[物品ID,个数,装备定制ID], ...] list
# 等级奖励表
class IPY_LVAward():
@@ -6118,6 +5974,19 @@
def GetExpireMinutes(self): return self.attrTuple[2] # 有效时长,分钟 DWORD
def GetCustomFamilyID(self): return self.attrTuple[3] # 定制仙盟ID DWORD
+# 仙盟捐献表
+class IPY_FamilyDonate():
+
+ def __init__(self):
+ self.attrTuple = None
+ return
+
+ def GetDonateType(self): return self.attrTuple[0] # 捐献类型 BYTE
+ def GetDailyCnt(self): return self.attrTuple[1] # 每日次数 BYTE
+ def GetMoneyType(self): return self.attrTuple[2] # 消耗货币类型 BYTE
+ def GetMoneyValue(self): return self.attrTuple[3] # 消耗货币值 DWORD
+ def GetAwardItemList(self): return self.attrTuple[4] # 获得奖励列表[[物品ID,个数], ...] list
+
# 仙盟珍宝阁砍价表
class IPY_FamilyZhenbaogeCut():
@@ -6164,18 +6033,6 @@
def GetType(self): return self.attrTuple[0] # 按装备位对应类型查找 BYTE
def GetStar(self): return self.attrTuple[1] # 装备星数 BYTE
def GetLevelMax(self): return self.attrTuple[2] # 洗练等级上限 WORD
-
-# 副本Buff表
-class IPY_FBBuyBuff():
-
- def __init__(self):
- self.attrTuple = None
- return
-
- def GetMapId(self): return self.attrTuple[0] # DWORD
- def GetMoneyCnt(self): return self.attrTuple[1] # 仙玉数量 WORD
- def GetBuffID(self): return self.attrTuple[2] # BuffID DWORD
- def GetBuffCD(self): return self.attrTuple[3] # 间隔时间s WORD
# 技能升级表
class IPY_SkillElement():
@@ -6309,7 +6166,7 @@
def GetAwardID(self): return self.attrTuple[0] # 奖励ID 1~n BYTE
def GetAwardItemList(self): return self.attrTuple[1] # 物品奖励[[物品ID,个数,是否拍品], ...] list
-# 战令表
+# 战令表/基金
class IPY_Zhanling():
def __init__(self):
@@ -6533,7 +6390,6 @@
self.__LoadFileData("GubaoResonanceAttr", onlyCheck)
self.__LoadFileData("GubaoResonance", onlyCheck)
self.__LoadFileData("GubaoStar", onlyCheck)
- self.__LoadFileData("GubaoEffAttr", onlyCheck)
self.__LoadFileData("GubaoLV", onlyCheck)
self.__LoadFileData("Shentong", onlyCheck)
self.__LoadFileData("ShentongLV", onlyCheck)
@@ -6545,13 +6401,13 @@
self.__LoadFileData("EquipSuitAttr", onlyCheck)
self.__LoadFileData("WingRefineAttr", onlyCheck)
self.__LoadFileData("WingRefineExp", onlyCheck)
- self.__LoadFileData("FamilyTech", onlyCheck)
self.__LoadFileData("NPCDropItem", onlyCheck)
self.__LoadFileData("RuneTower", onlyCheck)
self.__LoadFileData("ChinMap", onlyCheck)
self.__LoadFileData("FBFunc", onlyCheck)
self.__LoadFileData("FBLine", onlyCheck)
- self.__LoadFileData("FBGeneralTrain", onlyCheck)
+ self.__LoadFileData("Tianzi", onlyCheck)
+ self.__LoadFileData("ADAward", onlyCheck)
self.__LoadFileData("DailyAction", onlyCheck)
self.__LoadFileData("EquipGSParam", onlyCheck)
self.__LoadFileData("Success", onlyCheck)
@@ -6559,8 +6415,7 @@
self.__LoadFileData("TongTianTask", onlyCheck)
self.__LoadFileData("Treasure", onlyCheck)
self.__LoadFileData("TreasureUp", onlyCheck)
- self.__LoadFileData("ContineSignAward", onlyCheck)
- self.__LoadFileData("SignAward", onlyCheck)
+ self.__LoadFileData("SignIn", onlyCheck)
self.__LoadFileData("VIPAward", onlyCheck)
self.__LoadFileData("AuctionItem", onlyCheck)
self.__LoadFileData("VipPrivilege", onlyCheck)
@@ -6572,11 +6427,9 @@
self.__LoadFileData("ActivityPlaceReward", onlyCheck)
self.__LoadFileData("BOSSInfo", onlyCheck)
self.__LoadFileData("BOSSFirstKill", onlyCheck)
- self.__LoadFileData("FamilyActivity", onlyCheck)
self.__LoadFileData("FamilyRedPack", onlyCheck)
self.__LoadFileData("ActFeastRedPacketSucc", onlyCheck)
self.__LoadFileData("NPCShow", onlyCheck)
- self.__LoadFileData("FbEncourage", onlyCheck)
self.__LoadFileData("MapRefreshNPC", onlyCheck)
self.__LoadFileData("RuneCompound", onlyCheck)
self.__LoadFileData("ResourcesBack", onlyCheck)
@@ -6588,12 +6441,11 @@
self.__LoadFileData("OSCBillRankAward", onlyCheck)
self.__LoadFileData("OSCBillTagAward", onlyCheck)
self.__LoadFileData("LoginDayAward", onlyCheck)
- self.__LoadFileData("OnlineAwardNew", onlyCheck)
self.__LoadFileData("SpringSale", onlyCheck)
self.__LoadFileData("OrderInfo", onlyCheck)
self.__LoadFileData("CTG", onlyCheck)
self.__LoadFileData("CTGSelectItem", onlyCheck)
- self.__LoadFileData("FirstGold", onlyCheck)
+ self.__LoadFileData("FirstCharge", onlyCheck)
self.__LoadFileData("LVAward", onlyCheck)
self.__LoadFileData("Invest", onlyCheck)
self.__LoadFileData("XBXZ", onlyCheck)
@@ -6694,11 +6546,11 @@
self.__LoadFileData("EquipPlusEvolve", onlyCheck)
self.__LoadFileData("Family", onlyCheck)
self.__LoadFileData("FamilyEmblem", onlyCheck)
+ self.__LoadFileData("FamilyDonate", onlyCheck)
self.__LoadFileData("FamilyZhenbaogeCut", onlyCheck)
self.__LoadFileData("FamilyZhenbaogeItem", onlyCheck)
self.__LoadFileData("FamilyZhenfa", onlyCheck)
self.__LoadFileData("ItemWashMax", onlyCheck)
- self.__LoadFileData("FBBuyBuff", onlyCheck)
self.__LoadFileData("SkillElement", onlyCheck)
self.__LoadFileData("LingGenEffect", onlyCheck)
self.__LoadFileData("LoveGift", onlyCheck)
@@ -6913,13 +6765,7 @@
def __StrToList(self, strValue):
setList = []
- if (strValue.startswith("[") and strValue.endswith("]")) or (strValue.startswith("(") and strValue.endswith(")")):
- setList = eval(strValue)
- elif strValue in ["0", "-", ""]:
- pass
- elif strValue.isdigit():
- setList = (int(strValue),)
- else:
+ if ChConfig.Def_Str_Montant in strValue: # |分割的优先
for value in strValue.split(ChConfig.Def_Str_Montant):
if value.isdigit():
value = int(value)
@@ -6933,6 +6779,12 @@
setList.append(value)
if setList:
setList = tuple(setList)
+ elif (strValue.startswith("[") and strValue.endswith("]")) or (strValue.startswith("(") and strValue.endswith(")")):
+ setList = eval(strValue)
+ elif strValue in ["0", "-", ""]:
+ pass
+ elif strValue.isdigit():
+ setList = (int(strValue),)
return setList
@@ -7454,13 +7306,6 @@
self.CheckLoadData("GubaoStar")
return self.ipyGubaoStarCache[index]
- def GetGubaoEffAttrCount(self):
- self.CheckLoadData("GubaoEffAttr")
- return self.ipyGubaoEffAttrLen
- def GetGubaoEffAttrByIndex(self, index):
- self.CheckLoadData("GubaoEffAttr")
- return self.ipyGubaoEffAttrCache[index]
-
def GetGubaoLVCount(self):
self.CheckLoadData("GubaoLV")
return self.ipyGubaoLVLen
@@ -7538,13 +7383,6 @@
self.CheckLoadData("WingRefineExp")
return self.ipyWingRefineExpCache[index]
- def GetFamilyTechCount(self):
- self.CheckLoadData("FamilyTech")
- return self.ipyFamilyTechLen
- def GetFamilyTechByIndex(self, index):
- self.CheckLoadData("FamilyTech")
- return self.ipyFamilyTechCache[index]
-
def GetNPCDropItemCount(self):
self.CheckLoadData("NPCDropItem")
return self.ipyNPCDropItemLen
@@ -7580,12 +7418,19 @@
self.CheckLoadData("FBLine")
return self.ipyFBLineCache[index]
- def GetFBGeneralTrainCount(self):
- self.CheckLoadData("FBGeneralTrain")
- return self.ipyFBGeneralTrainLen
- def GetFBGeneralTrainByIndex(self, index):
- self.CheckLoadData("FBGeneralTrain")
- return self.ipyFBGeneralTrainCache[index]
+ def GetTianziCount(self):
+ self.CheckLoadData("Tianzi")
+ return self.ipyTianziLen
+ def GetTianziByIndex(self, index):
+ self.CheckLoadData("Tianzi")
+ return self.ipyTianziCache[index]
+
+ def GetADAwardCount(self):
+ self.CheckLoadData("ADAward")
+ return self.ipyADAwardLen
+ def GetADAwardByIndex(self, index):
+ self.CheckLoadData("ADAward")
+ return self.ipyADAwardCache[index]
def GetDailyActionCount(self):
self.CheckLoadData("DailyAction")
@@ -7636,19 +7481,12 @@
self.CheckLoadData("TreasureUp")
return self.ipyTreasureUpCache[index]
- def GetContineSignAwardCount(self):
- self.CheckLoadData("ContineSignAward")
- return self.ipyContineSignAwardLen
- def GetContineSignAwardByIndex(self, index):
- self.CheckLoadData("ContineSignAward")
- return self.ipyContineSignAwardCache[index]
-
- def GetSignAwardCount(self):
- self.CheckLoadData("SignAward")
- return self.ipySignAwardLen
- def GetSignAwardByIndex(self, index):
- self.CheckLoadData("SignAward")
- return self.ipySignAwardCache[index]
+ def GetSignInCount(self):
+ self.CheckLoadData("SignIn")
+ return self.ipySignInLen
+ def GetSignInByIndex(self, index):
+ self.CheckLoadData("SignIn")
+ return self.ipySignInCache[index]
def GetVIPAwardCount(self):
self.CheckLoadData("VIPAward")
@@ -7727,13 +7565,6 @@
self.CheckLoadData("BOSSFirstKill")
return self.ipyBOSSFirstKillCache[index]
- def GetFamilyActivityCount(self):
- self.CheckLoadData("FamilyActivity")
- return self.ipyFamilyActivityLen
- def GetFamilyActivityByIndex(self, index):
- self.CheckLoadData("FamilyActivity")
- return self.ipyFamilyActivityCache[index]
-
def GetFamilyRedPackCount(self):
self.CheckLoadData("FamilyRedPack")
return self.ipyFamilyRedPackLen
@@ -7754,13 +7585,6 @@
def GetNPCShowByIndex(self, index):
self.CheckLoadData("NPCShow")
return self.ipyNPCShowCache[index]
-
- def GetFbEncourageCount(self):
- self.CheckLoadData("FbEncourage")
- return self.ipyFbEncourageLen
- def GetFbEncourageByIndex(self, index):
- self.CheckLoadData("FbEncourage")
- return self.ipyFbEncourageCache[index]
def GetMapRefreshNPCCount(self):
self.CheckLoadData("MapRefreshNPC")
@@ -7839,13 +7663,6 @@
self.CheckLoadData("LoginDayAward")
return self.ipyLoginDayAwardCache[index]
- def GetOnlineAwardNewCount(self):
- self.CheckLoadData("OnlineAwardNew")
- return self.ipyOnlineAwardNewLen
- def GetOnlineAwardNewByIndex(self, index):
- self.CheckLoadData("OnlineAwardNew")
- return self.ipyOnlineAwardNewCache[index]
-
def GetSpringSaleCount(self):
self.CheckLoadData("SpringSale")
return self.ipySpringSaleLen
@@ -7874,12 +7691,12 @@
self.CheckLoadData("CTGSelectItem")
return self.ipyCTGSelectItemCache[index]
- def GetFirstGoldCount(self):
- self.CheckLoadData("FirstGold")
- return self.ipyFirstGoldLen
- def GetFirstGoldByIndex(self, index):
- self.CheckLoadData("FirstGold")
- return self.ipyFirstGoldCache[index]
+ def GetFirstChargeCount(self):
+ self.CheckLoadData("FirstCharge")
+ return self.ipyFirstChargeLen
+ def GetFirstChargeByIndex(self, index):
+ self.CheckLoadData("FirstCharge")
+ return self.ipyFirstChargeCache[index]
def GetLVAwardCount(self):
self.CheckLoadData("LVAward")
@@ -8581,6 +8398,13 @@
self.CheckLoadData("FamilyEmblem")
return self.ipyFamilyEmblemCache[index]
+ def GetFamilyDonateCount(self):
+ self.CheckLoadData("FamilyDonate")
+ return self.ipyFamilyDonateLen
+ def GetFamilyDonateByIndex(self, index):
+ self.CheckLoadData("FamilyDonate")
+ return self.ipyFamilyDonateCache[index]
+
def GetFamilyZhenbaogeCutCount(self):
self.CheckLoadData("FamilyZhenbaogeCut")
return self.ipyFamilyZhenbaogeCutLen
@@ -8608,13 +8432,6 @@
def GetItemWashMaxByIndex(self, index):
self.CheckLoadData("ItemWashMax")
return self.ipyItemWashMaxCache[index]
-
- def GetFBBuyBuffCount(self):
- self.CheckLoadData("FBBuyBuff")
- return self.ipyFBBuyBuffLen
- def GetFBBuyBuffByIndex(self, index):
- self.CheckLoadData("FBBuyBuff")
- return self.ipyFBBuyBuffCache[index]
def GetSkillElementCount(self):
self.CheckLoadData("SkillElement")
--
Gitblit v1.8.0