From 044865b5c32b52032483d2a6116780381b64ee9f Mon Sep 17 00:00:00 2001
From: hxp <ale99527@vip.qq.com>
Date: 星期二, 10 三月 2026 10:46:43 +0800
Subject: [PATCH] 16 卡牌服务端(删除无用封包)

---
 ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/ChPyNetSendPack.py | 1625 ----------------------------------------------------------
 1 files changed, 0 insertions(+), 1,625 deletions(-)

diff --git a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/ChPyNetSendPack.py b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/ChPyNetSendPack.py
index 22c353f..6071124 100644
--- a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/ChPyNetSendPack.py
+++ b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/ChPyNetSendPack.py
@@ -14151,1013 +14151,6 @@
 
 
 #------------------------------------------------------
-# A9 09 通知BOSS关注记录 #tagGCBossAttentionInfo
-
-class  tagGCBossAttention(Structure):
-    _pack_ = 1
-    _fields_ = [
-                  ("BossID", c_int),    # bossID
-                  ("AddState", c_ubyte),    # 关注状态
-                  ]
-
-    def __init__(self):
-        self.Clear()
-        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.BossID = 0
-        self.AddState = 0
-        return
-
-    def GetLength(self):
-        return sizeof(tagGCBossAttention)
-
-    def GetBuffer(self):
-        return string_at(addressof(self), self.GetLength())
-
-    def OutputString(self):
-        DumpString = '''// A9 09 通知BOSS关注记录 //tagGCBossAttentionInfo:
-                                BossID:%d,
-                                AddState:%d
-                                '''\
-                                %(
-                                self.BossID,
-                                self.AddState
-                                )
-        return DumpString
-
-
-class  tagGCBossAttentionInfo(Structure):
-    Head = tagHead()
-    BossCnt = 0    #(BYTE BossCnt)//boss个数
-    BossList = list()    #(vector<tagGCBossAttention> BossList)//列表
-    data = None
-
-    def __init__(self):
-        self.Clear()
-        self.Head.Cmd = 0xA9
-        self.Head.SubCmd = 0x09
-        return
-
-    def ReadData(self, _lpData, _pos=0, _Len=0):
-        self.Clear()
-        _pos = self.Head.ReadData(_lpData, _pos)
-        self.BossCnt,_pos = CommFunc.ReadBYTE(_lpData, _pos)
-        for i in range(self.BossCnt):
-            temBossList = tagGCBossAttention()
-            _pos = temBossList.ReadData(_lpData, _pos)
-            self.BossList.append(temBossList)
-        return _pos
-
-    def Clear(self):
-        self.Head = tagHead()
-        self.Head.Clear()
-        self.Head.Cmd = 0xA9
-        self.Head.SubCmd = 0x09
-        self.BossCnt = 0
-        self.BossList = list()
-        return
-
-    def GetLength(self):
-        length = 0
-        length += self.Head.GetLength()
-        length += 1
-        for i in range(self.BossCnt):
-            length += self.BossList[i].GetLength()
-
-        return length
-
-    def GetBuffer(self):
-        data = ''
-        data = CommFunc.WriteString(data, self.Head.GetLength(), self.Head.GetBuffer())
-        data = CommFunc.WriteBYTE(data, self.BossCnt)
-        for i in range(self.BossCnt):
-            data = CommFunc.WriteString(data, self.BossList[i].GetLength(), self.BossList[i].GetBuffer())
-        return data
-
-    def OutputString(self):
-        DumpString = '''
-                                Head:%s,
-                                BossCnt:%d,
-                                BossList:%s
-                                '''\
-                                %(
-                                self.Head.OutputString(),
-                                self.BossCnt,
-                                "..."
-                                )
-        return DumpString
-
-
-m_NAtagGCBossAttentionInfo=tagGCBossAttentionInfo()
-ChNetPackDict[eval("0x%02x%02x"%(m_NAtagGCBossAttentionInfo.Head.Cmd,m_NAtagGCBossAttentionInfo.Head.SubCmd))] = m_NAtagGCBossAttentionInfo
-
-
-#------------------------------------------------------
-# A9 01 世界boss分流线路boss状态 #tagGCBossShuntLineStateInfo
-
-class  tagGCBossShuntLineState(Structure):
-    BossID = 0    #(DWORD BossID)// bossID
-    LineCount = 0    #(BYTE LineCount)
-    LineIDList = list()    #(vector<BYTE> LineIDList)// 线路ID列表
-    StateList = list()    #(vector<BYTE> StateList)// 对应状态列表, 0-被击杀,1-活着
-    data = None
-
-    def __init__(self):
-        self.Clear()
-        return
-
-    def ReadData(self, _lpData, _pos=0, _Len=0):
-        self.Clear()
-        self.BossID,_pos = CommFunc.ReadDWORD(_lpData, _pos)
-        self.LineCount,_pos = CommFunc.ReadBYTE(_lpData, _pos)
-        for i in range(self.LineCount):
-            value,_pos=CommFunc.ReadBYTE(_lpData,_pos)
-            self.LineIDList.append(value)
-        for i in range(self.LineCount):
-            value,_pos=CommFunc.ReadBYTE(_lpData,_pos)
-            self.StateList.append(value)
-        return _pos
-
-    def Clear(self):
-        self.BossID = 0
-        self.LineCount = 0
-        self.LineIDList = list()
-        self.StateList = list()
-        return
-
-    def GetLength(self):
-        length = 0
-        length += 4
-        length += 1
-        length += 1 * self.LineCount
-        length += 1 * self.LineCount
-
-        return length
-
-    def GetBuffer(self):
-        data = ''
-        data = CommFunc.WriteDWORD(data, self.BossID)
-        data = CommFunc.WriteBYTE(data, self.LineCount)
-        for i in range(self.LineCount):
-            data = CommFunc.WriteBYTE(data, self.LineIDList[i])
-        for i in range(self.LineCount):
-            data = CommFunc.WriteBYTE(data, self.StateList[i])
-        return data
-
-    def OutputString(self):
-        DumpString = '''
-                                BossID:%d,
-                                LineCount:%d,
-                                LineIDList:%s,
-                                StateList:%s
-                                '''\
-                                %(
-                                self.BossID,
-                                self.LineCount,
-                                "...",
-                                "..."
-                                )
-        return DumpString
-
-
-class  tagGCBossShuntLineStateInfo(Structure):
-    Head = tagHead()
-    Count = 0    #(BYTE Count)
-    BossLineStateInfo = list()    #(vector<tagGCBossShuntLineState> BossLineStateInfo)//boss分流线路信息列表
-    data = None
-
-    def __init__(self):
-        self.Clear()
-        self.Head.Cmd = 0xA9
-        self.Head.SubCmd = 0x01
-        return
-
-    def ReadData(self, _lpData, _pos=0, _Len=0):
-        self.Clear()
-        _pos = self.Head.ReadData(_lpData, _pos)
-        self.Count,_pos = CommFunc.ReadBYTE(_lpData, _pos)
-        for i in range(self.Count):
-            temBossLineStateInfo = tagGCBossShuntLineState()
-            _pos = temBossLineStateInfo.ReadData(_lpData, _pos)
-            self.BossLineStateInfo.append(temBossLineStateInfo)
-        return _pos
-
-    def Clear(self):
-        self.Head = tagHead()
-        self.Head.Clear()
-        self.Head.Cmd = 0xA9
-        self.Head.SubCmd = 0x01
-        self.Count = 0
-        self.BossLineStateInfo = list()
-        return
-
-    def GetLength(self):
-        length = 0
-        length += self.Head.GetLength()
-        length += 1
-        for i in range(self.Count):
-            length += self.BossLineStateInfo[i].GetLength()
-
-        return length
-
-    def GetBuffer(self):
-        data = ''
-        data = CommFunc.WriteString(data, self.Head.GetLength(), self.Head.GetBuffer())
-        data = CommFunc.WriteBYTE(data, self.Count)
-        for i in range(self.Count):
-            data = CommFunc.WriteString(data, self.BossLineStateInfo[i].GetLength(), self.BossLineStateInfo[i].GetBuffer())
-        return data
-
-    def OutputString(self):
-        DumpString = '''
-                                Head:%s,
-                                Count:%d,
-                                BossLineStateInfo:%s
-                                '''\
-                                %(
-                                self.Head.OutputString(),
-                                self.Count,
-                                "..."
-                                )
-        return DumpString
-
-
-m_NAtagGCBossShuntLineStateInfo=tagGCBossShuntLineStateInfo()
-ChNetPackDict[eval("0x%02x%02x"%(m_NAtagGCBossShuntLineStateInfo.Head.Cmd,m_NAtagGCBossShuntLineStateInfo.Head.SubCmd))] = m_NAtagGCBossShuntLineStateInfo
-
-
-#------------------------------------------------------
-# A9 AC 交易所物品最新成交价通知 #tagGCBourseItemPrice
-
-class  tagGCBourseItemPrice(Structure):
-    _pack_ = 1
-    _fields_ = [
-                  ("Cmd", c_ubyte),
-                  ("SubCmd", c_ubyte),
-                  ("ItemID", c_int),    #物品ID
-                  ("Price", c_int),    #最新成交单价
-                  ]
-
-    def __init__(self):
-        self.Clear()
-        self.Cmd = 0xA9
-        self.SubCmd = 0xAC
-        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 = 0xAC
-        self.ItemID = 0
-        self.Price = 0
-        return
-
-    def GetLength(self):
-        return sizeof(tagGCBourseItemPrice)
-
-    def GetBuffer(self):
-        return string_at(addressof(self), self.GetLength())
-
-    def OutputString(self):
-        DumpString = '''// A9 AC 交易所物品最新成交价通知 //tagGCBourseItemPrice:
-                                Cmd:%s,
-                                SubCmd:%s,
-                                ItemID:%d,
-                                Price:%d
-                                '''\
-                                %(
-                                self.Cmd,
-                                self.SubCmd,
-                                self.ItemID,
-                                self.Price
-                                )
-        return DumpString
-
-
-m_NAtagGCBourseItemPrice=tagGCBourseItemPrice()
-ChNetPackDict[eval("0x%02x%02x"%(m_NAtagGCBourseItemPrice.Cmd,m_NAtagGCBourseItemPrice.SubCmd))] = m_NAtagGCBourseItemPrice
-
-
-#------------------------------------------------------
-# A9 AB 交易所交易记录通知 #tagGCBourseRecordInfo
-
-class  tagGCBourseRecord(Structure):
-    Type = 0    #(BYTE Type)//类型 0-购买 1-卖出
-    Timestamp = 0    #(DWORD Timestamp)//时间戳
-    TradeTax = 0    #(DWORD TradeTax)//交易税
-    TradeMoney = 0    #(DWORD TradeMoney)//收支
-    ItemDataLen = 0    #(WORD ItemDataLen)
-    ItemData = ""    #(String ItemData)//自定义数据
-    data = None
-
-    def __init__(self):
-        self.Clear()
-        return
-
-    def ReadData(self, _lpData, _pos=0, _Len=0):
-        self.Clear()
-        self.Type,_pos = CommFunc.ReadBYTE(_lpData, _pos)
-        self.Timestamp,_pos = CommFunc.ReadDWORD(_lpData, _pos)
-        self.TradeTax,_pos = CommFunc.ReadDWORD(_lpData, _pos)
-        self.TradeMoney,_pos = CommFunc.ReadDWORD(_lpData, _pos)
-        self.ItemDataLen,_pos = CommFunc.ReadWORD(_lpData, _pos)
-        self.ItemData,_pos = CommFunc.ReadString(_lpData, _pos,self.ItemDataLen)
-        return _pos
-
-    def Clear(self):
-        self.Type = 0
-        self.Timestamp = 0
-        self.TradeTax = 0
-        self.TradeMoney = 0
-        self.ItemDataLen = 0
-        self.ItemData = ""
-        return
-
-    def GetLength(self):
-        length = 0
-        length += 1
-        length += 4
-        length += 4
-        length += 4
-        length += 2
-        length += len(self.ItemData)
-
-        return length
-
-    def GetBuffer(self):
-        data = ''
-        data = CommFunc.WriteBYTE(data, self.Type)
-        data = CommFunc.WriteDWORD(data, self.Timestamp)
-        data = CommFunc.WriteDWORD(data, self.TradeTax)
-        data = CommFunc.WriteDWORD(data, self.TradeMoney)
-        data = CommFunc.WriteWORD(data, self.ItemDataLen)
-        data = CommFunc.WriteString(data, self.ItemDataLen, self.ItemData)
-        return data
-
-    def OutputString(self):
-        DumpString = '''
-                                Type:%d,
-                                Timestamp:%d,
-                                TradeTax:%d,
-                                TradeMoney:%d,
-                                ItemDataLen:%d,
-                                ItemData:%s
-                                '''\
-                                %(
-                                self.Type,
-                                self.Timestamp,
-                                self.TradeTax,
-                                self.TradeMoney,
-                                self.ItemDataLen,
-                                self.ItemData
-                                )
-        return DumpString
-
-
-class  tagGCBourseRecordInfo(Structure):
-    Head = tagHead()
-    Count = 0    #(BYTE Count)//数量
-    RecordList = list()    #(vector<tagGCBourseRecord> RecordList)//size = Count
-    data = None
-
-    def __init__(self):
-        self.Clear()
-        self.Head.Cmd = 0xA9
-        self.Head.SubCmd = 0xAB
-        return
-
-    def ReadData(self, _lpData, _pos=0, _Len=0):
-        self.Clear()
-        _pos = self.Head.ReadData(_lpData, _pos)
-        self.Count,_pos = CommFunc.ReadBYTE(_lpData, _pos)
-        for i in range(self.Count):
-            temRecordList = tagGCBourseRecord()
-            _pos = temRecordList.ReadData(_lpData, _pos)
-            self.RecordList.append(temRecordList)
-        return _pos
-
-    def Clear(self):
-        self.Head = tagHead()
-        self.Head.Clear()
-        self.Head.Cmd = 0xA9
-        self.Head.SubCmd = 0xAB
-        self.Count = 0
-        self.RecordList = list()
-        return
-
-    def GetLength(self):
-        length = 0
-        length += self.Head.GetLength()
-        length += 1
-        for i in range(self.Count):
-            length += self.RecordList[i].GetLength()
-
-        return length
-
-    def GetBuffer(self):
-        data = ''
-        data = CommFunc.WriteString(data, self.Head.GetLength(), self.Head.GetBuffer())
-        data = CommFunc.WriteBYTE(data, self.Count)
-        for i in range(self.Count):
-            data = CommFunc.WriteString(data, self.RecordList[i].GetLength(), self.RecordList[i].GetBuffer())
-        return data
-
-    def OutputString(self):
-        DumpString = '''
-                                Head:%s,
-                                Count:%d,
-                                RecordList:%s
-                                '''\
-                                %(
-                                self.Head.OutputString(),
-                                self.Count,
-                                "..."
-                                )
-        return DumpString
-
-
-m_NAtagGCBourseRecordInfo=tagGCBourseRecordInfo()
-ChNetPackDict[eval("0x%02x%02x"%(m_NAtagGCBourseRecordInfo.Head.Cmd,m_NAtagGCBourseRecordInfo.Head.SubCmd))] = m_NAtagGCBourseRecordInfo
-
-
-#------------------------------------------------------
-#A9 AA 删除邮件通知 #tagGCDelCompensationResult
-
-class  tagGCDelCompensationResult(Structure):
-    Head = tagHead()
-    GUID = ""    #(char GUID[40])
-    Result = 0    #(BYTE Result)// 删除状态 0  不成功  1成功
-    data = None
-
-    def __init__(self):
-        self.Clear()
-        self.Head.Cmd = 0xA9
-        self.Head.SubCmd = 0xAA
-        return
-
-    def ReadData(self, _lpData, _pos=0, _Len=0):
-        self.Clear()
-        _pos = self.Head.ReadData(_lpData, _pos)
-        self.GUID,_pos = CommFunc.ReadString(_lpData, _pos,40)
-        self.Result,_pos = CommFunc.ReadBYTE(_lpData, _pos)
-        return _pos
-
-    def Clear(self):
-        self.Head = tagHead()
-        self.Head.Clear()
-        self.Head.Cmd = 0xA9
-        self.Head.SubCmd = 0xAA
-        self.GUID = ""
-        self.Result = 0
-        return
-
-    def GetLength(self):
-        length = 0
-        length += self.Head.GetLength()
-        length += 40
-        length += 1
-
-        return length
-
-    def GetBuffer(self):
-        data = ''
-        data = CommFunc.WriteString(data, self.Head.GetLength(), self.Head.GetBuffer())
-        data = CommFunc.WriteString(data, 40, self.GUID)
-        data = CommFunc.WriteBYTE(data, self.Result)
-        return data
-
-    def OutputString(self):
-        DumpString = '''
-                                Head:%s,
-                                GUID:%s,
-                                Result:%d
-                                '''\
-                                %(
-                                self.Head.OutputString(),
-                                self.GUID,
-                                self.Result
-                                )
-        return DumpString
-
-
-m_NAtagGCDelCompensationResult=tagGCDelCompensationResult()
-ChNetPackDict[eval("0x%02x%02x"%(m_NAtagGCDelCompensationResult.Head.Cmd,m_NAtagGCDelCompensationResult.Head.SubCmd))] = m_NAtagGCDelCompensationResult
-
-
-#------------------------------------------------------
-# A9 A9 通知好友互赠精力信息 #tagGCFriendSendEnergyInfo
-
-class  tagGCFriendSendEnergyInfo(Structure):
-    Head = tagHead()
-    DataSize = 0    #(DWORD DataSize)
-    SendData = ""    #(String SendData)//赠送记录
-    RecvSize = 0    #(DWORD RecvSize)
-    RecvData = ""    #(String RecvData)//可接收记录
-    HasRecvCnt = 0    #(DWORD HasRecvCnt)//已接收个数
-    data = None
-
-    def __init__(self):
-        self.Clear()
-        self.Head.Cmd = 0xA9
-        self.Head.SubCmd = 0xA9
-        return
-
-    def ReadData(self, _lpData, _pos=0, _Len=0):
-        self.Clear()
-        _pos = self.Head.ReadData(_lpData, _pos)
-        self.DataSize,_pos = CommFunc.ReadDWORD(_lpData, _pos)
-        self.SendData,_pos = CommFunc.ReadString(_lpData, _pos,self.DataSize)
-        self.RecvSize,_pos = CommFunc.ReadDWORD(_lpData, _pos)
-        self.RecvData,_pos = CommFunc.ReadString(_lpData, _pos,self.RecvSize)
-        self.HasRecvCnt,_pos = CommFunc.ReadDWORD(_lpData, _pos)
-        return _pos
-
-    def Clear(self):
-        self.Head = tagHead()
-        self.Head.Clear()
-        self.Head.Cmd = 0xA9
-        self.Head.SubCmd = 0xA9
-        self.DataSize = 0
-        self.SendData = ""
-        self.RecvSize = 0
-        self.RecvData = ""
-        self.HasRecvCnt = 0
-        return
-
-    def GetLength(self):
-        length = 0
-        length += self.Head.GetLength()
-        length += 4
-        length += len(self.SendData)
-        length += 4
-        length += len(self.RecvData)
-        length += 4
-
-        return length
-
-    def GetBuffer(self):
-        data = ''
-        data = CommFunc.WriteString(data, self.Head.GetLength(), self.Head.GetBuffer())
-        data = CommFunc.WriteDWORD(data, self.DataSize)
-        data = CommFunc.WriteString(data, self.DataSize, self.SendData)
-        data = CommFunc.WriteDWORD(data, self.RecvSize)
-        data = CommFunc.WriteString(data, self.RecvSize, self.RecvData)
-        data = CommFunc.WriteDWORD(data, self.HasRecvCnt)
-        return data
-
-    def OutputString(self):
-        DumpString = '''
-                                Head:%s,
-                                DataSize:%d,
-                                SendData:%s,
-                                RecvSize:%d,
-                                RecvData:%s,
-                                HasRecvCnt:%d
-                                '''\
-                                %(
-                                self.Head.OutputString(),
-                                self.DataSize,
-                                self.SendData,
-                                self.RecvSize,
-                                self.RecvData,
-                                self.HasRecvCnt
-                                )
-        return DumpString
-
-
-m_NAtagGCFriendSendEnergyInfo=tagGCFriendSendEnergyInfo()
-ChNetPackDict[eval("0x%02x%02x"%(m_NAtagGCFriendSendEnergyInfo.Head.Cmd,m_NAtagGCFriendSendEnergyInfo.Head.SubCmd))] = m_NAtagGCFriendSendEnergyInfo
-
-
-#------------------------------------------------------
-#A9 02 世界boss相关信息 #tagGCGameWorldBossInfo
-
-class  tagBossInfoObj(Structure):
-    BossID = 0    #(DWORD BossID)// bossID
-    IsAlive = 0    #(BYTE IsAlive)// 是否存活
-    RecordLen = 0    #(WORD RecordLen)// 长度
-    KillRecord = ""    #(String KillRecord)// 最近击杀记录时间玩家名size = RecordLen
-    RefreshSecond = 0    #(DWORD RefreshSecond)// 刷新倒计时, 秒	
-    RefreshCD = 0    #(DWORD RefreshCD)// 刷新总CD时, 秒	
-    data = None
-
-    def __init__(self):
-        self.Clear()
-        return
-
-    def ReadData(self, _lpData, _pos=0, _Len=0):
-        self.Clear()
-        self.BossID,_pos = CommFunc.ReadDWORD(_lpData, _pos)
-        self.IsAlive,_pos = CommFunc.ReadBYTE(_lpData, _pos)
-        self.RecordLen,_pos = CommFunc.ReadWORD(_lpData, _pos)
-        self.KillRecord,_pos = CommFunc.ReadString(_lpData, _pos,self.RecordLen)
-        self.RefreshSecond,_pos = CommFunc.ReadDWORD(_lpData, _pos)
-        self.RefreshCD,_pos = CommFunc.ReadDWORD(_lpData, _pos)
-        return _pos
-
-    def Clear(self):
-        self.BossID = 0
-        self.IsAlive = 0
-        self.RecordLen = 0
-        self.KillRecord = ""
-        self.RefreshSecond = 0
-        self.RefreshCD = 0
-        return
-
-    def GetLength(self):
-        length = 0
-        length += 4
-        length += 1
-        length += 2
-        length += len(self.KillRecord)
-        length += 4
-        length += 4
-
-        return length
-
-    def GetBuffer(self):
-        data = ''
-        data = CommFunc.WriteDWORD(data, self.BossID)
-        data = CommFunc.WriteBYTE(data, self.IsAlive)
-        data = CommFunc.WriteWORD(data, self.RecordLen)
-        data = CommFunc.WriteString(data, self.RecordLen, self.KillRecord)
-        data = CommFunc.WriteDWORD(data, self.RefreshSecond)
-        data = CommFunc.WriteDWORD(data, self.RefreshCD)
-        return data
-
-    def OutputString(self):
-        DumpString = '''
-                                BossID:%d,
-                                IsAlive:%d,
-                                RecordLen:%d,
-                                KillRecord:%s,
-                                RefreshSecond:%d,
-                                RefreshCD:%d
-                                '''\
-                                %(
-                                self.BossID,
-                                self.IsAlive,
-                                self.RecordLen,
-                                self.KillRecord,
-                                self.RefreshSecond,
-                                self.RefreshCD
-                                )
-        return DumpString
-
-
-class  tagGCGameWorldBossInfo(Structure):
-    Head = tagHead()
-    BossCnt = 0    #(BYTE BossCnt)//boss信息个数
-    BossInfoList = list()    #(vector<tagBossInfoObj> BossInfoList)//boss信息列表
-    data = None
-
-    def __init__(self):
-        self.Clear()
-        self.Head.Cmd = 0xA9
-        self.Head.SubCmd = 0x02
-        return
-
-    def ReadData(self, _lpData, _pos=0, _Len=0):
-        self.Clear()
-        _pos = self.Head.ReadData(_lpData, _pos)
-        self.BossCnt,_pos = CommFunc.ReadBYTE(_lpData, _pos)
-        for i in range(self.BossCnt):
-            temBossInfoList = tagBossInfoObj()
-            _pos = temBossInfoList.ReadData(_lpData, _pos)
-            self.BossInfoList.append(temBossInfoList)
-        return _pos
-
-    def Clear(self):
-        self.Head = tagHead()
-        self.Head.Clear()
-        self.Head.Cmd = 0xA9
-        self.Head.SubCmd = 0x02
-        self.BossCnt = 0
-        self.BossInfoList = list()
-        return
-
-    def GetLength(self):
-        length = 0
-        length += self.Head.GetLength()
-        length += 1
-        for i in range(self.BossCnt):
-            length += self.BossInfoList[i].GetLength()
-
-        return length
-
-    def GetBuffer(self):
-        data = ''
-        data = CommFunc.WriteString(data, self.Head.GetLength(), self.Head.GetBuffer())
-        data = CommFunc.WriteBYTE(data, self.BossCnt)
-        for i in range(self.BossCnt):
-            data = CommFunc.WriteString(data, self.BossInfoList[i].GetLength(), self.BossInfoList[i].GetBuffer())
-        return data
-
-    def OutputString(self):
-        DumpString = '''
-                                Head:%s,
-                                BossCnt:%d,
-                                BossInfoList:%s
-                                '''\
-                                %(
-                                self.Head.OutputString(),
-                                self.BossCnt,
-                                "..."
-                                )
-        return DumpString
-
-
-m_NAtagGCGameWorldBossInfo=tagGCGameWorldBossInfo()
-ChNetPackDict[eval("0x%02x%02x"%(m_NAtagGCGameWorldBossInfo.Head.Cmd,m_NAtagGCGameWorldBossInfo.Head.SubCmd))] = m_NAtagGCGameWorldBossInfo
-
-
-#------------------------------------------------------
-# A9 08 渡劫副本护法通知 #tagGCRealmFBHelpInfo
-
-class  tagGCRealmFBHelpInfo(Structure):
-    Head = tagHead()
-    PlayerName = ""    #(char PlayerName[33])//玩家名字
-    PlayerID = 0    #(DWORD PlayerID)//玩家ID
-    RealmLV = 0    #(BYTE RealmLV)//玩家境界
-    Job = 0    #(BYTE Job)//玩家职业
-    JobRank = 0    #(BYTE JobRank)//玩家职业阶级
-    AtkAdd = 0    #(BYTE AtkAdd)//获得加成
-    data = None
-
-    def __init__(self):
-        self.Clear()
-        self.Head.Cmd = 0xA9
-        self.Head.SubCmd = 0x08
-        return
-
-    def ReadData(self, _lpData, _pos=0, _Len=0):
-        self.Clear()
-        _pos = self.Head.ReadData(_lpData, _pos)
-        self.PlayerName,_pos = CommFunc.ReadString(_lpData, _pos,33)
-        self.PlayerID,_pos = CommFunc.ReadDWORD(_lpData, _pos)
-        self.RealmLV,_pos = CommFunc.ReadBYTE(_lpData, _pos)
-        self.Job,_pos = CommFunc.ReadBYTE(_lpData, _pos)
-        self.JobRank,_pos = CommFunc.ReadBYTE(_lpData, _pos)
-        self.AtkAdd,_pos = CommFunc.ReadBYTE(_lpData, _pos)
-        return _pos
-
-    def Clear(self):
-        self.Head = tagHead()
-        self.Head.Clear()
-        self.Head.Cmd = 0xA9
-        self.Head.SubCmd = 0x08
-        self.PlayerName = ""
-        self.PlayerID = 0
-        self.RealmLV = 0
-        self.Job = 0
-        self.JobRank = 0
-        self.AtkAdd = 0
-        return
-
-    def GetLength(self):
-        length = 0
-        length += self.Head.GetLength()
-        length += 33
-        length += 4
-        length += 1
-        length += 1
-        length += 1
-        length += 1
-
-        return length
-
-    def GetBuffer(self):
-        data = ''
-        data = CommFunc.WriteString(data, self.Head.GetLength(), self.Head.GetBuffer())
-        data = CommFunc.WriteString(data, 33, self.PlayerName)
-        data = CommFunc.WriteDWORD(data, self.PlayerID)
-        data = CommFunc.WriteBYTE(data, self.RealmLV)
-        data = CommFunc.WriteBYTE(data, self.Job)
-        data = CommFunc.WriteBYTE(data, self.JobRank)
-        data = CommFunc.WriteBYTE(data, self.AtkAdd)
-        return data
-
-    def OutputString(self):
-        DumpString = '''
-                                Head:%s,
-                                PlayerName:%s,
-                                PlayerID:%d,
-                                RealmLV:%d,
-                                Job:%d,
-                                JobRank:%d,
-                                AtkAdd:%d
-                                '''\
-                                %(
-                                self.Head.OutputString(),
-                                self.PlayerName,
-                                self.PlayerID,
-                                self.RealmLV,
-                                self.Job,
-                                self.JobRank,
-                                self.AtkAdd
-                                )
-        return DumpString
-
-
-m_NAtagGCRealmFBHelpInfo=tagGCRealmFBHelpInfo()
-ChNetPackDict[eval("0x%02x%02x"%(m_NAtagGCRealmFBHelpInfo.Head.Cmd,m_NAtagGCRealmFBHelpInfo.Head.SubCmd))] = m_NAtagGCRealmFBHelpInfo
-
-
-#------------------------------------------------------
-# A9 05 通知广播装备详细信息 #tagGCNotifyEquipDetailInfo
-
-class  tagGCNotifyEquipClassEquip(Structure):
-    _pack_ = 1
-    _fields_ = [
-                  ("ItemID", c_int),    
-                  ("Star", c_ubyte),    
-                  ]
-
-    def __init__(self):
-        self.Clear()
-        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.ItemID = 0
-        self.Star = 0
-        return
-
-    def GetLength(self):
-        return sizeof(tagGCNotifyEquipClassEquip)
-
-    def GetBuffer(self):
-        return string_at(addressof(self), self.GetLength())
-
-    def OutputString(self):
-        DumpString = '''// A9 05 通知广播装备详细信息 //tagGCNotifyEquipDetailInfo:
-                                ItemID:%d,
-                                Star:%d
-                                '''\
-                                %(
-                                self.ItemID,
-                                self.Star
-                                )
-        return DumpString
-
-
-class  tagGCNotifyEquipDetailInfo(Structure):
-    Head = tagHead()
-    ItemGUID = ""    #(char ItemGUID[40])
-    ItemID = 0    #(DWORD ItemID)
-    Star = 0    #(BYTE Star)//星级
-    PlusLV = 0    #(WORD PlusLV)//强化等级
-    EvolveLV = 0    #(BYTE EvolveLV)//进化等级
-    WashLV = 0    #(BYTE WashLV)//洗练等级
-    WashValueCount = 0    #(BYTE WashValueCount)
-    WashValueList = list()    #(vector<DWORD> WashValueList)//洗练值
-    StoneIDCount = 0    #(BYTE StoneIDCount)
-    StoneIDList = list()    #(vector<DWORD> StoneIDList)//宝石
-    ClassEquipCount = 0    #(BYTE ClassEquipCount)
-    ClassEquipList = list()    #(vector<tagGCNotifyEquipClassEquip> ClassEquipList)//本境界穿戴的装备
-    data = None
-
-    def __init__(self):
-        self.Clear()
-        self.Head.Cmd = 0xA9
-        self.Head.SubCmd = 0x05
-        return
-
-    def ReadData(self, _lpData, _pos=0, _Len=0):
-        self.Clear()
-        _pos = self.Head.ReadData(_lpData, _pos)
-        self.ItemGUID,_pos = CommFunc.ReadString(_lpData, _pos,40)
-        self.ItemID,_pos = CommFunc.ReadDWORD(_lpData, _pos)
-        self.Star,_pos = CommFunc.ReadBYTE(_lpData, _pos)
-        self.PlusLV,_pos = CommFunc.ReadWORD(_lpData, _pos)
-        self.EvolveLV,_pos = CommFunc.ReadBYTE(_lpData, _pos)
-        self.WashLV,_pos = CommFunc.ReadBYTE(_lpData, _pos)
-        self.WashValueCount,_pos = CommFunc.ReadBYTE(_lpData, _pos)
-        for i in range(self.WashValueCount):
-            value,_pos=CommFunc.ReadDWORD(_lpData,_pos)
-            self.WashValueList.append(value)
-        self.StoneIDCount,_pos = CommFunc.ReadBYTE(_lpData, _pos)
-        for i in range(self.StoneIDCount):
-            value,_pos=CommFunc.ReadDWORD(_lpData,_pos)
-            self.StoneIDList.append(value)
-        self.ClassEquipCount,_pos = CommFunc.ReadBYTE(_lpData, _pos)
-        for i in range(self.ClassEquipCount):
-            temClassEquipList = tagGCNotifyEquipClassEquip()
-            _pos = temClassEquipList.ReadData(_lpData, _pos)
-            self.ClassEquipList.append(temClassEquipList)
-        return _pos
-
-    def Clear(self):
-        self.Head = tagHead()
-        self.Head.Clear()
-        self.Head.Cmd = 0xA9
-        self.Head.SubCmd = 0x05
-        self.ItemGUID = ""
-        self.ItemID = 0
-        self.Star = 0
-        self.PlusLV = 0
-        self.EvolveLV = 0
-        self.WashLV = 0
-        self.WashValueCount = 0
-        self.WashValueList = list()
-        self.StoneIDCount = 0
-        self.StoneIDList = list()
-        self.ClassEquipCount = 0
-        self.ClassEquipList = list()
-        return
-
-    def GetLength(self):
-        length = 0
-        length += self.Head.GetLength()
-        length += 40
-        length += 4
-        length += 1
-        length += 2
-        length += 1
-        length += 1
-        length += 1
-        length += 4 * self.WashValueCount
-        length += 1
-        length += 4 * self.StoneIDCount
-        length += 1
-        for i in range(self.ClassEquipCount):
-            length += self.ClassEquipList[i].GetLength()
-
-        return length
-
-    def GetBuffer(self):
-        data = ''
-        data = CommFunc.WriteString(data, self.Head.GetLength(), self.Head.GetBuffer())
-        data = CommFunc.WriteString(data, 40, self.ItemGUID)
-        data = CommFunc.WriteDWORD(data, self.ItemID)
-        data = CommFunc.WriteBYTE(data, self.Star)
-        data = CommFunc.WriteWORD(data, self.PlusLV)
-        data = CommFunc.WriteBYTE(data, self.EvolveLV)
-        data = CommFunc.WriteBYTE(data, self.WashLV)
-        data = CommFunc.WriteBYTE(data, self.WashValueCount)
-        for i in range(self.WashValueCount):
-            data = CommFunc.WriteDWORD(data, self.WashValueList[i])
-        data = CommFunc.WriteBYTE(data, self.StoneIDCount)
-        for i in range(self.StoneIDCount):
-            data = CommFunc.WriteDWORD(data, self.StoneIDList[i])
-        data = CommFunc.WriteBYTE(data, self.ClassEquipCount)
-        for i in range(self.ClassEquipCount):
-            data = CommFunc.WriteString(data, self.ClassEquipList[i].GetLength(), self.ClassEquipList[i].GetBuffer())
-        return data
-
-    def OutputString(self):
-        DumpString = '''
-                                Head:%s,
-                                ItemGUID:%s,
-                                ItemID:%d,
-                                Star:%d,
-                                PlusLV:%d,
-                                EvolveLV:%d,
-                                WashLV:%d,
-                                WashValueCount:%d,
-                                WashValueList:%s,
-                                StoneIDCount:%d,
-                                StoneIDList:%s,
-                                ClassEquipCount:%d,
-                                ClassEquipList:%s
-                                '''\
-                                %(
-                                self.Head.OutputString(),
-                                self.ItemGUID,
-                                self.ItemID,
-                                self.Star,
-                                self.PlusLV,
-                                self.EvolveLV,
-                                self.WashLV,
-                                self.WashValueCount,
-                                "...",
-                                self.StoneIDCount,
-                                "...",
-                                self.ClassEquipCount,
-                                "..."
-                                )
-        return DumpString
-
-
-m_NAtagGCNotifyEquipDetailInfo=tagGCNotifyEquipDetailInfo()
-ChNetPackDict[eval("0x%02x%02x"%(m_NAtagGCNotifyEquipDetailInfo.Head.Cmd,m_NAtagGCNotifyEquipDetailInfo.Head.SubCmd))] = m_NAtagGCNotifyEquipDetailInfo
-
-
-#------------------------------------------------------
 # A9 A2 排行榜信息#tagPYBillboardData
 
 class  tagPYBillboardInfo(Structure):
