From fdebf36f0d9201c6a6949a08cdfeebb718c25ce2 Mon Sep 17 00:00:00 2001
From: hxp <ale99527@vip.qq.com>
Date: 星期五, 23 五月 2025 19:35:53 +0800
Subject: [PATCH] 16 卡牌服务端(聊天、广播、通用记录、查看玩家;)

---
 ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/ChPyNetPack.py |  416 +++++++++-------------------------------------------------
 1 files changed, 69 insertions(+), 347 deletions(-)

diff --git a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/ChPyNetPack.py b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/ChPyNetPack.py
index 4d586a9..09a8e73 100644
--- a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/ChPyNetPack.py
+++ b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/ChPyNetPack.py
@@ -3145,101 +3145,6 @@
 
 
 #------------------------------------------------------
-#B3 07 语音聊天 #tagCGVoiceChat
-
-class  tagCGVoiceChat(Structure):
-    Head = tagHead()
-    ChannelType = 0    #(BYTE ChannelType)// 1 世界 2 仙盟 3 私聊(好友) 4 队伍 -------查看封包tagCMVoiceChat 5 区域	
-    TargetNameLen = 0    #(BYTE TargetNameLen)
-    TargetName = ""    #(String TargetName)//size = TargetNameLen
-    TargetID = 0    #(DWORD TargetID)// 默认发玩家ID,没有ID才发名称
-    Len = 0    #(WORD Len)
-    Content = list()    #(vector<BYTE> Content)//size = Len
-    data = None
-
-    def __init__(self):
-        self.Clear()
-        self.Head.Cmd = 0xB3
-        self.Head.SubCmd = 0x07
-        return
-
-    def ReadData(self, _lpData, _pos=0, _Len=0):
-        self.Clear()
-        _pos = self.Head.ReadData(_lpData, _pos)
-        self.ChannelType,_pos = CommFunc.ReadBYTE(_lpData, _pos)
-        self.TargetNameLen,_pos = CommFunc.ReadBYTE(_lpData, _pos)
-        self.TargetName,_pos = CommFunc.ReadString(_lpData, _pos,self.TargetNameLen)
-        self.TargetID,_pos = CommFunc.ReadDWORD(_lpData, _pos)
-        self.Len,_pos = CommFunc.ReadWORD(_lpData, _pos)
-        for i in range(self.Len):
-            value,_pos=CommFunc.ReadBYTE(_lpData,_pos)
-            self.Content.append(value)
-        return _pos
-
-    def Clear(self):
-        self.Head = tagHead()
-        self.Head.Clear()
-        self.Head.Cmd = 0xB3
-        self.Head.SubCmd = 0x07
-        self.ChannelType = 0
-        self.TargetNameLen = 0
-        self.TargetName = ""
-        self.TargetID = 0
-        self.Len = 0
-        self.Content = list()
-        return
-
-    def GetLength(self):
-        length = 0
-        length += self.Head.GetLength()
-        length += 1
-        length += 1
-        length += len(self.TargetName)
-        length += 4
-        length += 2
-        length += 1 * self.Len
-
-        return length
-
-    def GetBuffer(self):
-        data = ''
-        data = CommFunc.WriteString(data, self.Head.GetLength(), self.Head.GetBuffer())
-        data = CommFunc.WriteBYTE(data, self.ChannelType)
-        data = CommFunc.WriteBYTE(data, self.TargetNameLen)
-        data = CommFunc.WriteString(data, self.TargetNameLen, self.TargetName)
-        data = CommFunc.WriteDWORD(data, self.TargetID)
-        data = CommFunc.WriteWORD(data, self.Len)
-        for i in range(self.Len):
-            data = CommFunc.WriteBYTE(data, self.Content[i])
-        return data
-
-    def OutputString(self):
-        DumpString = '''
-                                Head:%s,
-                                ChannelType:%d,
-                                TargetNameLen:%d,
-                                TargetName:%s,
-                                TargetID:%d,
-                                Len:%d,
-                                Content:%s
-                                '''\
-                                %(
-                                self.Head.OutputString(),
-                                self.ChannelType,
-                                self.TargetNameLen,
-                                self.TargetName,
-                                self.TargetID,
-                                self.Len,
-                                "..."
-                                )
-        return DumpString
-
-
-m_NAtagCGVoiceChat=tagCGVoiceChat()
-ChNetPackDict[eval("0x%02x%02x"%(m_NAtagCGVoiceChat.Head.Cmd,m_NAtagCGVoiceChat.Head.SubCmd))] = m_NAtagCGVoiceChat
-
-
-#------------------------------------------------------
 #B3 03 是否允许加入好友的回应#tagCGJoinFriendAnswer
 
 class  tagCGJoinFriendAnswer(Structure):
