| | |
| | |
|
| | |
|
| | | #------------------------------------------------------
|
| | | # A4 06 家族仓库物品信息 #tagGCFamilyStoreItemInfo
|
| | |
|
| | | class tagGCFamilyStoreItem(Structure):
|
| | | Index = 0 #(BYTE Index)// 仓库格子索引,从0开始代表第一格
|
| | | ItemID = 0 #(DWORD ItemID)// 物品ID
|
| | | ItemDataLen = 0 #(WORD ItemDataLen)
|
| | | ItemData = "" #(String ItemData)//size = ItemDataLen
|
| | | data = None
|
| | |
|
| | | def __init__(self):
|
| | | self.Clear()
|
| | | return
|
| | |
|
| | | def ReadData(self, _lpData, _pos=0, _Len=0):
|
| | | self.Clear()
|
| | | self.Index,_pos = CommFunc.ReadBYTE(_lpData, _pos)
|
| | | self.ItemID,_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.Index = 0
|
| | | self.ItemID = 0
|
| | | self.ItemDataLen = 0
|
| | | self.ItemData = ""
|
| | | return
|
| | |
|
| | | def GetLength(self):
|
| | | length = 0
|
| | | length += 1
|
| | | length += 4
|
| | | length += 2
|
| | | length += len(self.ItemData)
|
| | |
|
| | | return length
|
| | |
|
| | | def GetBuffer(self):
|
| | | data = ''
|
| | | data = CommFunc.WriteBYTE(data, self.Index)
|
| | | data = CommFunc.WriteDWORD(data, self.ItemID)
|
| | | data = CommFunc.WriteWORD(data, self.ItemDataLen)
|
| | | data = CommFunc.WriteString(data, self.ItemDataLen, self.ItemData)
|
| | | return data
|
| | |
|
| | | def OutputString(self):
|
| | | DumpString = '''
|
| | | Index:%d,
|
| | | ItemID:%d,
|
| | | ItemDataLen:%d,
|
| | | ItemData:%s
|
| | | '''\
|
| | | %(
|
| | | self.Index,
|
| | | self.ItemID,
|
| | | self.ItemDataLen,
|
| | | self.ItemData
|
| | | )
|
| | | return DumpString
|
| | |
|
| | |
|
| | | class tagGCFamilyStoreItemInfo(Structure):
|
| | | Head = tagHead()
|
| | | Count = 0 #(BYTE Count)//数量
|
| | | StoreItemList = list() #(vector<tagGCFamilyStoreItem> StoreItemList)//size = Count
|
| | | data = None
|
| | |
|
| | | def __init__(self):
|
| | | self.Clear()
|
| | | self.Head.Cmd = 0xA4
|
| | | 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.ReadBYTE(_lpData, _pos)
|
| | | for i in range(self.Count):
|
| | | temStoreItemList = tagGCFamilyStoreItem()
|
| | | _pos = temStoreItemList.ReadData(_lpData, _pos)
|
| | | self.StoreItemList.append(temStoreItemList)
|
| | | return _pos
|
| | |
|
| | | def Clear(self):
|
| | | self.Head = tagHead()
|
| | | self.Head.Clear()
|
| | | self.Head.Cmd = 0xA4
|
| | | self.Head.SubCmd = 0x06
|
| | | self.Count = 0
|
| | | self.StoreItemList = list()
|
| | | return
|
| | |
|
| | | def GetLength(self):
|
| | | length = 0
|
| | | length += self.Head.GetLength()
|
| | | length += 1
|
| | | for i in range(self.Count):
|
| | | length += self.StoreItemList[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.StoreItemList[i].GetLength(), self.StoreItemList[i].GetBuffer())
|
| | | return data
|
| | |
|
| | | def OutputString(self):
|
| | | DumpString = '''
|
| | | Head:%s,
|
| | | Count:%d,
|
| | | StoreItemList:%s
|
| | | '''\
|
| | | %(
|
| | | self.Head.OutputString(),
|
| | | self.Count,
|
| | | "..."
|
| | | )
|
| | | return DumpString
|
| | |
|
| | |
|
| | | m_NAtagGCFamilyStoreItemInfo=tagGCFamilyStoreItemInfo()
|
| | | ChNetPackDict[eval("0x%02x%02x"%(m_NAtagGCFamilyStoreItemInfo.Head.Cmd,m_NAtagGCFamilyStoreItemInfo.Head.SubCmd))] = m_NAtagGCFamilyStoreItemInfo
|
| | |
|
| | |
|
| | | #------------------------------------------------------
|
| | | # A4 07 家族仓库物品清除 #tagGCFamilyStoreItemClear
|
| | |
|
| | | class tagGCFamilyStoreItemClear(Structure):
|
| | | Head = tagHead()
|
| | | ClearType = 0 #(BYTE ClearType)//0-指定格子清除; 1-所有物品清除
|
| | | IndexCount = 0 #(BYTE IndexCount)
|
| | | IndexList = list() #(vector<BYTE> IndexList)//清除的格子索引, 仅指定格子清除时有效,从0开始代表第一格
|
| | | data = None
|
| | |
|
| | | def __init__(self):
|
| | | self.Clear()
|
| | | self.Head.Cmd = 0xA4
|
| | | self.Head.SubCmd = 0x07
|
| | | return
|
| | |
|
| | | def ReadData(self, _lpData, _pos=0, _Len=0):
|
| | | self.Clear()
|
| | | _pos = self.Head.ReadData(_lpData, _pos)
|
| | | self.ClearType,_pos = CommFunc.ReadBYTE(_lpData, _pos)
|
| | | self.IndexCount,_pos = CommFunc.ReadBYTE(_lpData, _pos)
|
| | | for i in range(self.IndexCount):
|
| | | value,_pos=CommFunc.ReadBYTE(_lpData,_pos)
|
| | | self.IndexList.append(value)
|
| | | return _pos
|
| | |
|
| | | def Clear(self):
|
| | | self.Head = tagHead()
|
| | | self.Head.Clear()
|
| | | self.Head.Cmd = 0xA4
|
| | | self.Head.SubCmd = 0x07
|
| | | self.ClearType = 0
|
| | | self.IndexCount = 0
|
| | | self.IndexList = list()
|
| | | return
|
| | |
|
| | | def GetLength(self):
|
| | | length = 0
|
| | | length += self.Head.GetLength()
|
| | | length += 1
|
| | | length += 1
|
| | | length += 1 * self.IndexCount
|
| | |
|
| | | return length
|
| | |
|
| | | def GetBuffer(self):
|
| | | data = ''
|
| | | data = CommFunc.WriteString(data, self.Head.GetLength(), self.Head.GetBuffer())
|
| | | data = CommFunc.WriteBYTE(data, self.ClearType)
|
| | | data = CommFunc.WriteBYTE(data, self.IndexCount)
|
| | | for i in range(self.IndexCount):
|
| | | data = CommFunc.WriteBYTE(data, self.IndexList[i])
|
| | | return data
|
| | |
|
| | | def OutputString(self):
|
| | | DumpString = '''
|
| | | Head:%s,
|
| | | ClearType:%d,
|
| | | IndexCount:%d,
|
| | | IndexList:%s
|
| | | '''\
|
| | | %(
|
| | | self.Head.OutputString(),
|
| | | self.ClearType,
|
| | | self.IndexCount,
|
| | | "..."
|
| | | )
|
| | | return DumpString
|
| | |
|
| | |
|
| | | m_NAtagGCFamilyStoreItemClear=tagGCFamilyStoreItemClear()
|
| | | ChNetPackDict[eval("0x%02x%02x"%(m_NAtagGCFamilyStoreItemClear.Head.Cmd,m_NAtagGCFamilyStoreItemClear.Head.SubCmd))] = m_NAtagGCFamilyStoreItemClear
|
| | |
|
| | |
|
| | | #------------------------------------------------------
|
| | | # A4 09 家族守卫人皇信息通知 #tagGCFamilySWRHInfo
|
| | |
|
| | | class tagGCFamilySWRHInfo(Structure):
|