@@ -15405,516 +14398,6 @@
 
 
 #------------------------------------------------------
-# A9 A3 喇叭聊天内容 #tagGCPYSpeakerContent
-
-class  tagGCPYSpeakerContent(Structure):
-    Head = tagHead()
-    AccIDLen = 0    #(BYTE AccIDLen)
-    AccID = ""    #(String AccID)//size = AccIDLen
-    PlayerID = 0    #(DWORD PlayerID)// 子服的玩家ID,该ID有值时为本服玩家
-    NameLen = 0    #(BYTE NameLen)
-    Name = ""    #(String Name)//size = NameLen
-    SpeakerType = 0    #(BYTE SpeakerType)
-    TextLen = 0    #(WORD TextLen)
-    Text = ""    #(String Text)//size = TextLen
-    ExtraValue = 0    #(DWORD ExtraValue)//附加值
-    Extras = ""    #(char Extras[256])//附加值列表
-    data = None
-
-    def __init__(self):
-        self.Clear()
-        self.Head.Cmd = 0xA9
-        self.Head.SubCmd = 0xA3
-        return
-
-    def ReadData(self, _lpData, _pos=0, _Len=0):
-        self.Clear()
-        _pos = self.Head.ReadData(_lpData, _pos)
-        self.AccIDLen,_pos = CommFunc.ReadBYTE(_lpData, _pos)
-        self.AccID,_pos = CommFunc.ReadString(_lpData, _pos,self.AccIDLen)
-        self.PlayerID,_pos = CommFunc.ReadDWORD(_lpData, _pos)
-        self.NameLen,_pos = CommFunc.ReadBYTE(_lpData, _pos)
-        self.Name,_pos = CommFunc.ReadString(_lpData, _pos,self.NameLen)
-        self.SpeakerType,_pos = CommFunc.ReadBYTE(_lpData, _pos)
-        self.TextLen,_pos = CommFunc.ReadWORD(_lpData, _pos)
-        self.Text,_pos = CommFunc.ReadString(_lpData, _pos,self.TextLen)
-        self.ExtraValue,_pos = CommFunc.ReadDWORD(_lpData, _pos)
-        self.Extras,_pos = CommFunc.ReadString(_lpData, _pos,256)
-        return _pos
-
-    def Clear(self):
-        self.Head = tagHead()
-        self.Head.Clear()
-        self.Head.Cmd = 0xA9
-        self.Head.SubCmd = 0xA3
-        self.AccIDLen = 0
-        self.AccID = ""
-        self.PlayerID = 0
-        self.NameLen = 0
-        self.Name = ""
-        self.SpeakerType = 0
-        self.TextLen = 0
-        self.Text = ""
-        self.ExtraValue = 0
-        self.Extras = ""
-        return
-
-    def GetLength(self):
-        length = 0
-        length += self.Head.GetLength()
-        length += 1
-        length += len(self.AccID)
-        length += 4
-        length += 1
-        length += len(self.Name)
-        length += 1
-        length += 2
-        length += len(self.Text)
-        length += 4
-        length += 256
-
-        return length
-
-    def GetBuffer(self):
-        data = ''
-        data = CommFunc.WriteString(data, self.Head.GetLength(), self.Head.GetBuffer())
-        data = CommFunc.WriteBYTE(data, self.AccIDLen)
-        data = CommFunc.WriteString(data, self.AccIDLen, self.AccID)
-        data = CommFunc.WriteDWORD(data, self.PlayerID)
-        data = CommFunc.WriteBYTE(data, self.NameLen)
-        data = CommFunc.WriteString(data, self.NameLen, self.Name)
-        data = CommFunc.WriteBYTE(data, self.SpeakerType)
-        data = CommFunc.WriteWORD(data, self.TextLen)
-        data = CommFunc.WriteString(data, self.TextLen, self.Text)
-        data = CommFunc.WriteDWORD(data, self.ExtraValue)
-        data = CommFunc.WriteString(data, 256, self.Extras)
-        return data
-
-    def OutputString(self):
-        DumpString = '''
-                                Head:%s,
-                                AccIDLen:%d,
-                                AccID:%s,
-                                PlayerID:%d,
-                                NameLen:%d,
-                                Name:%s,
-                                SpeakerType:%d,
-                                TextLen:%d,
-                                Text:%s,
-                                ExtraValue:%d,
-                                Extras:%s
-                                '''\
-                                %(
-                                self.Head.OutputString(),
-                                self.AccIDLen,
-                                self.AccID,
-                                self.PlayerID,
-                                self.NameLen,
-                                self.Name,
-                                self.SpeakerType,
-                                self.TextLen,
-                                self.Text,
-                                self.ExtraValue,
-                                self.Extras
-                                )
-        return DumpString
-
-
-m_NAtagGCPYSpeakerContent=tagGCPYSpeakerContent()
-ChNetPackDict[eval("0x%02x%02x"%(m_NAtagGCPYSpeakerContent.Head.Cmd,m_NAtagGCPYSpeakerContent.Head.SubCmd))] = m_NAtagGCPYSpeakerContent
-
-
-#------------------------------------------------------
-#A9 A1 查询玩家补偿结果封包#tagGCQueryCompensationResult
-
-class  tagGCCompensationItem(Structure):
-    ItemID = 0    #(DWORD ItemID)//物品ID
-    Count = 0    #(DWORD Count)//数量
-    IsBind = 0    #(BYTE IsBind)//是否绑定
-    UserDataLen = 0    #(DWORD UserDataLen)
-    UserData = ""    #(String UserData)//自定义数据	
-    data = None
-
-    def __init__(self):
-        self.Clear()
-        return
-
-    def ReadData(self, _lpData, _pos=0, _Len=0):
-        self.Clear()
-        self.ItemID,_pos = CommFunc.ReadDWORD(_lpData, _pos)
-        self.Count,_pos = CommFunc.ReadDWORD(_lpData, _pos)
-        self.IsBind,_pos = CommFunc.ReadBYTE(_lpData, _pos)
-        self.UserDataLen,_pos = CommFunc.ReadDWORD(_lpData, _pos)
-        self.UserData,_pos = CommFunc.ReadString(_lpData, _pos,self.UserDataLen)
-        return _pos
-
-    def Clear(self):
-        self.ItemID = 0
-        self.Count = 0
-        self.IsBind = 0
-        self.UserDataLen = 0
-        self.UserData = ""
-        return
-
-    def GetLength(self):
-        length = 0
-        length += 4
-        length += 4
-        length += 1
-        length += 4
-        length += len(self.UserData)
-
-        return length
-
-    def GetBuffer(self):
-        data = ''
-        data = CommFunc.WriteDWORD(data, self.ItemID)
-        data = CommFunc.WriteDWORD(data, self.Count)
-        data = CommFunc.WriteBYTE(data, self.IsBind)
-        data = CommFunc.WriteDWORD(data, self.UserDataLen)
-        data = CommFunc.WriteString(data, self.UserDataLen, self.UserData)
-        return data
-
-    def OutputString(self):
-        DumpString = '''
-                                ItemID:%d,
-                                Count:%d,
-                                IsBind:%d,
-                                UserDataLen:%d,
-                                UserData:%s
-                                '''\
-                                %(
-                                self.ItemID,
-                                self.Count,
-                                self.IsBind,
-                                self.UserDataLen,
-                                self.UserData
-                                )
-        return DumpString
-
-
-class  tagGCCompensationPack(Structure):
-    GUID = ""    #(char GUID[40])//补偿标识
-    CreateTime = ""    #(char CreateTime[30])//邮件接收时间
-    TextLen = 0    #(DWORD TextLen)//文字内容长度
-    Text = ""    #(String Text)//文字内容
-    Count = 0    #(BYTE Count)//当前补偿物品数
-    IsRead = 0    #(BYTE IsRead)//已读状态 0 未读取 1已读取
-    Gold = 0    #(DWORD Gold)//仙玉
-    GoldPaper = 0    #(DWORD GoldPaper)//绑定仙玉
-    Silver = 0    #(DWORD Silver)//铜钱
-    Items = list()    #(vector<tagGCCompensationItem> Items)//补偿物品信息
-    data = None
-
-    def __init__(self):
-        self.Clear()
-        return
-
-    def ReadData(self, _lpData, _pos=0, _Len=0):
-        self.Clear()
-        self.GUID,_pos = CommFunc.ReadString(_lpData, _pos,40)
-        self.CreateTime,_pos = CommFunc.ReadString(_lpData, _pos,30)
-        self.TextLen,_pos = CommFunc.ReadDWORD(_lpData, _pos)
-        self.Text,_pos = CommFunc.ReadString(_lpData, _pos,self.TextLen)
-        self.Count,_pos = CommFunc.ReadBYTE(_lpData, _pos)
-        self.IsRead,_pos = CommFunc.ReadBYTE(_lpData, _pos)
-        self.Gold,_pos = CommFunc.ReadDWORD(_lpData, _pos)
-        self.GoldPaper,_pos = CommFunc.ReadDWORD(_lpData, _pos)
-        self.Silver,_pos = CommFunc.ReadDWORD(_lpData, _pos)
-        for i in range(self.Count):
-            temItems = tagGCCompensationItem()
-            _pos = temItems.ReadData(_lpData, _pos)
-            self.Items.append(temItems)
-        return _pos
-
-    def Clear(self):
-        self.GUID = ""
-        self.CreateTime = ""
-        self.TextLen = 0
-        self.Text = ""
-        self.Count = 0
-        self.IsRead = 0
-        self.Gold = 0
-        self.GoldPaper = 0
-        self.Silver = 0
-        self.Items = list()
-        return
-
-    def GetLength(self):
-        length = 0
-        length += 40
-        length += 30
-        length += 4
-        length += len(self.Text)
-        length += 1
-        length += 1
-        length += 4
-        length += 4
-        length += 4
-        for i in range(self.Count):
-            length += self.Items[i].GetLength()
-
-        return length
-
-    def GetBuffer(self):
-        data = ''
-        data = CommFunc.WriteString(data, 40, self.GUID)
-        data = CommFunc.WriteString(data, 30, self.CreateTime)
-        data = CommFunc.WriteDWORD(data, self.TextLen)
-        data = CommFunc.WriteString(data, self.TextLen, self.Text)
-        data = CommFunc.WriteBYTE(data, self.Count)
-        data = CommFunc.WriteBYTE(data, self.IsRead)
-        data = CommFunc.WriteDWORD(data, self.Gold)
-        data = CommFunc.WriteDWORD(data, self.GoldPaper)
-        data = CommFunc.WriteDWORD(data, self.Silver)
-        for i in range(self.Count):
-            data = CommFunc.WriteString(data, self.Items[i].GetLength(), self.Items[i].GetBuffer())
-        return data
-
-    def OutputString(self):
-        DumpString = '''
-                                GUID:%s,
-                                CreateTime:%s,
-                                TextLen:%d,
-                                Text:%s,
-                                Count:%d,
-                                IsRead:%d,
-                                Gold:%d,
-                                GoldPaper:%d,
-                                Silver:%d,
-                                Items:%s
-                                '''\
-                                %(
-                                self.GUID,
-                                self.CreateTime,
-                                self.TextLen,
-                                self.Text,
-                                self.Count,
-                                self.IsRead,
-                                self.Gold,
-                                self.GoldPaper,
-                                self.Silver,
-                                "..."
-                                )
-        return DumpString
-
-
-class  tagGCQueryCompensationResult(Structure):
-    Head = tagHead()
-    Count = 0    #(WORD Count)//可领取补偿数
-    PackList = list()    #(vector<tagGCCompensationPack> PackList)//补偿物品信息
-    data = None
-
-    def __init__(self):
-        self.Clear()
-        self.Head.Cmd = 0xA9
-        self.Head.SubCmd = 0xA1
-        return
-
-    def ReadData(self, _lpData, _pos=0, _Len=0):
-        self.Clear()
-        _pos = self.Head.ReadData(_lpData, _pos)
-        self.Count,_pos = CommFunc.ReadWORD(_lpData, _pos)
-        for i in range(self.Count):
-            temPackList = tagGCCompensationPack()
-            _pos = temPackList.ReadData(_lpData, _pos)
-            self.PackList.append(temPackList)
-        return _pos
-
-    def Clear(self):
-        self.Head = tagHead()
-        self.Head.Clear()
-        self.Head.Cmd = 0xA9
-        self.Head.SubCmd = 0xA1
-        self.Count = 0
-        self.PackList = list()
-        return
-
-    def GetLength(self):
-        length = 0
-        length += self.Head.GetLength()
-        length += 2
-        for i in range(self.Count):
-            length += self.PackList[i].GetLength()
-
-        return length
-
-    def GetBuffer(self):
-        data = ''
-        data = CommFunc.WriteString(data, self.Head.GetLength(), self.Head.GetBuffer())
-        data = CommFunc.WriteWORD(data, self.Count)
-        for i in range(self.Count):
-            data = CommFunc.WriteString(data, self.PackList[i].GetLength(), self.PackList[i].GetBuffer())
-        return data
-
-    def OutputString(self):
-        DumpString = '''
-                                Head:%s,
-                                Count:%d,
-                                PackList:%s
-                                '''\
-                                %(
-                                self.Head.OutputString(),
-                                self.Count,
-                                "..."
-                                )
-        return DumpString
-
-
-m_NAtagGCQueryCompensationResult=tagGCQueryCompensationResult()
-ChNetPackDict[eval("0x%02x%02x"%(m_NAtagGCQueryCompensationResult.Head.Cmd,m_NAtagGCQueryCompensationResult.Head.SubCmd))] = m_NAtagGCQueryCompensationResult
-
-
-#------------------------------------------------------
-# A9 A8 通知可添加的好友信息 #tagGCRecommendFriendsInfo
-
-class  tagRecommendFriendsData(Structure):
-    ID = 0    #(DWORD ID)
-    Name = ""    #(char Name[33])
-    LV = 0    #(DWORD LV)//等级
-    Job = 0    #(BYTE Job)
-    RealmLV = 0    #(WORD RealmLV)//境界	
-    Face = 0    #(DWORD Face)//基本脸型
-    FacePic = 0    #(DWORD FacePic)//头像框
-    data = None
-
-    def __init__(self):
-        self.Clear()
-        return
-
-    def ReadData(self, _lpData, _pos=0, _Len=0):
-        self.Clear()
-        self.ID,_pos = CommFunc.ReadDWORD(_lpData, _pos)
-        self.Name,_pos = CommFunc.ReadString(_lpData, _pos,33)
-        self.LV,_pos = CommFunc.ReadDWORD(_lpData, _pos)
-        self.Job,_pos = CommFunc.ReadBYTE(_lpData, _pos)
-        self.RealmLV,_pos = CommFunc.ReadWORD(_lpData, _pos)
-        self.Face,_pos = CommFunc.ReadDWORD(_lpData, _pos)
-        self.FacePic,_pos = CommFunc.ReadDWORD(_lpData, _pos)
-        return _pos
-
-    def Clear(self):
-        self.ID = 0
-        self.Name = ""
-        self.LV = 0
-        self.Job = 0
-        self.RealmLV = 0
-        self.Face = 0
-        self.FacePic = 0
-        return
-
-    def GetLength(self):
-        length = 0
-        length += 4
-        length += 33
-        length += 4
-        length += 1
-        length += 2
-        length += 4
-        length += 4
-
-        return length
-
-    def GetBuffer(self):
-        data = ''
-        data = CommFunc.WriteDWORD(data, self.ID)
-        data = CommFunc.WriteString(data, 33, self.Name)
-        data = CommFunc.WriteDWORD(data, self.LV)
-        data = CommFunc.WriteBYTE(data, self.Job)
-        data = CommFunc.WriteWORD(data, self.RealmLV)
-        data = CommFunc.WriteDWORD(data, self.Face)
-        data = CommFunc.WriteDWORD(data, self.FacePic)
-        return data
-
-    def OutputString(self):
-        DumpString = '''
-                                ID:%d,
-                                Name:%s,
-                                LV:%d,
-                                Job:%d,
-                                RealmLV:%d,
-                                Face:%d,
-                                FacePic:%d
-                                '''\
-                                %(
-                                self.ID,
-                                self.Name,
-                                self.LV,
-                                self.Job,
-                                self.RealmLV,
-                                self.Face,
-                                self.FacePic
-                                )
-        return DumpString
-
-
-class  tagGCRecommendFriendsInfo(Structure):
-    Head = tagHead()
-    Cnt = 0    #(BYTE Cnt)//信息数
-    FriendsList = list()    #(vector<tagRecommendFriendsData> FriendsList)//成员信息
-    data = None
-
-    def __init__(self):
-        self.Clear()
-        self.Head.Cmd = 0xA9
-        self.Head.SubCmd = 0xA8
-        return
-
-    def ReadData(self, _lpData, _pos=0, _Len=0):
-        self.Clear()
-        _pos = self.Head.ReadData(_lpData, _pos)
-        self.Cnt,_pos = CommFunc.ReadBYTE(_lpData, _pos)
-        for i in range(self.Cnt):
-            temFriendsList = tagRecommendFriendsData()
-            _pos = temFriendsList.ReadData(_lpData, _pos)
-            self.FriendsList.append(temFriendsList)
-        return _pos
-
-    def Clear(self):
-        self.Head = tagHead()
-        self.Head.Clear()
-        self.Head.Cmd = 0xA9
-        self.Head.SubCmd = 0xA8
-        self.Cnt = 0
-        self.FriendsList = list()
-        return
-
-    def GetLength(self):
-        length = 0
-        length += self.Head.GetLength()
-        length += 1
-        for i in range(self.Cnt):
-            length += self.FriendsList[i].GetLength()
-
-        return length
-
-    def GetBuffer(self):
-        data = ''
-        data = CommFunc.WriteString(data, self.Head.GetLength(), self.Head.GetBuffer())
-        data = CommFunc.WriteBYTE(data, self.Cnt)
-        for i in range(self.Cnt):
-            data = CommFunc.WriteString(data, self.FriendsList[i].GetLength(), self.FriendsList[i].GetBuffer())
-        return data
-
-    def OutputString(self):
-        DumpString = '''
-                                Head:%s,
-                                Cnt:%d,
-                                FriendsList:%s
-                                '''\
-                                %(
-                                self.Head.OutputString(),
-                                self.Cnt,
-                                "..."
-                                )
-        return DumpString
-
-
-m_NAtagGCRecommendFriendsInfo=tagGCRecommendFriendsInfo()
-ChNetPackDict[eval("0x%02x%02x"%(m_NAtagGCRecommendFriendsInfo.Head.Cmd,m_NAtagGCRecommendFriendsInfo.Head.SubCmd))] = m_NAtagGCRecommendFriendsInfo
-
-
-#------------------------------------------------------
 # A9 21 角色改名结果 #tagSCRenameResult
 
 class  tagSCRenameResult(Structure):