@@ -6241,7 +6146,7 @@
                   ("GroupValue2", c_int),    #分组值2,与分组值1组合归为同组榜单数据
                   ("StartIndex", c_ushort),    #查看的起始名次索引, 默认0
                   ("ViewCnt", c_ubyte),    #查看条数,默认20,单次最大不超过100
-                  ("ViewID", c_int),    #附带查看指定ID所在名次前后数据,如玩家ID、家族ID等,仅首页查询时有效,即StartIndex为0时
+                  ("ViewID", c_int),    #附带查看指定ID所在名次前后数据,如玩家ID、家族ID等
                   ]
 
     def __init__(self):
@@ -7124,162 +7029,6 @@
 
 
 #------------------------------------------------------
-# A2 17 喇叭聊天 #tagCMPYSpeaker
-
-class  tagCMPYSpeaker(Structure):
-    Head = tagHead()
-    SpeakerType = 0    #(BYTE SpeakerType)//1-本服;2-跨服
-    IsUseGold = 0    #(BYTE IsUseGold)//是否使用钻石
-    ItemIndex = 0    #(BYTE ItemIndex)//使用物品说话时, 物品Index
-    TextLen = 0    #(WORD TextLen)//字符长度
-    Text = ""    #(String Text)//size = TextLen
-    data = None
-
-    def __init__(self):
-        self.Clear()
-        self.Head.Cmd = 0xA2
-        self.Head.SubCmd = 0x17
-        return
-
-    def ReadData(self, _lpData, _pos=0, _Len=0):
-        self.Clear()
-        _pos = self.Head.ReadData(_lpData, _pos)
-        self.SpeakerType,_pos = CommFunc.ReadBYTE(_lpData, _pos)
-        self.IsUseGold,_pos = CommFunc.ReadBYTE(_lpData, _pos)
-        self.ItemIndex,_pos = CommFunc.ReadBYTE(_lpData, _pos)
-        self.TextLen,_pos = CommFunc.ReadWORD(_lpData, _pos)
-        self.Text,_pos = CommFunc.ReadString(_lpData, _pos,self.TextLen)
-        return _pos
-
-    def Clear(self):
-        self.Head = tagHead()
-        self.Head.Clear()
-        self.Head.Cmd = 0xA2
-        self.Head.SubCmd = 0x17
-        self.SpeakerType = 0
-        self.IsUseGold = 0
-        self.ItemIndex = 0
-        self.TextLen = 0
-        self.Text = ""
-        return
-
-    def GetLength(self):
-        length = 0
-        length += self.Head.GetLength()
-        length += 1
-        length += 1
-        length += 1
-        length += 2
-        length += len(self.Text)
-
-        return length
-
-    def GetBuffer(self):
-        data = ''
-        data = CommFunc.WriteString(data, self.Head.GetLength(), self.Head.GetBuffer())
-        data = CommFunc.WriteBYTE(data, self.SpeakerType)
-        data = CommFunc.WriteBYTE(data, self.IsUseGold)
-        data = CommFunc.WriteBYTE(data, self.ItemIndex)
-        data = CommFunc.WriteWORD(data, self.TextLen)
-        data = CommFunc.WriteString(data, self.TextLen, self.Text)
-        return data
-
-    def OutputString(self):
-        DumpString = '''
-                                Head:%s,
-                                SpeakerType:%d,
-                                IsUseGold:%d,
-                                ItemIndex:%d,
-                                TextLen:%d,
-                                Text:%s
-                                '''\
-                                %(
-                                self.Head.OutputString(),
-                                self.SpeakerType,
-                                self.IsUseGold,
-                                self.ItemIndex,
-                                self.TextLen,
-                                self.Text
-                                )
-        return DumpString
-
-
-m_NAtagCMPYSpeaker=tagCMPYSpeaker()
-ChNetPackDict[eval("0x%02x%02x"%(m_NAtagCMPYSpeaker.Head.Cmd,m_NAtagCMPYSpeaker.Head.SubCmd))] = m_NAtagCMPYSpeaker
-
-
-#------------------------------------------------------
-# A2 16 自定义玩家聊天 #tagCMPyTalk
-
-class  tagCMPyTalk(Structure):
-    Head = tagHead()
-    TalkType = 0    #(BYTE TalkType)// 自定义聊天类型
-    Len = 0    #(WORD Len)
-    Content = ""    #(String Content)//size = Len
-    data = None
-
-    def __init__(self):
-        self.Clear()
-        self.Head.Cmd = 0xA2
-        self.Head.SubCmd = 0x16
-        return
-
-    def ReadData(self, _lpData, _pos=0, _Len=0):
-        self.Clear()
-        _pos = self.Head.ReadData(_lpData, _pos)
-        self.TalkType,_pos = CommFunc.ReadBYTE(_lpData, _pos)
-        self.Len,_pos = CommFunc.ReadWORD(_lpData, _pos)
-        self.Content,_pos = CommFunc.ReadString(_lpData, _pos,self.Len)
-        return _pos
-
-    def Clear(self):
-        self.Head = tagHead()
-        self.Head.Clear()
-        self.Head.Cmd = 0xA2
-        self.Head.SubCmd = 0x16
-        self.TalkType = 0
-        self.Len = 0
-        self.Content = ""
-        return
-
-    def GetLength(self):
-        length = 0
-        length += self.Head.GetLength()
-        length += 1
-        length += 2
-        length += len(self.Content)
-
-        return length
-
-    def GetBuffer(self):
-        data = ''
-        data = CommFunc.WriteString(data, self.Head.GetLength(), self.Head.GetBuffer())
-        data = CommFunc.WriteBYTE(data, self.TalkType)
-        data = CommFunc.WriteWORD(data, self.Len)
-        data = CommFunc.WriteString(data, self.Len, self.Content)
-        return data
-
-    def OutputString(self):
-        DumpString = '''
-                                Head:%s,
-                                TalkType:%d,
-                                Len:%d,
-                                Content:%s
-                                '''\
-                                %(
-                                self.Head.OutputString(),
-                                self.TalkType,
-                                self.Len,
-                                self.Content
-                                )
-        return DumpString
-
-
-m_NAtagCMPyTalk=tagCMPyTalk()
-ChNetPackDict[eval("0x%02x%02x"%(m_NAtagCMPyTalk.Head.Cmd,m_NAtagCMPyTalk.Head.SubCmd))] = m_NAtagCMPyTalk
-
-
-#------------------------------------------------------
 #A2 11 查询世界Boss伤血列表 #tagCMQueryBossHurtList
 
 class  tagCMQueryBossHurtList(Structure):
