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