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 | 134 +++++++++++---------------------------------
1 files changed, 33 insertions(+), 101 deletions(-)
diff --git a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/IpyGameDataPY.py b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/IpyGameDataPY.py
index e337850..2eb4c1f 100644
--- a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/IpyGameDataPY.py
+++ b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/IpyGameDataPY.py
@@ -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":(
@@ -1020,16 +1009,6 @@
("BYTE", "ADCntMax", 0),
("list", "ADAwardItemList", 0),
("DWORD", "ADMapID", 0),
- ),
-
- "FBGeneralTrain":(
- ("DWORD", "DataMapID", 1),
- ("BYTE", "LineID", 1),
- ("WORD", "LVLimit", 0),
- ("WORD", "RealmLimit", 0),
- ("DWORD", "BossNPCID", 0),
- ("list", "OtherNPCIDList", 0),
- ("list", "PassAwardItemList", 0),
),
"DailyAction":(
@@ -3628,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():
@@ -3655,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():
@@ -3695,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():
@@ -3986,21 +3949,6 @@
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_FBGeneralTrain():
-
- 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
# 日常活动表
class IPY_DailyAction():
@@ -6442,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)
@@ -6461,7 +6408,6 @@
self.__LoadFileData("FBLine", onlyCheck)
self.__LoadFileData("Tianzi", onlyCheck)
self.__LoadFileData("ADAward", onlyCheck)
- self.__LoadFileData("FBGeneralTrain", onlyCheck)
self.__LoadFileData("DailyAction", onlyCheck)
self.__LoadFileData("EquipGSParam", onlyCheck)
self.__LoadFileData("Success", onlyCheck)
@@ -7360,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
@@ -7492,13 +7431,6 @@
def GetADAwardByIndex(self, index):
self.CheckLoadData("ADAward")
return self.ipyADAwardCache[index]
-
- def GetFBGeneralTrainCount(self):
- self.CheckLoadData("FBGeneralTrain")
- return self.ipyFBGeneralTrainLen
- def GetFBGeneralTrainByIndex(self, index):
- self.CheckLoadData("FBGeneralTrain")
- return self.ipyFBGeneralTrainCache[index]
def GetDailyActionCount(self):
self.CheckLoadData("DailyAction")
--
Gitblit v1.8.0