@@ -8123,101 +7872,6 @@
 
 m_NAtagCMClientTaskCount=tagCMClientTaskCount()
 ChNetPackDict[eval("0x%02x%02x"%(m_NAtagCMClientTaskCount.Cmd,m_NAtagCMClientTaskCount.SubCmd))] = m_NAtagCMClientTaskCount
-
-
-#------------------------------------------------------
-#A2 26 语音聊天 #tagCMVoiceChat
-
-class  tagCMVoiceChat(Structure):
-    Head = tagHead()
-    ChannelType = 0    #(BYTE ChannelType)//  5 区域 --- 查看封包tagCGVoiceChat 1 世界 2 仙盟 3 私聊(好友) 4 队伍
-    TargetNameLen = 0    #(BYTE TargetNameLen)
-    TargetName = ""    #(String TargetName)//size = TargetNameLen
-    TargetID = 0    #(DWORD TargetID)// 私聊默认发玩家ID,没有ID才发名称
-    Len = 0    #(WORD Len)
-    Content = list()    #(vector<BYTE> Content)//size = Len
-    data = None
-
-    def __init__(self):
-        self.Clear()
-        self.Head.Cmd = 0xA2
-        self.Head.SubCmd = 0x26
-        return
-
-    def ReadData(self, _lpData, _pos=0, _Len=0):
-        self.Clear()
-        _pos = self.Head.ReadData(_lpData, _pos)
-        self.ChannelType,_pos = CommFunc.ReadBYTE(_lpData, _pos)
-        self.TargetNameLen,_pos = CommFunc.ReadBYTE(_lpData, _pos)
-        self.TargetName,_pos = CommFunc.ReadString(_lpData, _pos,self.TargetNameLen)
-        self.TargetID,_pos = CommFunc.ReadDWORD(_lpData, _pos)
-        self.Len,_pos = CommFunc.ReadWORD(_lpData, _pos)
-        for i in range(self.Len):
-            value,_pos=CommFunc.ReadBYTE(_lpData,_pos)
-            self.Content.append(value)
-        return _pos
-
-    def Clear(self):
-        self.Head = tagHead()
-        self.Head.Clear()
-        self.Head.Cmd = 0xA2
-        self.Head.SubCmd = 0x26
-        self.ChannelType = 0
-        self.TargetNameLen = 0
-        self.TargetName = ""
-        self.TargetID = 0
-        self.Len = 0
-        self.Content = list()
-        return
-
-    def GetLength(self):
-        length = 0
-        length += self.Head.GetLength()
-        length += 1
-        length += 1
-        length += len(self.TargetName)
-        length += 4
-        length += 2
-        length += 1 * self.Len
-
-        return length
-
-    def GetBuffer(self):
-        data = ''
-        data = CommFunc.WriteString(data, self.Head.GetLength(), self.Head.GetBuffer())
-        data = CommFunc.WriteBYTE(data, self.ChannelType)
-        data = CommFunc.WriteBYTE(data, self.TargetNameLen)
-        data = CommFunc.WriteString(data, self.TargetNameLen, self.TargetName)
-        data = CommFunc.WriteDWORD(data, self.TargetID)
-        data = CommFunc.WriteWORD(data, self.Len)
-        for i in range(self.Len):
-            data = CommFunc.WriteBYTE(data, self.Content[i])
-        return data
-
-    def OutputString(self):
-        DumpString = '''
-                                Head:%s,
-                                ChannelType:%d,
-                                TargetNameLen:%d,
-                                TargetName:%s,
-                                TargetID:%d,
-                                Len:%d,
-                                Content:%s
-                                '''\
-                                %(
-                                self.Head.OutputString(),
-                                self.ChannelType,
-                                self.TargetNameLen,
-                                self.TargetName,
-                                self.TargetID,
-                                self.Len,
-                                "..."
-                                )
-        return DumpString
-
-
-m_NAtagCMVoiceChat=tagCMVoiceChat()
-ChNetPackDict[eval("0x%02x%02x"%(m_NAtagCMVoiceChat.Head.Cmd,m_NAtagCMVoiceChat.Head.SubCmd))] = m_NAtagCMVoiceChat
 
 
 #------------------------------------------------------