@@ -15969,114 +14452,6 @@
 
 m_NAtagSCRenameResult=tagSCRenameResult()
 ChNetPackDict[eval("0x%02x%02x"%(m_NAtagSCRenameResult.Head.Cmd,m_NAtagSCRenameResult.Head.SubCmd))] = m_NAtagSCRenameResult
-
-
-#------------------------------------------------------
-# A9 06 商城全服购买次数通知 #tagGCStoreServerBuyCntInfo
-
-class  tagGCStoreServerBuyCnt(Structure):
-    _pack_ = 1
-    _fields_ = [
-                  ("GoodsID", c_int),    #商品标识
-                  ("BuyCnt", c_int),    #购买次数
-                  ]
-
-    def __init__(self):
-        self.Clear()
-        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.GoodsID = 0
-        self.BuyCnt = 0
-        return
-
-    def GetLength(self):
-        return sizeof(tagGCStoreServerBuyCnt)
-
-    def GetBuffer(self):
-        return string_at(addressof(self), self.GetLength())
-
-    def OutputString(self):
-        DumpString = '''// A9 06 商城全服购买次数通知 //tagGCStoreServerBuyCntInfo:
-                                GoodsID:%d,
-                                BuyCnt:%d
-                                '''\
-                                %(
-                                self.GoodsID,
-                                self.BuyCnt
-                                )
-        return DumpString
-
-
-class  tagGCStoreServerBuyCntInfo(Structure):
-    Head = tagHead()
-    Count = 0    #(WORD Count)//数量
-    InfoList = list()    #(vector<tagGCStoreServerBuyCnt> InfoList)//次数信息
-    data = None
-
-    def __init__(self):
-        self.Clear()
-        self.Head.Cmd = 0xA9
-        self.Head.SubCmd = 0x06
-        return
-
-    def ReadData(self, _lpData, _pos=0, _Len=0):
-        self.Clear()
-        _pos = self.Head.ReadData(_lpData, _pos)
-        self.Count,_pos = CommFunc.ReadWORD(_lpData, _pos)
-        for i in range(self.Count):
-            temInfoList = tagGCStoreServerBuyCnt()
-            _pos = temInfoList.ReadData(_lpData, _pos)
-            self.InfoList.append(temInfoList)
-        return _pos
-
-    def Clear(self):
-        self.Head = tagHead()
-        self.Head.Clear()
-        self.Head.Cmd = 0xA9
-        self.Head.SubCmd = 0x06
-        self.Count = 0
-        self.InfoList = list()
-        return
-
-    def GetLength(self):
-        length = 0
-        length += self.Head.GetLength()
-        length += 2
-        for i in range(self.Count):
-            length += self.InfoList[i].GetLength()
-
-        return length
-
-    def GetBuffer(self):
-        data = ''
-        data = CommFunc.WriteString(data, self.Head.GetLength(), self.Head.GetBuffer())
-        data = CommFunc.WriteWORD(data, self.Count)
-        for i in range(self.Count):
-            data = CommFunc.WriteString(data, self.InfoList[i].GetLength(), self.InfoList[i].GetBuffer())
-        return data
-
-    def OutputString(self):
-        DumpString = '''
-                                Head:%s,
-                                Count:%d,
-                                InfoList:%s
-                                '''\
-                                %(
-                                self.Head.OutputString(),
-                                self.Count,
-                                "..."
-                                )
-        return DumpString
-
-
-m_NAtagGCStoreServerBuyCntInfo=tagGCStoreServerBuyCntInfo()
-ChNetPackDict[eval("0x%02x%02x"%(m_NAtagGCStoreServerBuyCntInfo.Head.Cmd,m_NAtagGCStoreServerBuyCntInfo.Head.SubCmd))] = m_NAtagGCStoreServerBuyCntInfo
 
 
 #------------------------------------------------------

--
Gitblit v1.8.0