From cefb5d9e7a855d4d6722bd27962ccbf615dd09e2 Mon Sep 17 00:00:00 2001
From: hxp <ale99527@vip.qq.com>
Date: 星期四, 05 九月 2024 11:03:19 +0800
Subject: [PATCH] 10202 【越南】【砍树】寻宝仅广播配置的需要广播格子,去除幸运格子默认广播设定;
---
ServerPython/CoreServerGroup/GameServer/Script/ChPyNetPack.py | 199 +++++++++++++++++++++++++++++++++++++++++++++----
1 files changed, 183 insertions(+), 16 deletions(-)
diff --git a/ServerPython/CoreServerGroup/GameServer/Script/ChPyNetPack.py b/ServerPython/CoreServerGroup/GameServer/Script/ChPyNetPack.py
index f7ab0fd..4265437 100644
--- a/ServerPython/CoreServerGroup/GameServer/Script/ChPyNetPack.py
+++ b/ServerPython/CoreServerGroup/GameServer/Script/ChPyNetPack.py
@@ -1252,6 +1252,58 @@
#------------------------------------------------------
+# A9 07 点赞仙宫 #tagCGLikeXiangong
+
+class tagCGLikeXiangong(Structure):
+ _pack_ = 1
+ _fields_ = [
+ ("Cmd", c_ubyte),
+ ("SubCmd", c_ubyte),
+ ("XiangongID", c_ushort), # 仙宫ID,为0时代表每日的仙宫点赞
+ ]
+
+ def __init__(self):
+ self.Clear()
+ self.Cmd = 0xA9
+ self.SubCmd = 0x07
+ 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 = 0xA9
+ self.SubCmd = 0x07
+ self.XiangongID = 0
+ return
+
+ def GetLength(self):
+ return sizeof(tagCGLikeXiangong)
+
+ def GetBuffer(self):
+ return string_at(addressof(self), self.GetLength())
+
+ def OutputString(self):
+ DumpString = '''// A9 07 点赞仙宫 //tagCGLikeXiangong:
+ Cmd:%s,
+ SubCmd:%s,
+ XiangongID:%d
+ '''\
+ %(
+ self.Cmd,
+ self.SubCmd,
+ self.XiangongID
+ )
+ return DumpString
+
+
+m_NAtagCGLikeXiangong=tagCGLikeXiangong()
+ChNetPackDict[eval("0x%02x%02x"%(m_NAtagCGLikeXiangong.Cmd,m_NAtagCGLikeXiangong.SubCmd))] = m_NAtagCGLikeXiangong
+
+
+#------------------------------------------------------
# A9 A5 查看竞技场对战玩家最新信息 #tagCGQueryArenaBattlePlayer
class tagCGQueryArenaBattlePlayer(Structure):
@@ -1569,6 +1621,58 @@
m_NAtagCGQueryRecommendFriends=tagCGQueryRecommendFriends()
ChNetPackDict[eval("0x%02x%02x"%(m_NAtagCGQueryRecommendFriends.Cmd,m_NAtagCGQueryRecommendFriends.SubCmd))] = m_NAtagCGQueryRecommendFriends
+
+
+#------------------------------------------------------
+# A9 06 查看仙宫仙名录 #tagCGQueryXiangongRecPlayers
+
+class tagCGQueryXiangongRecPlayers(Structure):
+ _pack_ = 1
+ _fields_ = [
+ ("Cmd", c_ubyte),
+ ("SubCmd", c_ubyte),
+ ("XiangongID", c_ushort), # 仙宫ID
+ ]
+
+ def __init__(self):
+ self.Clear()
+ self.Cmd = 0xA9
+ self.SubCmd = 0x06
+ 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 = 0xA9
+ self.SubCmd = 0x06
+ self.XiangongID = 0
+ return
+
+ def GetLength(self):
+ return sizeof(tagCGQueryXiangongRecPlayers)
+
+ def GetBuffer(self):
+ return string_at(addressof(self), self.GetLength())
+
+ def OutputString(self):
+ DumpString = '''// A9 06 查看仙宫仙名录 //tagCGQueryXiangongRecPlayers:
+ Cmd:%s,
+ SubCmd:%s,
+ XiangongID:%d
+ '''\
+ %(
+ self.Cmd,
+ self.SubCmd,
+ self.XiangongID
+ )
+ return DumpString
+
+
+m_NAtagCGQueryXiangongRecPlayers=tagCGQueryXiangongRecPlayers()
+ChNetPackDict[eval("0x%02x%02x"%(m_NAtagCGQueryXiangongRecPlayers.Cmd,m_NAtagCGQueryXiangongRecPlayers.SubCmd))] = m_NAtagCGQueryXiangongRecPlayers
#------------------------------------------------------
@@ -19338,18 +19442,15 @@
#------------------------------------------------------
# B2 17 古宝升星 #tagCMGubaoStarUp
-class tagCMGubaoStarUp(Structure):
+class tagCMGubaoPieceUse(Structure):
_pack_ = 1
_fields_ = [
- ("Cmd", c_ubyte),
- ("SubCmd", c_ubyte),
- ("GubaoID", c_ushort),
+ ("GubaoID", c_ushort), # 通用碎片古宝ID
+ ("PieceCount", c_ushort), # 使用碎片个数
]
def __init__(self):
self.Clear()
- self.Cmd = 0xB2
- self.SubCmd = 0x17
return
def ReadData(self, stringData, _pos=0, _len=0):
@@ -19358,33 +19459,99 @@
return _pos + self.GetLength()
def Clear(self):
- self.Cmd = 0xB2
- self.SubCmd = 0x17
self.GubaoID = 0
+ self.PieceCount = 0
return
def GetLength(self):
- return sizeof(tagCMGubaoStarUp)
+ return sizeof(tagCMGubaoPieceUse)
def GetBuffer(self):
return string_at(addressof(self), self.GetLength())
def OutputString(self):
DumpString = '''// B2 17 古宝升星 //tagCMGubaoStarUp:
- Cmd:%s,
- SubCmd:%s,
- GubaoID:%d
+ GubaoID:%d,
+ PieceCount:%d
'''\
%(
- self.Cmd,
- self.SubCmd,
- self.GubaoID
+ self.GubaoID,
+ self.PieceCount
+ )
+ return DumpString
+
+
+class tagCMGubaoStarUp(Structure):
+ Head = tagHead()
+ GubaoID = 0 #(WORD GubaoID)
+ PieceSelectCount = 0 #(BYTE PieceSelectCount)
+ CommPieceUseList = list() #(vector<tagCMGubaoPieceUse> CommPieceUseList)// 通用古宝碎片使用列表
+ data = None
+
+ def __init__(self):
+ self.Clear()
+ self.Head.Cmd = 0xB2
+ self.Head.SubCmd = 0x17
+ return
+
+ def ReadData(self, _lpData, _pos=0, _Len=0):
+ self.Clear()
+ _pos = self.Head.ReadData(_lpData, _pos)
+ self.GubaoID,_pos = CommFunc.ReadWORD(_lpData, _pos)
+ self.PieceSelectCount,_pos = CommFunc.ReadBYTE(_lpData, _pos)
+ for i in range(self.PieceSelectCount):
+ temCommPieceUseList = tagCMGubaoPieceUse()
+ _pos = temCommPieceUseList.ReadData(_lpData, _pos)
+ self.CommPieceUseList.append(temCommPieceUseList)
+ return _pos
+
+ def Clear(self):
+ self.Head = tagHead()
+ self.Head.Clear()
+ self.Head.Cmd = 0xB2
+ self.Head.SubCmd = 0x17
+ self.GubaoID = 0
+ self.PieceSelectCount = 0
+ self.CommPieceUseList = list()
+ return
+
+ def GetLength(self):
+ length = 0
+ length += self.Head.GetLength()
+ length += 2
+ length += 1
+ for i in range(self.PieceSelectCount):
+ length += self.CommPieceUseList[i].GetLength()
+
+ return length
+
+ def GetBuffer(self):
+ data = ''
+ data = CommFunc.WriteString(data, self.Head.GetLength(), self.Head.GetBuffer())
+ data = CommFunc.WriteWORD(data, self.GubaoID)
+ data = CommFunc.WriteBYTE(data, self.PieceSelectCount)
+ for i in range(self.PieceSelectCount):
+ data = CommFunc.WriteString(data, self.CommPieceUseList[i].GetLength(), self.CommPieceUseList[i].GetBuffer())
+ return data
+
+ def OutputString(self):
+ DumpString = '''
+ Head:%s,
+ GubaoID:%d,
+ PieceSelectCount:%d,
+ CommPieceUseList:%s
+ '''\
+ %(
+ self.Head.OutputString(),
+ self.GubaoID,
+ self.PieceSelectCount,
+ "..."
)
return DumpString
m_NAtagCMGubaoStarUp=tagCMGubaoStarUp()
-ChNetPackDict[eval("0x%02x%02x"%(m_NAtagCMGubaoStarUp.Cmd,m_NAtagCMGubaoStarUp.SubCmd))] = m_NAtagCMGubaoStarUp
+ChNetPackDict[eval("0x%02x%02x"%(m_NAtagCMGubaoStarUp.Head.Cmd,m_NAtagCMGubaoStarUp.Head.SubCmd))] = m_NAtagCMGubaoStarUp
#------------------------------------------------------
--
Gitblit v1.8.0