@@ -21924,6 +21578,74 @@
 
 
 #------------------------------------------------------
+# B3 20 聊天 #tagCMTalk
+
+class  tagCMPyTalk(Structure):
+    Head = tagHead()
+    ChannelType = 0    #(BYTE ChannelType)// 频道
+    Len = 0    #(WORD Len)
+    Content = ""    #(String Content)//size = Len
+    data = None
+
+    def __init__(self):
+        self.Clear()
+        self.Head.Cmd = 0xB3
+        self.Head.SubCmd = 0x20
+        return
+
+    def ReadData(self, _lpData, _pos=0, _Len=0):
+        self.Clear()
+        _pos = self.Head.ReadData(_lpData, _pos)
+        self.ChannelType,_pos = CommFunc.ReadBYTE(_lpData, _pos)
+        self.Len,_pos = CommFunc.ReadWORD(_lpData, _pos)
+        self.Content,_pos = CommFunc.ReadString(_lpData, _pos,self.Len)
+        return _pos
+
+    def Clear(self):
+        self.Head = tagHead()
+        self.Head.Clear()
+        self.Head.Cmd = 0xB3
+        self.Head.SubCmd = 0x20
+        self.ChannelType = 0
+        self.Len = 0
+        self.Content = ""
+        return
+
+    def GetLength(self):
+        length = 0
+        length += self.Head.GetLength()
+        length += 1
+        length += 2
+        length += len(self.Content)
+
+        return length
+
+    def GetBuffer(self):
+        data = ''
+        data = CommFunc.WriteString(data, self.Head.GetLength(), self.Head.GetBuffer())
+        data = CommFunc.WriteBYTE(data, self.ChannelType)
+        data = CommFunc.WriteWORD(data, self.Len)
+        data = CommFunc.WriteString(data, self.Len, self.Content)
+        return data
+
+    def OutputString(self):
+        DumpString = '''
+                                Head:%s,
+                                ChannelType:%d,
+                                Len:%d,
+                                Content:%s
+                                '''\
+                                %(
+                                self.Head.OutputString(),
+                                self.ChannelType,
+                                self.Len,
+                                self.Content
+                                )
+        return DumpString
+
+
+
+#------------------------------------------------------
 # B4 11 镜像战斗 #tagCMMirrorFight
 
 class  tagCMMirrorFight(Structure):

--
Gitblit v1.8.0