| | |
| | |
|
| | |
|
| | | #------------------------------------------------------
|
| | | #A9 05 天梯竞技场每日奖励信息#tagGCHighLadderRewardInfo
|
| | |
|
| | | class tagGCHighLadderRewardInfo(Structure):
|
| | | _pack_ = 1
|
| | | _fields_ = [
|
| | | ("Cmd", c_ubyte),
|
| | | ("SubCmd", c_ubyte),
|
| | | ("hadGot", c_ubyte), #是否已领取
|
| | | ("Order", c_ushort), #奖励排名
|
| | | ]
|
| | |
|
| | | def __init__(self):
|
| | | self.Clear()
|
| | | self.Cmd = 0xA9
|
| | | self.SubCmd = 0x05
|
| | | 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 = 0x05
|
| | | self.hadGot = 0
|
| | | self.Order = 0
|
| | | return
|
| | |
|
| | | def GetLength(self):
|
| | | return sizeof(tagGCHighLadderRewardInfo)
|
| | |
|
| | | def GetBuffer(self):
|
| | | return string_at(addressof(self), self.GetLength())
|
| | |
|
| | | def OutputString(self):
|
| | | DumpString = '''//A9 05 天梯竞技场每日奖励信息//tagGCHighLadderRewardInfo:
|
| | | Cmd:%s,
|
| | | SubCmd:%s,
|
| | | hadGot:%d,
|
| | | Order:%d
|
| | | '''\
|
| | | %(
|
| | | self.Cmd,
|
| | | self.SubCmd,
|
| | | self.hadGot,
|
| | | self.Order
|
| | | )
|
| | | return DumpString
|
| | |
|
| | |
|
| | | m_NAtagGCHighLadderRewardInfo=tagGCHighLadderRewardInfo()
|
| | | ChNetPackDict[eval("0x%02x%02x"%(m_NAtagGCHighLadderRewardInfo.Cmd,m_NAtagGCHighLadderRewardInfo.SubCmd))] = m_NAtagGCHighLadderRewardInfo
|
| | |
|
| | |
|
| | | #------------------------------------------------------
|
| | | #A9 03 开服活动奖励数量刷新#tagGCOpenServerCampaignAwardCount
|
| | |
|
| | | class tagGCOpenServerCampaignAwardCount(Structure):
|
| | |
| | |
|
| | | m_NAtagGCXMZZSelfInfo=tagGCXMZZSelfInfo()
|
| | | ChNetPackDict[eval("0x%02x%02x"%(m_NAtagGCXMZZSelfInfo.Head.Cmd,m_NAtagGCXMZZSelfInfo.Head.SubCmd))] = m_NAtagGCXMZZSelfInfo
|
| | |
|
| | |
|
| | | #------------------------------------------------------
|
| | | # AC 07 骑宠Boss信息 #tagGCHorsePetBossInfo
|
| | |
|
| | | class tagGCHorsePetBossInfo(Structure):
|
| | | _pack_ = 1
|
| | | _fields_ = [
|
| | | ("Cmd", c_ubyte),
|
| | | ("SubCmd", c_ubyte),
|
| | | ("IsEnd", c_int), # 是否已结束(按位代表对应线路是否结束)
|
| | | ]
|
| | |
|
| | | def __init__(self):
|
| | | self.Clear()
|
| | | self.Cmd = 0xAC
|
| | | self.SubCmd = 0x07
|
| | | return
|
| | |
|
| | | def ReadData(self, stringData, _pos=0, _len=0):
|
| | | self.Clear()
|
| | | memmove(addressof(self), stringData[_pos:], self.GetLength())
|
| | | return _pos + self.GetLength()
|
| | |
|
| | | def Clear(self):
|
| | | self.Cmd = 0xAC
|
| | | self.SubCmd = 0x07
|
| | | self.IsEnd = 0
|
| | | return
|
| | |
|
| | | def GetLength(self):
|
| | | return sizeof(tagGCHorsePetBossInfo)
|
| | |
|
| | | def GetBuffer(self):
|
| | | return string_at(addressof(self), self.GetLength())
|
| | |
|
| | | def OutputString(self):
|
| | | DumpString = '''// AC 07 骑宠Boss信息 //tagGCHorsePetBossInfo:
|
| | | Cmd:%s,
|
| | | SubCmd:%s,
|
| | | IsEnd:%d
|
| | | '''\
|
| | | %(
|
| | | self.Cmd,
|
| | | self.SubCmd,
|
| | | self.IsEnd
|
| | | )
|
| | | return DumpString
|
| | |
|
| | |
|
| | | m_NAtagGCHorsePetBossInfo=tagGCHorsePetBossInfo()
|
| | | ChNetPackDict[eval("0x%02x%02x"%(m_NAtagGCHorsePetBossInfo.Cmd,m_NAtagGCHorsePetBossInfo.SubCmd))] = m_NAtagGCHorsePetBossInfo
|
| | |
|
| | |
|
| | | #------------------------------------------------------
|
| | |
| | | ItemCount = 0 #(WORD ItemCount)
|
| | | AddTime = "" #(char AddTime[19])//上架时间 yyyy-MM-dd hh:mm:ss
|
| | | BidderPrice = 0 #(WORD BidderPrice)//竞拍玩家出价
|
| | | BiddingTime = "" #(char BiddingTime[19])//竞价时间 yyyy-MM-dd hh:mm:ss
|
| | | UserDataLen = 0 #(WORD UserDataLen)
|
| | | UserData = "" #(String UserData)//自定义数据
|
| | | data = None
|
| | |
| | | self.ItemCount,_pos = CommFunc.ReadWORD(_lpData, _pos)
|
| | | self.AddTime,_pos = CommFunc.ReadString(_lpData, _pos,19)
|
| | | self.BidderPrice,_pos = CommFunc.ReadWORD(_lpData, _pos)
|
| | | self.BiddingTime,_pos = CommFunc.ReadString(_lpData, _pos,19)
|
| | | self.UserDataLen,_pos = CommFunc.ReadWORD(_lpData, _pos)
|
| | | self.UserData,_pos = CommFunc.ReadString(_lpData, _pos,self.UserDataLen)
|
| | | return _pos
|
| | |
| | | self.ItemCount = 0
|
| | | self.AddTime = ""
|
| | | self.BidderPrice = 0
|
| | | self.BiddingTime = ""
|
| | | self.UserDataLen = 0
|
| | | self.UserData = ""
|
| | | return
|
| | |
| | | length += 2
|
| | | length += 19
|
| | | length += 2
|
| | | length += 19
|
| | | length += 2
|
| | | length += len(self.UserData)
|
| | |
|
| | |
| | | data = CommFunc.WriteWORD(data, self.ItemCount)
|
| | | data = CommFunc.WriteString(data, 19, self.AddTime)
|
| | | data = CommFunc.WriteWORD(data, self.BidderPrice)
|
| | | data = CommFunc.WriteString(data, 19, self.BiddingTime)
|
| | | data = CommFunc.WriteWORD(data, self.UserDataLen)
|
| | | data = CommFunc.WriteString(data, self.UserDataLen, self.UserData)
|
| | | return data
|
| | |
| | | ItemCount:%d,
|
| | | AddTime:%s,
|
| | | BidderPrice:%d,
|
| | | BiddingTime:%s,
|
| | | UserDataLen:%d,
|
| | | UserData:%s
|
| | | '''\
|
| | |
| | | self.ItemCount,
|
| | | self.AddTime,
|
| | | self.BidderPrice,
|
| | | self.BiddingTime,
|
| | | self.UserDataLen,
|
| | | self.UserData
|
| | | )
|
| | |
| | | ItemCount = 0 #(WORD ItemCount)
|
| | | AddTime = "" #(char AddTime[19])//上架时间 yyyy-MM-dd hh:mm:ss
|
| | | BidderPrice = 0 #(WORD BidderPrice)//竞拍玩家出价
|
| | | BiddingTime = "" #(char BiddingTime[19])//竞价时间 yyyy-MM-dd hh:mm:ss
|
| | | UserDataLen = 0 #(WORD UserDataLen)
|
| | | UserData = "" #(String UserData)//自定义数据
|
| | | data = None
|
| | |
| | | self.ItemCount,_pos = CommFunc.ReadWORD(_lpData, _pos)
|
| | | self.AddTime,_pos = CommFunc.ReadString(_lpData, _pos,19)
|
| | | self.BidderPrice,_pos = CommFunc.ReadWORD(_lpData, _pos)
|
| | | self.BiddingTime,_pos = CommFunc.ReadString(_lpData, _pos,19)
|
| | | self.UserDataLen,_pos = CommFunc.ReadWORD(_lpData, _pos)
|
| | | self.UserData,_pos = CommFunc.ReadString(_lpData, _pos,self.UserDataLen)
|
| | | return _pos
|
| | |
| | | self.ItemCount = 0
|
| | | self.AddTime = ""
|
| | | self.BidderPrice = 0
|
| | | self.BiddingTime = ""
|
| | | self.UserDataLen = 0
|
| | | self.UserData = ""
|
| | | return
|
| | |
| | | length += 2
|
| | | length += 19
|
| | | length += 2
|
| | | length += 19
|
| | | length += 2
|
| | | length += len(self.UserData)
|
| | |
|
| | |
| | | data = CommFunc.WriteWORD(data, self.ItemCount)
|
| | | data = CommFunc.WriteString(data, 19, self.AddTime)
|
| | | data = CommFunc.WriteWORD(data, self.BidderPrice)
|
| | | data = CommFunc.WriteString(data, 19, self.BiddingTime)
|
| | | data = CommFunc.WriteWORD(data, self.UserDataLen)
|
| | | data = CommFunc.WriteString(data, self.UserDataLen, self.UserData)
|
| | | return data
|
| | |
| | | ItemCount:%d,
|
| | | AddTime:%s,
|
| | | BidderPrice:%d,
|
| | | BiddingTime:%s,
|
| | | UserDataLen:%d,
|
| | | UserData:%s
|
| | | '''\
|
| | |
| | | self.ItemCount,
|
| | | self.AddTime,
|
| | | self.BidderPrice,
|
| | | self.BiddingTime,
|
| | | self.UserDataLen,
|
| | | self.UserData
|
| | | )
|
| | |
| | | AddTime = "" #(char AddTime[19])//上架时间 yyyy-MM-dd hh:mm:ss
|
| | | BidderID = 0 #(DWORD BidderID)//竞拍玩家ID,也就是当前最高竞价玩家ID
|
| | | BidderPrice = 0 #(WORD BidderPrice)//竞拍玩家出价
|
| | | BiddingTime = "" #(char BiddingTime[19])//竞价时间 yyyy-MM-dd hh:mm:ss
|
| | | UserDataLen = 0 #(WORD UserDataLen)
|
| | | UserData = "" #(String UserData)//自定义数据
|
| | | data = None
|
| | |
| | | self.AddTime,_pos = CommFunc.ReadString(_lpData, _pos,19)
|
| | | self.BidderID,_pos = CommFunc.ReadDWORD(_lpData, _pos)
|
| | | self.BidderPrice,_pos = CommFunc.ReadWORD(_lpData, _pos)
|
| | | self.BiddingTime,_pos = CommFunc.ReadString(_lpData, _pos,19)
|
| | | self.UserDataLen,_pos = CommFunc.ReadWORD(_lpData, _pos)
|
| | | self.UserData,_pos = CommFunc.ReadString(_lpData, _pos,self.UserDataLen)
|
| | | return _pos
|
| | |
| | | self.AddTime = ""
|
| | | self.BidderID = 0
|
| | | self.BidderPrice = 0
|
| | | self.BiddingTime = ""
|
| | | self.UserDataLen = 0
|
| | | self.UserData = ""
|
| | | return
|
| | |
| | | length += 19
|
| | | length += 4
|
| | | length += 2
|
| | | length += 19
|
| | | length += 2
|
| | | length += len(self.UserData)
|
| | |
|
| | |
| | | data = CommFunc.WriteString(data, 19, self.AddTime)
|
| | | data = CommFunc.WriteDWORD(data, self.BidderID)
|
| | | data = CommFunc.WriteWORD(data, self.BidderPrice)
|
| | | data = CommFunc.WriteString(data, 19, self.BiddingTime)
|
| | | data = CommFunc.WriteWORD(data, self.UserDataLen)
|
| | | data = CommFunc.WriteString(data, self.UserDataLen, self.UserData)
|
| | | return data
|
| | |
| | | AddTime:%s,
|
| | | BidderID:%d,
|
| | | BidderPrice:%d,
|
| | | BiddingTime:%s,
|
| | | UserDataLen:%d,
|
| | | UserData:%s
|
| | | '''\
|
| | |
| | | self.AddTime,
|
| | | self.BidderID,
|
| | | self.BidderPrice,
|
| | | self.BiddingTime,
|
| | | self.UserDataLen,
|
| | | self.UserData
|
| | | )
|
| | |
| | | ItemCount = 0 #(WORD ItemCount)
|
| | | AddTime = "" #(char AddTime[19])//上架时间 yyyy-MM-dd hh:mm:ss
|
| | | BidderPrice = 0 #(WORD BidderPrice)//竞拍玩家出价
|
| | | BiddingTime = "" #(char BiddingTime[19])//竞价时间 yyyy-MM-dd hh:mm:ss
|
| | | UserDataLen = 0 #(WORD UserDataLen)
|
| | | UserData = "" #(String UserData)//自定义数据
|
| | | FamilyPlayerIDLen = 0 #(WORD FamilyPlayerIDLen)
|
| | |
| | | self.ItemCount,_pos = CommFunc.ReadWORD(_lpData, _pos)
|
| | | self.AddTime,_pos = CommFunc.ReadString(_lpData, _pos,19)
|
| | | self.BidderPrice,_pos = CommFunc.ReadWORD(_lpData, _pos)
|
| | | self.BiddingTime,_pos = CommFunc.ReadString(_lpData, _pos,19)
|
| | | self.UserDataLen,_pos = CommFunc.ReadWORD(_lpData, _pos)
|
| | | self.UserData,_pos = CommFunc.ReadString(_lpData, _pos,self.UserDataLen)
|
| | | self.FamilyPlayerIDLen,_pos = CommFunc.ReadWORD(_lpData, _pos)
|
| | |
| | | self.ItemCount = 0
|
| | | self.AddTime = ""
|
| | | self.BidderPrice = 0
|
| | | self.BiddingTime = ""
|
| | | self.UserDataLen = 0
|
| | | self.UserData = ""
|
| | | self.FamilyPlayerIDLen = 0
|
| | |
| | | length += 2
|
| | | length += 19
|
| | | length += 2
|
| | | length += 19
|
| | | length += 2
|
| | | length += len(self.UserData)
|
| | | length += 2
|
| | |
| | | data = CommFunc.WriteWORD(data, self.ItemCount)
|
| | | data = CommFunc.WriteString(data, 19, self.AddTime)
|
| | | data = CommFunc.WriteWORD(data, self.BidderPrice)
|
| | | data = CommFunc.WriteString(data, 19, self.BiddingTime)
|
| | | data = CommFunc.WriteWORD(data, self.UserDataLen)
|
| | | data = CommFunc.WriteString(data, self.UserDataLen, self.UserData)
|
| | | data = CommFunc.WriteWORD(data, self.FamilyPlayerIDLen)
|
| | |
| | | ItemCount:%d,
|
| | | AddTime:%s,
|
| | | BidderPrice:%d,
|
| | | BiddingTime:%s,
|
| | | UserDataLen:%d,
|
| | | UserData:%s,
|
| | | FamilyPlayerIDLen:%d,
|
| | |
| | | self.ItemCount,
|
| | | self.AddTime,
|
| | | self.BidderPrice,
|
| | | self.BiddingTime,
|
| | | self.UserDataLen,
|
| | | self.UserData,
|
| | | self.FamilyPlayerIDLen,
|
| | |
| | | ItemCount = 0 #(WORD ItemCount)
|
| | | AddTime = "" #(char AddTime[19])//上架时间 yyyy-MM-dd hh:mm:ss
|
| | | BidderPrice = 0 #(WORD BidderPrice)//竞拍玩家出价
|
| | | BiddingTime = "" #(char BiddingTime[19])//竞价时间 yyyy-MM-dd hh:mm:ss
|
| | | UserDataLen = 0 #(WORD UserDataLen)
|
| | | UserData = "" #(String UserData)//自定义数据
|
| | | data = None
|
| | |
| | | self.ItemCount,_pos = CommFunc.ReadWORD(_lpData, _pos)
|
| | | self.AddTime,_pos = CommFunc.ReadString(_lpData, _pos,19)
|
| | | self.BidderPrice,_pos = CommFunc.ReadWORD(_lpData, _pos)
|
| | | self.BiddingTime,_pos = CommFunc.ReadString(_lpData, _pos,19)
|
| | | self.UserDataLen,_pos = CommFunc.ReadWORD(_lpData, _pos)
|
| | | self.UserData,_pos = CommFunc.ReadString(_lpData, _pos,self.UserDataLen)
|
| | | return _pos
|
| | |
| | | self.ItemCount = 0
|
| | | self.AddTime = ""
|
| | | self.BidderPrice = 0
|
| | | self.BiddingTime = ""
|
| | | self.UserDataLen = 0
|
| | | self.UserData = ""
|
| | | return
|
| | |
| | | length += 2
|
| | | length += 19
|
| | | length += 2
|
| | | length += 19
|
| | | length += 2
|
| | | length += len(self.UserData)
|
| | |
|
| | |
| | | data = CommFunc.WriteWORD(data, self.ItemCount)
|
| | | data = CommFunc.WriteString(data, 19, self.AddTime)
|
| | | data = CommFunc.WriteWORD(data, self.BidderPrice)
|
| | | data = CommFunc.WriteString(data, 19, self.BiddingTime)
|
| | | data = CommFunc.WriteWORD(data, self.UserDataLen)
|
| | | data = CommFunc.WriteString(data, self.UserDataLen, self.UserData)
|
| | | return data
|
| | |
| | | ItemCount:%d,
|
| | | AddTime:%s,
|
| | | BidderPrice:%d,
|
| | | BiddingTime:%s,
|
| | | UserDataLen:%d,
|
| | | UserData:%s
|
| | | '''\
|
| | |
| | | self.ItemCount,
|
| | | self.AddTime,
|
| | | self.BidderPrice,
|
| | | self.BiddingTime,
|
| | | self.UserDataLen,
|
| | | self.UserData
|
| | | )
|
| | |
| | | AddTime = "" #(char AddTime[19])//上架时间
|
| | | BidderID = 0 #(DWORD BidderID)//最高竞拍玩家ID,也就是当前最高竞价玩家ID
|
| | | BidderPrice = 0 #(DWORD BidderPrice)//最高竞拍价格
|
| | | BiddingTime = "" #(char BiddingTime[19])//竞价时间 yyyy-MM-dd hh:mm:ss
|
| | | data = None
|
| | |
|
| | | def __init__(self):
|
| | |
| | | self.AddTime,_pos = CommFunc.ReadString(_lpData, _pos,19)
|
| | | self.BidderID,_pos = CommFunc.ReadDWORD(_lpData, _pos)
|
| | | self.BidderPrice,_pos = CommFunc.ReadDWORD(_lpData, _pos)
|
| | | self.BiddingTime,_pos = CommFunc.ReadString(_lpData, _pos,19)
|
| | | return _pos
|
| | |
|
| | | def Clear(self):
|
| | |
| | | self.AddTime = ""
|
| | | self.BidderID = 0
|
| | | self.BidderPrice = 0
|
| | | self.BiddingTime = ""
|
| | | return
|
| | |
|
| | | def GetLength(self):
|
| | |
| | | length += 19
|
| | | length += 4
|
| | | length += 4
|
| | | length += 19
|
| | |
|
| | | return length
|
| | |
|
| | |
| | | data = CommFunc.WriteString(data, 19, self.AddTime)
|
| | | data = CommFunc.WriteDWORD(data, self.BidderID)
|
| | | data = CommFunc.WriteDWORD(data, self.BidderPrice)
|
| | | data = CommFunc.WriteString(data, 19, self.BiddingTime)
|
| | | return data
|
| | |
|
| | | def OutputString(self):
|
| | |
| | | AuctionType:%d,
|
| | | AddTime:%s,
|
| | | BidderID:%d,
|
| | | BidderPrice:%d
|
| | | BidderPrice:%d,
|
| | | BiddingTime:%s
|
| | | '''\
|
| | | %(
|
| | | self.ItemGUID,
|
| | | self.AuctionType,
|
| | | self.AddTime,
|
| | | self.BidderID,
|
| | | self.BidderPrice
|
| | | self.BidderPrice,
|
| | | self.BiddingTime
|
| | | )
|
| | | return DumpString
|
| | |
|
| | |
| | |
|
| | |
|
| | | #------------------------------------------------------
|
| | | #A5 34 天梯竞技场状态#tagMCHighLadderState
|
| | |
|
| | | class tagMCHighLadderState(Structure):
|
| | | _pack_ = 1
|
| | | _fields_ = [
|
| | | ("Cmd", c_ubyte),
|
| | | ("SubCmd", c_ubyte),
|
| | | ("Count", c_ubyte), #已挑战次数
|
| | | ("MaxCount", c_ubyte), #最大次数
|
| | | ("CDTime", c_int), #累计冷却时间
|
| | | ("IsRelCD", c_ubyte), #是否正在真实冷却状态
|
| | | ("Currency", c_int), #积分
|
| | | ]
|
| | |
|
| | | def __init__(self):
|
| | | self.Clear()
|
| | | self.Cmd = 0xA5
|
| | | self.SubCmd = 0x34
|
| | | 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 = 0xA5
|
| | | self.SubCmd = 0x34
|
| | | self.Count = 0
|
| | | self.MaxCount = 0
|
| | | self.CDTime = 0
|
| | | self.IsRelCD = 0
|
| | | self.Currency = 0
|
| | | return
|
| | |
|
| | | def GetLength(self):
|
| | | return sizeof(tagMCHighLadderState)
|
| | |
|
| | | def GetBuffer(self):
|
| | | return string_at(addressof(self), self.GetLength())
|
| | |
|
| | | def OutputString(self):
|
| | | DumpString = '''//A5 34 天梯竞技场状态//tagMCHighLadderState:
|
| | | Cmd:%s,
|
| | | SubCmd:%s,
|
| | | Count:%d,
|
| | | MaxCount:%d,
|
| | | CDTime:%d,
|
| | | IsRelCD:%d,
|
| | | Currency:%d
|
| | | '''\
|
| | | %(
|
| | | self.Cmd,
|
| | | self.SubCmd,
|
| | | self.Count,
|
| | | self.MaxCount,
|
| | | self.CDTime,
|
| | | self.IsRelCD,
|
| | | self.Currency
|
| | | )
|
| | | return DumpString
|
| | |
|
| | |
|
| | | m_NAtagMCHighLadderState=tagMCHighLadderState()
|
| | | ChNetPackDict[eval("0x%02x%02x"%(m_NAtagMCHighLadderState.Cmd,m_NAtagMCHighLadderState.SubCmd))] = m_NAtagMCHighLadderState
|
| | |
|
| | |
|
| | | #------------------------------------------------------
|
| | | #A5 01 查看已申请加入的家族信息 #tagMCNotifyRequestJoinFamilyInfo
|
| | |
|
| | | class tagRequestJoinFamily(Structure):
|
| | |
| | |
|
| | |
|
| | | #------------------------------------------------------
|
| | | # AB 06 活动物品兑换次数记录 #tagMCExchangeActionItemCntRecord
|
| | |
|
| | | class tagMCExchangeActionItemCnt(Structure):
|
| | | _pack_ = 1
|
| | | _fields_ = [
|
| | | ("Cmd", c_ubyte),
|
| | | ("SubCmd", c_ubyte),
|
| | | ("ItemID", c_int), |
| | | ("ExcCnt", c_int), # 已兑换次数
|
| | | ]
|
| | |
|
| | | def __init__(self):
|
| | | self.Clear()
|
| | | self.Cmd = 0xAB
|
| | | self.SubCmd = 0x06
|
| | | return
|
| | |
|
| | | def ReadData(self, stringData, _pos=0, _len=0):
|
| | | self.Clear()
|
| | | memmove(addressof(self), stringData[_pos:], self.GetLength())
|
| | | return _pos + self.GetLength()
|
| | |
|
| | | def Clear(self):
|
| | | self.Cmd = 0xAB
|
| | | self.SubCmd = 0x06
|
| | | self.ItemID = 0
|
| | | self.ExcCnt = 0
|
| | | return
|
| | |
|
| | | def GetLength(self):
|
| | | return sizeof(tagMCExchangeActionItemCnt)
|
| | |
|
| | | def GetBuffer(self):
|
| | | return string_at(addressof(self), self.GetLength())
|
| | |
|
| | | def OutputString(self):
|
| | | DumpString = '''// AB 06 活动物品兑换次数记录 //tagMCExchangeActionItemCntRecord:
|
| | | Cmd:%s,
|
| | | SubCmd:%s,
|
| | | ItemID:%d,
|
| | | ExcCnt:%d
|
| | | '''\
|
| | | %(
|
| | | self.Cmd,
|
| | | self.SubCmd,
|
| | | self.ItemID,
|
| | | self.ExcCnt
|
| | | )
|
| | | return DumpString
|
| | |
|
| | |
|
| | | class tagMCExchangeActionItemCntRecord(Structure):
|
| | | Head = tagHead()
|
| | | ActionKeyLen = 0 #(BYTE ActionKeyLen)
|
| | | ActionKey = "" #(String ActionKey)
|
| | | RecordCnt = 0 #(BYTE RecordCnt)
|
| | | RecordList = list() #(vector<tagMCExchangeActionItemCnt> RecordList)
|
| | | data = None
|
| | |
|
| | | def __init__(self):
|
| | | self.Clear()
|
| | | self.Head.Cmd = 0xAB
|
| | | self.Head.SubCmd = 0x06
|
| | | return
|
| | |
|
| | | def ReadData(self, _lpData, _pos=0, _Len=0):
|
| | | self.Clear()
|
| | | _pos = self.Head.ReadData(_lpData, _pos)
|
| | | self.ActionKeyLen,_pos = CommFunc.ReadBYTE(_lpData, _pos)
|
| | | self.ActionKey,_pos = CommFunc.ReadString(_lpData, _pos,self.ActionKeyLen)
|
| | | self.RecordCnt,_pos = CommFunc.ReadBYTE(_lpData, _pos)
|
| | | for i in range(self.RecordCnt):
|
| | | temRecordList = tagMCExchangeActionItemCnt()
|
| | | _pos = temRecordList.ReadData(_lpData, _pos)
|
| | | self.RecordList.append(temRecordList)
|
| | | return _pos
|
| | |
|
| | | def Clear(self):
|
| | | self.Head = tagHead()
|
| | | self.Head.Clear()
|
| | | self.Head.Cmd = 0xAB
|
| | | self.Head.SubCmd = 0x06
|
| | | self.ActionKeyLen = 0
|
| | | self.ActionKey = ""
|
| | | self.RecordCnt = 0
|
| | | self.RecordList = list()
|
| | | return
|
| | |
|
| | | def GetLength(self):
|
| | | length = 0
|
| | | length += self.Head.GetLength()
|
| | | length += 1
|
| | | length += len(self.ActionKey)
|
| | | length += 1
|
| | | for i in range(self.RecordCnt):
|
| | | 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.ActionKeyLen)
|
| | | data = CommFunc.WriteString(data, self.ActionKeyLen, self.ActionKey)
|
| | | data = CommFunc.WriteBYTE(data, self.RecordCnt)
|
| | | for i in range(self.RecordCnt):
|
| | | data = CommFunc.WriteString(data, self.RecordList[i].GetLength(), self.RecordList[i].GetBuffer())
|
| | | return data
|
| | |
|
| | | def OutputString(self):
|
| | | DumpString = '''
|
| | | Head:%s,
|
| | | ActionKeyLen:%d,
|
| | | ActionKey:%s,
|
| | | RecordCnt:%d,
|
| | | RecordList:%s
|
| | | '''\
|
| | | %(
|
| | | self.Head.OutputString(),
|
| | | self.ActionKeyLen,
|
| | | self.ActionKey,
|
| | | self.RecordCnt,
|
| | | "..."
|
| | | )
|
| | | return DumpString
|
| | |
|
| | |
|
| | | m_NAtagMCExchangeActionItemCntRecord=tagMCExchangeActionItemCntRecord()
|
| | | ChNetPackDict[eval("0x%02x%02x"%(m_NAtagMCExchangeActionItemCntRecord.Head.Cmd,m_NAtagMCExchangeActionItemCntRecord.Head.SubCmd))] = m_NAtagMCExchangeActionItemCntRecord
|
| | |
|
| | |
|
| | | #------------------------------------------------------
|
| | | # AB 07 节日活动奖励状态 #tagMCFestivalLoginAwardState
|
| | |
|
| | | class tagMCFestivalLoginAwardState(Structure):
|
| | |
| | |
|
| | |
|
| | | #------------------------------------------------------
|
| | | # B1 07 玩家点数信息 #tagMCRolePointInfo
|
| | |
|
| | | class tagMCRolePointInfo(Structure):
|
| | | Head = tagHead()
|
| | | PointAttrIDCount = 0 #(BYTE PointAttrIDCount)// 点类型个数
|
| | | PointAttrIDList = list() #(vector<BYTE> PointAttrIDList)// 点类型列表
|
| | | PointValueList = list() #(vector<WORD> PointValueList)// 点类型对应已加自由点数列表
|
| | | data = None
|
| | |
|
| | | def __init__(self):
|
| | | self.Clear()
|
| | | self.Head.Cmd = 0xB1
|
| | | self.Head.SubCmd = 0x07
|
| | | return
|
| | |
|
| | | def ReadData(self, _lpData, _pos=0, _Len=0):
|
| | | self.Clear()
|
| | | _pos = self.Head.ReadData(_lpData, _pos)
|
| | | self.PointAttrIDCount,_pos = CommFunc.ReadBYTE(_lpData, _pos)
|
| | | for i in range(self.PointAttrIDCount):
|
| | | value,_pos=CommFunc.ReadBYTE(_lpData,_pos)
|
| | | self.PointAttrIDList.append(value)
|
| | | for i in range(self.PointAttrIDCount):
|
| | | value,_pos=CommFunc.ReadWORD(_lpData,_pos)
|
| | | self.PointValueList.append(value)
|
| | | return _pos
|
| | |
|
| | | def Clear(self):
|
| | | self.Head = tagHead()
|
| | | self.Head.Clear()
|
| | | self.Head.Cmd = 0xB1
|
| | | self.Head.SubCmd = 0x07
|
| | | self.PointAttrIDCount = 0
|
| | | self.PointAttrIDList = list()
|
| | | self.PointValueList = list()
|
| | | return
|
| | |
|
| | | def GetLength(self):
|
| | | length = 0
|
| | | length += self.Head.GetLength()
|
| | | length += 1
|
| | | length += 1 * self.PointAttrIDCount
|
| | | length += 2 * self.PointAttrIDCount
|
| | |
|
| | | return length
|
| | |
|
| | | def GetBuffer(self):
|
| | | data = ''
|
| | | data = CommFunc.WriteString(data, self.Head.GetLength(), self.Head.GetBuffer())
|
| | | data = CommFunc.WriteBYTE(data, self.PointAttrIDCount)
|
| | | for i in range(self.PointAttrIDCount):
|
| | | data = CommFunc.WriteBYTE(data, self.PointAttrIDList[i])
|
| | | for i in range(self.PointAttrIDCount):
|
| | | data = CommFunc.WriteWORD(data, self.PointValueList[i])
|
| | | return data
|
| | |
|
| | | def OutputString(self):
|
| | | DumpString = '''
|
| | | Head:%s,
|
| | | PointAttrIDCount:%d,
|
| | | PointAttrIDList:%s,
|
| | | PointValueList:%s
|
| | | '''\
|
| | | %(
|
| | | self.Head.OutputString(),
|
| | | self.PointAttrIDCount,
|
| | | "...",
|
| | | "..."
|
| | | )
|
| | | return DumpString
|
| | |
|
| | |
|
| | | m_NAtagMCRolePointInfo=tagMCRolePointInfo()
|
| | | ChNetPackDict[eval("0x%02x%02x"%(m_NAtagMCRolePointInfo.Head.Cmd,m_NAtagMCRolePointInfo.Head.SubCmd))] = m_NAtagMCRolePointInfo
|
| | |
|
| | |
|
| | | #------------------------------------------------------
|
| | | # B1 01 玩家技能连击通知 #tagMCSkillCombo
|
| | |
|
| | | class tagMCSkillCombo(Structure):
|