From b961d09f3d47773bc0ae6faaeda880ef4791419f Mon Sep 17 00:00:00 2001
From: xdh <xiefantasy@qq.com>
Date: 星期二, 12 三月 2019 09:53:37 +0800
Subject: [PATCH] 6307 【后端】【2.0】多套装备开发单(强化配置修改)
---
ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/ChPyNetSendPack.py | 212 ++++++++++++++++++++++++++++++----------------------
1 files changed, 123 insertions(+), 89 deletions(-)
diff --git a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/ChPyNetSendPack.py b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/ChPyNetSendPack.py
index 52173a7..2ca66e3 100644
--- a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/ChPyNetSendPack.py
+++ b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/ChPyNetSendPack.py
@@ -899,6 +899,58 @@
#------------------------------------------------------
+# A4 0C 多仙盟boss活动信息 #tagGCAllFamilyBossInfo
+
+class tagGCAllFamilyBossInfo(Structure):
+ _pack_ = 1
+ _fields_ = [
+ ("Cmd", c_ubyte),
+ ("SubCmd", c_ubyte),
+ ("IsEnd", c_ubyte), # 是否已结束
+ ]
+
+ def __init__(self):
+ self.Clear()
+ self.Cmd = 0xA4
+ self.SubCmd = 0x0C
+ return
+
+ def ReadData(self, stringData, _pos=0, _len=0):
+ self.Clear()
+ memmove(addressof(self), stringData[_pos:], self.GetLength())
+ return _pos + self.GetLength()
+
+ def Clear(self):
+ self.Cmd = 0xA4
+ self.SubCmd = 0x0C
+ self.IsEnd = 0
+ return
+
+ def GetLength(self):
+ return sizeof(tagGCAllFamilyBossInfo)
+
+ def GetBuffer(self):
+ return string_at(addressof(self), self.GetLength())
+
+ def OutputString(self):
+ DumpString = '''// A4 0C 多仙盟boss活动信息 //tagGCAllFamilyBossInfo:
+ Cmd:%s,
+ SubCmd:%s,
+ IsEnd:%d
+ '''\
+ %(
+ self.Cmd,
+ self.SubCmd,
+ self.IsEnd
+ )
+ return DumpString
+
+
+m_NAtagGCAllFamilyBossInfo=tagGCAllFamilyBossInfo()
+ChNetPackDict[eval("0x%02x%02x"%(m_NAtagGCAllFamilyBossInfo.Cmd,m_NAtagGCAllFamilyBossInfo.SubCmd))] = m_NAtagGCAllFamilyBossInfo
+
+
+#------------------------------------------------------
# A4 0A 假仙盟信息 #tagGCFakeFamilyInfo
class tagGCFakeFamilyInfo(Structure):
@@ -7283,9 +7335,10 @@
ClassLV = 0 #(BYTE ClassLV)//过滤阶数,0为不限制
SpecItemIDCount = 0 #(BYTE SpecItemIDCount)//指定物品ID个数
SpecItemIDList = list() #(vector<DWORD> SpecItemIDList)//指定物品ID
- FromNum = 0 #(WORD FromNum)//查询起始数 (从1开始)
+ FromItemGUID = "" #(char FromItemGUID[40])//从哪个物品开始查询
+ QueryDir = 0 #(BYTE QueryDir)//查询方向,1-往后查,2-往前查,3-定位查询
QueryCount = 0 #(BYTE QueryCount)//查询个数,0为全部
- QueryTotalCount = 0 #(WORD QueryTotalCount)//查询条件实际总个数
+ QueryRemainlCount = 0 #(WORD QueryRemainlCount)//查询条件对应查询方向剩余个数
AuctionItemCount = 0 #(BYTE AuctionItemCount)//返回拍品数量
AuctionItemList = list() #(vector<tagGCAuctionItem> AuctionItemList)//返回拍品列表
data = None
@@ -7309,9 +7362,10 @@
for i in range(self.SpecItemIDCount):
value,_pos=CommFunc.ReadDWORD(_lpData,_pos)
self.SpecItemIDList.append(value)
- self.FromNum,_pos = CommFunc.ReadWORD(_lpData, _pos)
+ self.FromItemGUID,_pos = CommFunc.ReadString(_lpData, _pos,40)
+ self.QueryDir,_pos = CommFunc.ReadBYTE(_lpData, _pos)
self.QueryCount,_pos = CommFunc.ReadBYTE(_lpData, _pos)
- self.QueryTotalCount,_pos = CommFunc.ReadWORD(_lpData, _pos)
+ self.QueryRemainlCount,_pos = CommFunc.ReadWORD(_lpData, _pos)
self.AuctionItemCount,_pos = CommFunc.ReadBYTE(_lpData, _pos)
for i in range(self.AuctionItemCount):
temAuctionItemList = tagGCAuctionItem()
@@ -7330,9 +7384,10 @@
self.ClassLV = 0
self.SpecItemIDCount = 0
self.SpecItemIDList = list()
- self.FromNum = 0
+ self.FromItemGUID = ""
+ self.QueryDir = 0
self.QueryCount = 0
- self.QueryTotalCount = 0
+ self.QueryRemainlCount = 0
self.AuctionItemCount = 0
self.AuctionItemList = list()
return
@@ -7346,7 +7401,8 @@
length += 1
length += 1
length += 4 * self.SpecItemIDCount
- length += 2
+ length += 40
+ length += 1
length += 1
length += 2
length += 1
@@ -7366,9 +7422,10 @@
data = CommFunc.WriteBYTE(data, self.SpecItemIDCount)
for i in range(self.SpecItemIDCount):
data = CommFunc.WriteDWORD(data, self.SpecItemIDList[i])
- data = CommFunc.WriteWORD(data, self.FromNum)
+ data = CommFunc.WriteString(data, 40, self.FromItemGUID)
+ data = CommFunc.WriteBYTE(data, self.QueryDir)
data = CommFunc.WriteBYTE(data, self.QueryCount)
- data = CommFunc.WriteWORD(data, self.QueryTotalCount)
+ data = CommFunc.WriteWORD(data, self.QueryRemainlCount)
data = CommFunc.WriteBYTE(data, self.AuctionItemCount)
for i in range(self.AuctionItemCount):
data = CommFunc.WriteString(data, self.AuctionItemList[i].GetLength(), self.AuctionItemList[i].GetBuffer())
@@ -7383,9 +7440,10 @@
ClassLV:%d,
SpecItemIDCount:%d,
SpecItemIDList:%s,
- FromNum:%d,
+ FromItemGUID:%s,
+ QueryDir:%d,
QueryCount:%d,
- QueryTotalCount:%d,
+ QueryRemainlCount:%d,
AuctionItemCount:%d,
AuctionItemList:%s
'''\
@@ -7397,9 +7455,10 @@
self.ClassLV,
self.SpecItemIDCount,
"...",
- self.FromNum,
+ self.FromItemGUID,
+ self.QueryDir,
self.QueryCount,
- self.QueryTotalCount,
+ self.QueryRemainlCount,
self.AuctionItemCount,
"..."
)
@@ -13775,70 +13834,57 @@
#------------------------------------------------------
-# A3 09 通知玩家部位套装等级 #tagMCEquipPartSuiteLVInfo
+# A3 B1 装备部位星数信息 #tagMCEquipPartStarInfo
-class tagMCEquipPartSuiteLV(Structure):
- EquipIndex = 0 #(BYTE EquipIndex)
- Len = 0 #(WORD Len)//长度
- SuiteLVInfo = "" #(String SuiteLVInfo)//{套装类型:等级}
- data = None
+class tagMCEquipPartStar(Structure):
+ _pack_ = 1
+ _fields_ = [
+ ("EquipPackIndex", c_ushort),
+ ("Star", c_ubyte),
+ ]
def __init__(self):
self.Clear()
return
- def ReadData(self, _lpData, _pos=0, _Len=0):
+ def ReadData(self, stringData, _pos=0, _len=0):
self.Clear()
- self.EquipIndex,_pos = CommFunc.ReadBYTE(_lpData, _pos)
- self.Len,_pos = CommFunc.ReadWORD(_lpData, _pos)
- self.SuiteLVInfo,_pos = CommFunc.ReadString(_lpData, _pos,self.Len)
- return _pos
+ memmove(addressof(self), stringData[_pos:], self.GetLength())
+ return _pos + self.GetLength()
def Clear(self):
- self.EquipIndex = 0
- self.Len = 0
- self.SuiteLVInfo = ""
+ self.EquipPackIndex = 0
+ self.Star = 0
return
def GetLength(self):
- length = 0
- length += 1
- length += 2
- length += len(self.SuiteLVInfo)
-
- return length
+ return sizeof(tagMCEquipPartStar)
def GetBuffer(self):
- data = ''
- data = CommFunc.WriteBYTE(data, self.EquipIndex)
- data = CommFunc.WriteWORD(data, self.Len)
- data = CommFunc.WriteString(data, self.Len, self.SuiteLVInfo)
- return data
+ return string_at(addressof(self), self.GetLength())
def OutputString(self):
- DumpString = '''
- EquipIndex:%d,
- Len:%d,
- SuiteLVInfo:%s
+ DumpString = '''// A3 B1 装备部位星数信息 //tagMCEquipPartStarInfo:
+ EquipPackIndex:%d,
+ Star:%d
'''\
%(
- self.EquipIndex,
- self.Len,
- self.SuiteLVInfo
+ self.EquipPackIndex,
+ self.Star
)
return DumpString
-class tagMCEquipPartSuiteLVInfo(Structure):
+class tagMCEquipPartStarInfo(Structure):
Head = tagHead()
Count = 0 #(BYTE Count)// 信息个数
- InfoList = list() #(vector<tagMCEquipPartSuiteLV> InfoList)// 信息列表
+ InfoList = list() #(vector<tagMCEquipPartStar> InfoList)// 信息列表
data = None
def __init__(self):
self.Clear()
self.Head.Cmd = 0xA3
- self.Head.SubCmd = 0x09
+ self.Head.SubCmd = 0xB1
return
def ReadData(self, _lpData, _pos=0, _Len=0):
@@ -13846,7 +13892,7 @@
_pos = self.Head.ReadData(_lpData, _pos)
self.Count,_pos = CommFunc.ReadBYTE(_lpData, _pos)
for i in range(self.Count):
- temInfoList = tagMCEquipPartSuiteLV()
+ temInfoList = tagMCEquipPartStar()
_pos = temInfoList.ReadData(_lpData, _pos)
self.InfoList.append(temInfoList)
return _pos
@@ -13855,7 +13901,7 @@
self.Head = tagHead()
self.Head.Clear()
self.Head.Cmd = 0xA3
- self.Head.SubCmd = 0x09
+ self.Head.SubCmd = 0xB1
self.Count = 0
self.InfoList = list()
return
@@ -13891,8 +13937,8 @@
return DumpString
-m_NAtagMCEquipPartSuiteLVInfo=tagMCEquipPartSuiteLVInfo()
-ChNetPackDict[eval("0x%02x%02x"%(m_NAtagMCEquipPartSuiteLVInfo.Head.Cmd,m_NAtagMCEquipPartSuiteLVInfo.Head.SubCmd))] = m_NAtagMCEquipPartSuiteLVInfo
+m_NAtagMCEquipPartStarInfo=tagMCEquipPartStarInfo()
+ChNetPackDict[eval("0x%02x%02x"%(m_NAtagMCEquipPartStarInfo.Head.Cmd,m_NAtagMCEquipPartStarInfo.Head.SubCmd))] = m_NAtagMCEquipPartStarInfo
#------------------------------------------------------
@@ -15372,15 +15418,16 @@
#------------------------------------------------------
-# A3 B3 装备部位星级信息 #tagMCEquipPartStarLVInfo
+# A3 B3 装备部位强化信息 #tagMCEquipPartPlusInfo
-class tagMCEquipPartStarLV(Structure):
+class tagMCEquipPartPlusLV(Structure):
_pack_ = 1
_fields_ = [
("PackType", c_ubyte),
("EquipIndex", c_ubyte),
("EquipPartStarLV", c_ushort),
("Proficiency", c_int),
+ ("EvolveLV", c_ubyte),
]
def __init__(self):
@@ -15397,34 +15444,37 @@
self.EquipIndex = 0
self.EquipPartStarLV = 0
self.Proficiency = 0
+ self.EvolveLV = 0
return
def GetLength(self):
- return sizeof(tagMCEquipPartStarLV)
+ return sizeof(tagMCEquipPartPlusLV)
def GetBuffer(self):
return string_at(addressof(self), self.GetLength())
def OutputString(self):
- DumpString = '''// A3 B3 装备部位星级信息 //tagMCEquipPartStarLVInfo:
+ DumpString = '''// A3 B3 装备部位强化信息 //tagMCEquipPartPlusInfo:
PackType:%d,
EquipIndex:%d,
EquipPartStarLV:%d,
- Proficiency:%d
+ Proficiency:%d,
+ EvolveLV:%d
'''\
%(
self.PackType,
self.EquipIndex,
self.EquipPartStarLV,
- self.Proficiency
+ self.Proficiency,
+ self.EvolveLV
)
return DumpString
-class tagMCEquipPartStarLVInfo(Structure):
+class tagMCEquipPartPlusInfo(Structure):
Head = tagHead()
Count = 0 #(BYTE Count)// 信息个数
- InfoList = list() #(vector<tagMCEquipPartStarLV> InfoList)// 信息列表
+ InfoList = list() #(vector<tagMCEquipPartPlusLV> InfoList)// 信息列表
data = None
def __init__(self):
@@ -15438,7 +15488,7 @@
_pos = self.Head.ReadData(_lpData, _pos)
self.Count,_pos = CommFunc.ReadBYTE(_lpData, _pos)
for i in range(self.Count):
- temInfoList = tagMCEquipPartStarLV()
+ temInfoList = tagMCEquipPartPlusLV()
_pos = temInfoList.ReadData(_lpData, _pos)
self.InfoList.append(temInfoList)
return _pos
@@ -15483,8 +15533,8 @@
return DumpString
-m_NAtagMCEquipPartStarLVInfo=tagMCEquipPartStarLVInfo()
-ChNetPackDict[eval("0x%02x%02x"%(m_NAtagMCEquipPartStarLVInfo.Head.Cmd,m_NAtagMCEquipPartStarLVInfo.Head.SubCmd))] = m_NAtagMCEquipPartStarLVInfo
+m_NAtagMCEquipPartPlusInfo=tagMCEquipPartPlusInfo()
+ChNetPackDict[eval("0x%02x%02x"%(m_NAtagMCEquipPartPlusInfo.Head.Cmd,m_NAtagMCEquipPartPlusInfo.Head.SubCmd))] = m_NAtagMCEquipPartPlusInfo
#------------------------------------------------------
@@ -17387,18 +17437,14 @@
#------------------------------------------------------
-# A3 11 通知玩家境界渡劫是否开启 #tagMCSyncRealmFBIsOpen
+# A3 11 通知玩家境界信息 #tagMCSyncRealmInfo
-class tagMCSyncRealmFBIsOpen(Structure):
+class tagMCSyncRealmInfo(Structure):
_pack_ = 1
_fields_ = [
("Cmd", c_ubyte),
("SubCmd", c_ubyte),
- ("IsOpen", c_ubyte), #是否开启
- ("SitAllTime", c_ushort), #打坐总时间秒
- ("SitRemainTime", c_int), #开始打坐前剩余时间秒
- ("SitStartTime", c_int), #开始打坐时间
- ("LastEnterTime", c_int), #上次进入渡劫副本时间
+ ("IsPass", c_ubyte), #是否通关副本
]
def __init__(self):
@@ -17415,43 +17461,31 @@
def Clear(self):
self.Cmd = 0xA3
self.SubCmd = 0x11
- self.IsOpen = 0
- self.SitAllTime = 0
- self.SitRemainTime = 0
- self.SitStartTime = 0
- self.LastEnterTime = 0
+ self.IsPass = 0
return
def GetLength(self):
- return sizeof(tagMCSyncRealmFBIsOpen)
+ return sizeof(tagMCSyncRealmInfo)
def GetBuffer(self):
return string_at(addressof(self), self.GetLength())
def OutputString(self):
- DumpString = '''// A3 11 通知玩家境界渡劫是否开启 //tagMCSyncRealmFBIsOpen:
+ DumpString = '''// A3 11 通知玩家境界信息 //tagMCSyncRealmInfo:
Cmd:%s,
SubCmd:%s,
- IsOpen:%d,
- SitAllTime:%d,
- SitRemainTime:%d,
- SitStartTime:%d,
- LastEnterTime:%d
+ IsPass:%d
'''\
%(
self.Cmd,
self.SubCmd,
- self.IsOpen,
- self.SitAllTime,
- self.SitRemainTime,
- self.SitStartTime,
- self.LastEnterTime
+ self.IsPass
)
return DumpString
-m_NAtagMCSyncRealmFBIsOpen=tagMCSyncRealmFBIsOpen()
-ChNetPackDict[eval("0x%02x%02x"%(m_NAtagMCSyncRealmFBIsOpen.Cmd,m_NAtagMCSyncRealmFBIsOpen.SubCmd))] = m_NAtagMCSyncRealmFBIsOpen
+m_NAtagMCSyncRealmInfo=tagMCSyncRealmInfo()
+ChNetPackDict[eval("0x%02x%02x"%(m_NAtagMCSyncRealmInfo.Cmd,m_NAtagMCSyncRealmInfo.SubCmd))] = m_NAtagMCSyncRealmInfo
#------------------------------------------------------
--
Gitblit v1.8.0