#!/usr/bin/python # -*- coding: GBK -*- #×÷Õß : import CommFunc import binascii import copy from struct import * from ctypes import * #²å¼þÍ· # # ChNetPackDict={} class BString: NameLen = 0 # (BYTE NameLen ) Name = "" # (String Name ) //size = NameLen data = None def __init__(self): self.Clear() return def ReadData(self, _lpData, _pos=0, _Len=0): self.Clear() self.NameLen, _pos = CommFunc.ReadBYTE(_lpData, _pos) self.Name, _pos = CommFunc.ReadString(_lpData, _pos, self.NameLen) return _pos def Clear(self): self.NameLen = 0 self.Name = "" return def GetLength(self): length = 0 length += 1 length += self.Name.Length(); return length; def GetBuffer(self): data = '' data = CommFunc.WriteBYTE(data, self.NameLen) data = CommFunc.WriteString(data, self.NameLen, self.Name) return data def OutputString(self): DumpString = ''': NameLen:%d, Name:%s '''\ %( self.NameLen, self.Name ) return DumpString class tagHead: Cmd = 0 # (BYTE Cmd ) SubCmd = 0 # (BYTE SubCmd ) def __init__(self): self.Clear() return def ReadData(self, _lpData, _pos=0, _Len=0): self.Clear() self.Cmd, _pos = CommFunc.ReadBYTE(_lpData, _pos) self.SubCmd, _pos = CommFunc.ReadBYTE(_lpData, _pos) return _pos def Clear(self): self.Cmd = 0 self.SubCmd = 0 return def GetLength(self): length = 0 length += 1 length += 1 return length; def GetBuffer(self): data = '' data = CommFunc.WriteBYTE(data, self.Cmd) data = CommFunc.WriteBYTE(data, self.SubCmd) return data def OutputString(self): DumpString = ''': Cmd:%d, SubCmd:%d '''\ %( self.Cmd, self.SubCmd ) return DumpString #------------------------------------------------------ # A0 04 ²éѯ¸±±¾¹¦ÄÜÏß·ÈËÊý #tagCGGetFBLinePlayerCnt class tagCGGetFBLinePlayerCnt(Structure): Head = tagHead() MapID = 0 #(DWORD MapID) LineCount = 0 #(BYTE LineCount) LineIDList = list() #(vector LineIDList)//¸öÊýΪ0ʱ´ú±í²éÈ«²¿ data = None def __init__(self): self.Clear() self.Head.Cmd = 0xA0 self.Head.SubCmd = 0x04 return def ReadData(self, _lpData, _pos=0, _Len=0): self.Clear() _pos = self.Head.ReadData(_lpData, _pos) self.MapID,_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) return _pos def Clear(self): self.Head = tagHead() self.Head.Clear() self.Head.Cmd = 0xA0 self.Head.SubCmd = 0x04 self.MapID = 0 self.LineCount = 0 self.LineIDList = list() return def GetLength(self): length = 0 length += self.Head.GetLength() length += 4 length += 1 length += 1 * self.LineCount return length def GetBuffer(self): data = '' data = CommFunc.WriteString(data, self.Head.GetLength(), self.Head.GetBuffer()) data = CommFunc.WriteDWORD(data, self.MapID) data = CommFunc.WriteBYTE(data, self.LineCount) for i in range(self.LineCount): data = CommFunc.WriteBYTE(data, self.LineIDList[i]) return data def OutputString(self): DumpString = ''' Head:%s, MapID:%d, LineCount:%d, LineIDList:%s '''\ %( self.Head.OutputString(), self.MapID, self.LineCount, "..." ) return DumpString m_NAtagCGGetFBLinePlayerCnt=tagCGGetFBLinePlayerCnt() ChNetPackDict[eval("0x%02x%02x"%(m_NAtagCGGetFBLinePlayerCnt.Head.Cmd,m_NAtagCGGetFBLinePlayerCnt.Head.SubCmd))] = m_NAtagCGGetFBLinePlayerCnt #------------------------------------------------------ #A0 02 ¿Í»§¶ËÇëÇó·þÎñ¶Ëʱ¼ä #tagClientRequestServerTime class tagClientRequestServerTime(Structure): _pack_ = 1 _fields_ = [ ("Cmd", c_ubyte), ("SubCmd", c_ubyte), ] def __init__(self): self.Clear() self.Cmd = 0xA0 self.SubCmd = 0x02 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 = 0xA0 self.SubCmd = 0x02 return def GetLength(self): return sizeof(tagClientRequestServerTime) def GetBuffer(self): return string_at(addressof(self), self.GetLength()) def OutputString(self): DumpString = '''//A0 02 ¿Í»§¶ËÇëÇó·þÎñ¶Ëʱ¼ä //tagClientRequestServerTime: Cmd:%s, SubCmd:%s '''\ %( self.Cmd, self.SubCmd ) return DumpString m_NAtagClientRequestServerTime=tagClientRequestServerTime() ChNetPackDict[eval("0x%02x%02x"%(m_NAtagClientRequestServerTime.Cmd,m_NAtagClientRequestServerTime.SubCmd))] = m_NAtagClientRequestServerTime #------------------------------------------------------ # A0 03 ²éѯµØÍ¼Ïß·״̬ #tagPyGetLineState class tagPyGetLineState(Structure): _pack_ = 1 _fields_ = [ ("Cmd", c_ubyte), ("SubCmd", c_ubyte), ("MapID", c_int), ] def __init__(self): self.Clear() self.Cmd = 0xA0 self.SubCmd = 0x03 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 = 0xA0 self.SubCmd = 0x03 self.MapID = 0 return def GetLength(self): return sizeof(tagPyGetLineState) def GetBuffer(self): return string_at(addressof(self), self.GetLength()) def OutputString(self): DumpString = '''// A0 03 ²éѯµØÍ¼Ïß·״̬ //tagPyGetLineState: Cmd:%s, SubCmd:%s, MapID:%d '''\ %( self.Cmd, self.SubCmd, self.MapID ) return DumpString m_NAtagPyGetLineState=tagPyGetLineState() ChNetPackDict[eval("0x%02x%02x"%(m_NAtagPyGetLineState.Cmd,m_NAtagPyGetLineState.SubCmd))] = m_NAtagPyGetLineState #------------------------------------------------------ #A0 01 ²é¿´Íæ¼ÒÐÅϢͨÓüǼ #tagViewUniversalGameRec class tagViewUniversalGameRec(Structure): _pack_ = 1 _fields_ = [ ("Cmd", c_ubyte), ("SubCmd", c_ubyte), ("ViewType", c_ubyte), #²é¿´¼Ç¼µÄÀàÐÍ ] def __init__(self): self.Clear() self.Cmd = 0xA0 self.SubCmd = 0x01 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 = 0xA0 self.SubCmd = 0x01 self.ViewType = 0 return def GetLength(self): return sizeof(tagViewUniversalGameRec) def GetBuffer(self): return string_at(addressof(self), self.GetLength()) def OutputString(self): DumpString = '''//A0 01 ²é¿´Íæ¼ÒÐÅϢͨÓüǼ //tagViewUniversalGameRec: Cmd:%s, SubCmd:%s, ViewType:%d '''\ %( self.Cmd, self.SubCmd, self.ViewType ) return DumpString m_NAtagViewUniversalGameRec=tagViewUniversalGameRec() ChNetPackDict[eval("0x%02x%02x"%(m_NAtagViewUniversalGameRec.Cmd,m_NAtagViewUniversalGameRec.SubCmd))] = m_NAtagViewUniversalGameRec #------------------------------------------------------ #A4 06 ±ä¸ü¼Ò×å³ÉÔ±¼ÓÈëÉóºË·½Ê½#tagCGChangeFamilyAcceptJoinType class tagCGChangeFamilyAcceptJoinType(Structure): _pack_ = 1 _fields_ = [ ("Cmd", c_ubyte), ("SubCmd", c_ubyte), ("Type", c_ubyte), #0 ĬÈÏÐèÒªÉóºË,1 ×Ô¶¯Í¬ÒâÉêÇë,2 ¾Ü¾øÉêÇë ] def __init__(self): self.Clear() self.Cmd = 0xA4 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 = 0xA4 self.SubCmd = 0x06 self.Type = 0 return def GetLength(self): return sizeof(tagCGChangeFamilyAcceptJoinType) def GetBuffer(self): return string_at(addressof(self), self.GetLength()) def OutputString(self): DumpString = '''//A4 06 ±ä¸ü¼Ò×å³ÉÔ±¼ÓÈëÉóºË·½Ê½//tagCGChangeFamilyAcceptJoinType: Cmd:%s, SubCmd:%s, Type:%d '''\ %( self.Cmd, self.SubCmd, self.Type ) return DumpString m_NAtagCGChangeFamilyAcceptJoinType=tagCGChangeFamilyAcceptJoinType() ChNetPackDict[eval("0x%02x%02x"%(m_NAtagCGChangeFamilyAcceptJoinType.Cmd,m_NAtagCGChangeFamilyAcceptJoinType.SubCmd))] = m_NAtagCGChangeFamilyAcceptJoinType #------------------------------------------------------ # A4 13 Ð޸ļÒ×å»ÕÕ #tagCGChangeFamilyEmblem class tagCGChangeFamilyEmblem(Structure): _pack_ = 1 _fields_ = [ ("Cmd", c_ubyte), ("SubCmd", c_ubyte), ("EmblemID", c_ubyte), # ¸ü»»µÄ»ÕÕÂID ] def __init__(self): self.Clear() self.Cmd = 0xA4 self.SubCmd = 0x13 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 = 0xA4 self.SubCmd = 0x13 self.EmblemID = 0 return def GetLength(self): return sizeof(tagCGChangeFamilyEmblem) def GetBuffer(self): return string_at(addressof(self), self.GetLength()) def OutputString(self): DumpString = '''// A4 13 Ð޸ļÒ×å»ÕÕ //tagCGChangeFamilyEmblem: Cmd:%s, SubCmd:%s, EmblemID:%d '''\ %( self.Cmd, self.SubCmd, self.EmblemID ) return DumpString m_NAtagCGChangeFamilyEmblem=tagCGChangeFamilyEmblem() ChNetPackDict[eval("0x%02x%02x"%(m_NAtagCGChangeFamilyEmblem.Cmd,m_NAtagCGChangeFamilyEmblem.SubCmd))] = m_NAtagCGChangeFamilyEmblem #------------------------------------------------------ # A4 08 ²éѯ¼Ò×åÐÐΪÐÅÏ¢ #tagCGQueryFamilyAction class tagCGQueryFamilyAction(Structure): _pack_ = 1 _fields_ = [ ("Cmd", c_ubyte), ("SubCmd", c_ubyte), ("ActionType", c_ubyte), # ÐÐΪÀàÐÍ ("FamilyID", c_int), # ¼Ò×åID ] def __init__(self): self.Clear() self.Cmd = 0xA4 self.SubCmd = 0x08 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 = 0xA4 self.SubCmd = 0x08 self.ActionType = 0 self.FamilyID = 0 return def GetLength(self): return sizeof(tagCGQueryFamilyAction) def GetBuffer(self): return string_at(addressof(self), self.GetLength()) def OutputString(self): DumpString = '''// A4 08 ²éѯ¼Ò×åÐÐΪÐÅÏ¢ //tagCGQueryFamilyAction: Cmd:%s, SubCmd:%s, ActionType:%d, FamilyID:%d '''\ %( self.Cmd, self.SubCmd, self.ActionType, self.FamilyID ) return DumpString m_NAtagCGQueryFamilyAction=tagCGQueryFamilyAction() ChNetPackDict[eval("0x%02x%02x"%(m_NAtagCGQueryFamilyAction.Cmd,m_NAtagCGQueryFamilyAction.SubCmd))] = m_NAtagCGQueryFamilyAction #------------------------------------------------------ #A4 07 Éý¼¶¼Ò×å#tagCGFamilyLVUp class tagCGFamilyLVUp(Structure): _pack_ = 1 _fields_ = [ ("Cmd", c_ubyte), ("SubCmd", c_ubyte), ] def __init__(self): self.Clear() self.Cmd = 0xA4 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 = 0xA4 self.SubCmd = 0x07 return def GetLength(self): return sizeof(tagCGFamilyLVUp) def GetBuffer(self): return string_at(addressof(self), self.GetLength()) def OutputString(self): DumpString = '''//A4 07 Éý¼¶¼Ò×å//tagCGFamilyLVUp: Cmd:%s, SubCmd:%s '''\ %( self.Cmd, self.SubCmd ) return DumpString m_NAtagCGFamilyLVUp=tagCGFamilyLVUp() ChNetPackDict[eval("0x%02x%02x"%(m_NAtagCGFamilyLVUp.Cmd,m_NAtagCGFamilyLVUp.SubCmd))] = m_NAtagCGFamilyLVUp #------------------------------------------------------ # A4 09 ¼Ò×å²Ö¿âɾ³ýÎïÆ· #tagCGFamilyStoreDel class tagCGFamilyStoreDel(Structure): Head = tagHead() IndexCount = 0 #(BYTE IndexCount) StoreItemIndex = list() #(vector StoreItemIndex)// ²Ö¿âÎïÆ·Ë÷Òý£¬1´ú±íË÷Òý0µÄÎïÆ·£¬Óë¶Ò»»Ò»Ö data = None def __init__(self): self.Clear() self.Head.Cmd = 0xA4 self.Head.SubCmd = 0x09 return def ReadData(self, _lpData, _pos=0, _Len=0): self.Clear() _pos = self.Head.ReadData(_lpData, _pos) self.IndexCount,_pos = CommFunc.ReadBYTE(_lpData, _pos) for i in range(self.IndexCount): value,_pos=CommFunc.ReadBYTE(_lpData,_pos) self.StoreItemIndex.append(value) return _pos def Clear(self): self.Head = tagHead() self.Head.Clear() self.Head.Cmd = 0xA4 self.Head.SubCmd = 0x09 self.IndexCount = 0 self.StoreItemIndex = list() return def GetLength(self): length = 0 length += self.Head.GetLength() 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.IndexCount) for i in range(self.IndexCount): data = CommFunc.WriteBYTE(data, self.StoreItemIndex[i]) return data def OutputString(self): DumpString = ''' Head:%s, IndexCount:%d, StoreItemIndex:%s '''\ %( self.Head.OutputString(), self.IndexCount, "..." ) return DumpString m_NAtagCGFamilyStoreDel=tagCGFamilyStoreDel() ChNetPackDict[eval("0x%02x%02x"%(m_NAtagCGFamilyStoreDel.Head.Cmd,m_NAtagCGFamilyStoreDel.Head.SubCmd))] = m_NAtagCGFamilyStoreDel #------------------------------------------------------ # A4 10 ÏÉÃËÁªÈüÁ¬Ê¤½±Àø·ÖÅä #tagCGFamilyWarWinRewardAllot class tagCGFamilyWarWinRewardAllot(Structure): _pack_ = 1 _fields_ = [ ("Cmd", c_ubyte), ("SubCmd", c_ubyte), ("MemPlayerID", c_int), #·ÖÅ䏸µÄÏÉÃ˳ÉÔ±Íæ¼ÒID ] def __init__(self): self.Clear() self.Cmd = 0xA4 self.SubCmd = 0x10 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 = 0xA4 self.SubCmd = 0x10 self.MemPlayerID = 0 return def GetLength(self): return sizeof(tagCGFamilyWarWinRewardAllot) def GetBuffer(self): return string_at(addressof(self), self.GetLength()) def OutputString(self): DumpString = '''// A4 10 ÏÉÃËÁªÈüÁ¬Ê¤½±Àø·ÖÅä //tagCGFamilyWarWinRewardAllot: Cmd:%s, SubCmd:%s, MemPlayerID:%d '''\ %( self.Cmd, self.SubCmd, self.MemPlayerID ) return DumpString m_NAtagCGFamilyWarWinRewardAllot=tagCGFamilyWarWinRewardAllot() ChNetPackDict[eval("0x%02x%02x"%(m_NAtagCGFamilyWarWinRewardAllot.Cmd,m_NAtagCGFamilyWarWinRewardAllot.SubCmd))] = m_NAtagCGFamilyWarWinRewardAllot #------------------------------------------------------ #A4 03 ¼ÓÈë¼Ò×åÉóºËÇé¿ö #tagCGJoinFamilyReply class tagCGJoinFamilyReply(Structure): _pack_ = 1 _fields_ = [ ("Cmd", c_ubyte), ("SubCmd", c_ubyte), ("TagPlayerID", c_int), #±»ÉóºËÍæ¼ÒID 0Ôò´ú±íÈ«²¿ ("IsOK", c_ubyte), #ÊÇ·ñͬÒâ¼ÓÈë ] def __init__(self): self.Clear() self.Cmd = 0xA4 self.SubCmd = 0x03 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 = 0xA4 self.SubCmd = 0x03 self.TagPlayerID = 0 self.IsOK = 0 return def GetLength(self): return sizeof(tagCGJoinFamilyReply) def GetBuffer(self): return string_at(addressof(self), self.GetLength()) def OutputString(self): DumpString = '''//A4 03 ¼ÓÈë¼Ò×åÉóºËÇé¿ö //tagCGJoinFamilyReply: Cmd:%s, SubCmd:%s, TagPlayerID:%d, IsOK:%d '''\ %( self.Cmd, self.SubCmd, self.TagPlayerID, self.IsOK ) return DumpString m_NAtagCGJoinFamilyReply=tagCGJoinFamilyReply() ChNetPackDict[eval("0x%02x%02x"%(m_NAtagCGJoinFamilyReply.Cmd,m_NAtagCGJoinFamilyReply.SubCmd))] = m_NAtagCGJoinFamilyReply #------------------------------------------------------ # A4 11 Ò»¼üÉêÇëÈëÃË #tagCGOneKeyJoinFamily class tagCGOneKeyJoinFamily(Structure): _pack_ = 1 _fields_ = [ ("Cmd", c_ubyte), ("SubCmd", c_ubyte), ] def __init__(self): self.Clear() self.Cmd = 0xA4 self.SubCmd = 0x11 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 = 0xA4 self.SubCmd = 0x11 return def GetLength(self): return sizeof(tagCGOneKeyJoinFamily) def GetBuffer(self): return string_at(addressof(self), self.GetLength()) def OutputString(self): DumpString = '''// A4 11 Ò»¼üÉêÇëÈëÃË //tagCGOneKeyJoinFamily: Cmd:%s, SubCmd:%s '''\ %( self.Cmd, self.SubCmd ) return DumpString m_NAtagCGOneKeyJoinFamily=tagCGOneKeyJoinFamily() ChNetPackDict[eval("0x%02x%02x"%(m_NAtagCGOneKeyJoinFamily.Cmd,m_NAtagCGOneKeyJoinFamily.SubCmd))] = m_NAtagCGOneKeyJoinFamily #------------------------------------------------------ # A4 04 ´´½¨¼Ò×å #tagCGPyCreatFamily class tagCGPyCreatFamily(Structure): Head = tagHead() Name = "" #(char Name[33]) FakeID = 0 #(WORD FakeID)//¼ÙÏÉÃ˱àºÅ EmblemID = 0 #(BYTE EmblemID)//Ñ¡Ôñ»ÕÕÂID£¬½âËøÏÉÃ˵ȼ¶Îª1¼¶µÄ¾ùΪ¿ÉÑ¡ID data = None def __init__(self): self.Clear() self.Head.Cmd = 0xA4 self.Head.SubCmd = 0x04 return def ReadData(self, _lpData, _pos=0, _Len=0): self.Clear() _pos = self.Head.ReadData(_lpData, _pos) self.Name,_pos = CommFunc.ReadString(_lpData, _pos,33) self.FakeID,_pos = CommFunc.ReadWORD(_lpData, _pos) self.EmblemID,_pos = CommFunc.ReadBYTE(_lpData, _pos) return _pos def Clear(self): self.Head = tagHead() self.Head.Clear() self.Head.Cmd = 0xA4 self.Head.SubCmd = 0x04 self.Name = "" self.FakeID = 0 self.EmblemID = 0 return def GetLength(self): length = 0 length += self.Head.GetLength() length += 33 length += 2 length += 1 return length def GetBuffer(self): data = '' data = CommFunc.WriteString(data, self.Head.GetLength(), self.Head.GetBuffer()) data = CommFunc.WriteString(data, 33, self.Name) data = CommFunc.WriteWORD(data, self.FakeID) data = CommFunc.WriteBYTE(data, self.EmblemID) return data def OutputString(self): DumpString = ''' Head:%s, Name:%s, FakeID:%d, EmblemID:%d '''\ %( self.Head.OutputString(), self.Name, self.FakeID, self.EmblemID ) return DumpString m_NAtagCGPyCreatFamily=tagCGPyCreatFamily() ChNetPackDict[eval("0x%02x%02x"%(m_NAtagCGPyCreatFamily.Head.Cmd,m_NAtagCGPyCreatFamily.Head.SubCmd))] = m_NAtagCGPyCreatFamily #------------------------------------------------------ # A4 12 ËÑË÷¼Ò×å #tagCGPySearchFamily class tagCGPySearchFamily(Structure): Head = tagHead() MsgLen = 0 #(BYTE MsgLen)//Ä£ºýËÑË÷¼Ò×壬Èç¹ûÊäÈëΪ¿Õ£¬ÔòΪ²»ÏÞÖÆ¸ÃÌõ¼þ Msg = "" #(String Msg)//size = MsgLen LV = 0 #(BYTE LV)//×îµÍ¼Ò×åµÈ¼¶,Èç¹ûΪ0£¬Ôò²»ÏÞÖÆ¸ÃÌõ¼þ MaxCount = 0 #(BYTE MaxCount)//ËÑË÷½á¹ûËùÐè×î´óÌõÊý£¬ºó¶ËÏÞÖÆ×î¶à·µ»Ø20Ìõ IsSearching = 0 #(BYTE IsSearching)//ĬÈÏ1£¬Èç¹ûÓÐÖ¸¶¨ÆäËûÖµ£¬Ôò·µ»ØÖ¸¶¨Öµ data = None def __init__(self): self.Clear() self.Head.Cmd = 0xA4 self.Head.SubCmd = 0x12 return def ReadData(self, _lpData, _pos=0, _Len=0): self.Clear() _pos = self.Head.ReadData(_lpData, _pos) self.MsgLen,_pos = CommFunc.ReadBYTE(_lpData, _pos) self.Msg,_pos = CommFunc.ReadString(_lpData, _pos,self.MsgLen) self.LV,_pos = CommFunc.ReadBYTE(_lpData, _pos) self.MaxCount,_pos = CommFunc.ReadBYTE(_lpData, _pos) self.IsSearching,_pos = CommFunc.ReadBYTE(_lpData, _pos) return _pos def Clear(self): self.Head = tagHead() self.Head.Clear() self.Head.Cmd = 0xA4 self.Head.SubCmd = 0x12 self.MsgLen = 0 self.Msg = "" self.LV = 0 self.MaxCount = 0 self.IsSearching = 0 return def GetLength(self): length = 0 length += self.Head.GetLength() length += 1 length += len(self.Msg) length += 1 length += 1 length += 1 return length def GetBuffer(self): data = '' data = CommFunc.WriteString(data, self.Head.GetLength(), self.Head.GetBuffer()) data = CommFunc.WriteBYTE(data, self.MsgLen) data = CommFunc.WriteString(data, self.MsgLen, self.Msg) data = CommFunc.WriteBYTE(data, self.LV) data = CommFunc.WriteBYTE(data, self.MaxCount) data = CommFunc.WriteBYTE(data, self.IsSearching) return data def OutputString(self): DumpString = ''' Head:%s, MsgLen:%d, Msg:%s, LV:%d, MaxCount:%d, IsSearching:%d '''\ %( self.Head.OutputString(), self.MsgLen, self.Msg, self.LV, self.MaxCount, self.IsSearching ) return DumpString m_NAtagCGPySearchFamily=tagCGPySearchFamily() ChNetPackDict[eval("0x%02x%02x"%(m_NAtagCGPySearchFamily.Head.Cmd,m_NAtagCGPySearchFamily.Head.SubCmd))] = m_NAtagCGPySearchFamily #------------------------------------------------------ #A4 01 ²é¿´¼Ò×åµÚNÒ³#tagCGViewFamilyPage class tagCGViewFamilyPage(Structure): _pack_ = 1 _fields_ = [ ("Cmd", c_ubyte), ("SubCmd", c_ubyte), ("PageIndex", c_ushort), #²éѯҳÊý ("ShowCount", c_ubyte), #ÿҳÏÔʾÊýÁ¿ ("SortRulex", c_ubyte), #ÅÅÐò¹æÔò ("ViewType", c_ubyte), #²é¿´ÀàÐÍ ] def __init__(self): self.Clear() self.Cmd = 0xA4 self.SubCmd = 0x01 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 = 0xA4 self.SubCmd = 0x01 self.PageIndex = 0 self.ShowCount = 0 self.SortRulex = 0 self.ViewType = 0 return def GetLength(self): return sizeof(tagCGViewFamilyPage) def GetBuffer(self): return string_at(addressof(self), self.GetLength()) def OutputString(self): DumpString = '''//A4 01 ²é¿´¼Ò×åµÚNÒ³//tagCGViewFamilyPage: Cmd:%s, SubCmd:%s, PageIndex:%d, ShowCount:%d, SortRulex:%d, ViewType:%d '''\ %( self.Cmd, self.SubCmd, self.PageIndex, self.ShowCount, self.SortRulex, self.ViewType ) return DumpString m_NAtagCGViewFamilyPage=tagCGViewFamilyPage() ChNetPackDict[eval("0x%02x%02x"%(m_NAtagCGViewFamilyPage.Cmd,m_NAtagCGViewFamilyPage.SubCmd))] = m_NAtagCGViewFamilyPage #------------------------------------------------------ #A4 02 ²é¿´ÉêÇëÈë»áµÄÍæ¼Ò #tagCGViewFamilyRequestInfo class tagCGViewFamilyRequestInfo(Structure): _pack_ = 1 _fields_ = [ ("Cmd", c_ubyte), ("SubCmd", c_ubyte), ] def __init__(self): self.Clear() self.Cmd = 0xA4 self.SubCmd = 0x02 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 = 0xA4 self.SubCmd = 0x02 return def GetLength(self): return sizeof(tagCGViewFamilyRequestInfo) def GetBuffer(self): return string_at(addressof(self), self.GetLength()) def OutputString(self): DumpString = '''//A4 02 ²é¿´ÉêÇëÈë»áµÄÍæ¼Ò //tagCGViewFamilyRequestInfo: Cmd:%s, SubCmd:%s '''\ %( self.Cmd, self.SubCmd ) return DumpString m_NAtagCGViewFamilyRequestInfo=tagCGViewFamilyRequestInfo() ChNetPackDict[eval("0x%02x%02x"%(m_NAtagCGViewFamilyRequestInfo.Cmd,m_NAtagCGViewFamilyRequestInfo.SubCmd))] = m_NAtagCGViewFamilyRequestInfo #------------------------------------------------------ # A9 03 ¹Ø×¢BOSSˢР#tagCGAttentionBoss class tagCGAttentionBoss(Structure): _pack_ = 1 _fields_ = [ ("Cmd", c_ubyte), ("SubCmd", c_ubyte), ("IsAdd", c_ubyte), #0-È¡Ïû¹Ø×¢, 1-¹Ø×¢ ("BossID", c_int), ] def __init__(self): self.Clear() self.Cmd = 0xA9 self.SubCmd = 0x03 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 = 0x03 self.IsAdd = 0 self.BossID = 0 return def GetLength(self): return sizeof(tagCGAttentionBoss) def GetBuffer(self): return string_at(addressof(self), self.GetLength()) def OutputString(self): DumpString = '''// A9 03 ¹Ø×¢BOSSˢР//tagCGAttentionBoss: Cmd:%s, SubCmd:%s, IsAdd:%d, BossID:%d '''\ %( self.Cmd, self.SubCmd, self.IsAdd, self.BossID ) return DumpString m_NAtagCGAttentionBoss=tagCGAttentionBoss() ChNetPackDict[eval("0x%02x%02x"%(m_NAtagCGAttentionBoss.Cmd,m_NAtagCGAttentionBoss.SubCmd))] = m_NAtagCGAttentionBoss #------------------------------------------------------ # A9 02 ¶É½Ù»¤·¨ #tagCGRealmFBHelp class tagCGRealmFBHelp(Structure): _pack_ = 1 _fields_ = [ ("Cmd", c_ubyte), ("SubCmd", c_ubyte), ("PlayerID", c_int), #»¤·¨Ä¿±êID ] def __init__(self): self.Clear() self.Cmd = 0xA9 self.SubCmd = 0x02 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 = 0x02 self.PlayerID = 0 return def GetLength(self): return sizeof(tagCGRealmFBHelp) def GetBuffer(self): return string_at(addressof(self), self.GetLength()) def OutputString(self): DumpString = '''// A9 02 ¶É½Ù»¤·¨ //tagCGRealmFBHelp: Cmd:%s, SubCmd:%s, PlayerID:%d '''\ %( self.Cmd, self.SubCmd, self.PlayerID ) return DumpString m_NAtagCGRealmFBHelp=tagCGRealmFBHelp() ChNetPackDict[eval("0x%02x%02x"%(m_NAtagCGRealmFBHelp.Cmd,m_NAtagCGRealmFBHelp.SubCmd))] = m_NAtagCGRealmFBHelp #------------------------------------------------------ # A9 A2 ²é¿´ÅÅÐаñ#tagCPYWatchBillboard class tagCPYWatchBillboard(Structure): _pack_ = 1 _fields_ = [ ("Cmd", c_ubyte), ("SubCmd", c_ubyte), ("Type", c_ubyte), #ÀàÐÍ TBillboardType ("StartIndex", c_int), #²é¿´µÄÆðʼÃû´ÎË÷Òý£¬ ĬÈÏ0 ("WatchCnt", c_ubyte), #²é¿´ÌõÊý£¬Ä¬ÈÏ20£¬×î´ó²»³¬¹ý100 ("WatchID", c_int), #²é¿´Ö¸¶¨IDÃû´Îǰºó£¬ÈçÍæ¼ÒID¡¢¼Ò×åIDµÈ ] def __init__(self): self.Clear() self.Cmd = 0xA9 self.SubCmd = 0xA2 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 = 0xA2 self.Type = 0 self.StartIndex = 0 self.WatchCnt = 0 self.WatchID = 0 return def GetLength(self): return sizeof(tagCPYWatchBillboard) def GetBuffer(self): return string_at(addressof(self), self.GetLength()) def OutputString(self): DumpString = '''// A9 A2 ²é¿´ÅÅÐаñ//tagCPYWatchBillboard: Cmd:%s, SubCmd:%s, Type:%d, StartIndex:%d, WatchCnt:%d, WatchID:%d '''\ %( self.Cmd, self.SubCmd, self.Type, self.StartIndex, self.WatchCnt, self.WatchID ) return DumpString m_NAtagCPYWatchBillboard=tagCPYWatchBillboard() ChNetPackDict[eval("0x%02x%02x"%(m_NAtagCPYWatchBillboard.Cmd,m_NAtagCPYWatchBillboard.SubCmd))] = m_NAtagCPYWatchBillboard #------------------------------------------------------ # A9 A4 ²éÕÒÍæ¼Ò #tagCGFuzzySearchPlayer class tagCGFuzzySearchPlayer(Structure): Head = tagHead() Name = "" #(char Name[33]) data = None def __init__(self): self.Clear() self.Head.Cmd = 0xA9 self.Head.SubCmd = 0xA4 return def ReadData(self, _lpData, _pos=0, _Len=0): self.Clear() _pos = self.Head.ReadData(_lpData, _pos) self.Name,_pos = CommFunc.ReadString(_lpData, _pos,33) return _pos def Clear(self): self.Head = tagHead() self.Head.Clear() self.Head.Cmd = 0xA9 self.Head.SubCmd = 0xA4 self.Name = "" return def GetLength(self): length = 0 length += self.Head.GetLength() length += 33 return length def GetBuffer(self): data = '' data = CommFunc.WriteString(data, self.Head.GetLength(), self.Head.GetBuffer()) data = CommFunc.WriteString(data, 33, self.Name) return data def OutputString(self): DumpString = ''' Head:%s, Name:%s '''\ %( self.Head.OutputString(), self.Name ) return DumpString m_NAtagCGFuzzySearchPlayer=tagCGFuzzySearchPlayer() ChNetPackDict[eval("0x%02x%02x"%(m_NAtagCGFuzzySearchPlayer.Head.Cmd,m_NAtagCGFuzzySearchPlayer.Head.SubCmd))] = m_NAtagCGFuzzySearchPlayer #------------------------------------------------------ # A9 01 »ñÈ¡BossÊ×ɱ½±Àø #tagCGGetBossFirstKillAward class tagCGGetBossFirstKillAward(Structure): _pack_ = 1 _fields_ = [ ("Cmd", c_ubyte), ("SubCmd", c_ubyte), ("NPCID", c_int), ("AwardType", c_ubyte), # 0-Ê×ɱºì°ü½±Àø£»1-¸öÈËÊ×ɱ½±Àø ] def __init__(self): self.Clear() self.Cmd = 0xA9 self.SubCmd = 0x01 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 = 0x01 self.NPCID = 0 self.AwardType = 0 return def GetLength(self): return sizeof(tagCGGetBossFirstKillAward) def GetBuffer(self): return string_at(addressof(self), self.GetLength()) def OutputString(self): DumpString = '''// A9 01 »ñÈ¡BossÊ×ɱ½±Àø //tagCGGetBossFirstKillAward: Cmd:%s, SubCmd:%s, NPCID:%d, AwardType:%d '''\ %( self.Cmd, self.SubCmd, self.NPCID, self.AwardType ) return DumpString m_NAtagCGGetBossFirstKillAward=tagCGGetBossFirstKillAward() ChNetPackDict[eval("0x%02x%02x"%(m_NAtagCGGetBossFirstKillAward.Cmd,m_NAtagCGGetBossFirstKillAward.SubCmd))] = m_NAtagCGGetBossFirstKillAward #------------------------------------------------------ # A9 07 µãÔÞÏɹ¬ #tagCGLikeXiangong class tagCGLikeXiangong(Structure): _pack_ = 1 _fields_ = [ ("Cmd", c_ubyte), ("SubCmd", c_ubyte), ("XiangongID", c_ushort), # Ïɹ¬ID£¬Îª0ʱ´ú±íÿÈÕµÄÏɹ¬µãÔÞ ] def __init__(self): self.Clear() self.Cmd = 0xA9 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 = 0xA9 self.SubCmd = 0x07 self.XiangongID = 0 return def GetLength(self): return sizeof(tagCGLikeXiangong) def GetBuffer(self): return string_at(addressof(self), self.GetLength()) def OutputString(self): DumpString = '''// A9 07 µãÔÞÏɹ¬ //tagCGLikeXiangong: Cmd:%s, SubCmd:%s, XiangongID:%d '''\ %( self.Cmd, self.SubCmd, self.XiangongID ) return DumpString m_NAtagCGLikeXiangong=tagCGLikeXiangong() ChNetPackDict[eval("0x%02x%02x"%(m_NAtagCGLikeXiangong.Cmd,m_NAtagCGLikeXiangong.SubCmd))] = m_NAtagCGLikeXiangong #------------------------------------------------------ # A9 A5 ²é¿´¾º¼¼³¡¶ÔÕ½Íæ¼Ò×îÐÂÐÅÏ¢ #tagCGQueryArenaBattlePlayer class tagCGQueryArenaBattlePlayer(Structure): _pack_ = 1 _fields_ = [ ("Cmd", c_ubyte), ("SubCmd", c_ubyte), ("PlayerID", c_int), #Ä¿±êÍæ¼ÒID£¬½öÖ§³Ö²éÕæÊµÍæ¼Ò ] def __init__(self): self.Clear() self.Cmd = 0xA9 self.SubCmd = 0xA5 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 = 0xA5 self.PlayerID = 0 return def GetLength(self): return sizeof(tagCGQueryArenaBattlePlayer) def GetBuffer(self): return string_at(addressof(self), self.GetLength()) def OutputString(self): DumpString = '''// A9 A5 ²é¿´¾º¼¼³¡¶ÔÕ½Íæ¼Ò×îÐÂÐÅÏ¢ //tagCGQueryArenaBattlePlayer: Cmd:%s, SubCmd:%s, PlayerID:%d '''\ %( self.Cmd, self.SubCmd, self.PlayerID ) return DumpString m_NAtagCGQueryArenaBattlePlayer=tagCGQueryArenaBattlePlayer() ChNetPackDict[eval("0x%02x%02x"%(m_NAtagCGQueryArenaBattlePlayer.Cmd,m_NAtagCGQueryArenaBattlePlayer.SubCmd))] = m_NAtagCGQueryArenaBattlePlayer #------------------------------------------------------ # A9 A8 ²é¿´¾º¼¼³¡¶ÔÕ½¼Ç¼ #tagCGQueryArenaBattleRecord class tagCGQueryArenaBattleRecord(Structure): _pack_ = 1 _fields_ = [ ("Cmd", c_ubyte), ("SubCmd", c_ubyte), ] def __init__(self): self.Clear() self.Cmd = 0xA9 self.SubCmd = 0xA8 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 = 0xA8 return def GetLength(self): return sizeof(tagCGQueryArenaBattleRecord) def GetBuffer(self): return string_at(addressof(self), self.GetLength()) def OutputString(self): DumpString = '''// A9 A8 ²é¿´¾º¼¼³¡¶ÔÕ½¼Ç¼ //tagCGQueryArenaBattleRecord: Cmd:%s, SubCmd:%s '''\ %( self.Cmd, self.SubCmd ) return DumpString m_NAtagCGQueryArenaBattleRecord=tagCGQueryArenaBattleRecord() ChNetPackDict[eval("0x%02x%02x"%(m_NAtagCGQueryArenaBattleRecord.Cmd,m_NAtagCGQueryArenaBattleRecord.SubCmd))] = m_NAtagCGQueryArenaBattleRecord #------------------------------------------------------ # A9 04 ²éѯbossÐÅÏ¢ #tagCGQueryBossInfo class tagCGQueryBossInfo(Structure): Head = tagHead() Count = 0 #(BYTE Count)//ÊýÁ¿ BossIDList = list() #(vector BossIDList)//boosid data = None def __init__(self): self.Clear() self.Head.Cmd = 0xA9 self.Head.SubCmd = 0x04 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): value,_pos=CommFunc.ReadDWORD(_lpData,_pos) self.BossIDList.append(value) return _pos def Clear(self): self.Head = tagHead() self.Head.Clear() self.Head.Cmd = 0xA9 self.Head.SubCmd = 0x04 self.Count = 0 self.BossIDList = list() return def GetLength(self): length = 0 length += self.Head.GetLength() length += 1 length += 4 * self.Count 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.WriteDWORD(data, self.BossIDList[i]) return data def OutputString(self): DumpString = ''' Head:%s, Count:%d, BossIDList:%s '''\ %( self.Head.OutputString(), self.Count, "..." ) return DumpString m_NAtagCGQueryBossInfo=tagCGQueryBossInfo() ChNetPackDict[eval("0x%02x%02x"%(m_NAtagCGQueryBossInfo.Head.Cmd,m_NAtagCGQueryBossInfo.Head.SubCmd))] = m_NAtagCGQueryBossInfo #------------------------------------------------------ #A9 A1 ²éÑ¯Íæ¼Ò²¹³¥#tagCGQueryCompensation class tagCGQueryCompensation(Structure): _pack_ = 1 _fields_ = [ ("Cmd", c_ubyte), ("SubCmd", c_ubyte), ] def __init__(self): self.Clear() self.Cmd = 0xA9 self.SubCmd = 0xA1 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 = 0xA1 return def GetLength(self): return sizeof(tagCGQueryCompensation) def GetBuffer(self): return string_at(addressof(self), self.GetLength()) def OutputString(self): DumpString = '''//A9 A1 ²éÑ¯Íæ¼Ò²¹³¥//tagCGQueryCompensation: Cmd:%s, SubCmd:%s '''\ %( self.Cmd, self.SubCmd ) return DumpString m_NAtagCGQueryCompensation=tagCGQueryCompensation() ChNetPackDict[eval("0x%02x%02x"%(m_NAtagCGQueryCompensation.Cmd,m_NAtagCGQueryCompensation.SubCmd))] = m_NAtagCGQueryCompensation #------------------------------------------------------ # A9 05 ²éѯ¹ã²¥×°±¸ÏêϸÐÅÏ¢ #tagCGQueryNotifyEquipDetailInfo class tagCGQueryNotifyEquipDetailInfo(Structure): Head = tagHead() ItemGUID = "" #(char ItemGUID[40]) 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) return _pos def Clear(self): self.Head = tagHead() self.Head.Clear() self.Head.Cmd = 0xA9 self.Head.SubCmd = 0x05 self.ItemGUID = "" return def GetLength(self): length = 0 length += self.Head.GetLength() length += 40 return length def GetBuffer(self): data = '' data = CommFunc.WriteString(data, self.Head.GetLength(), self.Head.GetBuffer()) data = CommFunc.WriteString(data, 40, self.ItemGUID) return data def OutputString(self): DumpString = ''' Head:%s, ItemGUID:%s '''\ %( self.Head.OutputString(), self.ItemGUID ) return DumpString m_NAtagCGQueryNotifyEquipDetailInfo=tagCGQueryNotifyEquipDetailInfo() ChNetPackDict[eval("0x%02x%02x"%(m_NAtagCGQueryNotifyEquipDetailInfo.Head.Cmd,m_NAtagCGQueryNotifyEquipDetailInfo.Head.SubCmd))] = m_NAtagCGQueryNotifyEquipDetailInfo #------------------------------------------------------ # A9 A3 ²é¿´ÍƼöºÃÓÑ #tagCGQueryRecommendFriends class tagCGQueryRecommendFriends(Structure): _pack_ = 1 _fields_ = [ ("Cmd", c_ubyte), ("SubCmd", c_ubyte), ] def __init__(self): self.Clear() self.Cmd = 0xA9 self.SubCmd = 0xA3 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 = 0xA3 return def GetLength(self): return sizeof(tagCGQueryRecommendFriends) def GetBuffer(self): return string_at(addressof(self), self.GetLength()) def OutputString(self): DumpString = '''// A9 A3 ²é¿´ÍƼöºÃÓÑ //tagCGQueryRecommendFriends: Cmd:%s, SubCmd:%s '''\ %( self.Cmd, self.SubCmd ) return DumpString m_NAtagCGQueryRecommendFriends=tagCGQueryRecommendFriends() ChNetPackDict[eval("0x%02x%02x"%(m_NAtagCGQueryRecommendFriends.Cmd,m_NAtagCGQueryRecommendFriends.SubCmd))] = m_NAtagCGQueryRecommendFriends #------------------------------------------------------ # A9 06 ²é¿´Ïɹ¬ÏÉÃû¼ #tagCGQueryXiangongRecPlayers class tagCGQueryXiangongRecPlayers(Structure): _pack_ = 1 _fields_ = [ ("Cmd", c_ubyte), ("SubCmd", c_ubyte), ("XiangongID", c_ushort), # Ïɹ¬ID ] def __init__(self): self.Clear() self.Cmd = 0xA9 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 = 0xA9 self.SubCmd = 0x06 self.XiangongID = 0 return def GetLength(self): return sizeof(tagCGQueryXiangongRecPlayers) def GetBuffer(self): return string_at(addressof(self), self.GetLength()) def OutputString(self): DumpString = '''// A9 06 ²é¿´Ïɹ¬ÏÉÃû¼ //tagCGQueryXiangongRecPlayers: Cmd:%s, SubCmd:%s, XiangongID:%d '''\ %( self.Cmd, self.SubCmd, self.XiangongID ) return DumpString m_NAtagCGQueryXiangongRecPlayers=tagCGQueryXiangongRecPlayers() ChNetPackDict[eval("0x%02x%02x"%(m_NAtagCGQueryXiangongRecPlayers.Cmd,m_NAtagCGQueryXiangongRecPlayers.SubCmd))] = m_NAtagCGQueryXiangongRecPlayers #------------------------------------------------------ #A9 A6 ÉèÖÃÓʼþ£¨²¹³¥£©ÒѶÁ״̬ #tagCGReadCompensation class tagCGReadCompensation(Structure): Head = tagHead() GUID = "" #(char GUID[40]) data = None def __init__(self): self.Clear() self.Head.Cmd = 0xA9 self.Head.SubCmd = 0xA6 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) return _pos def Clear(self): self.Head = tagHead() self.Head.Clear() self.Head.Cmd = 0xA9 self.Head.SubCmd = 0xA6 self.GUID = "" return def GetLength(self): length = 0 length += self.Head.GetLength() length += 40 return length def GetBuffer(self): data = '' data = CommFunc.WriteString(data, self.Head.GetLength(), self.Head.GetBuffer()) data = CommFunc.WriteString(data, 40, self.GUID) return data def OutputString(self): DumpString = ''' Head:%s, GUID:%s '''\ %( self.Head.OutputString(), self.GUID ) return DumpString m_NAtagCGReadCompensation=tagCGReadCompensation() ChNetPackDict[eval("0x%02x%02x"%(m_NAtagCGReadCompensation.Head.Cmd,m_NAtagCGReadCompensation.Head.SubCmd))] = m_NAtagCGReadCompensation #------------------------------------------------------ #A9 A7 ɾ³ýÓʼþ£¨²¹³¥£© #tagCGDelCompensation class tagCGDelCompensation(Structure): Head = tagHead() GUID = "" #(char GUID[40]) data = None def __init__(self): self.Clear() self.Head.Cmd = 0xA9 self.Head.SubCmd = 0xA7 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) return _pos def Clear(self): self.Head = tagHead() self.Head.Clear() self.Head.Cmd = 0xA9 self.Head.SubCmd = 0xA7 self.GUID = "" return def GetLength(self): length = 0 length += self.Head.GetLength() length += 40 return length def GetBuffer(self): data = '' data = CommFunc.WriteString(data, self.Head.GetLength(), self.Head.GetBuffer()) data = CommFunc.WriteString(data, 40, self.GUID) return data def OutputString(self): DumpString = ''' Head:%s, GUID:%s '''\ %( self.Head.OutputString(), self.GUID ) return DumpString m_NAtagCGDelCompensation=tagCGDelCompensation() ChNetPackDict[eval("0x%02x%02x"%(m_NAtagCGDelCompensation.Head.Cmd,m_NAtagCGDelCompensation.Head.SubCmd))] = m_NAtagCGDelCompensation #------------------------------------------------------ # AC 05 ÕÙ¼¯ÏÉÃ˳ÉÔ±´òboss #tagCGCallupFamilyMemberToBoss class tagCGCallupFamilyMemberToBoss(Structure): _pack_ = 1 _fields_ = [ ("Cmd", c_ubyte), ("SubCmd", c_ubyte), ("NPCID", c_int), ] def __init__(self): self.Clear() self.Cmd = 0xAC 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 = 0xAC self.SubCmd = 0x05 self.NPCID = 0 return def GetLength(self): return sizeof(tagCGCallupFamilyMemberToBoss) def GetBuffer(self): return string_at(addressof(self), self.GetLength()) def OutputString(self): DumpString = '''// AC 05 ÕÙ¼¯ÏÉÃ˳ÉÔ±´òboss //tagCGCallupFamilyMemberToBoss: Cmd:%s, SubCmd:%s, NPCID:%d '''\ %( self.Cmd, self.SubCmd, self.NPCID ) return DumpString m_NAtagCGCallupFamilyMemberToBoss=tagCGCallupFamilyMemberToBoss() ChNetPackDict[eval("0x%02x%02x"%(m_NAtagCGCallupFamilyMemberToBoss.Cmd,m_NAtagCGCallupFamilyMemberToBoss.SubCmd))] = m_NAtagCGCallupFamilyMemberToBoss #------------------------------------------------------ # AC 02 ÏÉħ֮ÕùÕ½¶·½áÊø #tagCGXMZZOver class tagCGXMZZOver(Structure): Head = tagHead() IsWin = 0 #(BYTE IsWin)//ÊÇ·ñʤÀû IsEnd = 0 #(BYTE IsEnd)//ÊÇ·ñ½áÊø HPPer = 0 #(BYTE HPPer)//Ê£ÓàѪÁ¿°Ù·Ö±È VSName = "" #(char VSName[33])//¶ÔÊÖÃû×Ö data = None def __init__(self): self.Clear() self.Head.Cmd = 0xAC self.Head.SubCmd = 0x02 return def ReadData(self, _lpData, _pos=0, _Len=0): self.Clear() _pos = self.Head.ReadData(_lpData, _pos) self.IsWin,_pos = CommFunc.ReadBYTE(_lpData, _pos) self.IsEnd,_pos = CommFunc.ReadBYTE(_lpData, _pos) self.HPPer,_pos = CommFunc.ReadBYTE(_lpData, _pos) self.VSName,_pos = CommFunc.ReadString(_lpData, _pos,33) return _pos def Clear(self): self.Head = tagHead() self.Head.Clear() self.Head.Cmd = 0xAC self.Head.SubCmd = 0x02 self.IsWin = 0 self.IsEnd = 0 self.HPPer = 0 self.VSName = "" return def GetLength(self): length = 0 length += self.Head.GetLength() length += 1 length += 1 length += 1 length += 33 return length def GetBuffer(self): data = '' data = CommFunc.WriteString(data, self.Head.GetLength(), self.Head.GetBuffer()) data = CommFunc.WriteBYTE(data, self.IsWin) data = CommFunc.WriteBYTE(data, self.IsEnd) data = CommFunc.WriteBYTE(data, self.HPPer) data = CommFunc.WriteString(data, 33, self.VSName) return data def OutputString(self): DumpString = ''' Head:%s, IsWin:%d, IsEnd:%d, HPPer:%d, VSName:%s '''\ %( self.Head.OutputString(), self.IsWin, self.IsEnd, self.HPPer, self.VSName ) return DumpString m_NAtagCGXMZZOver=tagCGXMZZOver() ChNetPackDict[eval("0x%02x%02x"%(m_NAtagCGXMZZOver.Head.Cmd,m_NAtagCGXMZZOver.Head.SubCmd))] = m_NAtagCGXMZZOver #------------------------------------------------------ # AC 01 ÏÉħ֮Õù±¨Ãû #tagCGJoinXMZZ class tagCGJoinXMZZ(Structure): _pack_ = 1 _fields_ = [ ("Cmd", c_ubyte), ("SubCmd", c_ubyte), ] def __init__(self): self.Clear() self.Cmd = 0xAC self.SubCmd = 0x01 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 = 0x01 return def GetLength(self): return sizeof(tagCGJoinXMZZ) def GetBuffer(self): return string_at(addressof(self), self.GetLength()) def OutputString(self): DumpString = '''// AC 01 ÏÉħ֮Õù±¨Ãû //tagCGJoinXMZZ: Cmd:%s, SubCmd:%s '''\ %( self.Cmd, self.SubCmd ) return DumpString m_NAtagCGJoinXMZZ=tagCGJoinXMZZ() ChNetPackDict[eval("0x%02x%02x"%(m_NAtagCGJoinXMZZ.Cmd,m_NAtagCGJoinXMZZ.SubCmd))] = m_NAtagCGJoinXMZZ #------------------------------------------------------ # AC 04 ²éѯÏÉÃËÇÀBossËùÓÐBossµ±Ç°½ø¶È #tagCGQueryAllFamilyBossHurt class tagCGQueryAllFamilyBossHurt(Structure): _pack_ = 1 _fields_ = [ ("Cmd", c_ubyte), ("SubCmd", c_ubyte), ] def __init__(self): self.Clear() self.Cmd = 0xAC self.SubCmd = 0x04 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 = 0x04 return def GetLength(self): return sizeof(tagCGQueryAllFamilyBossHurt) def GetBuffer(self): return string_at(addressof(self), self.GetLength()) def OutputString(self): DumpString = '''// AC 04 ²éѯÏÉÃËÇÀBossËùÓÐBossµ±Ç°½ø¶È //tagCGQueryAllFamilyBossHurt: Cmd:%s, SubCmd:%s '''\ %( self.Cmd, self.SubCmd ) return DumpString m_NAtagCGQueryAllFamilyBossHurt=tagCGQueryAllFamilyBossHurt() ChNetPackDict[eval("0x%02x%02x"%(m_NAtagCGQueryAllFamilyBossHurt.Cmd,m_NAtagCGQueryAllFamilyBossHurt.SubCmd))] = m_NAtagCGQueryAllFamilyBossHurt #------------------------------------------------------ # AC 03 ÏÉħ֮ÕùÐÅÏ¢²éѯ #tagCGXMZZInfoQuery class tagCGXMZZInfoQuery(Structure): _pack_ = 1 _fields_ = [ ("Cmd", c_ubyte), ("SubCmd", c_ubyte), ] def __init__(self): self.Clear() self.Cmd = 0xAC self.SubCmd = 0x03 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 = 0x03 return def GetLength(self): return sizeof(tagCGXMZZInfoQuery) def GetBuffer(self): return string_at(addressof(self), self.GetLength()) def OutputString(self): DumpString = '''// AC 03 ÏÉħ֮ÕùÐÅÏ¢²éѯ //tagCGXMZZInfoQuery: Cmd:%s, SubCmd:%s '''\ %( self.Cmd, self.SubCmd ) return DumpString m_NAtagCGXMZZInfoQuery=tagCGXMZZInfoQuery() ChNetPackDict[eval("0x%02x%02x"%(m_NAtagCGXMZZInfoQuery.Cmd,m_NAtagCGXMZZInfoQuery.SubCmd))] = m_NAtagCGXMZZInfoQuery #------------------------------------------------------ # AE 07 ÔËïÚʱ¼äµ¹¼ÆÊ±½áÊø #tagCGTruckTimeEnd class tagCGTruckTimeEnd(Structure): _pack_ = 1 _fields_ = [ ("Cmd", c_ubyte), ("SubCmd", c_ubyte), ] def __init__(self): self.Clear() self.Cmd = 0xAE 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 = 0xAE self.SubCmd = 0x07 return def GetLength(self): return sizeof(tagCGTruckTimeEnd) def GetBuffer(self): return string_at(addressof(self), self.GetLength()) def OutputString(self): DumpString = '''// AE 07 ÔËïÚʱ¼äµ¹¼ÆÊ±½áÊø //tagCGTruckTimeEnd: Cmd:%s, SubCmd:%s '''\ %( self.Cmd, self.SubCmd ) return DumpString m_NAtagCGTruckTimeEnd=tagCGTruckTimeEnd() ChNetPackDict[eval("0x%02x%02x"%(m_NAtagCGTruckTimeEnd.Cmd,m_NAtagCGTruckTimeEnd.SubCmd))] = m_NAtagCGTruckTimeEnd #------------------------------------------------------ # B0 13 È¡ÏûЭÖúBoss #tagCGCancelAssistBoss class tagCGCancelAssistBoss(Structure): Head = tagHead() AssistGUID = "" #(char AssistGUID[40])//ЭÖúGUID data = None def __init__(self): self.Clear() self.Head.Cmd = 0xB0 self.Head.SubCmd = 0x13 return def ReadData(self, _lpData, _pos=0, _Len=0): self.Clear() _pos = self.Head.ReadData(_lpData, _pos) self.AssistGUID,_pos = CommFunc.ReadString(_lpData, _pos,40) return _pos def Clear(self): self.Head = tagHead() self.Head.Clear() self.Head.Cmd = 0xB0 self.Head.SubCmd = 0x13 self.AssistGUID = "" return def GetLength(self): length = 0 length += self.Head.GetLength() length += 40 return length def GetBuffer(self): data = '' data = CommFunc.WriteString(data, self.Head.GetLength(), self.Head.GetBuffer()) data = CommFunc.WriteString(data, 40, self.AssistGUID) return data def OutputString(self): DumpString = ''' Head:%s, AssistGUID:%s '''\ %( self.Head.OutputString(), self.AssistGUID ) return DumpString m_NAtagCGCancelAssistBoss=tagCGCancelAssistBoss() ChNetPackDict[eval("0x%02x%02x"%(m_NAtagCGCancelAssistBoss.Head.Cmd,m_NAtagCGCancelAssistBoss.Head.SubCmd))] = m_NAtagCGCancelAssistBoss #------------------------------------------------------ # B0 15 ½ÓÊÕЭÖú¸ÐлÀñÎï #tagCGGetAssistThanksGift class tagCGGetAssistThanksGift(Structure): _pack_ = 1 _fields_ = [ ("Cmd", c_ubyte), ("SubCmd", c_ubyte), ("IsPreview", c_ubyte), #ÊÇ·ñÔ¤ÀÀ£¬·ÇÔ¤ÀÀ¼´È·ÈÏÁìÈ¡£¬ÎÞ¶îÍâ½±ÀøÈ·ÈÏʱҲÐèÒª»Ø¸´ÁìÈ¡°ü´ú±íÒѶÁ ] def __init__(self): self.Clear() self.Cmd = 0xB0 self.SubCmd = 0x15 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 = 0xB0 self.SubCmd = 0x15 self.IsPreview = 0 return def GetLength(self): return sizeof(tagCGGetAssistThanksGift) def GetBuffer(self): return string_at(addressof(self), self.GetLength()) def OutputString(self): DumpString = '''// B0 15 ½ÓÊÕЭÖú¸ÐлÀñÎï //tagCGGetAssistThanksGift: Cmd:%s, SubCmd:%s, IsPreview:%d '''\ %( self.Cmd, self.SubCmd, self.IsPreview ) return DumpString m_NAtagCGGetAssistThanksGift=tagCGGetAssistThanksGift() ChNetPackDict[eval("0x%02x%02x"%(m_NAtagCGGetAssistThanksGift.Cmd,m_NAtagCGGetAssistThanksGift.SubCmd))] = m_NAtagCGGetAssistThanksGift #------------------------------------------------------ # B0 34 ¸£µØÇëÇó½áËã½±Àø #tagCGMineAreaAwardGet class tagCGMineAreaAwardGet(Structure): _pack_ = 1 _fields_ = [ ("Cmd", c_ubyte), ("SubCmd", c_ubyte), ] def __init__(self): self.Clear() self.Cmd = 0xB0 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 = 0xB0 self.SubCmd = 0x34 return def GetLength(self): return sizeof(tagCGMineAreaAwardGet) def GetBuffer(self): return string_at(addressof(self), self.GetLength()) def OutputString(self): DumpString = '''// B0 34 ¸£µØÇëÇó½áËã½±Àø //tagCGMineAreaAwardGet: Cmd:%s, SubCmd:%s '''\ %( self.Cmd, self.SubCmd ) return DumpString m_NAtagCGMineAreaAwardGet=tagCGMineAreaAwardGet() ChNetPackDict[eval("0x%02x%02x"%(m_NAtagCGMineAreaAwardGet.Cmd,m_NAtagCGMineAreaAwardGet.SubCmd))] = m_NAtagCGMineAreaAwardGet #------------------------------------------------------ # B0 33 ¸£µØ²é¿´ #tagCGMineAreaView class tagCGMineAreaView(Structure): _pack_ = 1 _fields_ = [ ("Cmd", c_ubyte), ("SubCmd", c_ubyte), ("QueryType", c_ubyte), # ²éѯͬ²½ÀàÐÍ£º0-ºó¶ËÖ÷¶¯Í¬²½£»1-²é¿´Ö¸¶¨¸£µØ£»2-²é¿´µÀÓѸ£µØÁÐ±í£»3-²é¿´ÖÜÎ§Ëæ»ú¸£µØÁÐ±í£»4-Í˳öËûÈ˸£µØ£»5-²é¿´¼Ç¼ ("QueryValue", c_int), # ²éѯֵ£¬ÀàÐÍ1ʱ-·¢ËÍÄ¿±êÍæ¼ÒID£»3ʱ-·¢ËÍÊÇ·ñÖØÐÂËæ»ú ] def __init__(self): self.Clear() self.Cmd = 0xB0 self.SubCmd = 0x33 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 = 0xB0 self.SubCmd = 0x33 self.QueryType = 0 self.QueryValue = 0 return def GetLength(self): return sizeof(tagCGMineAreaView) def GetBuffer(self): return string_at(addressof(self), self.GetLength()) def OutputString(self): DumpString = '''// B0 33 ¸£µØ²é¿´ //tagCGMineAreaView: Cmd:%s, SubCmd:%s, QueryType:%d, QueryValue:%d '''\ %( self.Cmd, self.SubCmd, self.QueryType, self.QueryValue ) return DumpString m_NAtagCGMineAreaView=tagCGMineAreaView() ChNetPackDict[eval("0x%02x%02x"%(m_NAtagCGMineAreaView.Cmd,m_NAtagCGMineAreaView.SubCmd))] = m_NAtagCGMineAreaView #------------------------------------------------------ #B0 25 ÇëÇó¼Ò×åÐüÉÍÈÎÎñÍê³ÉÇé¿ö #tagQueryFamilyArrestOverState class tagQueryFamilyArrestOverState(Structure): _pack_ = 1 _fields_ = [ ("Cmd", c_ubyte), ("SubCmd", c_ubyte), ] def __init__(self): self.Clear() self.Cmd = 0xB0 self.SubCmd = 0x25 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 = 0xB0 self.SubCmd = 0x25 return def GetLength(self): return sizeof(tagQueryFamilyArrestOverState) def GetBuffer(self): return string_at(addressof(self), self.GetLength()) def OutputString(self): DumpString = '''//B0 25 ÇëÇó¼Ò×åÐüÉÍÈÎÎñÍê³ÉÇé¿ö //tagQueryFamilyArrestOverState: Cmd:%s, SubCmd:%s '''\ %( self.Cmd, self.SubCmd ) return DumpString m_NAtagQueryFamilyArrestOverState=tagQueryFamilyArrestOverState() ChNetPackDict[eval("0x%02x%02x"%(m_NAtagQueryFamilyArrestOverState.Cmd,m_NAtagQueryFamilyArrestOverState.SubCmd))] = m_NAtagQueryFamilyArrestOverState #------------------------------------------------------ # B0 12 ¿ªÊ¼Ð­ÖúBoss #tagCGStartAssistBoss class tagCGStartAssistBoss(Structure): Head = tagHead() AssistGUID = "" #(char AssistGUID[40])//ЭÖúGUID data = None def __init__(self): self.Clear() self.Head.Cmd = 0xB0 self.Head.SubCmd = 0x12 return def ReadData(self, _lpData, _pos=0, _Len=0): self.Clear() _pos = self.Head.ReadData(_lpData, _pos) self.AssistGUID,_pos = CommFunc.ReadString(_lpData, _pos,40) return _pos def Clear(self): self.Head = tagHead() self.Head.Clear() self.Head.Cmd = 0xB0 self.Head.SubCmd = 0x12 self.AssistGUID = "" return def GetLength(self): length = 0 length += self.Head.GetLength() length += 40 return length def GetBuffer(self): data = '' data = CommFunc.WriteString(data, self.Head.GetLength(), self.Head.GetBuffer()) data = CommFunc.WriteString(data, 40, self.AssistGUID) return data def OutputString(self): DumpString = ''' Head:%s, AssistGUID:%s '''\ %( self.Head.OutputString(), self.AssistGUID ) return DumpString m_NAtagCGStartAssistBoss=tagCGStartAssistBoss() ChNetPackDict[eval("0x%02x%02x"%(m_NAtagCGStartAssistBoss.Head.Cmd,m_NAtagCGStartAssistBoss.Head.SubCmd))] = m_NAtagCGStartAssistBoss #------------------------------------------------------ # B0 14 ʹÓÃЭÖú¸ÐлÀñºÐ #tagCGUseAssistThanksGift class tagCGUseAssistThanksGift(Structure): _pack_ = 1 _fields_ = [ ("Cmd", c_ubyte), ("SubCmd", c_ubyte), ("ItemID", c_int), ("IsPreview", c_ubyte), #ÊÇ·ñÔ¤ÀÀ£¬·ÇÔ¤ÀÀ¼´È·ÈÏʹÓà ] def __init__(self): self.Clear() self.Cmd = 0xB0 self.SubCmd = 0x14 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 = 0xB0 self.SubCmd = 0x14 self.ItemID = 0 self.IsPreview = 0 return def GetLength(self): return sizeof(tagCGUseAssistThanksGift) def GetBuffer(self): return string_at(addressof(self), self.GetLength()) def OutputString(self): DumpString = '''// B0 14 ʹÓÃЭÖú¸ÐлÀñºÐ //tagCGUseAssistThanksGift: Cmd:%s, SubCmd:%s, ItemID:%d, IsPreview:%d '''\ %( self.Cmd, self.SubCmd, self.ItemID, self.IsPreview ) return DumpString m_NAtagCGUseAssistThanksGift=tagCGUseAssistThanksGift() ChNetPackDict[eval("0x%02x%02x"%(m_NAtagCGUseAssistThanksGift.Cmd,m_NAtagCGUseAssistThanksGift.SubCmd))] = m_NAtagCGUseAssistThanksGift #------------------------------------------------------ # B0 20 ÇëÇóĤ°ÝÍæ¼Ò #tagCGWorship class tagCGWorship(Structure): _pack_ = 1 _fields_ = [ ("Cmd", c_ubyte), ("SubCmd", c_ubyte), ("PlayerID", c_int), # Ä¿±êÍæ¼ÒID ("WorshipType", c_ubyte), # Ĥ°ÝÀàÐÍ ("WorshipValue", c_int), # Ĥ°ÝÀàÐͶÔÓ¦µÄ¹¦ÄÜÖµ£¬ÈçÃû´Î»òÆäËû£¬ÓɾßÌåĤ°ÝÀàÐͶ¨Òå¶ÔÓ¦Öµº¬Òå ] def __init__(self): self.Clear() self.Cmd = 0xB0 self.SubCmd = 0x20 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 = 0xB0 self.SubCmd = 0x20 self.PlayerID = 0 self.WorshipType = 0 self.WorshipValue = 0 return def GetLength(self): return sizeof(tagCGWorship) def GetBuffer(self): return string_at(addressof(self), self.GetLength()) def OutputString(self): DumpString = '''// B0 20 ÇëÇóĤ°ÝÍæ¼Ò //tagCGWorship: Cmd:%s, SubCmd:%s, PlayerID:%d, WorshipType:%d, WorshipValue:%d '''\ %( self.Cmd, self.SubCmd, self.PlayerID, self.WorshipType, self.WorshipValue ) return DumpString m_NAtagCGWorship=tagCGWorship() ChNetPackDict[eval("0x%02x%02x"%(m_NAtagCGWorship.Cmd,m_NAtagCGWorship.SubCmd))] = m_NAtagCGWorship #------------------------------------------------------ # B3 19 ÌáÉý÷ÈÁ¦µÈ¼¶ #tagCGCharmLVUp class tagCGCharmLVUp(Structure): _pack_ = 1 _fields_ = [ ("Cmd", c_ubyte), ("SubCmd", c_ubyte), ] def __init__(self): self.Clear() self.Cmd = 0xB3 self.SubCmd = 0x19 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 = 0xB3 self.SubCmd = 0x19 return def GetLength(self): return sizeof(tagCGCharmLVUp) def GetBuffer(self): return string_at(addressof(self), self.GetLength()) def OutputString(self): DumpString = '''// B3 19 ÌáÉý÷ÈÁ¦µÈ¼¶ //tagCGCharmLVUp: Cmd:%s, SubCmd:%s '''\ %( self.Cmd, self.SubCmd ) return DumpString m_NAtagCGCharmLVUp=tagCGCharmLVUp() ChNetPackDict[eval("0x%02x%02x"%(m_NAtagCGCharmLVUp.Cmd,m_NAtagCGCharmLVUp.SubCmd))] = m_NAtagCGCharmLVUp #------------------------------------------------------ # B3 09 ÷ÈÁ¦¹±Ï×°ñ²é¿´ #tagCGCharmOfferBillboardQuery class tagCGCharmOfferBillboardQuery(Structure): _pack_ = 1 _fields_ = [ ("Cmd", c_ubyte), ("SubCmd", c_ubyte), ("PlayerID", c_int), # ÷ÈÁ¦Íæ¼ÒID ("QueryType", c_ubyte), # ²é¿´ÀàÐÍ£º 1-×ܰñ£¬2-Öܰñ£¬3-ÈÕ°ñ ("QueryCount", c_ubyte), # ²é¿´Ãû´ÎÊýÁ¿£¬×î´ó255 ] def __init__(self): self.Clear() self.Cmd = 0xB3 self.SubCmd = 0x09 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 = 0xB3 self.SubCmd = 0x09 self.PlayerID = 0 self.QueryType = 0 self.QueryCount = 0 return def GetLength(self): return sizeof(tagCGCharmOfferBillboardQuery) def GetBuffer(self): return string_at(addressof(self), self.GetLength()) def OutputString(self): DumpString = '''// B3 09 ÷ÈÁ¦¹±Ï×°ñ²é¿´ //tagCGCharmOfferBillboardQuery: Cmd:%s, SubCmd:%s, PlayerID:%d, QueryType:%d, QueryCount:%d '''\ %( self.Cmd, self.SubCmd, self.PlayerID, self.QueryType, self.QueryCount ) return DumpString m_NAtagCGCharmOfferBillboardQuery=tagCGCharmOfferBillboardQuery() ChNetPackDict[eval("0x%02x%02x"%(m_NAtagCGCharmOfferBillboardQuery.Cmd,m_NAtagCGCharmOfferBillboardQuery.SubCmd))] = m_NAtagCGCharmOfferBillboardQuery #------------------------------------------------------ # B3 16 ºÍƽÀë»é»ØÓ¦ #tagGCMarryBreakResponse class tagGCMarryBreakResponse(Structure): _pack_ = 1 _fields_ = [ ("Cmd", c_ubyte), ("SubCmd", c_ubyte), ("IsOK", c_ubyte), # ÊÇ·ñͬÒ⣬0-·ñ£¬1-ÊÇ ] def __init__(self): self.Clear() self.Cmd = 0xB3 self.SubCmd = 0x16 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 = 0xB3 self.SubCmd = 0x16 self.IsOK = 0 return def GetLength(self): return sizeof(tagGCMarryBreakResponse) def GetBuffer(self): return string_at(addressof(self), self.GetLength()) def OutputString(self): DumpString = '''// B3 16 ºÍƽÀë»é»ØÓ¦ //tagGCMarryBreakResponse: Cmd:%s, SubCmd:%s, IsOK:%d '''\ %( self.Cmd, self.SubCmd, self.IsOK ) return DumpString m_NAtagGCMarryBreakResponse=tagGCMarryBreakResponse() ChNetPackDict[eval("0x%02x%02x"%(m_NAtagGCMarryBreakResponse.Cmd,m_NAtagGCMarryBreakResponse.SubCmd))] = m_NAtagGCMarryBreakResponse #------------------------------------------------------ # B3 12 ÌáÇ×»ØÓ¦ #tagCGMarryResponse class tagCGMarryResponse(Structure): _pack_ = 1 _fields_ = [ ("Cmd", c_ubyte), ("SubCmd", c_ubyte), ("ReqPlayerID", c_int), # ÌáÇ×µÄÍæ¼ÒID ("IsOK", c_ubyte), # ÊÇ·ñͬÒ⣬0-·ñ£¬1-ÊÇ ] def __init__(self): self.Clear() self.Cmd = 0xB3 self.SubCmd = 0x12 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 = 0xB3 self.SubCmd = 0x12 self.ReqPlayerID = 0 self.IsOK = 0 return def GetLength(self): return sizeof(tagCGMarryResponse) def GetBuffer(self): return string_at(addressof(self), self.GetLength()) def OutputString(self): DumpString = '''// B3 12 ÌáÇ×»ØÓ¦ //tagCGMarryResponse: Cmd:%s, SubCmd:%s, ReqPlayerID:%d, IsOK:%d '''\ %( self.Cmd, self.SubCmd, self.ReqPlayerID, self.IsOK ) return DumpString m_NAtagCGMarryResponse=tagCGMarryResponse() ChNetPackDict[eval("0x%02x%02x"%(m_NAtagCGMarryResponse.Cmd,m_NAtagCGMarryResponse.SubCmd))] = m_NAtagCGMarryResponse #------------------------------------------------------ #B3 04 ¼ÓÈëºÚÃûµ¥ #tagCGAddBlackList class tagCGAddBlackList(Structure): _pack_ = 1 _fields_ = [ ("Cmd", c_ubyte), ("SubCmd", c_ubyte), ("TagID", c_int), #Íæ¼ÒID ] def __init__(self): self.Clear() self.Cmd = 0xB3 self.SubCmd = 0x04 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 = 0xB3 self.SubCmd = 0x04 self.TagID = 0 return def GetLength(self): return sizeof(tagCGAddBlackList) def GetBuffer(self): return string_at(addressof(self), self.GetLength()) def OutputString(self): DumpString = '''//B3 04 ¼ÓÈëºÚÃûµ¥ //tagCGAddBlackList: Cmd:%s, SubCmd:%s, TagID:%d '''\ %( self.Cmd, self.SubCmd, self.TagID ) return DumpString m_NAtagCGAddBlackList=tagCGAddBlackList() ChNetPackDict[eval("0x%02x%02x"%(m_NAtagCGAddBlackList.Cmd,m_NAtagCGAddBlackList.SubCmd))] = m_NAtagCGAddBlackList #------------------------------------------------------ #B3 01 Ìí¼ÓºÃÓÑ#tagCGAddFriend class tagCGAddFriend(Structure): Head = tagHead() TagName = "" #(char TagName[33])//Íæ¼ÒÃû³Æ TagID = 0 #(DWORD TagID)//Íæ¼ÒID data = None def __init__(self): self.Clear() self.Head.Cmd = 0xB3 self.Head.SubCmd = 0x01 return def ReadData(self, _lpData, _pos=0, _Len=0): self.Clear() _pos = self.Head.ReadData(_lpData, _pos) self.TagName,_pos = CommFunc.ReadString(_lpData, _pos,33) self.TagID,_pos = CommFunc.ReadDWORD(_lpData, _pos) return _pos def Clear(self): self.Head = tagHead() self.Head.Clear() self.Head.Cmd = 0xB3 self.Head.SubCmd = 0x01 self.TagName = "" self.TagID = 0 return def GetLength(self): length = 0 length += self.Head.GetLength() length += 33 length += 4 return length def GetBuffer(self): data = '' data = CommFunc.WriteString(data, self.Head.GetLength(), self.Head.GetBuffer()) data = CommFunc.WriteString(data, 33, self.TagName) data = CommFunc.WriteDWORD(data, self.TagID) return data def OutputString(self): DumpString = ''' Head:%s, TagName:%s, TagID:%d '''\ %( self.Head.OutputString(), self.TagName, self.TagID ) return DumpString m_NAtagCGAddFriend=tagCGAddFriend() ChNetPackDict[eval("0x%02x%02x"%(m_NAtagCGAddFriend.Head.Cmd,m_NAtagCGAddFriend.Head.SubCmd))] = m_NAtagCGAddFriend #------------------------------------------------------ #B3 05 ÒÆ³ýºÚÃûµ¥ #tagCGDelBlackList class tagCGDelBlackList(Structure): _pack_ = 1 _fields_ = [ ("Cmd", c_ubyte), ("SubCmd", c_ubyte), ("TagID", c_int), ] def __init__(self): self.Clear() self.Cmd = 0xB3 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 = 0xB3 self.SubCmd = 0x05 self.TagID = 0 return def GetLength(self): return sizeof(tagCGDelBlackList) def GetBuffer(self): return string_at(addressof(self), self.GetLength()) def OutputString(self): DumpString = '''//B3 05 ÒÆ³ýºÚÃûµ¥ //tagCGDelBlackList: Cmd:%s, SubCmd:%s, TagID:%d '''\ %( self.Cmd, self.SubCmd, self.TagID ) return DumpString m_NAtagCGDelBlackList=tagCGDelBlackList() ChNetPackDict[eval("0x%02x%02x"%(m_NAtagCGDelBlackList.Cmd,m_NAtagCGDelBlackList.SubCmd))] = m_NAtagCGDelBlackList #------------------------------------------------------ #B3 02 ɾ³ýºÃÓÑ#tagCGDeleteFriend class tagCGDeleteFriend(Structure): _pack_ = 1 _fields_ = [ ("Cmd", c_ubyte), ("SubCmd", c_ubyte), ("FriendID", c_int), ] def __init__(self): self.Clear() self.Cmd = 0xB3 self.SubCmd = 0x02 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 = 0xB3 self.SubCmd = 0x02 self.FriendID = 0 return def GetLength(self): return sizeof(tagCGDeleteFriend) def GetBuffer(self): return string_at(addressof(self), self.GetLength()) def OutputString(self): DumpString = '''//B3 02 ɾ³ýºÃÓÑ//tagCGDeleteFriend: Cmd:%s, SubCmd:%s, FriendID:%d '''\ %( self.Cmd, self.SubCmd, self.FriendID ) return DumpString m_NAtagCGDeleteFriend=tagCGDeleteFriend() ChNetPackDict[eval("0x%02x%02x"%(m_NAtagCGDeleteFriend.Cmd,m_NAtagCGDeleteFriend.SubCmd))] = m_NAtagCGDeleteFriend #------------------------------------------------------ #B3 06 ²éÑ¯Íæ¼ÒµÄ¼ò¶ÌÐÅÏ¢ #tagCGViewPlayerShortInfo class tagCGViewPlayerShortInfo(Structure): _pack_ = 1 _fields_ = [ ("Cmd", c_ubyte), ("SubCmd", c_ubyte), ("PlayerID", c_int), ] def __init__(self): self.Clear() self.Cmd = 0xB3 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 = 0xB3 self.SubCmd = 0x06 self.PlayerID = 0 return def GetLength(self): return sizeof(tagCGViewPlayerShortInfo) def GetBuffer(self): return string_at(addressof(self), self.GetLength()) def OutputString(self): DumpString = '''//B3 06 ²éÑ¯Íæ¼ÒµÄ¼ò¶ÌÐÅÏ¢ //tagCGViewPlayerShortInfo: Cmd:%s, SubCmd:%s, PlayerID:%d '''\ %( self.Cmd, self.SubCmd, self.PlayerID ) return DumpString m_NAtagCGViewPlayerShortInfo=tagCGViewPlayerShortInfo() ChNetPackDict[eval("0x%02x%02x"%(m_NAtagCGViewPlayerShortInfo.Cmd,m_NAtagCGViewPlayerShortInfo.SubCmd))] = m_NAtagCGViewPlayerShortInfo #------------------------------------------------------ #B3 07 ÓïÒôÁÄÌì #tagCGVoiceChat class tagCGVoiceChat(Structure): Head = tagHead() ChannelType = 0 #(BYTE ChannelType)// 1 ÊÀ½ç 2 ÏÉÃË 3 ˽ÁÄ(ºÃÓÑ) 4 ¶ÓÎé -------²é¿´·â°ütagCMVoiceChat 5 ÇøÓò TargetNameLen = 0 #(BYTE TargetNameLen) TargetName = "" #(String TargetName)//size = TargetNameLen TargetID = 0 #(DWORD TargetID)// ĬÈÏ·¢Íæ¼ÒID£¬Ã»ÓÐID²Å·¢Ãû³Æ Len = 0 #(WORD Len) Content = list() #(vector Content)//size = Len data = None def __init__(self): self.Clear() self.Head.Cmd = 0xB3 self.Head.SubCmd = 0x07 return def ReadData(self, _lpData, _pos=0, _Len=0): self.Clear() _pos = self.Head.ReadData(_lpData, _pos) self.ChannelType,_pos = CommFunc.ReadBYTE(_lpData, _pos) self.TargetNameLen,_pos = CommFunc.ReadBYTE(_lpData, _pos) self.TargetName,_pos = CommFunc.ReadString(_lpData, _pos,self.TargetNameLen) self.TargetID,_pos = CommFunc.ReadDWORD(_lpData, _pos) self.Len,_pos = CommFunc.ReadWORD(_lpData, _pos) for i in range(self.Len): value,_pos=CommFunc.ReadBYTE(_lpData,_pos) self.Content.append(value) return _pos def Clear(self): self.Head = tagHead() self.Head.Clear() self.Head.Cmd = 0xB3 self.Head.SubCmd = 0x07 self.ChannelType = 0 self.TargetNameLen = 0 self.TargetName = "" self.TargetID = 0 self.Len = 0 self.Content = list() return def GetLength(self): length = 0 length += self.Head.GetLength() length += 1 length += 1 length += len(self.TargetName) length += 4 length += 2 length += 1 * self.Len return length def GetBuffer(self): data = '' data = CommFunc.WriteString(data, self.Head.GetLength(), self.Head.GetBuffer()) data = CommFunc.WriteBYTE(data, self.ChannelType) data = CommFunc.WriteBYTE(data, self.TargetNameLen) data = CommFunc.WriteString(data, self.TargetNameLen, self.TargetName) data = CommFunc.WriteDWORD(data, self.TargetID) data = CommFunc.WriteWORD(data, self.Len) for i in range(self.Len): data = CommFunc.WriteBYTE(data, self.Content[i]) return data def OutputString(self): DumpString = ''' Head:%s, ChannelType:%d, TargetNameLen:%d, TargetName:%s, TargetID:%d, Len:%d, Content:%s '''\ %( self.Head.OutputString(), self.ChannelType, self.TargetNameLen, self.TargetName, self.TargetID, self.Len, "..." ) return DumpString m_NAtagCGVoiceChat=tagCGVoiceChat() ChNetPackDict[eval("0x%02x%02x"%(m_NAtagCGVoiceChat.Head.Cmd,m_NAtagCGVoiceChat.Head.SubCmd))] = m_NAtagCGVoiceChat #------------------------------------------------------ #B3 03 ÊÇ·ñÔÊÐí¼ÓÈëºÃÓѵĻØÓ¦#tagCGJoinFriendAnswer class tagCGJoinFriendAnswer(Structure): _pack_ = 1 _fields_ = [ ("Cmd", c_ubyte), ("SubCmd", c_ubyte), ("TagID", c_int), ("Answer", c_ubyte), #0: ¾Ü¾ø 1: ½ÓÊÜ ] def __init__(self): self.Clear() self.Cmd = 0xB3 self.SubCmd = 0x03 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 = 0xB3 self.SubCmd = 0x03 self.TagID = 0 self.Answer = 0 return def GetLength(self): return sizeof(tagCGJoinFriendAnswer) def GetBuffer(self): return string_at(addressof(self), self.GetLength()) def OutputString(self): DumpString = '''//B3 03 ÊÇ·ñÔÊÐí¼ÓÈëºÃÓѵĻØÓ¦//tagCGJoinFriendAnswer: Cmd:%s, SubCmd:%s, TagID:%d, Answer:%d '''\ %( self.Cmd, self.SubCmd, self.TagID, self.Answer ) return DumpString m_NAtagCGJoinFriendAnswer=tagCGJoinFriendAnswer() ChNetPackDict[eval("0x%02x%02x"%(m_NAtagCGJoinFriendAnswer.Cmd,m_NAtagCGJoinFriendAnswer.SubCmd))] = m_NAtagCGJoinFriendAnswer #------------------------------------------------------ # B5 18 ÅÄÂôÐÐÐ޸ĹØ×¢ÎïÆ· #tagCGAttentionAuctionItemChange class tagCGAttentionAuctionItemChange(Structure): _pack_ = 1 _fields_ = [ ("Cmd", c_ubyte), ("SubCmd", c_ubyte), ("ItemID", c_int), ("IsAttention", c_ubyte), #ÊÇ·ñ¹Ø×¢£¬È¡Ïû¹Ø×¢·¢0 ] def __init__(self): self.Clear() self.Cmd = 0xB5 self.SubCmd = 0x18 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 = 0xB5 self.SubCmd = 0x18 self.ItemID = 0 self.IsAttention = 0 return def GetLength(self): return sizeof(tagCGAttentionAuctionItemChange) def GetBuffer(self): return string_at(addressof(self), self.GetLength()) def OutputString(self): DumpString = '''// B5 18 ÅÄÂôÐÐÐ޸ĹØ×¢ÎïÆ· //tagCGAttentionAuctionItemChange: Cmd:%s, SubCmd:%s, ItemID:%d, IsAttention:%d '''\ %( self.Cmd, self.SubCmd, self.ItemID, self.IsAttention ) return DumpString m_NAtagCGAttentionAuctionItemChange=tagCGAttentionAuctionItemChange() ChNetPackDict[eval("0x%02x%02x"%(m_NAtagCGAttentionAuctionItemChange.Cmd,m_NAtagCGAttentionAuctionItemChange.SubCmd))] = m_NAtagCGAttentionAuctionItemChange #------------------------------------------------------ # B5 03 ½»Ò×Ëù²éѯÉϼÜÎïÆ·#tagCGPYQueryBourseItemOnSale class tagCGPYQueryBourseItemOnSale(Structure): Head = tagHead() QueryType = 0 #(DWORD QueryType)//²éѯµÄ·ÖÀà±êʶ ItemName = "" #(char ItemName[33])//ÎïÆ·Ãû£¨Ä£ºý²éѯ) ItemID = 0 #(DWORD ItemID)//ÎïÆ·ID data = None def __init__(self): self.Clear() self.Head.Cmd = 0xB5 self.Head.SubCmd = 0x03 return def ReadData(self, _lpData, _pos=0, _Len=0): self.Clear() _pos = self.Head.ReadData(_lpData, _pos) self.QueryType,_pos = CommFunc.ReadDWORD(_lpData, _pos) self.ItemName,_pos = CommFunc.ReadString(_lpData, _pos,33) self.ItemID,_pos = CommFunc.ReadDWORD(_lpData, _pos) return _pos def Clear(self): self.Head = tagHead() self.Head.Clear() self.Head.Cmd = 0xB5 self.Head.SubCmd = 0x03 self.QueryType = 0 self.ItemName = "" self.ItemID = 0 return def GetLength(self): length = 0 length += self.Head.GetLength() length += 4 length += 33 length += 4 return length def GetBuffer(self): data = '' data = CommFunc.WriteString(data, self.Head.GetLength(), self.Head.GetBuffer()) data = CommFunc.WriteDWORD(data, self.QueryType) data = CommFunc.WriteString(data, 33, self.ItemName) data = CommFunc.WriteDWORD(data, self.ItemID) return data def OutputString(self): DumpString = ''' Head:%s, QueryType:%d, ItemName:%s, ItemID:%d '''\ %( self.Head.OutputString(), self.QueryType, self.ItemName, self.ItemID ) return DumpString m_NAtagCGPYQueryBourseItemOnSale=tagCGPYQueryBourseItemOnSale() ChNetPackDict[eval("0x%02x%02x"%(m_NAtagCGPYQueryBourseItemOnSale.Head.Cmd,m_NAtagCGPYQueryBourseItemOnSale.Head.SubCmd))] = m_NAtagCGPYQueryBourseItemOnSale #------------------------------------------------------ # B5 16 ÅÄÂôÐвéѯ¹Ø×¢ÖеÄÅÄÆ· #tagCGQueryAttentionAuctionItem class tagCGQueryAttentionAuctionItem(Structure): _pack_ = 1 _fields_ = [ ("Cmd", c_ubyte), ("SubCmd", c_ubyte), ] def __init__(self): self.Clear() self.Cmd = 0xB5 self.SubCmd = 0x16 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 = 0xB5 self.SubCmd = 0x16 return def GetLength(self): return sizeof(tagCGQueryAttentionAuctionItem) def GetBuffer(self): return string_at(addressof(self), self.GetLength()) def OutputString(self): DumpString = '''// B5 16 ÅÄÂôÐвéѯ¹Ø×¢ÖеÄÅÄÆ· //tagCGQueryAttentionAuctionItem: Cmd:%s, SubCmd:%s '''\ %( self.Cmd, self.SubCmd ) return DumpString m_NAtagCGQueryAttentionAuctionItem=tagCGQueryAttentionAuctionItem() ChNetPackDict[eval("0x%02x%02x"%(m_NAtagCGQueryAttentionAuctionItem.Cmd,m_NAtagCGQueryAttentionAuctionItem.SubCmd))] = m_NAtagCGQueryAttentionAuctionItem #------------------------------------------------------ # B5 10 ÅÄÂôÐвéѯÅÄÂôÖеÄÎïÆ· #tagCGQueryAuctionItem class tagCGQueryAuctionItem(Structure): Head = tagHead() Job = 0 #(BYTE Job)//¹ýÂËÖ°Òµ£¬0Ϊ²»ÏÞÖÆ ItemTypeCount = 0 #(BYTE ItemTypeCount) ItemTypeList = list() #(vector ItemTypeList)//Ö¸¶¨µÄÎïÆ·ÀàÐÍ ClassLV = 0 #(BYTE ClassLV)//¹ýÂ˽×Êý£¬0Ϊ²»ÏÞÖÆ SpecItemIDCount = 0 #(BYTE SpecItemIDCount)//Ö¸¶¨ÎïÆ·ID¸öÊý SpecItemIDList = list() #(vector SpecItemIDList)//Ö¸¶¨ÎïÆ·ID FromItemGUID = "" #(char FromItemGUID[40])//´ÓÄĸöÎïÆ·¿ªÊ¼²éѯ QueryDir = 0 #(BYTE QueryDir)//²éѯ·½Ïò£¬1-Íùºó²é£¬2-Íùǰ²é QueryCount = 0 #(BYTE QueryCount)//²éѯ¸öÊý£¬0Ϊȫ²¿ data = None def __init__(self): self.Clear() self.Head.Cmd = 0xB5 self.Head.SubCmd = 0x10 return def ReadData(self, _lpData, _pos=0, _Len=0): self.Clear() _pos = self.Head.ReadData(_lpData, _pos) self.Job,_pos = CommFunc.ReadBYTE(_lpData, _pos) self.ItemTypeCount,_pos = CommFunc.ReadBYTE(_lpData, _pos) for i in range(self.ItemTypeCount): value,_pos=CommFunc.ReadDWORD(_lpData,_pos) self.ItemTypeList.append(value) self.ClassLV,_pos = CommFunc.ReadBYTE(_lpData, _pos) self.SpecItemIDCount,_pos = CommFunc.ReadBYTE(_lpData, _pos) for i in range(self.SpecItemIDCount): value,_pos=CommFunc.ReadDWORD(_lpData,_pos) self.SpecItemIDList.append(value) self.FromItemGUID,_pos = CommFunc.ReadString(_lpData, _pos,40) self.QueryDir,_pos = CommFunc.ReadBYTE(_lpData, _pos) self.QueryCount,_pos = CommFunc.ReadBYTE(_lpData, _pos) return _pos def Clear(self): self.Head = tagHead() self.Head.Clear() self.Head.Cmd = 0xB5 self.Head.SubCmd = 0x10 self.Job = 0 self.ItemTypeCount = 0 self.ItemTypeList = list() self.ClassLV = 0 self.SpecItemIDCount = 0 self.SpecItemIDList = list() self.FromItemGUID = "" self.QueryDir = 0 self.QueryCount = 0 return def GetLength(self): length = 0 length += self.Head.GetLength() length += 1 length += 1 length += 4 * self.ItemTypeCount length += 1 length += 1 length += 4 * self.SpecItemIDCount length += 40 length += 1 length += 1 return length def GetBuffer(self): data = '' data = CommFunc.WriteString(data, self.Head.GetLength(), self.Head.GetBuffer()) data = CommFunc.WriteBYTE(data, self.Job) data = CommFunc.WriteBYTE(data, self.ItemTypeCount) for i in range(self.ItemTypeCount): data = CommFunc.WriteDWORD(data, self.ItemTypeList[i]) data = CommFunc.WriteBYTE(data, self.ClassLV) data = CommFunc.WriteBYTE(data, self.SpecItemIDCount) for i in range(self.SpecItemIDCount): data = CommFunc.WriteDWORD(data, self.SpecItemIDList[i]) data = CommFunc.WriteString(data, 40, self.FromItemGUID) data = CommFunc.WriteBYTE(data, self.QueryDir) data = CommFunc.WriteBYTE(data, self.QueryCount) return data def OutputString(self): DumpString = ''' Head:%s, Job:%d, ItemTypeCount:%d, ItemTypeList:%s, ClassLV:%d, SpecItemIDCount:%d, SpecItemIDList:%s, FromItemGUID:%s, QueryDir:%d, QueryCount:%d '''\ %( self.Head.OutputString(), self.Job, self.ItemTypeCount, "...", self.ClassLV, self.SpecItemIDCount, "...", self.FromItemGUID, self.QueryDir, self.QueryCount ) return DumpString m_NAtagCGQueryAuctionItem=tagCGQueryAuctionItem() ChNetPackDict[eval("0x%02x%02x"%(m_NAtagCGQueryAuctionItem.Head.Cmd,m_NAtagCGQueryAuctionItem.Head.SubCmd))] = m_NAtagCGQueryAuctionItem #------------------------------------------------------ # B5 12 ÅÄÂôÐвéѯÅÄÂô¼Ç¼ #tagCGQueryAuctionRecord class tagCGQueryAuctionRecord(Structure): _pack_ = 1 _fields_ = [ ("Cmd", c_ubyte), ("SubCmd", c_ubyte), ("RecordType", c_ubyte), #¼Ç¼ÀàÐÍ 0-ÎÒµÄÅÄÆ·¼Ç¼ 1-ÏÉÃËÅÄÆ·¼Ç¼ 2-ÎҵľºÅļǼ ] def __init__(self): self.Clear() self.Cmd = 0xB5 self.SubCmd = 0x12 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 = 0xB5 self.SubCmd = 0x12 self.RecordType = 0 return def GetLength(self): return sizeof(tagCGQueryAuctionRecord) def GetBuffer(self): return string_at(addressof(self), self.GetLength()) def OutputString(self): DumpString = '''// B5 12 ÅÄÂôÐвéѯÅÄÂô¼Ç¼ //tagCGQueryAuctionRecord: Cmd:%s, SubCmd:%s, RecordType:%d '''\ %( self.Cmd, self.SubCmd, self.RecordType ) return DumpString m_NAtagCGQueryAuctionRecord=tagCGQueryAuctionRecord() ChNetPackDict[eval("0x%02x%02x"%(m_NAtagCGQueryAuctionRecord.Cmd,m_NAtagCGQueryAuctionRecord.SubCmd))] = m_NAtagCGQueryAuctionRecord #------------------------------------------------------ # B5 17 ÅÄÂôÐвéѯ¶¨Î»Ä¿±êÅÄÆ· #tagCGQueryTagAuctionItem class tagCGQueryTagAuctionItem(Structure): Head = tagHead() ItemGUID = "" #(char ItemGUID[40]) ItemID = 0 #(DWORD ItemID) data = None def __init__(self): self.Clear() self.Head.Cmd = 0xB5 self.Head.SubCmd = 0x17 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) return _pos def Clear(self): self.Head = tagHead() self.Head.Clear() self.Head.Cmd = 0xB5 self.Head.SubCmd = 0x17 self.ItemGUID = "" self.ItemID = 0 return def GetLength(self): length = 0 length += self.Head.GetLength() length += 40 length += 4 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) return data def OutputString(self): DumpString = ''' Head:%s, ItemGUID:%s, ItemID:%d '''\ %( self.Head.OutputString(), self.ItemGUID, self.ItemID ) return DumpString m_NAtagCGQueryTagAuctionItem=tagCGQueryTagAuctionItem() ChNetPackDict[eval("0x%02x%02x"%(m_NAtagCGQueryTagAuctionItem.Head.Cmd,m_NAtagCGQueryTagAuctionItem.Head.SubCmd))] = m_NAtagCGQueryTagAuctionItem #------------------------------------------------------ # B9 07 ×Ô¶¯Æ¥Åä¶ÓÎé»òÍæ¼Ò #tagCGAutoMatchTeam class tagCGAutoMatchTeam(Structure): _pack_ = 1 _fields_ = [ ("Cmd", c_ubyte), ("SubCmd", c_ubyte), ("TagMapID", c_int), # Ä¿±êµØÍ¼; ·¢0´ú±íÆ¥Å䵱ǰ³¡¾°µÄ ("TagMapEx", c_ushort), # Ä¿±êµØÍ¼À©Õ¹ ] def __init__(self): self.Clear() self.Cmd = 0xB9 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 = 0xB9 self.SubCmd = 0x07 self.TagMapID = 0 self.TagMapEx = 0 return def GetLength(self): return sizeof(tagCGAutoMatchTeam) def GetBuffer(self): return string_at(addressof(self), self.GetLength()) def OutputString(self): DumpString = '''// B9 07 ×Ô¶¯Æ¥Åä¶ÓÎé»òÍæ¼Ò //tagCGAutoMatchTeam: Cmd:%s, SubCmd:%s, TagMapID:%d, TagMapEx:%d '''\ %( self.Cmd, self.SubCmd, self.TagMapID, self.TagMapEx ) return DumpString m_NAtagCGAutoMatchTeam=tagCGAutoMatchTeam() ChNetPackDict[eval("0x%02x%02x"%(m_NAtagCGAutoMatchTeam.Cmd,m_NAtagCGAutoMatchTeam.SubCmd))] = m_NAtagCGAutoMatchTeam #------------------------------------------------------ # B9 08 È¡ÏûÆ¥Åä¶ÓÎé»òÍæ¼Ò #tagCGCancelMatchTeam class tagCGCancelMatchTeam(Structure): _pack_ = 1 _fields_ = [ ("Cmd", c_ubyte), ("SubCmd", c_ubyte), ] def __init__(self): self.Clear() self.Cmd = 0xB9 self.SubCmd = 0x08 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 = 0xB9 self.SubCmd = 0x08 return def GetLength(self): return sizeof(tagCGCancelMatchTeam) def GetBuffer(self): return string_at(addressof(self), self.GetLength()) def OutputString(self): DumpString = '''// B9 08 È¡ÏûÆ¥Åä¶ÓÎé»òÍæ¼Ò //tagCGCancelMatchTeam: Cmd:%s, SubCmd:%s '''\ %( self.Cmd, self.SubCmd ) return DumpString m_NAtagCGCancelMatchTeam=tagCGCancelMatchTeam() ChNetPackDict[eval("0x%02x%02x"%(m_NAtagCGCancelMatchTeam.Cmd,m_NAtagCGCancelMatchTeam.SubCmd))] = m_NAtagCGCancelMatchTeam #------------------------------------------------------ # B9 21 Ð޸ŦÄܶÓÎé #tagCGChangeFuncTeam class tagCGChangeFuncTeam(Structure): _pack_ = 1 _fields_ = [ ("Cmd", c_ubyte), ("SubCmd", c_ubyte), ("TeamID", c_int), ("FuncMapID", c_int), # ¹¦ÄܵØÍ¼ID»ò×Ô¶¨ÒåµÄ»î¶¯¹¦ÄÜID ("MinLV", c_ushort), #×îµÍµÈ¼¶ÏÞÖÆ ("MinFightPower", c_int), #×îµÍÕ½Á¦ÏÞÖÆ£¬ÇóÓàÒÚ ("MinFightPowerEx", c_int), #×îµÍÕ½Á¦ÏÞÖÆ£¬Õû³ýÒÚ ("ServerOnly", c_ubyte), #ÊÇ·ñ½ö±¾·þÍæ¼Ò¿É¼ÓÈ룬0-·ñ£¬1-ÊÇ ("NeedCheck", c_ubyte), #ÊÇ·ñÐèÒªÉóºË ] def __init__(self): self.Clear() self.Cmd = 0xB9 self.SubCmd = 0x21 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 = 0xB9 self.SubCmd = 0x21 self.TeamID = 0 self.FuncMapID = 0 self.MinLV = 0 self.MinFightPower = 0 self.MinFightPowerEx = 0 self.ServerOnly = 0 self.NeedCheck = 0 return def GetLength(self): return sizeof(tagCGChangeFuncTeam) def GetBuffer(self): return string_at(addressof(self), self.GetLength()) def OutputString(self): DumpString = '''// B9 21 Ð޸ŦÄܶÓÎé //tagCGChangeFuncTeam: Cmd:%s, SubCmd:%s, TeamID:%d, FuncMapID:%d, MinLV:%d, MinFightPower:%d, MinFightPowerEx:%d, ServerOnly:%d, NeedCheck:%d '''\ %( self.Cmd, self.SubCmd, self.TeamID, self.FuncMapID, self.MinLV, self.MinFightPower, self.MinFightPowerEx, self.ServerOnly, self.NeedCheck ) return DumpString m_NAtagCGChangeFuncTeam=tagCGChangeFuncTeam() ChNetPackDict[eval("0x%02x%02x"%(m_NAtagCGChangeFuncTeam.Cmd,m_NAtagCGChangeFuncTeam.SubCmd))] = m_NAtagCGChangeFuncTeam #------------------------------------------------------ # B9 03 Ð޸ĶÓÎéÐÅÏ¢ #tagCGChangeTeamInfo class tagCGChangeTeamInfo(Structure): _pack_ = 1 _fields_ = [ ("Cmd", c_ubyte), ("SubCmd", c_ubyte), ("TagMapID", c_int), # Ä¿±êµØÍ¼ ("TagMapEx", c_ushort), # Ä¿±êµØÍ¼À©Õ¹ ("ReqMinLV", c_ushort), # ¶ÓÔ±×îµÍµÈ¼¶ÏÞÖÆ ("ReqMaxLV", c_ushort), # ¶ÓÔ±×î¸ßµÈ¼¶ÏÞÖÆ ] def __init__(self): self.Clear() self.Cmd = 0xB9 self.SubCmd = 0x03 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 = 0xB9 self.SubCmd = 0x03 self.TagMapID = 0 self.TagMapEx = 0 self.ReqMinLV = 0 self.ReqMaxLV = 0 return def GetLength(self): return sizeof(tagCGChangeTeamInfo) def GetBuffer(self): return string_at(addressof(self), self.GetLength()) def OutputString(self): DumpString = '''// B9 03 Ð޸ĶÓÎéÐÅÏ¢ //tagCGChangeTeamInfo: Cmd:%s, SubCmd:%s, TagMapID:%d, TagMapEx:%d, ReqMinLV:%d, ReqMaxLV:%d '''\ %( self.Cmd, self.SubCmd, self.TagMapID, self.TagMapEx, self.ReqMinLV, self.ReqMaxLV ) return DumpString m_NAtagCGChangeTeamInfo=tagCGChangeTeamInfo() ChNetPackDict[eval("0x%02x%02x"%(m_NAtagCGChangeTeamInfo.Cmd,m_NAtagCGChangeTeamInfo.SubCmd))] = m_NAtagCGChangeTeamInfo #------------------------------------------------------ # B9 20 ´´½¨¹¦ÄܶÓÎé #tagCGCreateFuncTeam class tagCGCreateFuncTeam(Structure): Head = tagHead() FuncMapID = 0 #(DWORD FuncMapID)// ¹¦ÄܵØÍ¼ID»ò×Ô¶¨ÒåµÄ»î¶¯¹¦ÄÜID FuncMapEx = 0 #(DWORD FuncMapEx)// ¹¦ÄܵØÍ¼À©Õ¹£¬È粻ͬµÄ²ã¼¶ NameLen = 0 #(BYTE NameLen) TeamName = "" #(String TeamName)// ¶ÓÎéÃû³Æ£¬¿ÉΪ¿Õ MinLV = 0 #(WORD MinLV)//×îµÍµÈ¼¶ÏÞÖÆ MinFightPower = 0 #(DWORD MinFightPower)//×îµÍÕ½Á¦ÏÞÖÆ£¬ÇóÓàÒÚ MinFightPowerEx = 0 #(DWORD MinFightPowerEx)//×îµÍÕ½Á¦ÏÞÖÆ£¬Õû³ýÒÚ ServerOnly = 0 #(BYTE ServerOnly)//ÊÇ·ñ½ö±¾·þÍæ¼Ò¿É¼ÓÈ룬0-·ñ£¬1-ÊÇ NeedCheck = 0 #(BYTE NeedCheck)//ÊÇ·ñÐèÒªÉóºË data = None def __init__(self): self.Clear() self.Head.Cmd = 0xB9 self.Head.SubCmd = 0x20 return def ReadData(self, _lpData, _pos=0, _Len=0): self.Clear() _pos = self.Head.ReadData(_lpData, _pos) self.FuncMapID,_pos = CommFunc.ReadDWORD(_lpData, _pos) self.FuncMapEx,_pos = CommFunc.ReadDWORD(_lpData, _pos) self.NameLen,_pos = CommFunc.ReadBYTE(_lpData, _pos) self.TeamName,_pos = CommFunc.ReadString(_lpData, _pos,self.NameLen) self.MinLV,_pos = CommFunc.ReadWORD(_lpData, _pos) self.MinFightPower,_pos = CommFunc.ReadDWORD(_lpData, _pos) self.MinFightPowerEx,_pos = CommFunc.ReadDWORD(_lpData, _pos) self.ServerOnly,_pos = CommFunc.ReadBYTE(_lpData, _pos) self.NeedCheck,_pos = CommFunc.ReadBYTE(_lpData, _pos) return _pos def Clear(self): self.Head = tagHead() self.Head.Clear() self.Head.Cmd = 0xB9 self.Head.SubCmd = 0x20 self.FuncMapID = 0 self.FuncMapEx = 0 self.NameLen = 0 self.TeamName = "" self.MinLV = 0 self.MinFightPower = 0 self.MinFightPowerEx = 0 self.ServerOnly = 0 self.NeedCheck = 0 return def GetLength(self): length = 0 length += self.Head.GetLength() length += 4 length += 4 length += 1 length += len(self.TeamName) length += 2 length += 4 length += 4 length += 1 length += 1 return length def GetBuffer(self): data = '' data = CommFunc.WriteString(data, self.Head.GetLength(), self.Head.GetBuffer()) data = CommFunc.WriteDWORD(data, self.FuncMapID) data = CommFunc.WriteDWORD(data, self.FuncMapEx) data = CommFunc.WriteBYTE(data, self.NameLen) data = CommFunc.WriteString(data, self.NameLen, self.TeamName) data = CommFunc.WriteWORD(data, self.MinLV) data = CommFunc.WriteDWORD(data, self.MinFightPower) data = CommFunc.WriteDWORD(data, self.MinFightPowerEx) data = CommFunc.WriteBYTE(data, self.ServerOnly) data = CommFunc.WriteBYTE(data, self.NeedCheck) return data def OutputString(self): DumpString = ''' Head:%s, FuncMapID:%d, FuncMapEx:%d, NameLen:%d, TeamName:%s, MinLV:%d, MinFightPower:%d, MinFightPowerEx:%d, ServerOnly:%d, NeedCheck:%d '''\ %( self.Head.OutputString(), self.FuncMapID, self.FuncMapEx, self.NameLen, self.TeamName, self.MinLV, self.MinFightPower, self.MinFightPowerEx, self.ServerOnly, self.NeedCheck ) return DumpString m_NAtagCGCreateFuncTeam=tagCGCreateFuncTeam() ChNetPackDict[eval("0x%02x%02x"%(m_NAtagCGCreateFuncTeam.Head.Cmd,m_NAtagCGCreateFuncTeam.Head.SubCmd))] = m_NAtagCGCreateFuncTeam #------------------------------------------------------ # B9 01 ´´½¨¶ÓÎé #tagCGCreateTeam class tagCGCreateTeam(Structure): _pack_ = 1 _fields_ = [ ("Cmd", c_ubyte), ("SubCmd", c_ubyte), ("TagMapID", c_int), # Ä¿±êµØÍ¼ ("TagMapEx", c_ushort), # Ä¿±êµØÍ¼À©Õ¹ ("ReqMinLV", c_ushort), # ¶ÓÔ±×îµÍµÈ¼¶ÏÞÖÆ ("ReqMaxLV", c_ushort), # ¶ÓÔ±×î¸ßµÈ¼¶ÏÞÖÆ ] def __init__(self): self.Clear() self.Cmd = 0xB9 self.SubCmd = 0x01 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 = 0xB9 self.SubCmd = 0x01 self.TagMapID = 0 self.TagMapEx = 0 self.ReqMinLV = 0 self.ReqMaxLV = 0 return def GetLength(self): return sizeof(tagCGCreateTeam) def GetBuffer(self): return string_at(addressof(self), self.GetLength()) def OutputString(self): DumpString = '''// B9 01 ´´½¨¶ÓÎé //tagCGCreateTeam: Cmd:%s, SubCmd:%s, TagMapID:%d, TagMapEx:%d, ReqMinLV:%d, ReqMaxLV:%d '''\ %( self.Cmd, self.SubCmd, self.TagMapID, self.TagMapEx, self.ReqMinLV, self.ReqMaxLV ) return DumpString m_NAtagCGCreateTeam=tagCGCreateTeam() ChNetPackDict[eval("0x%02x%02x"%(m_NAtagCGCreateTeam.Cmd,m_NAtagCGCreateTeam.SubCmd))] = m_NAtagCGCreateTeam #------------------------------------------------------ # B9 22 ¹¦ÄܶÓÎé³ÉÔ±²Ù×÷ #tagCGFuncTeamMemOP class tagCGFuncTeamMemOP(Structure): _pack_ = 1 _fields_ = [ ("Cmd", c_ubyte), ("SubCmd", c_ubyte), ("TeamID", c_int), ("FuncMapID", c_int), # ¹¦ÄܵØÍ¼ID»ò×Ô¶¨ÒåµÄ»î¶¯¹¦ÄÜID ("OPType", c_ubyte), # 1-ÉêÇë¼ÓÈ룻2-ÉêÇëÈ¡Ïû£»3-ͬÒâÈë¶Ó£»4-¾Ü¾øÈë¶Ó£»5-Í˳ö¶ÓÎ飻6-Ìß³ö¶ÓÎ飻7-תÈöӳ¤£»8-½âÉ¢¶ÓÎ飻 ("OPData", c_int), # ¿ÉÑ¡ ] def __init__(self): self.Clear() self.Cmd = 0xB9 self.SubCmd = 0x22 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 = 0xB9 self.SubCmd = 0x22 self.TeamID = 0 self.FuncMapID = 0 self.OPType = 0 self.OPData = 0 return def GetLength(self): return sizeof(tagCGFuncTeamMemOP) def GetBuffer(self): return string_at(addressof(self), self.GetLength()) def OutputString(self): DumpString = '''// B9 22 ¹¦ÄܶÓÎé³ÉÔ±²Ù×÷ //tagCGFuncTeamMemOP: Cmd:%s, SubCmd:%s, TeamID:%d, FuncMapID:%d, OPType:%d, OPData:%d '''\ %( self.Cmd, self.SubCmd, self.TeamID, self.FuncMapID, self.OPType, self.OPData ) return DumpString m_NAtagCGFuncTeamMemOP=tagCGFuncTeamMemOP() ChNetPackDict[eval("0x%02x%02x"%(m_NAtagCGFuncTeamMemOP.Cmd,m_NAtagCGFuncTeamMemOP.SubCmd))] = m_NAtagCGFuncTeamMemOP #------------------------------------------------------ # B9 02 ÑûÇëÍæ¼Ò¼ÓÈë¶ÓÎé #tagCGInvitePlayerJoinTeam class tagCGInvitePlayerJoinTeam(Structure): _pack_ = 1 _fields_ = [ ("Cmd", c_ubyte), ("SubCmd", c_ubyte), ("PlayerID", c_int), # Ä¿±êÍæ¼ÒID ] def __init__(self): self.Clear() self.Cmd = 0xB9 self.SubCmd = 0x02 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 = 0xB9 self.SubCmd = 0x02 self.PlayerID = 0 return def GetLength(self): return sizeof(tagCGInvitePlayerJoinTeam) def GetBuffer(self): return string_at(addressof(self), self.GetLength()) def OutputString(self): DumpString = '''// B9 02 ÑûÇëÍæ¼Ò¼ÓÈë¶ÓÎé //tagCGInvitePlayerJoinTeam: Cmd:%s, SubCmd:%s, PlayerID:%d '''\ %( self.Cmd, self.SubCmd, self.PlayerID ) return DumpString m_NAtagCGInvitePlayerJoinTeam=tagCGInvitePlayerJoinTeam() ChNetPackDict[eval("0x%02x%02x"%(m_NAtagCGInvitePlayerJoinTeam.Cmd,m_NAtagCGInvitePlayerJoinTeam.SubCmd))] = m_NAtagCGInvitePlayerJoinTeam #------------------------------------------------------ # B9 0A °´Ìõ¼þÑûÇëÍæ¼Ò¼ÓÈë¶ÓÎé #tagCGInvitePlayerJoinTeamByLV class tagCGInvitePlayerJoinTeamByLV(Structure): _pack_ = 1 _fields_ = [ ("Cmd", c_ubyte), ("SubCmd", c_ubyte), ("LVLimit", c_ushort), # Ä¿±êÍæ¼Ò´óÓÚµÈÓڴ˵ȼ¶ ("InviteCnt", c_ubyte), # ÑûÇëÍæ¼Ò¸öÊý ] def __init__(self): self.Clear() self.Cmd = 0xB9 self.SubCmd = 0x0A 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 = 0xB9 self.SubCmd = 0x0A self.LVLimit = 0 self.InviteCnt = 0 return def GetLength(self): return sizeof(tagCGInvitePlayerJoinTeamByLV) def GetBuffer(self): return string_at(addressof(self), self.GetLength()) def OutputString(self): DumpString = '''// B9 0A °´Ìõ¼þÑûÇëÍæ¼Ò¼ÓÈë¶ÓÎé //tagCGInvitePlayerJoinTeamByLV: Cmd:%s, SubCmd:%s, LVLimit:%d, InviteCnt:%d '''\ %( self.Cmd, self.SubCmd, self.LVLimit, self.InviteCnt ) return DumpString m_NAtagCGInvitePlayerJoinTeamByLV=tagCGInvitePlayerJoinTeamByLV() ChNetPackDict[eval("0x%02x%02x"%(m_NAtagCGInvitePlayerJoinTeamByLV.Cmd,m_NAtagCGInvitePlayerJoinTeamByLV.SubCmd))] = m_NAtagCGInvitePlayerJoinTeamByLV #------------------------------------------------------ # B9 23 ²éÕÒ¹¦ÄܶÓÎéÁбí #tagCGQueryFuncTeam class tagCGQueryFuncTeam(Structure): Head = tagHead() FuncMapID = 0 #(DWORD FuncMapID)// ¹¦ÄܵØÍ¼ID»ò×Ô¶¨ÒåµÄ»î¶¯¹¦ÄÜID FuncMapEx = 0 #(DWORD FuncMapEx)// ¹¦ÄܵØÍ¼À©Õ¹£¬È粻ͬµÄ²ã¼¶£¬0´ú±íËùÓÐ StartIndex = 0 #(DWORD StartIndex)// ²é¿´µÄÆðʼË÷Òý£¬ ĬÈÏ0 QueryCnt = 0 #(BYTE QueryCnt)// ²é¿´ÌõÊý£¬Ä¬ÈÏ20£¬×î´ó²»³¬¹ý100 HaveSpace = 0 #(BYTE HaveSpace)// ÊÇ·ñÖ»²é¿´ÓпÕλÖõĶÓÎé IDLimitType = 0 #(BYTE IDLimitType)// IDÏÞÖÆÀàÐÍ£º1-ͬÏÉÃ˶ӳ¤£»2-ͬServerGroupID¶Ó³¤£»3-ͬServerID¶Ó³¤ SearchLen = 0 #(BYTE SearchLen) SearchMsg = "" #(String SearchMsg)// Ö¸¶¨ËÑË÷ʱÓÐÓ㬿ÉËÑË÷Ö¸¶¨¶ÓÎéID»òÄ£ºýËÑË÷¶ÓÎéÃû³Æ£¬ËÑË÷ʱ·µ»Ø×î¶àQueryCnt¸öÊýµÄ¶ÓÎé data = None def __init__(self): self.Clear() self.Head.Cmd = 0xB9 self.Head.SubCmd = 0x23 return def ReadData(self, _lpData, _pos=0, _Len=0): self.Clear() _pos = self.Head.ReadData(_lpData, _pos) self.FuncMapID,_pos = CommFunc.ReadDWORD(_lpData, _pos) self.FuncMapEx,_pos = CommFunc.ReadDWORD(_lpData, _pos) self.StartIndex,_pos = CommFunc.ReadDWORD(_lpData, _pos) self.QueryCnt,_pos = CommFunc.ReadBYTE(_lpData, _pos) self.HaveSpace,_pos = CommFunc.ReadBYTE(_lpData, _pos) self.IDLimitType,_pos = CommFunc.ReadBYTE(_lpData, _pos) self.SearchLen,_pos = CommFunc.ReadBYTE(_lpData, _pos) self.SearchMsg,_pos = CommFunc.ReadString(_lpData, _pos,self.SearchLen) return _pos def Clear(self): self.Head = tagHead() self.Head.Clear() self.Head.Cmd = 0xB9 self.Head.SubCmd = 0x23 self.FuncMapID = 0 self.FuncMapEx = 0 self.StartIndex = 0 self.QueryCnt = 0 self.HaveSpace = 0 self.IDLimitType = 0 self.SearchLen = 0 self.SearchMsg = "" return def GetLength(self): length = 0 length += self.Head.GetLength() length += 4 length += 4 length += 4 length += 1 length += 1 length += 1 length += 1 length += len(self.SearchMsg) return length def GetBuffer(self): data = '' data = CommFunc.WriteString(data, self.Head.GetLength(), self.Head.GetBuffer()) data = CommFunc.WriteDWORD(data, self.FuncMapID) data = CommFunc.WriteDWORD(data, self.FuncMapEx) data = CommFunc.WriteDWORD(data, self.StartIndex) data = CommFunc.WriteBYTE(data, self.QueryCnt) data = CommFunc.WriteBYTE(data, self.HaveSpace) data = CommFunc.WriteBYTE(data, self.IDLimitType) data = CommFunc.WriteBYTE(data, self.SearchLen) data = CommFunc.WriteString(data, self.SearchLen, self.SearchMsg) return data def OutputString(self): DumpString = ''' Head:%s, FuncMapID:%d, FuncMapEx:%d, StartIndex:%d, QueryCnt:%d, HaveSpace:%d, IDLimitType:%d, SearchLen:%d, SearchMsg:%s '''\ %( self.Head.OutputString(), self.FuncMapID, self.FuncMapEx, self.StartIndex, self.QueryCnt, self.HaveSpace, self.IDLimitType, self.SearchLen, self.SearchMsg ) return DumpString m_NAtagCGQueryFuncTeam=tagCGQueryFuncTeam() ChNetPackDict[eval("0x%02x%02x"%(m_NAtagCGQueryFuncTeam.Head.Cmd,m_NAtagCGQueryFuncTeam.Head.SubCmd))] = m_NAtagCGQueryFuncTeam #------------------------------------------------------ # B9 24 ²éÕÒÍæ¼Ò¹¦ÄܶÓÎé #tagCGQueryPlayerFuncTeam class tagCGQueryPlayerFuncTeam(Structure): _pack_ = 1 _fields_ = [ ("Cmd", c_ubyte), ("SubCmd", c_ubyte), ("FuncMapID", c_int), # ¹¦ÄܵØÍ¼ID»ò×Ô¶¨ÒåµÄ»î¶¯¹¦ÄÜID ] def __init__(self): self.Clear() self.Cmd = 0xB9 self.SubCmd = 0x24 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 = 0xB9 self.SubCmd = 0x24 self.FuncMapID = 0 return def GetLength(self): return sizeof(tagCGQueryPlayerFuncTeam) def GetBuffer(self): return string_at(addressof(self), self.GetLength()) def OutputString(self): DumpString = '''// B9 24 ²éÕÒÍæ¼Ò¹¦ÄܶÓÎé //tagCGQueryPlayerFuncTeam: Cmd:%s, SubCmd:%s, FuncMapID:%d '''\ %( self.Cmd, self.SubCmd, self.FuncMapID ) return DumpString m_NAtagCGQueryPlayerFuncTeam=tagCGQueryPlayerFuncTeam() ChNetPackDict[eval("0x%02x%02x"%(m_NAtagCGQueryPlayerFuncTeam.Cmd,m_NAtagCGQueryPlayerFuncTeam.SubCmd))] = m_NAtagCGQueryPlayerFuncTeam #------------------------------------------------------ # B9 05 ²éÑ¯ÍÆ¼ö×é¶ÓµÄ¸½½üÍæ¼Ò #tagCGQueryRecommendNearbyPlayer class tagCGQueryRecommendNearbyPlayer(Structure): _pack_ = 1 _fields_ = [ ("Cmd", c_ubyte), ("SubCmd", c_ubyte), ] def __init__(self): self.Clear() self.Cmd = 0xB9 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 = 0xB9 self.SubCmd = 0x05 return def GetLength(self): return sizeof(tagCGQueryRecommendNearbyPlayer) def GetBuffer(self): return string_at(addressof(self), self.GetLength()) def OutputString(self): DumpString = '''// B9 05 ²éÑ¯ÍÆ¼ö×é¶ÓµÄ¸½½üÍæ¼Ò //tagCGQueryRecommendNearbyPlayer: Cmd:%s, SubCmd:%s '''\ %( self.Cmd, self.SubCmd ) return DumpString m_NAtagCGQueryRecommendNearbyPlayer=tagCGQueryRecommendNearbyPlayer() ChNetPackDict[eval("0x%02x%02x"%(m_NAtagCGQueryRecommendNearbyPlayer.Cmd,m_NAtagCGQueryRecommendNearbyPlayer.SubCmd))] = m_NAtagCGQueryRecommendNearbyPlayer #------------------------------------------------------ # B9 06 ²éѯ¶ÔÓ¦×é¶ÓÄ¿±êµÄ¶ÓÎé #tagCGQueryTagMapTeam class tagCGQueryTagMapTeam(Structure): _pack_ = 1 _fields_ = [ ("Cmd", c_ubyte), ("SubCmd", c_ubyte), ("TagMapID", c_int), # Ä¿±êµØÍ¼ ("TagMapEx", c_ushort), # Ä¿±êµØÍ¼À©Õ¹ ("IsTagEx", c_ubyte), # ÊÇ·ñ²éѯ¶ÔӦĿ±êÀ©Õ¹µÄ; 0·ñ1ÊÇ ("MatchState", c_ubyte), # 0-È«²¿£»1-Æ¥ÅäÖеģ» ] def __init__(self): self.Clear() self.Cmd = 0xB9 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 = 0xB9 self.SubCmd = 0x06 self.TagMapID = 0 self.TagMapEx = 0 self.IsTagEx = 0 self.MatchState = 0 return def GetLength(self): return sizeof(tagCGQueryTagMapTeam) def GetBuffer(self): return string_at(addressof(self), self.GetLength()) def OutputString(self): DumpString = '''// B9 06 ²éѯ¶ÔÓ¦×é¶ÓÄ¿±êµÄ¶ÓÎé //tagCGQueryTagMapTeam: Cmd:%s, SubCmd:%s, TagMapID:%d, TagMapEx:%d, IsTagEx:%d, MatchState:%d '''\ %( self.Cmd, self.SubCmd, self.TagMapID, self.TagMapEx, self.IsTagEx, self.MatchState ) return DumpString m_NAtagCGQueryTagMapTeam=tagCGQueryTagMapTeam() ChNetPackDict[eval("0x%02x%02x"%(m_NAtagCGQueryTagMapTeam.Cmd,m_NAtagCGQueryTagMapTeam.SubCmd))] = m_NAtagCGQueryTagMapTeam #------------------------------------------------------ # B9 10 ²éѯÔÚÏß¶ÓÔ±¶ÔÓ¦¹¦ÄÜÊý¾Ý #tagCGQueryTeamMemFuncData class tagCGQueryTeamMemFuncData(Structure): _pack_ = 1 _fields_ = [ ("Cmd", c_ubyte), ("SubCmd", c_ubyte), ("TeamMemFuncType", c_ubyte), # ²éѯ¶ÓÔ±µÄ¹¦ÄÜÊý¾ÝÀàÐÍ ] def __init__(self): self.Clear() self.Cmd = 0xB9 self.SubCmd = 0x10 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 = 0xB9 self.SubCmd = 0x10 self.TeamMemFuncType = 0 return def GetLength(self): return sizeof(tagCGQueryTeamMemFuncData) def GetBuffer(self): return string_at(addressof(self), self.GetLength()) def OutputString(self): DumpString = '''// B9 10 ²éѯÔÚÏß¶ÓÔ±¶ÔÓ¦¹¦ÄÜÊý¾Ý //tagCGQueryTeamMemFuncData: Cmd:%s, SubCmd:%s, TeamMemFuncType:%d '''\ %( self.Cmd, self.SubCmd, self.TeamMemFuncType ) return DumpString m_NAtagCGQueryTeamMemFuncData=tagCGQueryTeamMemFuncData() ChNetPackDict[eval("0x%02x%02x"%(m_NAtagCGQueryTeamMemFuncData.Cmd,m_NAtagCGQueryTeamMemFuncData.SubCmd))] = m_NAtagCGQueryTeamMemFuncData #------------------------------------------------------ # B9 11 ÇëÇó¼ÓÈë¶ÓÎé #tagCGRequestJoinTeam class tagCGRequestJoinTeam(Structure): _pack_ = 1 _fields_ = [ ("Cmd", c_ubyte), ("SubCmd", c_ubyte), ("TeamID", c_int), # Ä¿±ê¶ÓÎéID ] def __init__(self): self.Clear() self.Cmd = 0xB9 self.SubCmd = 0x11 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 = 0xB9 self.SubCmd = 0x11 self.TeamID = 0 return def GetLength(self): return sizeof(tagCGRequestJoinTeam) def GetBuffer(self): return string_at(addressof(self), self.GetLength()) def OutputString(self): DumpString = '''// B9 11 ÇëÇó¼ÓÈë¶ÓÎé //tagCGRequestJoinTeam: Cmd:%s, SubCmd:%s, TeamID:%d '''\ %( self.Cmd, self.SubCmd, self.TeamID ) return DumpString m_NAtagCGRequestJoinTeam=tagCGRequestJoinTeam() ChNetPackDict[eval("0x%02x%02x"%(m_NAtagCGRequestJoinTeam.Cmd,m_NAtagCGRequestJoinTeam.SubCmd))] = m_NAtagCGRequestJoinTeam #------------------------------------------------------ # B9 09 ¶ÓÔ±½øÈ븱±¾×¼±¸Ñ¡Ôñ #tagCGTeamMemberPrepare class tagCGTeamMemberPrepare(Structure): _pack_ = 1 _fields_ = [ ("Cmd", c_ubyte), ("SubCmd", c_ubyte), ("PrepareState", c_ubyte), # 1-×¼±¸£»2-¾Ü¾ø ] def __init__(self): self.Clear() self.Cmd = 0xB9 self.SubCmd = 0x09 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 = 0xB9 self.SubCmd = 0x09 self.PrepareState = 0 return def GetLength(self): return sizeof(tagCGTeamMemberPrepare) def GetBuffer(self): return string_at(addressof(self), self.GetLength()) def OutputString(self): DumpString = '''// B9 09 ¶ÓÔ±½øÈ븱±¾×¼±¸Ñ¡Ôñ //tagCGTeamMemberPrepare: Cmd:%s, SubCmd:%s, PrepareState:%d '''\ %( self.Cmd, self.SubCmd, self.PrepareState ) return DumpString m_NAtagCGTeamMemberPrepare=tagCGTeamMemberPrepare() ChNetPackDict[eval("0x%02x%02x"%(m_NAtagCGTeamMemberPrepare.Cmd,m_NAtagCGTeamMemberPrepare.SubCmd))] = m_NAtagCGTeamMemberPrepare #------------------------------------------------------ # C0 21 ¿ç·þÅÅλÏɹÙÉêÇë»ØÓ¦ #tagCGChampionshipOfficialApplyReply class tagCGChampionshipOfficialApplyReply(Structure): _pack_ = 1 _fields_ = [ ("Cmd", c_ubyte), ("SubCmd", c_ubyte), ("MainOfficialID", c_ushort), #½çÖ÷¹ÙÖ°ID ("OfficialID", c_ushort), #ÉêÇë¹ÙÖ°ID ("PlayerID", c_int), #ÉêÇëµÄÍæ¼ÒID ("IsOK", c_ubyte), #ÊÇ·ñͬÒ⣻1-ÊÇ£»0-·ñ ] def __init__(self): self.Clear() self.Cmd = 0xC0 self.SubCmd = 0x21 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 = 0xC0 self.SubCmd = 0x21 self.MainOfficialID = 0 self.OfficialID = 0 self.PlayerID = 0 self.IsOK = 0 return def GetLength(self): return sizeof(tagCGChampionshipOfficialApplyReply) def GetBuffer(self): return string_at(addressof(self), self.GetLength()) def OutputString(self): DumpString = '''// C0 21 ¿ç·þÅÅλÏɹÙÉêÇë»ØÓ¦ //tagCGChampionshipOfficialApplyReply: Cmd:%s, SubCmd:%s, MainOfficialID:%d, OfficialID:%d, PlayerID:%d, IsOK:%d '''\ %( self.Cmd, self.SubCmd, self.MainOfficialID, self.OfficialID, self.PlayerID, self.IsOK ) return DumpString m_NAtagCGChampionshipOfficialApplyReply=tagCGChampionshipOfficialApplyReply() ChNetPackDict[eval("0x%02x%02x"%(m_NAtagCGChampionshipOfficialApplyReply.Cmd,m_NAtagCGChampionshipOfficialApplyReply.SubCmd))] = m_NAtagCGChampionshipOfficialApplyReply #------------------------------------------------------ # C0 23 ¿ç·þÅÅλÏɹÙÌôÕ½¼Ç¼²éѯ #tagCGChampionshipOfficialChallengeQuery class tagCGChampionshipOfficialChallengeQuery(Structure): _pack_ = 1 _fields_ = [ ("Cmd", c_ubyte), ("SubCmd", c_ubyte), ("MainOfficialID", c_ushort), #½çÖ÷¹ÙÖ°ID ("OfficialID", c_ushort), #²éѯ¹ÙÖ°ID ] def __init__(self): self.Clear() self.Cmd = 0xC0 self.SubCmd = 0x23 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 = 0xC0 self.SubCmd = 0x23 self.MainOfficialID = 0 self.OfficialID = 0 return def GetLength(self): return sizeof(tagCGChampionshipOfficialChallengeQuery) def GetBuffer(self): return string_at(addressof(self), self.GetLength()) def OutputString(self): DumpString = '''// C0 23 ¿ç·þÅÅλÏɹÙÌôÕ½¼Ç¼²éѯ //tagCGChampionshipOfficialChallengeQuery: Cmd:%s, SubCmd:%s, MainOfficialID:%d, OfficialID:%d '''\ %( self.Cmd, self.SubCmd, self.MainOfficialID, self.OfficialID ) return DumpString m_NAtagCGChampionshipOfficialChallengeQuery=tagCGChampionshipOfficialChallengeQuery() ChNetPackDict[eval("0x%02x%02x"%(m_NAtagCGChampionshipOfficialChallengeQuery.Cmd,m_NAtagCGChampionshipOfficialChallengeQuery.SubCmd))] = m_NAtagCGChampionshipOfficialChallengeQuery #------------------------------------------------------ # C0 24 ¿ç·þÅÅλ´ÇÍËϼ¶Ïɹ٠#tagCGChampionshipOfficialKick class tagCGChampionshipOfficialKick(Structure): _pack_ = 1 _fields_ = [ ("Cmd", c_ubyte), ("SubCmd", c_ubyte), ("MainOfficialID", c_ushort), #½çÖ÷¹ÙÖ°ID ("OfficialID", c_ushort), #Ä¿±ê¹ÙÖ°ID ("PlayerID", c_int), #Ä¿±êÍæ¼ÒID ] def __init__(self): self.Clear() self.Cmd = 0xC0 self.SubCmd = 0x24 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 = 0xC0 self.SubCmd = 0x24 self.MainOfficialID = 0 self.OfficialID = 0 self.PlayerID = 0 return def GetLength(self): return sizeof(tagCGChampionshipOfficialKick) def GetBuffer(self): return string_at(addressof(self), self.GetLength()) def OutputString(self): DumpString = '''// C0 24 ¿ç·þÅÅλ´ÇÍËϼ¶Ïɹ٠//tagCGChampionshipOfficialKick: Cmd:%s, SubCmd:%s, MainOfficialID:%d, OfficialID:%d, PlayerID:%d '''\ %( self.Cmd, self.SubCmd, self.MainOfficialID, self.OfficialID, self.PlayerID ) return DumpString m_NAtagCGChampionshipOfficialKick=tagCGChampionshipOfficialKick() ChNetPackDict[eval("0x%02x%02x"%(m_NAtagCGChampionshipOfficialKick.Cmd,m_NAtagCGChampionshipOfficialKick.SubCmd))] = m_NAtagCGChampionshipOfficialKick #------------------------------------------------------ # C0 25 ¿ç·þÅÅλÖ÷¶¯ÀëÈÎÏɹ٠#tagCGChampionshipOfficialLeave class tagCGChampionshipOfficialLeave(Structure): _pack_ = 1 _fields_ = [ ("Cmd", c_ubyte), ("SubCmd", c_ubyte), ("MainOfficialID", c_ushort), #½çÖ÷¹ÙÖ°ID ("OfficialID", c_ushort), #ÀëÈιÙÖ°ID ] def __init__(self): self.Clear() self.Cmd = 0xC0 self.SubCmd = 0x25 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 = 0xC0 self.SubCmd = 0x25 self.MainOfficialID = 0 self.OfficialID = 0 return def GetLength(self): return sizeof(tagCGChampionshipOfficialLeave) def GetBuffer(self): return string_at(addressof(self), self.GetLength()) def OutputString(self): DumpString = '''// C0 25 ¿ç·þÅÅλÖ÷¶¯ÀëÈÎÏɹ٠//tagCGChampionshipOfficialLeave: Cmd:%s, SubCmd:%s, MainOfficialID:%d, OfficialID:%d '''\ %( self.Cmd, self.SubCmd, self.MainOfficialID, self.OfficialID ) return DumpString m_NAtagCGChampionshipOfficialLeave=tagCGChampionshipOfficialLeave() ChNetPackDict[eval("0x%02x%02x"%(m_NAtagCGChampionshipOfficialLeave.Cmd,m_NAtagCGChampionshipOfficialLeave.SubCmd))] = m_NAtagCGChampionshipOfficialLeave #------------------------------------------------------ # C0 09 ¿ç·þÕ½³¡ÕÙ¼¯³¡´ÎÐÞ¸Ä #tagCGCrossBattlefieldCallChange class tagCGCrossBattlefieldCallChange(Structure): _pack_ = 1 _fields_ = [ ("Cmd", c_ubyte), ("SubCmd", c_ubyte), ("Hour", c_ubyte), #Õ½³¡¿ªÆôʱ ("Minute", c_ubyte), #Õ½³¡¿ªÆô·Ö ("ServerOnly", c_ubyte), #ÊÇ·ñ½ö±¾·þÍæ¼Ò¿É¼ÓÈ룬0-·ñ£¬1-ÊÇ ] def __init__(self): self.Clear() self.Cmd = 0xC0 self.SubCmd = 0x09 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 = 0xC0 self.SubCmd = 0x09 self.Hour = 0 self.Minute = 0 self.ServerOnly = 0 return def GetLength(self): return sizeof(tagCGCrossBattlefieldCallChange) def GetBuffer(self): return string_at(addressof(self), self.GetLength()) def OutputString(self): DumpString = '''// C0 09 ¿ç·þÕ½³¡ÕÙ¼¯³¡´ÎÐÞ¸Ä //tagCGCrossBattlefieldCallChange: Cmd:%s, SubCmd:%s, Hour:%d, Minute:%d, ServerOnly:%d '''\ %( self.Cmd, self.SubCmd, self.Hour, self.Minute, self.ServerOnly ) return DumpString m_NAtagCGCrossBattlefieldCallChange=tagCGCrossBattlefieldCallChange() ChNetPackDict[eval("0x%02x%02x"%(m_NAtagCGCrossBattlefieldCallChange.Cmd,m_NAtagCGCrossBattlefieldCallChange.SubCmd))] = m_NAtagCGCrossBattlefieldCallChange #------------------------------------------------------ # C0 08 ¿ç·þÕ½³¡ÕÙ¼¯³¡´ÎÌßÈË #tagCGCrossBattlefieldCallKick class tagCGCrossBattlefieldCallKick(Structure): _pack_ = 1 _fields_ = [ ("Cmd", c_ubyte), ("SubCmd", c_ubyte), ("Hour", c_ubyte), #Õ½³¡¿ªÆôʱ ("Minute", c_ubyte), #Õ½³¡¿ªÆô·Ö ("TagPlayerID", c_int), #Ä¿±êÍæ¼ÒID£¬¼´Òª±»Ìß³öÈ¥µÄÍæ¼ÒID ] def __init__(self): self.Clear() self.Cmd = 0xC0 self.SubCmd = 0x08 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 = 0xC0 self.SubCmd = 0x08 self.Hour = 0 self.Minute = 0 self.TagPlayerID = 0 return def GetLength(self): return sizeof(tagCGCrossBattlefieldCallKick) def GetBuffer(self): return string_at(addressof(self), self.GetLength()) def OutputString(self): DumpString = '''// C0 08 ¿ç·þÕ½³¡ÕÙ¼¯³¡´ÎÌßÈË //tagCGCrossBattlefieldCallKick: Cmd:%s, SubCmd:%s, Hour:%d, Minute:%d, TagPlayerID:%d '''\ %( self.Cmd, self.SubCmd, self.Hour, self.Minute, self.TagPlayerID ) return DumpString m_NAtagCGCrossBattlefieldCallKick=tagCGCrossBattlefieldCallKick() ChNetPackDict[eval("0x%02x%02x"%(m_NAtagCGCrossBattlefieldCallKick.Cmd,m_NAtagCGCrossBattlefieldCallKick.SubCmd))] = m_NAtagCGCrossBattlefieldCallKick #------------------------------------------------------ # C0 07 ¿ç·þÕ½³¡¼ÓÈëÕÙ¼¯³¡´Î #tagCGCrossBattlefieldJoinByCall class tagCGCrossBattlefieldJoinByCall(Structure): _pack_ = 1 _fields_ = [ ("Cmd", c_ubyte), ("SubCmd", c_ubyte), ("Hour", c_ubyte), #Õ½³¡¿ªÆôʱ ("Minute", c_ubyte), #Õ½³¡¿ªÆô·Ö ("BuyPlayerID", c_int), #¼ÓÈëÄ¿±êÍæ¼ÒµÄÕÙ¼¯¶ÓÎ飬¼´¹ºÂòÕÙ¼¯³¡µÄÍæ¼ÒID ] def __init__(self): self.Clear() self.Cmd = 0xC0 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 = 0xC0 self.SubCmd = 0x07 self.Hour = 0 self.Minute = 0 self.BuyPlayerID = 0 return def GetLength(self): return sizeof(tagCGCrossBattlefieldJoinByCall) def GetBuffer(self): return string_at(addressof(self), self.GetLength()) def OutputString(self): DumpString = '''// C0 07 ¿ç·þÕ½³¡¼ÓÈëÕÙ¼¯³¡´Î //tagCGCrossBattlefieldJoinByCall: Cmd:%s, SubCmd:%s, Hour:%d, Minute:%d, BuyPlayerID:%d '''\ %( self.Cmd, self.SubCmd, self.Hour, self.Minute, self.BuyPlayerID ) return DumpString m_NAtagCGCrossBattlefieldJoinByCall=tagCGCrossBattlefieldJoinByCall() ChNetPackDict[eval("0x%02x%02x"%(m_NAtagCGCrossBattlefieldJoinByCall.Cmd,m_NAtagCGCrossBattlefieldJoinByCall.SubCmd))] = m_NAtagCGCrossBattlefieldJoinByCall #------------------------------------------------------ # C0 03 Ç¿ÖÆÍ˳ö¿ç·þ״̬ #tagCGForceQuitCrossState class tagCGForceQuitCrossState(Structure): _pack_ = 1 _fields_ = [ ("Cmd", c_ubyte), ("SubCmd", c_ubyte), ] def __init__(self): self.Clear() self.Cmd = 0xC0 self.SubCmd = 0x03 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 = 0xC0 self.SubCmd = 0x03 return def GetLength(self): return sizeof(tagCGForceQuitCrossState) def GetBuffer(self): return string_at(addressof(self), self.GetLength()) def OutputString(self): DumpString = '''// C0 03 Ç¿ÖÆÍ˳ö¿ç·þ״̬ //tagCGForceQuitCrossState: Cmd:%s, SubCmd:%s '''\ %( self.Cmd, self.SubCmd ) return DumpString m_NAtagCGForceQuitCrossState=tagCGForceQuitCrossState() ChNetPackDict[eval("0x%02x%02x"%(m_NAtagCGForceQuitCrossState.Cmd,m_NAtagCGForceQuitCrossState.SubCmd))] = m_NAtagCGForceQuitCrossState #------------------------------------------------------ # C0 06 ²éѯÐÒÔËÔÆ¹º¿ª½±¼Ç¼ #tagCGQueryLuckyCloudBuyLotteryRec class tagCGQueryLuckyCloudBuyLotteryRec(Structure): _pack_ = 1 _fields_ = [ ("Cmd", c_ubyte), ("SubCmd", c_ubyte), ("ZoneID", c_ubyte), #²éѯ·ÖÇøID ] def __init__(self): self.Clear() self.Cmd = 0xC0 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 = 0xC0 self.SubCmd = 0x06 self.ZoneID = 0 return def GetLength(self): return sizeof(tagCGQueryLuckyCloudBuyLotteryRec) def GetBuffer(self): return string_at(addressof(self), self.GetLength()) def OutputString(self): DumpString = '''// C0 06 ²éѯÐÒÔËÔÆ¹º¿ª½±¼Ç¼ //tagCGQueryLuckyCloudBuyLotteryRec: Cmd:%s, SubCmd:%s, ZoneID:%d '''\ %( self.Cmd, self.SubCmd, self.ZoneID ) return DumpString m_NAtagCGQueryLuckyCloudBuyLotteryRec=tagCGQueryLuckyCloudBuyLotteryRec() ChNetPackDict[eval("0x%02x%02x"%(m_NAtagCGQueryLuckyCloudBuyLotteryRec.Cmd,m_NAtagCGQueryLuckyCloudBuyLotteryRec.SubCmd))] = m_NAtagCGQueryLuckyCloudBuyLotteryRec #------------------------------------------------------ # C0 05 ²éѯÐÒÔËÔÆ¹º¹ºÂòºÅÂë¼Ç¼ #tagCGQueryLuckyCloudBuyNumRec class tagCGQueryLuckyCloudBuyNumRec(Structure): _pack_ = 1 _fields_ = [ ("Cmd", c_ubyte), ("SubCmd", c_ubyte), ] def __init__(self): self.Clear() self.Cmd = 0xC0 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 = 0xC0 self.SubCmd = 0x05 return def GetLength(self): return sizeof(tagCGQueryLuckyCloudBuyNumRec) def GetBuffer(self): return string_at(addressof(self), self.GetLength()) def OutputString(self): DumpString = '''// C0 05 ²éѯÐÒÔËÔÆ¹º¹ºÂòºÅÂë¼Ç¼ //tagCGQueryLuckyCloudBuyNumRec: Cmd:%s, SubCmd:%s '''\ %( self.Cmd, self.SubCmd ) return DumpString m_NAtagCGQueryLuckyCloudBuyNumRec=tagCGQueryLuckyCloudBuyNumRec() ChNetPackDict[eval("0x%02x%02x"%(m_NAtagCGQueryLuckyCloudBuyNumRec.Cmd,m_NAtagCGQueryLuckyCloudBuyNumRec.SubCmd))] = m_NAtagCGQueryLuckyCloudBuyNumRec #------------------------------------------------------ # C0 04 ²é¿´¿ç·þÅÅÐаñ #tagCGViewCrossBillboard class tagCGViewCrossBillboard(Structure): _pack_ = 1 _fields_ = [ ("Cmd", c_ubyte), ("SubCmd", c_ubyte), ("Type", c_ubyte), #°ñµ¥ÀàÐÍ ("GroupValue1", c_ubyte), # ·Ö×éÖµ1 ("GroupValue2", c_ubyte), # ·Ö×éÖµ2£¬Óë·Ö×éÖµ1×éºÏ¹éΪͬ×é°ñµ¥Êý¾Ý ("StartIndex", c_int), #²é¿´µÄÆðʼÃû´ÎË÷Òý£¬ ĬÈÏ0 ("WatchCnt", c_ubyte), #²é¿´ÌõÊý£¬Ä¬ÈÏ20£¬×î´ó²»³¬¹ý100 ("WatchID", c_int), #²é¿´Ö¸¶¨IDÃû´Îǰºó£¬ÈçÍæ¼ÒID¡¢¼Ò×åIDµÈ ] def __init__(self): self.Clear() self.Cmd = 0xC0 self.SubCmd = 0x04 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 = 0xC0 self.SubCmd = 0x04 self.Type = 0 self.GroupValue1 = 0 self.GroupValue2 = 0 self.StartIndex = 0 self.WatchCnt = 0 self.WatchID = 0 return def GetLength(self): return sizeof(tagCGViewCrossBillboard) def GetBuffer(self): return string_at(addressof(self), self.GetLength()) def OutputString(self): DumpString = '''// C0 04 ²é¿´¿ç·þÅÅÐаñ //tagCGViewCrossBillboard: Cmd:%s, SubCmd:%s, Type:%d, GroupValue1:%d, GroupValue2:%d, StartIndex:%d, WatchCnt:%d, WatchID:%d '''\ %( self.Cmd, self.SubCmd, self.Type, self.GroupValue1, self.GroupValue2, self.StartIndex, self.WatchCnt, self.WatchID ) return DumpString m_NAtagCGViewCrossBillboard=tagCGViewCrossBillboard() ChNetPackDict[eval("0x%02x%02x"%(m_NAtagCGViewCrossBillboard.Cmd,m_NAtagCGViewCrossBillboard.SubCmd))] = m_NAtagCGViewCrossBillboard #------------------------------------------------------ # C0 01 ²é¿´¿ç·þ¾º¼¼³¡Èü¼¾ÅÅÐаñ #tagCGViewCrossPKBillboard class tagCGViewCrossPKBillboard(Structure): _pack_ = 1 _fields_ = [ ("Cmd", c_ubyte), ("SubCmd", c_ubyte), ("ZoneID", c_ubyte), # ÈüÇøID ("SeasonID", c_ubyte), # Èü¼¾ID ] def __init__(self): self.Clear() self.Cmd = 0xC0 self.SubCmd = 0x01 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 = 0xC0 self.SubCmd = 0x01 self.ZoneID = 0 self.SeasonID = 0 return def GetLength(self): return sizeof(tagCGViewCrossPKBillboard) def GetBuffer(self): return string_at(addressof(self), self.GetLength()) def OutputString(self): DumpString = '''// C0 01 ²é¿´¿ç·þ¾º¼¼³¡Èü¼¾ÅÅÐаñ //tagCGViewCrossPKBillboard: Cmd:%s, SubCmd:%s, ZoneID:%d, SeasonID:%d '''\ %( self.Cmd, self.SubCmd, self.ZoneID, self.SeasonID ) return DumpString m_NAtagCGViewCrossPKBillboard=tagCGViewCrossPKBillboard() ChNetPackDict[eval("0x%02x%02x"%(m_NAtagCGViewCrossPKBillboard.Cmd,m_NAtagCGViewCrossPKBillboard.SubCmd))] = m_NAtagCGViewCrossPKBillboard #------------------------------------------------------ # C0 02 ²é¿´¿ç·þÍæ¼ÒÐÅÏ¢ #tagCGViewCrossPlayerInfo class tagCGViewCrossPlayerInfo(Structure): _pack_ = 1 _fields_ = [ ("Cmd", c_ubyte), ("SubCmd", c_ubyte), ("PlayerID", c_int), # ¿ç·þÍæ¼ÒID ("EquipClassLV", c_ubyte), #´óÓÚ0Ϊ²é¿´Ö¸¶¨¾³½ç½××°±¸ÐÅÏ¢, 0Ϊ²é¿´Ä¬ÈÏÐÅÏ¢ ] def __init__(self): self.Clear() self.Cmd = 0xC0 self.SubCmd = 0x02 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 = 0xC0 self.SubCmd = 0x02 self.PlayerID = 0 self.EquipClassLV = 0 return def GetLength(self): return sizeof(tagCGViewCrossPlayerInfo) def GetBuffer(self): return string_at(addressof(self), self.GetLength()) def OutputString(self): DumpString = '''// C0 02 ²é¿´¿ç·þÍæ¼ÒÐÅÏ¢ //tagCGViewCrossPlayerInfo: Cmd:%s, SubCmd:%s, PlayerID:%d, EquipClassLV:%d '''\ %( self.Cmd, self.SubCmd, self.PlayerID, self.EquipClassLV ) return DumpString m_NAtagCGViewCrossPlayerInfo=tagCGViewCrossPlayerInfo() ChNetPackDict[eval("0x%02x%02x"%(m_NAtagCGViewCrossPlayerInfo.Cmd,m_NAtagCGViewCrossPlayerInfo.SubCmd))] = m_NAtagCGViewCrossPlayerInfo #------------------------------------------------------ # A1 21 תְҵ #tagCMChangeJob class tagCMChangeJob(Structure): _pack_ = 1 _fields_ = [ ("Cmd", c_ubyte), ("SubCmd", c_ubyte), ("TagJob", c_ubyte), ] def __init__(self): self.Clear() self.Cmd = 0xA1 self.SubCmd = 0x21 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 = 0xA1 self.SubCmd = 0x21 self.TagJob = 0 return def GetLength(self): return sizeof(tagCMChangeJob) def GetBuffer(self): return string_at(addressof(self), self.GetLength()) def OutputString(self): DumpString = '''// A1 21 תְҵ //tagCMChangeJob: Cmd:%s, SubCmd:%s, TagJob:%d '''\ %( self.Cmd, self.SubCmd, self.TagJob ) return DumpString m_NAtagCMChangeJob=tagCMChangeJob() ChNetPackDict[eval("0x%02x%02x"%(m_NAtagCMChangeJob.Cmd,m_NAtagCMChangeJob.SubCmd))] = m_NAtagCMChangeJob #------------------------------------------------------ # A1 25 ´ú±Ò¹ºÂò³äÖµÉÌÆ·±àºÅÉÌÆ· #tagCMCoinBuyOrderInfo class tagCMCoinBuyOrderInfo(Structure): Head = tagHead() AppIDLen = 0 #(BYTE AppIDLen) AppID = "" #(String AppID) OrderInfoLen = 0 #(BYTE OrderInfoLen) OrderInfo = "" #(String OrderInfo)//ÉÌÆ·±àºÅ data = None def __init__(self): self.Clear() self.Head.Cmd = 0xA1 self.Head.SubCmd = 0x25 return def ReadData(self, _lpData, _pos=0, _Len=0): self.Clear() _pos = self.Head.ReadData(_lpData, _pos) self.AppIDLen,_pos = CommFunc.ReadBYTE(_lpData, _pos) self.AppID,_pos = CommFunc.ReadString(_lpData, _pos,self.AppIDLen) self.OrderInfoLen,_pos = CommFunc.ReadBYTE(_lpData, _pos) self.OrderInfo,_pos = CommFunc.ReadString(_lpData, _pos,self.OrderInfoLen) return _pos def Clear(self): self.Head = tagHead() self.Head.Clear() self.Head.Cmd = 0xA1 self.Head.SubCmd = 0x25 self.AppIDLen = 0 self.AppID = "" self.OrderInfoLen = 0 self.OrderInfo = "" return def GetLength(self): length = 0 length += self.Head.GetLength() length += 1 length += len(self.AppID) length += 1 length += len(self.OrderInfo) return length def GetBuffer(self): data = '' data = CommFunc.WriteString(data, self.Head.GetLength(), self.Head.GetBuffer()) data = CommFunc.WriteBYTE(data, self.AppIDLen) data = CommFunc.WriteString(data, self.AppIDLen, self.AppID) data = CommFunc.WriteBYTE(data, self.OrderInfoLen) data = CommFunc.WriteString(data, self.OrderInfoLen, self.OrderInfo) return data def OutputString(self): DumpString = ''' Head:%s, AppIDLen:%d, AppID:%s, OrderInfoLen:%d, OrderInfo:%s '''\ %( self.Head.OutputString(), self.AppIDLen, self.AppID, self.OrderInfoLen, self.OrderInfo ) return DumpString m_NAtagCMCoinBuyOrderInfo=tagCMCoinBuyOrderInfo() ChNetPackDict[eval("0x%02x%02x"%(m_NAtagCMCoinBuyOrderInfo.Head.Cmd,m_NAtagCMCoinBuyOrderInfo.Head.SubCmd))] = m_NAtagCMCoinBuyOrderInfo #------------------------------------------------------ # A1 20 »õ±Ò¶Ò»» #tagCMMoneyExchange class tagCMMoneyExchange(Structure): _pack_ = 1 _fields_ = [ ("Cmd", c_ubyte), ("SubCmd", c_ubyte), ("SrcMoneyType", c_ubyte), # Ô´»õ±ÒÀàÐÍ ("TagMoneyType", c_ubyte), # Ä¿±ê»õ±ÒÀàÐÍ ("ExchangeValue", c_int), # ¶Ò»»ÊýÁ¿£¨ÏûºÄÔ´»õ±ÒµÄÊýÁ¿£© ] def __init__(self): self.Clear() self.Cmd = 0xA1 self.SubCmd = 0x20 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 = 0xA1 self.SubCmd = 0x20 self.SrcMoneyType = 0 self.TagMoneyType = 0 self.ExchangeValue = 0 return def GetLength(self): return sizeof(tagCMMoneyExchange) def GetBuffer(self): return string_at(addressof(self), self.GetLength()) def OutputString(self): DumpString = '''// A1 20 »õ±Ò¶Ò»» //tagCMMoneyExchange: Cmd:%s, SubCmd:%s, SrcMoneyType:%d, TagMoneyType:%d, ExchangeValue:%d '''\ %( self.Cmd, self.SubCmd, self.SrcMoneyType, self.TagMoneyType, self.ExchangeValue ) return DumpString m_NAtagCMMoneyExchange=tagCMMoneyExchange() ChNetPackDict[eval("0x%02x%02x"%(m_NAtagCMMoneyExchange.Cmd,m_NAtagCMMoneyExchange.SubCmd))] = m_NAtagCMMoneyExchange #------------------------------------------------------ # A1 01 Íæ¼ÒµçÄÔÐÅÏ¢ #tagCMPCInfo class tagCMPCInfo(Structure): Head = tagHead() PCOSLen = 0 #(BYTE PCOSLen) PCOS = "" #(String PCOS)// ²Ù×÷ϵͳ ResolutionLen = 0 #(BYTE ResolutionLen) Resolution = "" #(String Resolution)// ·Ö±æÂÊ BrowserLen = 0 #(BYTE BrowserLen) Browser = "" #(String Browser)// ä¯ÀÀÆ÷ ScribeTypeLen = 0 #(BYTE ScribeTypeLen) ScribeType = "" #(String ScribeType)// ¼Ç¼ÀàÐÍ ScribeDataLen = 0 #(BYTE ScribeDataLen) ScribeData = "" #(String ScribeData)// ¼Ç¼À©Õ¹ÐÅÏ¢ data = None def __init__(self): self.Clear() self.Head.Cmd = 0xA1 self.Head.SubCmd = 0x01 return def ReadData(self, _lpData, _pos=0, _Len=0): self.Clear() _pos = self.Head.ReadData(_lpData, _pos) self.PCOSLen,_pos = CommFunc.ReadBYTE(_lpData, _pos) self.PCOS,_pos = CommFunc.ReadString(_lpData, _pos,self.PCOSLen) self.ResolutionLen,_pos = CommFunc.ReadBYTE(_lpData, _pos) self.Resolution,_pos = CommFunc.ReadString(_lpData, _pos,self.ResolutionLen) self.BrowserLen,_pos = CommFunc.ReadBYTE(_lpData, _pos) self.Browser,_pos = CommFunc.ReadString(_lpData, _pos,self.BrowserLen) self.ScribeTypeLen,_pos = CommFunc.ReadBYTE(_lpData, _pos) self.ScribeType,_pos = CommFunc.ReadString(_lpData, _pos,self.ScribeTypeLen) self.ScribeDataLen,_pos = CommFunc.ReadBYTE(_lpData, _pos) self.ScribeData,_pos = CommFunc.ReadString(_lpData, _pos,self.ScribeDataLen) return _pos def Clear(self): self.Head = tagHead() self.Head.Clear() self.Head.Cmd = 0xA1 self.Head.SubCmd = 0x01 self.PCOSLen = 0 self.PCOS = "" self.ResolutionLen = 0 self.Resolution = "" self.BrowserLen = 0 self.Browser = "" self.ScribeTypeLen = 0 self.ScribeType = "" self.ScribeDataLen = 0 self.ScribeData = "" return def GetLength(self): length = 0 length += self.Head.GetLength() length += 1 length += len(self.PCOS) length += 1 length += len(self.Resolution) length += 1 length += len(self.Browser) length += 1 length += len(self.ScribeType) length += 1 length += len(self.ScribeData) return length def GetBuffer(self): data = '' data = CommFunc.WriteString(data, self.Head.GetLength(), self.Head.GetBuffer()) data = CommFunc.WriteBYTE(data, self.PCOSLen) data = CommFunc.WriteString(data, self.PCOSLen, self.PCOS) data = CommFunc.WriteBYTE(data, self.ResolutionLen) data = CommFunc.WriteString(data, self.ResolutionLen, self.Resolution) data = CommFunc.WriteBYTE(data, self.BrowserLen) data = CommFunc.WriteString(data, self.BrowserLen, self.Browser) data = CommFunc.WriteBYTE(data, self.ScribeTypeLen) data = CommFunc.WriteString(data, self.ScribeTypeLen, self.ScribeType) data = CommFunc.WriteBYTE(data, self.ScribeDataLen) data = CommFunc.WriteString(data, self.ScribeDataLen, self.ScribeData) return data def OutputString(self): DumpString = ''' Head:%s, PCOSLen:%d, PCOS:%s, ResolutionLen:%d, Resolution:%s, BrowserLen:%d, Browser:%s, ScribeTypeLen:%d, ScribeType:%s, ScribeDataLen:%d, ScribeData:%s '''\ %( self.Head.OutputString(), self.PCOSLen, self.PCOS, self.ResolutionLen, self.Resolution, self.BrowserLen, self.Browser, self.ScribeTypeLen, self.ScribeType, self.ScribeDataLen, self.ScribeData ) return DumpString m_NAtagCMPCInfo=tagCMPCInfo() ChNetPackDict[eval("0x%02x%02x"%(m_NAtagCMPCInfo.Head.Cmd,m_NAtagCMPCInfo.Head.SubCmd))] = m_NAtagCMPCInfo #------------------------------------------------------ # A1 23 ²éѯ³äÖµ´ÎÊý #tagCMQueryCoinToGoldCount class tagCMQueryCoinToGoldCount(Structure): _pack_ = 1 _fields_ = [ ("Cmd", c_ubyte), ("SubCmd", c_ubyte), ("RecordID", c_ushort), #³äÖµ¼Ç¼ID£¬Ò²¾ÍÊdzäÖµID£¬·¢0Ôò²éÈ«²¿ ] def __init__(self): self.Clear() self.Cmd = 0xA1 self.SubCmd = 0x23 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 = 0xA1 self.SubCmd = 0x23 self.RecordID = 0 return def GetLength(self): return sizeof(tagCMQueryCoinToGoldCount) def GetBuffer(self): return string_at(addressof(self), self.GetLength()) def OutputString(self): DumpString = '''// A1 23 ²éѯ³äÖµ´ÎÊý //tagCMQueryCoinToGoldCount: Cmd:%s, SubCmd:%s, RecordID:%d '''\ %( self.Cmd, self.SubCmd, self.RecordID ) return DumpString m_NAtagCMQueryCoinToGoldCount=tagCMQueryCoinToGoldCount() ChNetPackDict[eval("0x%02x%02x"%(m_NAtagCMQueryCoinToGoldCount.Cmd,m_NAtagCMQueryCoinToGoldCount.SubCmd))] = m_NAtagCMQueryCoinToGoldCount #------------------------------------------------------ # A1 08 Ë¢ÐÂÖ÷·þ½ÇÉ«ÐÅÏ¢ #tagCMRefreshMainServerRole class tagCMRefreshMainServerRole(Structure): _pack_ = 1 _fields_ = [ ("Cmd", c_ubyte), ("SubCmd", c_ubyte), ] def __init__(self): self.Clear() self.Cmd = 0xA1 self.SubCmd = 0x08 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 = 0xA1 self.SubCmd = 0x08 return def GetLength(self): return sizeof(tagCMRefreshMainServerRole) def GetBuffer(self): return string_at(addressof(self), self.GetLength()) def OutputString(self): DumpString = '''// A1 08 Ë¢ÐÂÖ÷·þ½ÇÉ«ÐÅÏ¢ //tagCMRefreshMainServerRole: Cmd:%s, SubCmd:%s '''\ %( self.Cmd, self.SubCmd ) return DumpString m_NAtagCMRefreshMainServerRole=tagCMRefreshMainServerRole() ChNetPackDict[eval("0x%02x%02x"%(m_NAtagCMRefreshMainServerRole.Cmd,m_NAtagCMRefreshMainServerRole.SubCmd))] = m_NAtagCMRefreshMainServerRole #------------------------------------------------------ # A1 26 ³äÖµ×ÔÑ¡ÎïÆ·Ñ¡Ôñ #tagCMSelectCTGItem class tagCMSelectCTGItem(Structure): _pack_ = 1 _fields_ = [ ("Cmd", c_ubyte), ("SubCmd", c_ubyte), ("RecordID", c_ushort), #³äÖµID ("SelectItemValue", c_int), # ×ÔÑ¡ÎïÆ·Ë÷ÒýÖµ£¬Ã¿Á½Î»´æ´¢Ã¿¸ö×ÔÑ¡Ë÷Òý¶ÔӦѡÔñµÄÎïÆ·Ë÷Òý+1£¬´æ´¢Î»ÖµÎª0´ú±íδѡÔñ£¬×î¶àÖ§³ÖÑ¡Ôñ4ÖÖÎïÆ· ] def __init__(self): self.Clear() self.Cmd = 0xA1 self.SubCmd = 0x26 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 = 0xA1 self.SubCmd = 0x26 self.RecordID = 0 self.SelectItemValue = 0 return def GetLength(self): return sizeof(tagCMSelectCTGItem) def GetBuffer(self): return string_at(addressof(self), self.GetLength()) def OutputString(self): DumpString = '''// A1 26 ³äÖµ×ÔÑ¡ÎïÆ·Ñ¡Ôñ //tagCMSelectCTGItem: Cmd:%s, SubCmd:%s, RecordID:%d, SelectItemValue:%d '''\ %( self.Cmd, self.SubCmd, self.RecordID, self.SelectItemValue ) return DumpString m_NAtagCMSelectCTGItem=tagCMSelectCTGItem() ChNetPackDict[eval("0x%02x%02x"%(m_NAtagCMSelectCTGItem.Cmd,m_NAtagCMSelectCTGItem.SubCmd))] = m_NAtagCMSelectCTGItem #------------------------------------------------------ # A1 09 ͬ²½´ò°üÍæ¼ÒÊý¾Ý #tagCMSycnPlayerPackData class tagCMSycnPlayerPackData(Structure): _pack_ = 1 _fields_ = [ ("Cmd", c_ubyte), ("SubCmd", c_ubyte), ] def __init__(self): self.Clear() self.Cmd = 0xA1 self.SubCmd = 0x09 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 = 0xA1 self.SubCmd = 0x09 return def GetLength(self): return sizeof(tagCMSycnPlayerPackData) def GetBuffer(self): return string_at(addressof(self), self.GetLength()) def OutputString(self): DumpString = '''// A1 09 ͬ²½´ò°üÍæ¼ÒÊý¾Ý //tagCMSycnPlayerPackData: Cmd:%s, SubCmd:%s '''\ %( self.Cmd, self.SubCmd ) return DumpString m_NAtagCMSycnPlayerPackData=tagCMSycnPlayerPackData() ChNetPackDict[eval("0x%02x%02x"%(m_NAtagCMSycnPlayerPackData.Cmd,m_NAtagCMSycnPlayerPackData.SubCmd))] = m_NAtagCMSycnPlayerPackData #------------------------------------------------------ #A1 03 ÉèÖÃÊÇ·ñ³ÉÄê #tagCMAdult class tagCMAdult(Structure): _pack_ = 1 _fields_ = [ ("Cmd", c_ubyte), ("SubCmd", c_ubyte), ("Adult", c_ubyte), ] def __init__(self): self.Clear() self.Cmd = 0xA1 self.SubCmd = 0x03 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 = 0xA1 self.SubCmd = 0x03 self.Adult = 0 return def GetLength(self): return sizeof(tagCMAdult) def GetBuffer(self): return string_at(addressof(self), self.GetLength()) def OutputString(self): DumpString = '''//A1 03 ÉèÖÃÊÇ·ñ³ÉÄê //tagCMAdult: Cmd:%s, SubCmd:%s, Adult:%d '''\ %( self.Cmd, self.SubCmd, self.Adult ) return DumpString m_NAtagCMAdult=tagCMAdult() ChNetPackDict[eval("0x%02x%02x"%(m_NAtagCMAdult.Cmd,m_NAtagCMAdult.SubCmd))] = m_NAtagCMAdult #------------------------------------------------------ #A1 02 ÇëÇó·þÎñÆ÷tick # tagCMWorldTick class tagCMWorldTick(Structure): _pack_ = 1 _fields_ = [ ("Cmd", c_ubyte), ("SubCmd", c_ubyte), ] def __init__(self): self.Clear() self.Cmd = 0xA1 self.SubCmd = 0x02 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 = 0xA1 self.SubCmd = 0x02 return def GetLength(self): return sizeof(tagCMWorldTick) def GetBuffer(self): return string_at(addressof(self), self.GetLength()) def OutputString(self): DumpString = '''//A1 02 ÇëÇó·þÎñÆ÷tick // tagCMWorldTick: Cmd:%s, SubCmd:%s '''\ %( self.Cmd, self.SubCmd ) return DumpString m_NAtagCMWorldTick=tagCMWorldTick() ChNetPackDict[eval("0x%02x%02x"%(m_NAtagCMWorldTick.Cmd,m_NAtagCMWorldTick.SubCmd))] = m_NAtagCMWorldTick #------------------------------------------------------ #A1 22 ½ÇÉ«¸ÄÃû #tagUpdatePlayerName class tagUpdatePlayerName(Structure): Head = tagHead() NewNameLen = 0 #(BYTE NewNameLen) NewName = "" #(String NewName) ItemIndex = 0 #(BYTE ItemIndex)//¸ÄÃûÎïÆ·ÔÚ±³°üÖеÄλÖà ServerID = 0 #(DWORD ServerID) data = None def __init__(self): self.Clear() self.Head.Cmd = 0xA1 self.Head.SubCmd = 0x22 return def ReadData(self, _lpData, _pos=0, _Len=0): self.Clear() _pos = self.Head.ReadData(_lpData, _pos) self.NewNameLen,_pos = CommFunc.ReadBYTE(_lpData, _pos) self.NewName,_pos = CommFunc.ReadString(_lpData, _pos,self.NewNameLen) self.ItemIndex,_pos = CommFunc.ReadBYTE(_lpData, _pos) self.ServerID,_pos = CommFunc.ReadDWORD(_lpData, _pos) return _pos def Clear(self): self.Head = tagHead() self.Head.Clear() self.Head.Cmd = 0xA1 self.Head.SubCmd = 0x22 self.NewNameLen = 0 self.NewName = "" self.ItemIndex = 0 self.ServerID = 0 return def GetLength(self): length = 0 length += self.Head.GetLength() length += 1 length += len(self.NewName) length += 1 length += 4 return length def GetBuffer(self): data = '' data = CommFunc.WriteString(data, self.Head.GetLength(), self.Head.GetBuffer()) data = CommFunc.WriteBYTE(data, self.NewNameLen) data = CommFunc.WriteString(data, self.NewNameLen, self.NewName) data = CommFunc.WriteBYTE(data, self.ItemIndex) data = CommFunc.WriteDWORD(data, self.ServerID) return data def OutputString(self): DumpString = ''' Head:%s, NewNameLen:%d, NewName:%s, ItemIndex:%d, ServerID:%d '''\ %( self.Head.OutputString(), self.NewNameLen, self.NewName, self.ItemIndex, self.ServerID ) return DumpString m_NAtagUpdatePlayerName=tagUpdatePlayerName() ChNetPackDict[eval("0x%02x%02x"%(m_NAtagUpdatePlayerName.Head.Cmd,m_NAtagUpdatePlayerName.Head.SubCmd))] = m_NAtagUpdatePlayerName #------------------------------------------------------ # A2 19 ÓÎÏ·½¨ÒéÊÕ¼¯ #tagCMAdviceSubmit class tagCMAdviceSubmit(Structure): Head = tagHead() Type = 0 #(BYTE Type)//Ìá½»ÀàÐÍ Len = 0 #(WORD Len) Content = "" #(String Content)//size = Len data = None def __init__(self): self.Clear() self.Head.Cmd = 0xA2 self.Head.SubCmd = 0x19 return def ReadData(self, _lpData, _pos=0, _Len=0): self.Clear() _pos = self.Head.ReadData(_lpData, _pos) self.Type,_pos = CommFunc.ReadBYTE(_lpData, _pos) self.Len,_pos = CommFunc.ReadWORD(_lpData, _pos) self.Content,_pos = CommFunc.ReadString(_lpData, _pos,self.Len) return _pos def Clear(self): self.Head = tagHead() self.Head.Clear() self.Head.Cmd = 0xA2 self.Head.SubCmd = 0x19 self.Type = 0 self.Len = 0 self.Content = "" return def GetLength(self): length = 0 length += self.Head.GetLength() length += 1 length += 2 length += len(self.Content) return length def GetBuffer(self): data = '' data = CommFunc.WriteString(data, self.Head.GetLength(), self.Head.GetBuffer()) data = CommFunc.WriteBYTE(data, self.Type) data = CommFunc.WriteWORD(data, self.Len) data = CommFunc.WriteString(data, self.Len, self.Content) return data def OutputString(self): DumpString = ''' Head:%s, Type:%d, Len:%d, Content:%s '''\ %( self.Head.OutputString(), self.Type, self.Len, self.Content ) return DumpString m_NAtagCMAdviceSubmit=tagCMAdviceSubmit() ChNetPackDict[eval("0x%02x%02x"%(m_NAtagCMAdviceSubmit.Head.Cmd,m_NAtagCMAdviceSubmit.Head.SubCmd))] = m_NAtagCMAdviceSubmit #------------------------------------------------------ # A2 15 ¹ºÂòÈÕ³£ÈÎÎñ´ÎÊýÉÏÏÞ #tagCMBuyDayMissionSum class tagCMBuyDayMissionSum(Structure): _pack_ = 1 _fields_ = [ ("Cmd", c_ubyte), ("SubCmd", c_ubyte), ("BuyNum", c_ubyte), # Òª¹ºÂòµÄ´ÎÊý ] def __init__(self): self.Clear() self.Cmd = 0xA2 self.SubCmd = 0x15 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 = 0xA2 self.SubCmd = 0x15 self.BuyNum = 0 return def GetLength(self): return sizeof(tagCMBuyDayMissionSum) def GetBuffer(self): return string_at(addressof(self), self.GetLength()) def OutputString(self): DumpString = '''// A2 15 ¹ºÂòÈÕ³£ÈÎÎñ´ÎÊýÉÏÏÞ //tagCMBuyDayMissionSum: Cmd:%s, SubCmd:%s, BuyNum:%d '''\ %( self.Cmd, self.SubCmd, self.BuyNum ) return DumpString m_NAtagCMBuyDayMissionSum=tagCMBuyDayMissionSum() ChNetPackDict[eval("0x%02x%02x"%(m_NAtagCMBuyDayMissionSum.Cmd,m_NAtagCMBuyDayMissionSum.SubCmd))] = m_NAtagCMBuyDayMissionSum #------------------------------------------------------ #A2 03 »Ø¹ºÎïÆ· #tagCMBuyItemBack class tagCMBuyItemBack(Structure): _pack_ = 1 _fields_ = [ ("Cmd", c_ubyte), ("SubCmd", c_ubyte), ("Index", c_ubyte), #±³°üλÖÃË÷Òý ] def __init__(self): self.Clear() self.Cmd = 0xA2 self.SubCmd = 0x03 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 = 0xA2 self.SubCmd = 0x03 self.Index = 0 return def GetLength(self): return sizeof(tagCMBuyItemBack) def GetBuffer(self): return string_at(addressof(self), self.GetLength()) def OutputString(self): DumpString = '''//A2 03 »Ø¹ºÎïÆ· //tagCMBuyItemBack: Cmd:%s, SubCmd:%s, Index:%d '''\ %( self.Cmd, self.SubCmd, self.Index ) return DumpString m_NAtagCMBuyItemBack=tagCMBuyItemBack() ChNetPackDict[eval("0x%02x%02x"%(m_NAtagCMBuyItemBack.Cmd,m_NAtagCMBuyItemBack.SubCmd))] = m_NAtagCMBuyItemBack #------------------------------------------------------ # A2 36 ÁÄÌìÆøÅÝ¿òÉýÐÇ #tagCMChatBubbleBoxStarUP class tagCMChatBubbleBoxStarUP(Structure): _pack_ = 1 _fields_ = [ ("Cmd", c_ubyte), ("SubCmd", c_ubyte), ("BoxID", c_ubyte), #ÆøÅÝID ] def __init__(self): self.Clear() self.Cmd = 0xA2 self.SubCmd = 0x36 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 = 0xA2 self.SubCmd = 0x36 self.BoxID = 0 return def GetLength(self): return sizeof(tagCMChatBubbleBoxStarUP) def GetBuffer(self): return string_at(addressof(self), self.GetLength()) def OutputString(self): DumpString = '''// A2 36 ÁÄÌìÆøÅÝ¿òÉýÐÇ //tagCMChatBubbleBoxStarUP: Cmd:%s, SubCmd:%s, BoxID:%d '''\ %( self.Cmd, self.SubCmd, self.BoxID ) return DumpString m_NAtagCMChatBubbleBoxStarUP=tagCMChatBubbleBoxStarUP() ChNetPackDict[eval("0x%02x%02x"%(m_NAtagCMChatBubbleBoxStarUP.Cmd,m_NAtagCMChatBubbleBoxStarUP.SubCmd))] = m_NAtagCMChatBubbleBoxStarUP #------------------------------------------------------ # A2 10 Çå³ý¸±±¾CD#tagCMClearFBCD class tagCMClearFBCD(Structure): _pack_ = 1 _fields_ = [ ("Cmd", c_ubyte), ("SubCmd", c_ubyte), ("MapID", c_int), ] def __init__(self): self.Clear() self.Cmd = 0xA2 self.SubCmd = 0x10 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 = 0xA2 self.SubCmd = 0x10 self.MapID = 0 return def GetLength(self): return sizeof(tagCMClearFBCD) def GetBuffer(self): return string_at(addressof(self), self.GetLength()) def OutputString(self): DumpString = '''// A2 10 Çå³ý¸±±¾CD//tagCMClearFBCD: Cmd:%s, SubCmd:%s, MapID:%d '''\ %( self.Cmd, self.SubCmd, self.MapID ) return DumpString m_NAtagCMClearFBCD=tagCMClearFBCD() ChNetPackDict[eval("0x%02x%02x"%(m_NAtagCMClearFBCD.Cmd,m_NAtagCMClearFBCD.SubCmd))] = m_NAtagCMClearFBCD #------------------------------------------------------ # A2 33 ǰ¶ËÍ˳ö×Ô¶¨Ò峡¾° #tagCMClientExitCustomScene class tagCMClientExitCustomScene(Structure): _pack_ = 1 _fields_ = [ ("Cmd", c_ubyte), ("SubCmd", c_ubyte), ] def __init__(self): self.Clear() self.Cmd = 0xA2 self.SubCmd = 0x33 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 = 0xA2 self.SubCmd = 0x33 return def GetLength(self): return sizeof(tagCMClientExitCustomScene) def GetBuffer(self): return string_at(addressof(self), self.GetLength()) def OutputString(self): DumpString = '''// A2 33 ǰ¶ËÍ˳ö×Ô¶¨Ò峡¾° //tagCMClientExitCustomScene: Cmd:%s, SubCmd:%s '''\ %( self.Cmd, self.SubCmd ) return DumpString m_NAtagCMClientExitCustomScene=tagCMClientExitCustomScene() ChNetPackDict[eval("0x%02x%02x"%(m_NAtagCMClientExitCustomScene.Cmd,m_NAtagCMClientExitCustomScene.SubCmd))] = m_NAtagCMClientExitCustomScene #------------------------------------------------------ # A2 31 ǰ¶Ë¿ªÊ¼×Ô¶¨Ò峡¾° #tagCMClientStartCustomScene class tagCMClientStartCustomScene(Structure): _pack_ = 1 _fields_ = [ ("Cmd", c_ubyte), ("SubCmd", c_ubyte), ("MapID", c_int), ("FuncLineID", c_ushort), ] def __init__(self): self.Clear() self.Cmd = 0xA2 self.SubCmd = 0x31 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 = 0xA2 self.SubCmd = 0x31 self.MapID = 0 self.FuncLineID = 0 return def GetLength(self): return sizeof(tagCMClientStartCustomScene) def GetBuffer(self): return string_at(addressof(self), self.GetLength()) def OutputString(self): DumpString = '''// A2 31 ǰ¶Ë¿ªÊ¼×Ô¶¨Ò峡¾° //tagCMClientStartCustomScene: Cmd:%s, SubCmd:%s, MapID:%d, FuncLineID:%d '''\ %( self.Cmd, self.SubCmd, self.MapID, self.FuncLineID ) return DumpString m_NAtagCMClientStartCustomScene=tagCMClientStartCustomScene() ChNetPackDict[eval("0x%02x%02x"%(m_NAtagCMClientStartCustomScene.Cmd,m_NAtagCMClientStartCustomScene.SubCmd))] = m_NAtagCMClientStartCustomScene #------------------------------------------------------ # A2 24 ´¥ÅöNPC #tagCMTouchNPC class tagCMTouchNPC(Structure): _pack_ = 1 _fields_ = [ ("Cmd", c_ubyte), ("SubCmd", c_ubyte), ("ObjID", c_int), ] def __init__(self): self.Clear() self.Cmd = 0xA2 self.SubCmd = 0x24 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 = 0xA2 self.SubCmd = 0x24 self.ObjID = 0 return def GetLength(self): return sizeof(tagCMTouchNPC) def GetBuffer(self): return string_at(addressof(self), self.GetLength()) def OutputString(self): DumpString = '''// A2 24 ´¥ÅöNPC //tagCMTouchNPC: Cmd:%s, SubCmd:%s, ObjID:%d '''\ %( self.Cmd, self.SubCmd, self.ObjID ) return DumpString m_NAtagCMTouchNPC=tagCMTouchNPC() ChNetPackDict[eval("0x%02x%02x"%(m_NAtagCMTouchNPC.Cmd,m_NAtagCMTouchNPC.SubCmd))] = m_NAtagCMTouchNPC #------------------------------------------------------ # A2 34 ×Ô¶¨Ò峡¾°ÖлñÈ¡²É¼¯½±Àø #tagCMGetCustomSceneCollectAward class tagCMGetCustomSceneCollectAward(Structure): _pack_ = 1 _fields_ = [ ("Cmd", c_ubyte), ("SubCmd", c_ubyte), ("NPCID", c_int), #²É¼¯µÄNPCID ] def __init__(self): self.Clear() self.Cmd = 0xA2 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 = 0xA2 self.SubCmd = 0x34 self.NPCID = 0 return def GetLength(self): return sizeof(tagCMGetCustomSceneCollectAward) def GetBuffer(self): return string_at(addressof(self), self.GetLength()) def OutputString(self): DumpString = '''// A2 34 ×Ô¶¨Ò峡¾°ÖлñÈ¡²É¼¯½±Àø //tagCMGetCustomSceneCollectAward: Cmd:%s, SubCmd:%s, NPCID:%d '''\ %( self.Cmd, self.SubCmd, self.NPCID ) return DumpString m_NAtagCMGetCustomSceneCollectAward=tagCMGetCustomSceneCollectAward() ChNetPackDict[eval("0x%02x%02x"%(m_NAtagCMGetCustomSceneCollectAward.Cmd,m_NAtagCMGetCustomSceneCollectAward.SubCmd))] = m_NAtagCMGetCustomSceneCollectAward #------------------------------------------------------ # A2 21 ÁìÈ¡ÅÜ»·Ã¿ÂÖ½áÊø½±Àø #tagCMGetRunTaskEndAward class tagCMGetRunTaskEndAward(Structure): _pack_ = 1 _fields_ = [ ("Cmd", c_ubyte), ("SubCmd", c_ubyte), ("Type", c_ubyte), #ÈÎÎñÀàÐÍ ] def __init__(self): self.Clear() self.Cmd = 0xA2 self.SubCmd = 0x21 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 = 0xA2 self.SubCmd = 0x21 self.Type = 0 return def GetLength(self): return sizeof(tagCMGetRunTaskEndAward) def GetBuffer(self): return string_at(addressof(self), self.GetLength()) def OutputString(self): DumpString = '''// A2 21 ÁìÈ¡ÅÜ»·Ã¿ÂÖ½áÊø½±Àø //tagCMGetRunTaskEndAward: Cmd:%s, SubCmd:%s, Type:%d '''\ %( self.Cmd, self.SubCmd, self.Type ) return DumpString m_NAtagCMGetRunTaskEndAward=tagCMGetRunTaskEndAward() ChNetPackDict[eval("0x%02x%02x"%(m_NAtagCMGetRunTaskEndAward.Cmd,m_NAtagCMGetRunTaskEndAward.SubCmd))] = m_NAtagCMGetRunTaskEndAward #------------------------------------------------------ # A2 18 Íê³ÉÈÎÎñ #tagCMFinishTask class tagCMFinishTask(Structure): _pack_ = 1 _fields_ = [ ("Cmd", c_ubyte), ("SubCmd", c_ubyte), ("TaskID", c_int), ("RewardPer", c_ushort), # ½±Àø°Ù·Ö±È, ĬÈÏ100; 150Ôò´ú±í1.5±¶ ] def __init__(self): self.Clear() self.Cmd = 0xA2 self.SubCmd = 0x18 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 = 0xA2 self.SubCmd = 0x18 self.TaskID = 0 self.RewardPer = 0 return def GetLength(self): return sizeof(tagCMFinishTask) def GetBuffer(self): return string_at(addressof(self), self.GetLength()) def OutputString(self): DumpString = '''// A2 18 Íê³ÉÈÎÎñ //tagCMFinishTask: Cmd:%s, SubCmd:%s, TaskID:%d, RewardPer:%d '''\ %( self.Cmd, self.SubCmd, self.TaskID, self.RewardPer ) return DumpString m_NAtagCMFinishTask=tagCMFinishTask() ChNetPackDict[eval("0x%02x%02x"%(m_NAtagCMFinishTask.Cmd,m_NAtagCMFinishTask.SubCmd))] = m_NAtagCMFinishTask #------------------------------------------------------ # A2 23 NPCÐã½áÊø #tagCMNPCShowEnd class tagCMNPCShowEnd(Structure): _pack_ = 1 _fields_ = [ ("Cmd", c_ubyte), ("SubCmd", c_ubyte), ("NPCID", c_int), ("EndType", c_ubyte), # 0-ĬÈÏ£»1-Ìø¹ý ] def __init__(self): self.Clear() self.Cmd = 0xA2 self.SubCmd = 0x23 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 = 0xA2 self.SubCmd = 0x23 self.NPCID = 0 self.EndType = 0 return def GetLength(self): return sizeof(tagCMNPCShowEnd) def GetBuffer(self): return string_at(addressof(self), self.GetLength()) def OutputString(self): DumpString = '''// A2 23 NPCÐã½áÊø //tagCMNPCShowEnd: Cmd:%s, SubCmd:%s, NPCID:%d, EndType:%d '''\ %( self.Cmd, self.SubCmd, self.NPCID, self.EndType ) return DumpString m_NAtagCMNPCShowEnd=tagCMNPCShowEnd() ChNetPackDict[eval("0x%02x%02x"%(m_NAtagCMNPCShowEnd.Cmd,m_NAtagCMNPCShowEnd.SubCmd))] = m_NAtagCMNPCShowEnd #------------------------------------------------------ #A2 05 ÇëÇó¶Ò»»ÀëÏß¾­Ñé·â°ü#tagPyCMOfflineExpExchange class tagPyCMOfflineExpExchange(Structure): _pack_ = 1 _fields_ = [ ("Cmd", c_ubyte), ("SubCmd", c_ubyte), ("Index", c_ubyte), #¾­Ñé±¶ÂÊË÷Òý ("ExchangeTime", c_int), #¶Ò»»Ê±¼ä ] def __init__(self): self.Clear() self.Cmd = 0xA2 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 = 0xA2 self.SubCmd = 0x05 self.Index = 0 self.ExchangeTime = 0 return def GetLength(self): return sizeof(tagPyCMOfflineExpExchange) def GetBuffer(self): return string_at(addressof(self), self.GetLength()) def OutputString(self): DumpString = '''//A2 05 ÇëÇó¶Ò»»ÀëÏß¾­Ñé·â°ü//tagPyCMOfflineExpExchange: Cmd:%s, SubCmd:%s, Index:%d, ExchangeTime:%d '''\ %( self.Cmd, self.SubCmd, self.Index, self.ExchangeTime ) return DumpString m_NAtagPyCMOfflineExpExchange=tagPyCMOfflineExpExchange() ChNetPackDict[eval("0x%02x%02x"%(m_NAtagPyCMOfflineExpExchange.Cmd,m_NAtagPyCMOfflineExpExchange.SubCmd))] = m_NAtagPyCMOfflineExpExchange #------------------------------------------------------ # A2 20 ¿ªÆô²É¼¯NPC½±ÀøÏä×Ó #tagCMOpenCollNPCBox class tagCMOpenCollNPCBox(Structure): _pack_ = 1 _fields_ = [ ("Cmd", c_ubyte), ("SubCmd", c_ubyte), ("MapID", c_int), #MapID ("NPCID", c_int), #NPCID ("OpenCnt", c_ubyte), #¿ªÆô´ÎÊý ("IsAutoBuy", c_ubyte), #ÏûºÄµÀ¾ß²»×ãÊÇ·ñ×Ô¶¯¹ºÂò ("IsOnlyGold", c_ubyte), #ÊÇ·ñÖ»ÏûºÄ×êʯ ] def __init__(self): self.Clear() self.Cmd = 0xA2 self.SubCmd = 0x20 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 = 0xA2 self.SubCmd = 0x20 self.MapID = 0 self.NPCID = 0 self.OpenCnt = 0 self.IsAutoBuy = 0 self.IsOnlyGold = 0 return def GetLength(self): return sizeof(tagCMOpenCollNPCBox) def GetBuffer(self): return string_at(addressof(self), self.GetLength()) def OutputString(self): DumpString = '''// A2 20 ¿ªÆô²É¼¯NPC½±ÀøÏä×Ó //tagCMOpenCollNPCBox: Cmd:%s, SubCmd:%s, MapID:%d, NPCID:%d, OpenCnt:%d, IsAutoBuy:%d, IsOnlyGold:%d '''\ %( self.Cmd, self.SubCmd, self.MapID, self.NPCID, self.OpenCnt, self.IsAutoBuy, self.IsOnlyGold ) return DumpString m_NAtagCMOpenCollNPCBox=tagCMOpenCollNPCBox() ChNetPackDict[eval("0x%02x%02x"%(m_NAtagCMOpenCollNPCBox.Cmd,m_NAtagCMOpenCollNPCBox.SubCmd))] = m_NAtagCMOpenCollNPCBox #------------------------------------------------------ #A2 04 ÇëÇó´ò¿ªÔ¶³Ì²Ö¿â #tagCMOpenLongWarehouse class tagCMOpenLongWarehouse(Structure): _pack_ = 1 _fields_ = [ ("Cmd", c_ubyte), ("SubCmd", c_ubyte), ] def __init__(self): self.Clear() self.Cmd = 0xA2 self.SubCmd = 0x04 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 = 0xA2 self.SubCmd = 0x04 return def GetLength(self): return sizeof(tagCMOpenLongWarehouse) def GetBuffer(self): return string_at(addressof(self), self.GetLength()) def OutputString(self): DumpString = '''//A2 04 ÇëÇó´ò¿ªÔ¶³Ì²Ö¿â //tagCMOpenLongWarehouse: Cmd:%s, SubCmd:%s '''\ %( self.Cmd, self.SubCmd ) return DumpString m_NAtagCMOpenLongWarehouse=tagCMOpenLongWarehouse() ChNetPackDict[eval("0x%02x%02x"%(m_NAtagCMOpenLongWarehouse.Cmd,m_NAtagCMOpenLongWarehouse.SubCmd))] = m_NAtagCMOpenLongWarehouse #------------------------------------------------------ # A2 17 À®°ÈÁÄÌì #tagCMPYSpeaker class tagCMPYSpeaker(Structure): Head = tagHead() SpeakerType = 0 #(BYTE SpeakerType)//1-±¾·þ£»2-¿ç·þ IsUseGold = 0 #(BYTE IsUseGold)//ÊÇ·ñʹÓÃ×êʯ ItemIndex = 0 #(BYTE ItemIndex)//ʹÓÃÎïÆ·Ëµ»°Ê±, ÎïÆ·Index TextLen = 0 #(WORD TextLen)//×Ö·û³¤¶È Text = "" #(String Text)//size = TextLen data = None def __init__(self): self.Clear() self.Head.Cmd = 0xA2 self.Head.SubCmd = 0x17 return def ReadData(self, _lpData, _pos=0, _Len=0): self.Clear() _pos = self.Head.ReadData(_lpData, _pos) self.SpeakerType,_pos = CommFunc.ReadBYTE(_lpData, _pos) self.IsUseGold,_pos = CommFunc.ReadBYTE(_lpData, _pos) self.ItemIndex,_pos = CommFunc.ReadBYTE(_lpData, _pos) self.TextLen,_pos = CommFunc.ReadWORD(_lpData, _pos) self.Text,_pos = CommFunc.ReadString(_lpData, _pos,self.TextLen) return _pos def Clear(self): self.Head = tagHead() self.Head.Clear() self.Head.Cmd = 0xA2 self.Head.SubCmd = 0x17 self.SpeakerType = 0 self.IsUseGold = 0 self.ItemIndex = 0 self.TextLen = 0 self.Text = "" return def GetLength(self): length = 0 length += self.Head.GetLength() length += 1 length += 1 length += 1 length += 2 length += len(self.Text) return length def GetBuffer(self): data = '' data = CommFunc.WriteString(data, self.Head.GetLength(), self.Head.GetBuffer()) data = CommFunc.WriteBYTE(data, self.SpeakerType) data = CommFunc.WriteBYTE(data, self.IsUseGold) data = CommFunc.WriteBYTE(data, self.ItemIndex) data = CommFunc.WriteWORD(data, self.TextLen) data = CommFunc.WriteString(data, self.TextLen, self.Text) return data def OutputString(self): DumpString = ''' Head:%s, SpeakerType:%d, IsUseGold:%d, ItemIndex:%d, TextLen:%d, Text:%s '''\ %( self.Head.OutputString(), self.SpeakerType, self.IsUseGold, self.ItemIndex, self.TextLen, self.Text ) return DumpString m_NAtagCMPYSpeaker=tagCMPYSpeaker() ChNetPackDict[eval("0x%02x%02x"%(m_NAtagCMPYSpeaker.Head.Cmd,m_NAtagCMPYSpeaker.Head.SubCmd))] = m_NAtagCMPYSpeaker #------------------------------------------------------ # A2 16 ×Ô¶¨ÒåÍæ¼ÒÁÄÌì #tagCMPyTalk class tagCMPyTalk(Structure): Head = tagHead() TalkType = 0 #(BYTE TalkType)// ×Ô¶¨ÒåÁÄÌìÀàÐÍ Len = 0 #(WORD Len) Content = "" #(String Content)//size = Len data = None def __init__(self): self.Clear() self.Head.Cmd = 0xA2 self.Head.SubCmd = 0x16 return def ReadData(self, _lpData, _pos=0, _Len=0): self.Clear() _pos = self.Head.ReadData(_lpData, _pos) self.TalkType,_pos = CommFunc.ReadBYTE(_lpData, _pos) self.Len,_pos = CommFunc.ReadWORD(_lpData, _pos) self.Content,_pos = CommFunc.ReadString(_lpData, _pos,self.Len) return _pos def Clear(self): self.Head = tagHead() self.Head.Clear() self.Head.Cmd = 0xA2 self.Head.SubCmd = 0x16 self.TalkType = 0 self.Len = 0 self.Content = "" return def GetLength(self): length = 0 length += self.Head.GetLength() length += 1 length += 2 length += len(self.Content) return length def GetBuffer(self): data = '' data = CommFunc.WriteString(data, self.Head.GetLength(), self.Head.GetBuffer()) data = CommFunc.WriteBYTE(data, self.TalkType) data = CommFunc.WriteWORD(data, self.Len) data = CommFunc.WriteString(data, self.Len, self.Content) return data def OutputString(self): DumpString = ''' Head:%s, TalkType:%d, Len:%d, Content:%s '''\ %( self.Head.OutputString(), self.TalkType, self.Len, self.Content ) return DumpString m_NAtagCMPyTalk=tagCMPyTalk() ChNetPackDict[eval("0x%02x%02x"%(m_NAtagCMPyTalk.Head.Cmd,m_NAtagCMPyTalk.Head.SubCmd))] = m_NAtagCMPyTalk #------------------------------------------------------ #A2 11 ²éѯÊÀ½çBossÉËѪÁбí #tagCMQueryBossHurtList class tagCMQueryBossHurtList(Structure): _pack_ = 1 _fields_ = [ ("Cmd", c_ubyte), ("SubCmd", c_ubyte), ("ObjID", c_int), ("BossID", c_int), ] def __init__(self): self.Clear() self.Cmd = 0xA2 self.SubCmd = 0x11 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 = 0xA2 self.SubCmd = 0x11 self.ObjID = 0 self.BossID = 0 return def GetLength(self): return sizeof(tagCMQueryBossHurtList) def GetBuffer(self): return string_at(addressof(self), self.GetLength()) def OutputString(self): DumpString = '''//A2 11 ²éѯÊÀ½çBossÉËѪÁбí //tagCMQueryBossHurtList: Cmd:%s, SubCmd:%s, ObjID:%d, BossID:%d '''\ %( self.Cmd, self.SubCmd, self.ObjID, self.BossID ) return DumpString m_NAtagCMQueryBossHurtList=tagCMQueryBossHurtList() ChNetPackDict[eval("0x%02x%02x"%(m_NAtagCMQueryBossHurtList.Cmd,m_NAtagCMQueryBossHurtList.SubCmd))] = m_NAtagCMQueryBossHurtList #------------------------------------------------------ # A2 28 ²éѯÏÉÃËÇÀBossÉËѪÁбí #tagCMQueryFamilyBossHurt class tagCMQueryFamilyBossHurt(Structure): _pack_ = 1 _fields_ = [ ("Cmd", c_ubyte), ("SubCmd", c_ubyte), ("ObjID", c_int), ("NPCID", c_int), ("QueryType", c_ubyte), # 0-ʵʱÏÉÃËÉËѪ£¬1-ÀúÊ·ÏÉÃËÉËѪ£¬2-ÊµÊ±Íæ¼ÒÉËѪ£¬3-ÀúÊ·Íæ¼ÒÉËѪ ] def __init__(self): self.Clear() self.Cmd = 0xA2 self.SubCmd = 0x28 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 = 0xA2 self.SubCmd = 0x28 self.ObjID = 0 self.NPCID = 0 self.QueryType = 0 return def GetLength(self): return sizeof(tagCMQueryFamilyBossHurt) def GetBuffer(self): return string_at(addressof(self), self.GetLength()) def OutputString(self): DumpString = '''// A2 28 ²éѯÏÉÃËÇÀBossÉËѪÁбí //tagCMQueryFamilyBossHurt: Cmd:%s, SubCmd:%s, ObjID:%d, NPCID:%d, QueryType:%d '''\ %( self.Cmd, self.SubCmd, self.ObjID, self.NPCID, self.QueryType ) return DumpString m_NAtagCMQueryFamilyBossHurt=tagCMQueryFamilyBossHurt() ChNetPackDict[eval("0x%02x%02x"%(m_NAtagCMQueryFamilyBossHurt.Cmd,m_NAtagCMQueryFamilyBossHurt.SubCmd))] = m_NAtagCMQueryFamilyBossHurt #------------------------------------------------------ # A2 27 ²éѯµØÍ¼NPCÊýÁ¿ÐÅÏ¢ #tagCMQueryNPCCntInfo class tagCMQueryNPCCntInfo(Structure): Head = tagHead() MapID = 0 #(DWORD MapID)// Ä¿±êµØÍ¼ID LineID = 0 #(WORD LineID)// Ïß·ID IsNoTimeLimit = 0 #(BYTE IsNoTimeLimit)//ÊÇ·ñûÓвéѯʱ¼äÏÞÖÆ,ĬÈÏÓÐÏÞÖÆ NPCIDListLen = 0 #(BYTE NPCIDListLen) NPCIDList = "" #(String NPCIDList)// ÐèÒª²éѯµÄNPCIDÁбí data = None def __init__(self): self.Clear() self.Head.Cmd = 0xA2 self.Head.SubCmd = 0x27 return def ReadData(self, _lpData, _pos=0, _Len=0): self.Clear() _pos = self.Head.ReadData(_lpData, _pos) self.MapID,_pos = CommFunc.ReadDWORD(_lpData, _pos) self.LineID,_pos = CommFunc.ReadWORD(_lpData, _pos) self.IsNoTimeLimit,_pos = CommFunc.ReadBYTE(_lpData, _pos) self.NPCIDListLen,_pos = CommFunc.ReadBYTE(_lpData, _pos) self.NPCIDList,_pos = CommFunc.ReadString(_lpData, _pos,self.NPCIDListLen) return _pos def Clear(self): self.Head = tagHead() self.Head.Clear() self.Head.Cmd = 0xA2 self.Head.SubCmd = 0x27 self.MapID = 0 self.LineID = 0 self.IsNoTimeLimit = 0 self.NPCIDListLen = 0 self.NPCIDList = "" return def GetLength(self): length = 0 length += self.Head.GetLength() length += 4 length += 2 length += 1 length += 1 length += len(self.NPCIDList) return length def GetBuffer(self): data = '' data = CommFunc.WriteString(data, self.Head.GetLength(), self.Head.GetBuffer()) data = CommFunc.WriteDWORD(data, self.MapID) data = CommFunc.WriteWORD(data, self.LineID) data = CommFunc.WriteBYTE(data, self.IsNoTimeLimit) data = CommFunc.WriteBYTE(data, self.NPCIDListLen) data = CommFunc.WriteString(data, self.NPCIDListLen, self.NPCIDList) return data def OutputString(self): DumpString = ''' Head:%s, MapID:%d, LineID:%d, IsNoTimeLimit:%d, NPCIDListLen:%d, NPCIDList:%s '''\ %( self.Head.OutputString(), self.MapID, self.LineID, self.IsNoTimeLimit, self.NPCIDListLen, self.NPCIDList ) return DumpString m_NAtagCMQueryNPCCntInfo=tagCMQueryNPCCntInfo() ChNetPackDict[eval("0x%02x%02x"%(m_NAtagCMQueryNPCCntInfo.Head.Cmd,m_NAtagCMQueryNPCCntInfo.Head.SubCmd))] = m_NAtagCMQueryNPCCntInfo #------------------------------------------------------ # A2 13 ²éѯµØÍ¼NPCÐÅÏ¢ #tagCMQueryNPCInfo class tagCMQueryNPCInfo(Structure): Head = tagHead() MapID = 0 #(DWORD MapID)// Ä¿±êµØÍ¼ID LineID = 0 #(WORD LineID)// Ïß·ID IsNoTimeLimit = 0 #(BYTE IsNoTimeLimit)//ÊÇ·ñûÓвéѯʱ¼äÏÞÖÆ,ĬÈÏÓÐÏÞÖÆ NPCIDListLen = 0 #(BYTE NPCIDListLen) NPCIDList = "" #(String NPCIDList)// ÐèÒª²éѯµÄNPCIDÁбí data = None def __init__(self): self.Clear() self.Head.Cmd = 0xA2 self.Head.SubCmd = 0x13 return def ReadData(self, _lpData, _pos=0, _Len=0): self.Clear() _pos = self.Head.ReadData(_lpData, _pos) self.MapID,_pos = CommFunc.ReadDWORD(_lpData, _pos) self.LineID,_pos = CommFunc.ReadWORD(_lpData, _pos) self.IsNoTimeLimit,_pos = CommFunc.ReadBYTE(_lpData, _pos) self.NPCIDListLen,_pos = CommFunc.ReadBYTE(_lpData, _pos) self.NPCIDList,_pos = CommFunc.ReadString(_lpData, _pos,self.NPCIDListLen) return _pos def Clear(self): self.Head = tagHead() self.Head.Clear() self.Head.Cmd = 0xA2 self.Head.SubCmd = 0x13 self.MapID = 0 self.LineID = 0 self.IsNoTimeLimit = 0 self.NPCIDListLen = 0 self.NPCIDList = "" return def GetLength(self): length = 0 length += self.Head.GetLength() length += 4 length += 2 length += 1 length += 1 length += len(self.NPCIDList) return length def GetBuffer(self): data = '' data = CommFunc.WriteString(data, self.Head.GetLength(), self.Head.GetBuffer()) data = CommFunc.WriteDWORD(data, self.MapID) data = CommFunc.WriteWORD(data, self.LineID) data = CommFunc.WriteBYTE(data, self.IsNoTimeLimit) data = CommFunc.WriteBYTE(data, self.NPCIDListLen) data = CommFunc.WriteString(data, self.NPCIDListLen, self.NPCIDList) return data def OutputString(self): DumpString = ''' Head:%s, MapID:%d, LineID:%d, IsNoTimeLimit:%d, NPCIDListLen:%d, NPCIDList:%s '''\ %( self.Head.OutputString(), self.MapID, self.LineID, self.IsNoTimeLimit, self.NPCIDListLen, self.NPCIDList ) return DumpString m_NAtagCMQueryNPCInfo=tagCMQueryNPCInfo() ChNetPackDict[eval("0x%02x%02x"%(m_NAtagCMQueryNPCInfo.Head.Cmd,m_NAtagCMQueryNPCInfo.Head.SubCmd))] = m_NAtagCMQueryNPCInfo #------------------------------------------------------ #A2 01 ÇëÇónpcÉ̵êÎïÆ·ÐÅÏ¢ #tagCMQueryNPCShopItem class tagCMQueryNPCShopItem(Structure): _pack_ = 1 _fields_ = [ ("Cmd", c_ubyte), ("SubCmd", c_ubyte), ("NPCShopID", c_int), #É̵ênpcid ] def __init__(self): self.Clear() self.Cmd = 0xA2 self.SubCmd = 0x01 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 = 0xA2 self.SubCmd = 0x01 self.NPCShopID = 0 return def GetLength(self): return sizeof(tagCMQueryNPCShopItem) def GetBuffer(self): return string_at(addressof(self), self.GetLength()) def OutputString(self): DumpString = '''//A2 01 ÇëÇónpcÉ̵êÎïÆ·ÐÅÏ¢ //tagCMQueryNPCShopItem: Cmd:%s, SubCmd:%s, NPCShopID:%d '''\ %( self.Cmd, self.SubCmd, self.NPCShopID ) return DumpString m_NAtagCMQueryNPCShopItem=tagCMQueryNPCShopItem() ChNetPackDict[eval("0x%02x%02x"%(m_NAtagCMQueryNPCShopItem.Cmd,m_NAtagCMQueryNPCShopItem.SubCmd))] = m_NAtagCMQueryNPCShopItem #------------------------------------------------------ # A2 06 ¿ìËÙÍê³ÉÈÎÎñ#tagCMQuickFinishMission class tagCMQuickFinishMission(Structure): _pack_ = 1 _fields_ = [ ("Cmd", c_ubyte), ("SubCmd", c_ubyte), ("MissionID", c_int), ("DoType", c_ubyte), # 0-Ö»Íê³É±¾´Î£»1-Íê³ÉËùÓл·ÈÎÎñ ] def __init__(self): self.Clear() self.Cmd = 0xA2 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 = 0xA2 self.SubCmd = 0x06 self.MissionID = 0 self.DoType = 0 return def GetLength(self): return sizeof(tagCMQuickFinishMission) def GetBuffer(self): return string_at(addressof(self), self.GetLength()) def OutputString(self): DumpString = '''// A2 06 ¿ìËÙÍê³ÉÈÎÎñ//tagCMQuickFinishMission: Cmd:%s, SubCmd:%s, MissionID:%d, DoType:%d '''\ %( self.Cmd, self.SubCmd, self.MissionID, self.DoType ) return DumpString m_NAtagCMQuickFinishMission=tagCMQuickFinishMission() ChNetPackDict[eval("0x%02x%02x"%(m_NAtagCMQuickFinishMission.Cmd,m_NAtagCMQuickFinishMission.SubCmd))] = m_NAtagCMQuickFinishMission #------------------------------------------------------ # A2 32 ÉñÃØÉ̵êˢР#tagCMRefreshMysticalShop class tagCMRefreshMysticalShop(Structure): _pack_ = 1 _fields_ = [ ("Cmd", c_ubyte), ("SubCmd", c_ubyte), ] def __init__(self): self.Clear() self.Cmd = 0xA2 self.SubCmd = 0x32 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 = 0xA2 self.SubCmd = 0x32 return def GetLength(self): return sizeof(tagCMRefreshMysticalShop) def GetBuffer(self): return string_at(addressof(self), self.GetLength()) def OutputString(self): DumpString = '''// A2 32 ÉñÃØÉ̵êˢР//tagCMRefreshMysticalShop: Cmd:%s, SubCmd:%s '''\ %( self.Cmd, self.SubCmd ) return DumpString m_NAtagCMRefreshMysticalShop=tagCMRefreshMysticalShop() ChNetPackDict[eval("0x%02x%02x"%(m_NAtagCMRefreshMysticalShop.Cmd,m_NAtagCMRefreshMysticalShop.SubCmd))] = m_NAtagCMRefreshMysticalShop #------------------------------------------------------ #A2 02֪ͨѡÖжÔÏó # tagCMSelectObj class tagCMSelectObj(Structure): _pack_ = 1 _fields_ = [ ("Cmd", c_ubyte), ("SubCmd", c_ubyte), ("isSelect", c_ubyte), #0 ²»Ñ¡ÖÐ ("Type", c_ubyte), #Ä¿±êÀàÐÍ ("ID", c_int), #ID ] def __init__(self): self.Clear() self.Cmd = 0xA2 self.SubCmd = 0x02 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 = 0xA2 self.SubCmd = 0x02 self.isSelect = 0 self.Type = 0 self.ID = 0 return def GetLength(self): return sizeof(tagCMSelectObj) def GetBuffer(self): return string_at(addressof(self), self.GetLength()) def OutputString(self): DumpString = '''//A2 02֪ͨѡÖжÔÏó // tagCMSelectObj: Cmd:%s, SubCmd:%s, isSelect:%d, Type:%d, ID:%d '''\ %( self.Cmd, self.SubCmd, self.isSelect, self.Type, self.ID ) return DumpString m_NAtagCMSelectObj=tagCMSelectObj() ChNetPackDict[eval("0x%02x%02x"%(m_NAtagCMSelectObj.Cmd,m_NAtagCMSelectObj.SubCmd))] = m_NAtagCMSelectObj #------------------------------------------------------ # A2 35 Ñ¡Ôñ¾³½çÄѶȲ㼶 #tagCMSelectRealmDifficulty class tagCMSelectRealmDifficulty(Structure): _pack_ = 1 _fields_ = [ ("Cmd", c_ubyte), ("SubCmd", c_ubyte), ("RealmDifficulty", c_ushort), #¾³½çÄÑ¶È = 1000 + ËùÑ¡¾³½çµÈ¼¶£¬Èç¾³½ç13£¬Ôò·¢1013 ] def __init__(self): self.Clear() self.Cmd = 0xA2 self.SubCmd = 0x35 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 = 0xA2 self.SubCmd = 0x35 self.RealmDifficulty = 0 return def GetLength(self): return sizeof(tagCMSelectRealmDifficulty) def GetBuffer(self): return string_at(addressof(self), self.GetLength()) def OutputString(self): DumpString = '''// A2 35 Ñ¡Ôñ¾³½çÄѶȲ㼶 //tagCMSelectRealmDifficulty: Cmd:%s, SubCmd:%s, RealmDifficulty:%d '''\ %( self.Cmd, self.SubCmd, self.RealmDifficulty ) return DumpString m_NAtagCMSelectRealmDifficulty=tagCMSelectRealmDifficulty() ChNetPackDict[eval("0x%02x%02x"%(m_NAtagCMSelectRealmDifficulty.Cmd,m_NAtagCMSelectRealmDifficulty.SubCmd))] = m_NAtagCMSelectRealmDifficulty #------------------------------------------------------ # A2 30 ÉèÖÃÁÄÌìÆøÅÝ¿ò #tagCMSetChatBubbleBox class tagCMSetChatBubbleBox(Structure): _pack_ = 1 _fields_ = [ ("Cmd", c_ubyte), ("SubCmd", c_ubyte), ("BubbleBoxType", c_ubyte), #ÆøÅÝ¿òÀàÐÍ ] def __init__(self): self.Clear() self.Cmd = 0xA2 self.SubCmd = 0x30 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 = 0xA2 self.SubCmd = 0x30 self.BubbleBoxType = 0 return def GetLength(self): return sizeof(tagCMSetChatBubbleBox) def GetBuffer(self): return string_at(addressof(self), self.GetLength()) def OutputString(self): DumpString = '''// A2 30 ÉèÖÃÁÄÌìÆøÅÝ¿ò //tagCMSetChatBubbleBox: Cmd:%s, SubCmd:%s, BubbleBoxType:%d '''\ %( self.Cmd, self.SubCmd, self.BubbleBoxType ) return DumpString m_NAtagCMSetChatBubbleBox=tagCMSetChatBubbleBox() ChNetPackDict[eval("0x%02x%02x"%(m_NAtagCMSetChatBubbleBox.Cmd,m_NAtagCMSetChatBubbleBox.SubCmd))] = m_NAtagCMSetChatBubbleBox #------------------------------------------------------ # A2 22 ÉèÖÃÒýµ¼³É¹¦ #tagCMSetGuideOK class tagCMSetGuideOK(Structure): _pack_ = 1 _fields_ = [ ("Cmd", c_ubyte), ("SubCmd", c_ubyte), ("GuideIndex", c_ubyte), # ¼Ç¼λË÷Òý, ·¢ËÍ255ʱ,´ú±íÉèÖÃÈ«²¿ ("IsOK", c_ubyte), ] def __init__(self): self.Clear() self.Cmd = 0xA2 self.SubCmd = 0x22 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 = 0xA2 self.SubCmd = 0x22 self.GuideIndex = 0 self.IsOK = 0 return def GetLength(self): return sizeof(tagCMSetGuideOK) def GetBuffer(self): return string_at(addressof(self), self.GetLength()) def OutputString(self): DumpString = '''// A2 22 ÉèÖÃÒýµ¼³É¹¦ //tagCMSetGuideOK: Cmd:%s, SubCmd:%s, GuideIndex:%d, IsOK:%d '''\ %( self.Cmd, self.SubCmd, self.GuideIndex, self.IsOK ) return DumpString m_NAtagCMSetGuideOK=tagCMSetGuideOK() ChNetPackDict[eval("0x%02x%02x"%(m_NAtagCMSetGuideOK.Cmd,m_NAtagCMSetGuideOK.SubCmd))] = m_NAtagCMSetGuideOK #------------------------------------------------------ # A2 29 ÉèÖÃСÖúÊÖ #tagCMSetLittleHelper class tagCMSetLittleHelper(Structure): _pack_ = 1 _fields_ = [ ("Cmd", c_ubyte), ("SubCmd", c_ubyte), ("SetNum", c_ubyte), # Íйܹ¦ÄÜÉèÖñàºÅ1~20£¬Ã¿¸ö±àºÅ¶ÔÓ¦µÄÍйܹ¦ÄÜǰ¶Ë×Ô¶¨Òå ("Value1", c_int), # ×Ô¶¨ÒåÖµ1 ("Value2", c_int), # ×Ô¶¨ÒåÖµ2 ("Value3", c_int), # ×Ô¶¨ÒåÖµ3 ("Value4", c_int), # ×Ô¶¨ÒåÖµ4 ("Value5", c_int), # ×Ô¶¨ÒåÖµ5 ("Value6", c_int), # ×Ô¶¨ÒåÖµ6 ] def __init__(self): self.Clear() self.Cmd = 0xA2 self.SubCmd = 0x29 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 = 0xA2 self.SubCmd = 0x29 self.SetNum = 0 self.Value1 = 0 self.Value2 = 0 self.Value3 = 0 self.Value4 = 0 self.Value5 = 0 self.Value6 = 0 return def GetLength(self): return sizeof(tagCMSetLittleHelper) def GetBuffer(self): return string_at(addressof(self), self.GetLength()) def OutputString(self): DumpString = '''// A2 29 ÉèÖÃСÖúÊÖ //tagCMSetLittleHelper: Cmd:%s, SubCmd:%s, SetNum:%d, Value1:%d, Value2:%d, Value3:%d, Value4:%d, Value5:%d, Value6:%d '''\ %( self.Cmd, self.SubCmd, self.SetNum, self.Value1, self.Value2, self.Value3, self.Value4, self.Value5, self.Value6 ) return DumpString m_NAtagCMSetLittleHelper=tagCMSetLittleHelper() ChNetPackDict[eval("0x%02x%02x"%(m_NAtagCMSetLittleHelper.Cmd,m_NAtagCMSetLittleHelper.SubCmd))] = m_NAtagCMSetLittleHelper #------------------------------------------------------ # A2 09 ÉèÖû·ÈÎÎñÐǼ¶#tagCMSetRunMissionStar class tagCMSetRunMissionStar(Structure): _pack_ = 1 _fields_ = [ ("Cmd", c_ubyte), ("SubCmd", c_ubyte), ("MissionID", c_int), ] def __init__(self): self.Clear() self.Cmd = 0xA2 self.SubCmd = 0x09 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 = 0xA2 self.SubCmd = 0x09 self.MissionID = 0 return def GetLength(self): return sizeof(tagCMSetRunMissionStar) def GetBuffer(self): return string_at(addressof(self), self.GetLength()) def OutputString(self): DumpString = '''// A2 09 ÉèÖû·ÈÎÎñÐǼ¶//tagCMSetRunMissionStar: Cmd:%s, SubCmd:%s, MissionID:%d '''\ %( self.Cmd, self.SubCmd, self.MissionID ) return DumpString m_NAtagCMSetRunMissionStar=tagCMSetRunMissionStar() ChNetPackDict[eval("0x%02x%02x"%(m_NAtagCMSetRunMissionStar.Cmd,m_NAtagCMSetRunMissionStar.SubCmd))] = m_NAtagCMSetRunMissionStar #------------------------------------------------------ #A2 25 ¿Í»§¶ËÈÎÎñ¼ÆÊý # tagCMClientTaskCount class tagCMClientTaskCount(Structure): _pack_ = 1 _fields_ = [ ("Cmd", c_ubyte), ("SubCmd", c_ubyte), ("CountID", c_int), # ¼ÆÊýID£¬¿Í»§¶ËÓë²ß»®Ô¼¶¨£¬¿ÉÒÔÊÇNPCID»òÆäËû ] def __init__(self): self.Clear() self.Cmd = 0xA2 self.SubCmd = 0x25 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 = 0xA2 self.SubCmd = 0x25 self.CountID = 0 return def GetLength(self): return sizeof(tagCMClientTaskCount) def GetBuffer(self): return string_at(addressof(self), self.GetLength()) def OutputString(self): DumpString = '''//A2 25 ¿Í»§¶ËÈÎÎñ¼ÆÊý // tagCMClientTaskCount: Cmd:%s, SubCmd:%s, CountID:%d '''\ %( self.Cmd, self.SubCmd, self.CountID ) return DumpString m_NAtagCMClientTaskCount=tagCMClientTaskCount() ChNetPackDict[eval("0x%02x%02x"%(m_NAtagCMClientTaskCount.Cmd,m_NAtagCMClientTaskCount.SubCmd))] = m_NAtagCMClientTaskCount #------------------------------------------------------ #A2 26 ÓïÒôÁÄÌì #tagCMVoiceChat class tagCMVoiceChat(Structure): Head = tagHead() ChannelType = 0 #(BYTE ChannelType)// 5 ÇøÓò --- ²é¿´·â°ütagCGVoiceChat 1 ÊÀ½ç 2 ÏÉÃË 3 ˽ÁÄ(ºÃÓÑ) 4 ¶ÓÎé TargetNameLen = 0 #(BYTE TargetNameLen) TargetName = "" #(String TargetName)//size = TargetNameLen TargetID = 0 #(DWORD TargetID)// ˽ÁÄĬÈÏ·¢Íæ¼ÒID£¬Ã»ÓÐID²Å·¢Ãû³Æ Len = 0 #(WORD Len) Content = list() #(vector Content)//size = Len data = None def __init__(self): self.Clear() self.Head.Cmd = 0xA2 self.Head.SubCmd = 0x26 return def ReadData(self, _lpData, _pos=0, _Len=0): self.Clear() _pos = self.Head.ReadData(_lpData, _pos) self.ChannelType,_pos = CommFunc.ReadBYTE(_lpData, _pos) self.TargetNameLen,_pos = CommFunc.ReadBYTE(_lpData, _pos) self.TargetName,_pos = CommFunc.ReadString(_lpData, _pos,self.TargetNameLen) self.TargetID,_pos = CommFunc.ReadDWORD(_lpData, _pos) self.Len,_pos = CommFunc.ReadWORD(_lpData, _pos) for i in range(self.Len): value,_pos=CommFunc.ReadBYTE(_lpData,_pos) self.Content.append(value) return _pos def Clear(self): self.Head = tagHead() self.Head.Clear() self.Head.Cmd = 0xA2 self.Head.SubCmd = 0x26 self.ChannelType = 0 self.TargetNameLen = 0 self.TargetName = "" self.TargetID = 0 self.Len = 0 self.Content = list() return def GetLength(self): length = 0 length += self.Head.GetLength() length += 1 length += 1 length += len(self.TargetName) length += 4 length += 2 length += 1 * self.Len return length def GetBuffer(self): data = '' data = CommFunc.WriteString(data, self.Head.GetLength(), self.Head.GetBuffer()) data = CommFunc.WriteBYTE(data, self.ChannelType) data = CommFunc.WriteBYTE(data, self.TargetNameLen) data = CommFunc.WriteString(data, self.TargetNameLen, self.TargetName) data = CommFunc.WriteDWORD(data, self.TargetID) data = CommFunc.WriteWORD(data, self.Len) for i in range(self.Len): data = CommFunc.WriteBYTE(data, self.Content[i]) return data def OutputString(self): DumpString = ''' Head:%s, ChannelType:%d, TargetNameLen:%d, TargetName:%s, TargetID:%d, Len:%d, Content:%s '''\ %( self.Head.OutputString(), self.ChannelType, self.TargetNameLen, self.TargetName, self.TargetID, self.Len, "..." ) return DumpString m_NAtagCMVoiceChat=tagCMVoiceChat() ChNetPackDict[eval("0x%02x%02x"%(m_NAtagCMVoiceChat.Head.Cmd,m_NAtagCMVoiceChat.Head.SubCmd))] = m_NAtagCMVoiceChat #------------------------------------------------------ # A2 07 ½ÓÊÜÈÎÎñ #tagCMTakeTask class tagCMTakeTask(Structure): _pack_ = 1 _fields_ = [ ("Cmd", c_ubyte), ("SubCmd", c_ubyte), ("TaskID", c_int), ] def __init__(self): self.Clear() self.Cmd = 0xA2 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 = 0xA2 self.SubCmd = 0x07 self.TaskID = 0 return def GetLength(self): return sizeof(tagCMTakeTask) def GetBuffer(self): return string_at(addressof(self), self.GetLength()) def OutputString(self): DumpString = '''// A2 07 ½ÓÊÜÈÎÎñ //tagCMTakeTask: Cmd:%s, SubCmd:%s, TaskID:%d '''\ %( self.Cmd, self.SubCmd, self.TaskID ) return DumpString m_NAtagCMTakeTask=tagCMTakeTask() ChNetPackDict[eval("0x%02x%02x"%(m_NAtagCMTakeTask.Cmd,m_NAtagCMTakeTask.SubCmd))] = m_NAtagCMTakeTask #------------------------------------------------------ #A2 12 ²é¿´Íæ¼ÒÏêϸÐÅÏ¢#tagCMViewPlayerInfo class tagCMViewPlayerInfo(Structure): _pack_ = 1 _fields_ = [ ("Cmd", c_ubyte), ("SubCmd", c_ubyte), ("PlayerID", c_int), ("EquipClassLV", c_ubyte), #´óÓÚ0Ϊ²é¿´Ö¸¶¨¾³½ç½××°±¸ÐÅÏ¢, 0Ϊ²é¿´Ä¬ÈÏÐÅÏ¢ ] def __init__(self): self.Clear() self.Cmd = 0xA2 self.SubCmd = 0x12 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 = 0xA2 self.SubCmd = 0x12 self.PlayerID = 0 self.EquipClassLV = 0 return def GetLength(self): return sizeof(tagCMViewPlayerInfo) def GetBuffer(self): return string_at(addressof(self), self.GetLength()) def OutputString(self): DumpString = '''//A2 12 ²é¿´Íæ¼ÒÏêϸÐÅÏ¢//tagCMViewPlayerInfo: Cmd:%s, SubCmd:%s, PlayerID:%d, EquipClassLV:%d '''\ %( self.Cmd, self.SubCmd, self.PlayerID, self.EquipClassLV ) return DumpString m_NAtagCMViewPlayerInfo=tagCMViewPlayerInfo() ChNetPackDict[eval("0x%02x%02x"%(m_NAtagCMViewPlayerInfo.Cmd,m_NAtagCMViewPlayerInfo.SubCmd))] = m_NAtagCMViewPlayerInfo #------------------------------------------------------ # A3 17 Ôö¼Ó¹ûʵʹÓÃÉÏÏÞ #tagCMAddFruitUseLimit class tagCMAddFruitUseLimit(Structure): _pack_ = 1 _fields_ = [ ("Cmd", c_ubyte), ("SubCmd", c_ubyte), ("ItemID", c_int), #¹ûʵÎïÆ·ID ] def __init__(self): self.Clear() self.Cmd = 0xA3 self.SubCmd = 0x17 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 = 0xA3 self.SubCmd = 0x17 self.ItemID = 0 return def GetLength(self): return sizeof(tagCMAddFruitUseLimit) def GetBuffer(self): return string_at(addressof(self), self.GetLength()) def OutputString(self): DumpString = '''// A3 17 Ôö¼Ó¹ûʵʹÓÃÉÏÏÞ //tagCMAddFruitUseLimit: Cmd:%s, SubCmd:%s, ItemID:%d '''\ %( self.Cmd, self.SubCmd, self.ItemID ) return DumpString m_NAtagCMAddFruitUseLimit=tagCMAddFruitUseLimit() ChNetPackDict[eval("0x%02x%02x"%(m_NAtagCMAddFruitUseLimit.Cmd,m_NAtagCMAddFruitUseLimit.SubCmd))] = m_NAtagCMAddFruitUseLimit #------------------------------------------------------ # A3 07 ¹ýÆÚÎïÆ·Ðø·Ñ #tagCMItemRenew class tagCMItemRenew(Structure): _pack_ = 1 _fields_ = [ ("Cmd", c_ubyte), ("SubCmd", c_ubyte), ("ItemIndex", c_ushort), #ÎïÆ·ÔÚ±³°üÖÐË÷Òý ("MoneyType", c_ubyte), #½ðÇ®ÀàÐÍ ] def __init__(self): self.Clear() self.Cmd = 0xA3 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 = 0xA3 self.SubCmd = 0x07 self.ItemIndex = 0 self.MoneyType = 0 return def GetLength(self): return sizeof(tagCMItemRenew) def GetBuffer(self): return string_at(addressof(self), self.GetLength()) def OutputString(self): DumpString = '''// A3 07 ¹ýÆÚÎïÆ·Ðø·Ñ //tagCMItemRenew: Cmd:%s, SubCmd:%s, ItemIndex:%d, MoneyType:%d '''\ %( self.Cmd, self.SubCmd, self.ItemIndex, self.MoneyType ) return DumpString m_NAtagCMItemRenew=tagCMItemRenew() ChNetPackDict[eval("0x%02x%02x"%(m_NAtagCMItemRenew.Cmd,m_NAtagCMItemRenew.SubCmd))] = m_NAtagCMItemRenew #------------------------------------------------------ #A3 14 ·ûÎÄºÏ³É #tagCMComposeFineSoul class tagCMComposeFineSoul(Structure): _pack_ = 1 _fields_ = [ ("Cmd", c_ubyte), ("SubCmd", c_ubyte), ("PackType", c_ubyte), # Ö÷·ûÎÄËùÔÚ±³°üÀàÐÍ ("ItemIndexMain", c_ushort), # Ö÷·ûÎÄËùÔÚ±³°üË÷Òý ("ItemIndexAssist1", c_ushort), # ¸¨Öú·ûÎÄ1Íæ¼Ò±³°üË÷Òý ("ItemIndexAssist2", c_ushort), # ¸¨Öú·ûÎÄ2Íæ¼Ò±³°üË÷Òý ("IsAutoBuy", c_ubyte), # ÊÇ·ñ×Ô¶¯¹ºÂòµÀ¾ß ] def __init__(self): self.Clear() self.Cmd = 0xA3 self.SubCmd = 0x14 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 = 0xA3 self.SubCmd = 0x14 self.PackType = 0 self.ItemIndexMain = 0 self.ItemIndexAssist1 = 0 self.ItemIndexAssist2 = 0 self.IsAutoBuy = 0 return def GetLength(self): return sizeof(tagCMComposeFineSoul) def GetBuffer(self): return string_at(addressof(self), self.GetLength()) def OutputString(self): DumpString = '''//A3 14 ·ûÎÄºÏ³É //tagCMComposeFineSoul: Cmd:%s, SubCmd:%s, PackType:%d, ItemIndexMain:%d, ItemIndexAssist1:%d, ItemIndexAssist2:%d, IsAutoBuy:%d '''\ %( self.Cmd, self.SubCmd, self.PackType, self.ItemIndexMain, self.ItemIndexAssist1, self.ItemIndexAssist2, self.IsAutoBuy ) return DumpString m_NAtagCMComposeFineSoul=tagCMComposeFineSoul() ChNetPackDict[eval("0x%02x%02x"%(m_NAtagCMComposeFineSoul.Cmd,m_NAtagCMComposeFineSoul.SubCmd))] = m_NAtagCMComposeFineSoul #------------------------------------------------------ # A3 2D ×°±¸·Ö½âÉèÖà #tagCMDecomposeSeting class tagCMDecomposeSeting(Structure): _pack_ = 1 _fields_ = [ ("Cmd", c_ubyte), ("SubCmd", c_ubyte), ("Seting", c_int), ] def __init__(self): self.Clear() self.Cmd = 0xA3 self.SubCmd = 0x2D 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 = 0xA3 self.SubCmd = 0x2D self.Seting = 0 return def GetLength(self): return sizeof(tagCMDecomposeSeting) def GetBuffer(self): return string_at(addressof(self), self.GetLength()) def OutputString(self): DumpString = '''// A3 2D ×°±¸·Ö½âÉèÖà //tagCMDecomposeSeting: Cmd:%s, SubCmd:%s, Seting:%d '''\ %( self.Cmd, self.SubCmd, self.Seting ) return DumpString m_NAtagCMDecomposeSeting=tagCMDecomposeSeting() ChNetPackDict[eval("0x%02x%02x"%(m_NAtagCMDecomposeSeting.Cmd,m_NAtagCMDecomposeSeting.SubCmd))] = m_NAtagCMDecomposeSeting #------------------------------------------------------ # A3 09 ×ªÒÆÎïÆ·µ½ÆäËû±³°ü #tagCMDropItemToOtherPack class tagCMDropItemToOtherPack(Structure): _pack_ = 1 _fields_ = [ ("Cmd", c_ubyte), ("SubCmd", c_ubyte), ("SrcBackpack", c_ubyte), #Ô´±³°üÀàÐÍ ("DesBackPack", c_ubyte), #Ä¿±ê±³°üÀàÐÍ ("SrcIndex", c_ushort), #×ªÒÆÎïÆ·Ë÷ÒýλÖ㻵±È«²¿×ªÒÆÊ±´ËÖµÎÞЧ ("IsAll", c_ubyte), #ÊÇ·ñÈ«²¿×ªÒÆ ] def __init__(self): self.Clear() self.Cmd = 0xA3 self.SubCmd = 0x09 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 = 0xA3 self.SubCmd = 0x09 self.SrcBackpack = 0 self.DesBackPack = 0 self.SrcIndex = 0 self.IsAll = 0 return def GetLength(self): return sizeof(tagCMDropItemToOtherPack) def GetBuffer(self): return string_at(addressof(self), self.GetLength()) def OutputString(self): DumpString = '''// A3 09 ×ªÒÆÎïÆ·µ½ÆäËû±³°ü //tagCMDropItemToOtherPack: Cmd:%s, SubCmd:%s, SrcBackpack:%d, DesBackPack:%d, SrcIndex:%d, IsAll:%d '''\ %( self.Cmd, self.SubCmd, self.SrcBackpack, self.DesBackPack, self.SrcIndex, self.IsAll ) return DumpString m_NAtagCMDropItemToOtherPack=tagCMDropItemToOtherPack() ChNetPackDict[eval("0x%02x%02x"%(m_NAtagCMDropItemToOtherPack.Cmd,m_NAtagCMDropItemToOtherPack.SubCmd))] = m_NAtagCMDropItemToOtherPack #------------------------------------------------------ #A3 15 ×°±¸´ò¿× # tagCMEquipAddHole class tagCMEquipAddHole(Structure): _pack_ = 1 _fields_ = [ ("Cmd", c_ubyte), ("SubCmd", c_ubyte), ("PackType", c_ubyte), #×°±¸ËùÔÚ±³°üÀàÐÍ:rptItem, rptEquip, rptPetEquip1~5 ("EquipIndex", c_ubyte), #×°±¸ËùÔÚ±³°üÖÐË÷Òý ("MaterialIndex", c_ubyte), #²ÄÁÏλÖà ] def __init__(self): self.Clear() self.Cmd = 0xA3 self.SubCmd = 0x15 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 = 0xA3 self.SubCmd = 0x15 self.PackType = 0 self.EquipIndex = 0 self.MaterialIndex = 0 return def GetLength(self): return sizeof(tagCMEquipAddHole) def GetBuffer(self): return string_at(addressof(self), self.GetLength()) def OutputString(self): DumpString = '''//A3 15 ×°±¸´ò¿× // tagCMEquipAddHole: Cmd:%s, SubCmd:%s, PackType:%d, EquipIndex:%d, MaterialIndex:%d '''\ %( self.Cmd, self.SubCmd, self.PackType, self.EquipIndex, self.MaterialIndex ) return DumpString m_NAtagCMEquipAddHole=tagCMEquipAddHole() ChNetPackDict[eval("0x%02x%02x"%(m_NAtagCMEquipAddHole.Cmd,m_NAtagCMEquipAddHole.SubCmd))] = m_NAtagCMEquipAddHole #------------------------------------------------------ #A3 2C ×°±¸·Ö½â #tagCMEquipDecompose class tagCMEquipDecompose(Structure): Head = tagHead() Count = 0 #(BYTE Count)//²ÄÁÏËùÔÚ±³°üË÷ÒýµÄÊýÁ¿ IndexList = list() #(vector IndexList)//²ÄÁÏËùÔÚ±³°üË÷ÒýÁбí ItemIDList = list() #(vector ItemIDList)//²ÄÁÏËùÔÚ±³°üÎïÆ·IDÁбí IsAuto = 0 #(BYTE IsAuto)//ÊÇ·ñ×Ô¶¯·Ö½â data = None def __init__(self): self.Clear() self.Head.Cmd = 0xA3 self.Head.SubCmd = 0x2C 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): value,_pos=CommFunc.ReadWORD(_lpData,_pos) self.IndexList.append(value) for i in range(self.Count): value,_pos=CommFunc.ReadDWORD(_lpData,_pos) self.ItemIDList.append(value) self.IsAuto,_pos = CommFunc.ReadBYTE(_lpData, _pos) return _pos def Clear(self): self.Head = tagHead() self.Head.Clear() self.Head.Cmd = 0xA3 self.Head.SubCmd = 0x2C self.Count = 0 self.IndexList = list() self.ItemIDList = list() self.IsAuto = 0 return def GetLength(self): length = 0 length += self.Head.GetLength() length += 1 length += 2 * self.Count length += 4 * self.Count length += 1 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.WriteWORD(data, self.IndexList[i]) for i in range(self.Count): data = CommFunc.WriteDWORD(data, self.ItemIDList[i]) data = CommFunc.WriteBYTE(data, self.IsAuto) return data def OutputString(self): DumpString = ''' Head:%s, Count:%d, IndexList:%s, ItemIDList:%s, IsAuto:%d '''\ %( self.Head.OutputString(), self.Count, "...", "...", self.IsAuto ) return DumpString m_NAtagCMEquipDecompose=tagCMEquipDecompose() ChNetPackDict[eval("0x%02x%02x"%(m_NAtagCMEquipDecompose.Head.Cmd,m_NAtagCMEquipDecompose.Head.SubCmd))] = m_NAtagCMEquipDecompose #------------------------------------------------------ #A3 04 ±¦Ê¯ÏâǶ»òÌæ»» #tagCMEquipEnchase class tagCMEquipEnchase(Structure): _pack_ = 1 _fields_ = [ ("Cmd", c_ubyte), ("SubCmd", c_ubyte), ("EquipIndex", c_ubyte), #×°±¸Î»Ë÷Òý ("StoneIndex", c_ubyte), #±¦Ê¯ËùÔÚÍæ¼ÒÎïÆ·±³°üË÷Òý ("HoleIndex", c_ubyte), #Ñ¡ÔñµÄ¿×Ë÷Òý ] def __init__(self): self.Clear() self.Cmd = 0xA3 self.SubCmd = 0x04 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 = 0xA3 self.SubCmd = 0x04 self.EquipIndex = 0 self.StoneIndex = 0 self.HoleIndex = 0 return def GetLength(self): return sizeof(tagCMEquipEnchase) def GetBuffer(self): return string_at(addressof(self), self.GetLength()) def OutputString(self): DumpString = '''//A3 04 ±¦Ê¯ÏâǶ»òÌæ»» //tagCMEquipEnchase: Cmd:%s, SubCmd:%s, EquipIndex:%d, StoneIndex:%d, HoleIndex:%d '''\ %( self.Cmd, self.SubCmd, self.EquipIndex, self.StoneIndex, self.HoleIndex ) return DumpString m_NAtagCMEquipEnchase=tagCMEquipEnchase() ChNetPackDict[eval("0x%02x%02x"%(m_NAtagCMEquipEnchase.Cmd,m_NAtagCMEquipEnchase.SubCmd))] = m_NAtagCMEquipEnchase #------------------------------------------------------ # A3 30 ×°±¸Éñ×°½ø½× #tagCMEquipEvolve class tagCMEquipEvolve(Structure): _pack_ = 1 _fields_ = [ ("Cmd", c_ubyte), ("SubCmd", c_ubyte), ("EquipIndex", c_ubyte), # Òª½ø½×µÄ×°±¸ÔÚ×°±¸±³°üÖÐË÷Òý ] def __init__(self): self.Clear() self.Cmd = 0xA3 self.SubCmd = 0x30 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 = 0xA3 self.SubCmd = 0x30 self.EquipIndex = 0 return def GetLength(self): return sizeof(tagCMEquipEvolve) def GetBuffer(self): return string_at(addressof(self), self.GetLength()) def OutputString(self): DumpString = '''// A3 30 ×°±¸Éñ×°½ø½× //tagCMEquipEvolve: Cmd:%s, SubCmd:%s, EquipIndex:%d '''\ %( self.Cmd, self.SubCmd, self.EquipIndex ) return DumpString m_NAtagCMEquipEvolve=tagCMEquipEvolve() ChNetPackDict[eval("0x%02x%02x"%(m_NAtagCMEquipEvolve.Cmd,m_NAtagCMEquipEvolve.SubCmd))] = m_NAtagCMEquipEvolve #------------------------------------------------------ #A3 01 ×°±¸Ç¿»¯ #tagEquipPlus class tagEquipPlus(Structure): _pack_ = 1 _fields_ = [ ("Cmd", c_ubyte), ("SubCmd", c_ubyte), ("PackType", c_ubyte), #±³°üÀàÐÍ:rptItem, rptEquip, rptPetEquip1~5 ("ItemIndex", c_ushort), #ÎïÆ·ÔÚ±³°üÖÐË÷Òý ] def __init__(self): self.Clear() self.Cmd = 0xA3 self.SubCmd = 0x01 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 = 0xA3 self.SubCmd = 0x01 self.PackType = 0 self.ItemIndex = 0 return def GetLength(self): return sizeof(tagEquipPlus) def GetBuffer(self): return string_at(addressof(self), self.GetLength()) def OutputString(self): DumpString = '''//A3 01 ×°±¸Ç¿»¯ //tagEquipPlus: Cmd:%s, SubCmd:%s, PackType:%d, ItemIndex:%d '''\ %( self.Cmd, self.SubCmd, self.PackType, self.ItemIndex ) return DumpString m_NAtagEquipPlus=tagEquipPlus() ChNetPackDict[eval("0x%02x%02x"%(m_NAtagEquipPlus.Cmd,m_NAtagEquipPlus.SubCmd))] = m_NAtagEquipPlus #------------------------------------------------------ # A3 16 ×°±¸Ç¿»¯½ø»¯ #tagCMEquipPlusEvolve class tagCMEquipPlusEvolve(Structure): _pack_ = 1 _fields_ = [ ("Cmd", c_ubyte), ("SubCmd", c_ubyte), ("ItemIndex", c_ushort), #×°±¸ÔÚ±³°üÖÐË÷Òý ] def __init__(self): self.Clear() self.Cmd = 0xA3 self.SubCmd = 0x16 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 = 0xA3 self.SubCmd = 0x16 self.ItemIndex = 0 return def GetLength(self): return sizeof(tagCMEquipPlusEvolve) def GetBuffer(self): return string_at(addressof(self), self.GetLength()) def OutputString(self): DumpString = '''// A3 16 ×°±¸Ç¿»¯½ø»¯ //tagCMEquipPlusEvolve: Cmd:%s, SubCmd:%s, ItemIndex:%d '''\ %( self.Cmd, self.SubCmd, self.ItemIndex ) return DumpString m_NAtagCMEquipPlusEvolve=tagCMEquipPlusEvolve() ChNetPackDict[eval("0x%02x%02x"%(m_NAtagCMEquipPlusEvolve.Cmd,m_NAtagCMEquipPlusEvolve.SubCmd))] = m_NAtagCMEquipPlusEvolve #------------------------------------------------------ # A3 31 ×°±¸Éñ×°²ð½â #tagCMEquipShenDecompose class tagCMEquipShenDecompose(Structure): Head = tagHead() Count = 0 #(BYTE Count)//ËùÔÚ±³°üË÷ÒýµÄÊýÁ¿ IndexList = list() #(vector IndexList)//ËùÔÚ±³°üË÷ÒýÁбí data = None def __init__(self): self.Clear() self.Head.Cmd = 0xA3 self.Head.SubCmd = 0x31 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): value,_pos=CommFunc.ReadWORD(_lpData,_pos) self.IndexList.append(value) return _pos def Clear(self): self.Head = tagHead() self.Head.Clear() self.Head.Cmd = 0xA3 self.Head.SubCmd = 0x31 self.Count = 0 self.IndexList = list() return def GetLength(self): length = 0 length += self.Head.GetLength() length += 1 length += 2 * self.Count 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.WriteWORD(data, self.IndexList[i]) return data def OutputString(self): DumpString = ''' Head:%s, Count:%d, IndexList:%s '''\ %( self.Head.OutputString(), self.Count, "..." ) return DumpString m_NAtagCMEquipShenDecompose=tagCMEquipShenDecompose() ChNetPackDict[eval("0x%02x%02x"%(m_NAtagCMEquipShenDecompose.Head.Cmd,m_NAtagCMEquipShenDecompose.Head.SubCmd))] = m_NAtagCMEquipShenDecompose #------------------------------------------------------ #A3 05 ±¦Ê¯ÕªÈ¡ #tagCMEquipStonePick class tagCMEquipStonePick(Structure): _pack_ = 1 _fields_ = [ ("Cmd", c_ubyte), ("SubCmd", c_ubyte), ("EquipIndex", c_ubyte), #×°±¸Î»ÔÚ±³°üÖÐË÷Òý ("HoleIndex", c_ubyte), #×°±¸Î»µÄ¿×Ë÷Òý ] def __init__(self): self.Clear() self.Cmd = 0xA3 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 = 0xA3 self.SubCmd = 0x05 self.EquipIndex = 0 self.HoleIndex = 0 return def GetLength(self): return sizeof(tagCMEquipStonePick) def GetBuffer(self): return string_at(addressof(self), self.GetLength()) def OutputString(self): DumpString = '''//A3 05 ±¦Ê¯ÕªÈ¡ //tagCMEquipStonePick: Cmd:%s, SubCmd:%s, EquipIndex:%d, HoleIndex:%d '''\ %( self.Cmd, self.SubCmd, self.EquipIndex, self.HoleIndex ) return DumpString m_NAtagCMEquipStonePick=tagCMEquipStonePick() ChNetPackDict[eval("0x%02x%02x"%(m_NAtagCMEquipStonePick.Cmd,m_NAtagCMEquipStonePick.SubCmd))] = m_NAtagCMEquipStonePick #------------------------------------------------------ # A3 06 ±¦Ê¯Éý¼¶ #tagCMEquipStoneUpgrade class tagCMEquipStoneUpgrade(Structure): _pack_ = 1 _fields_ = [ ("Cmd", c_ubyte), ("SubCmd", c_ubyte), ("EquipIndex", c_ubyte), #×°±¸Î»ÔÚ×°±¸±³°üÖеÄË÷Òý ("HoleIndex", c_ubyte), #×°±¸Î»Öб¦Ê¯¿×Ë÷Òý ("UpWay", c_ubyte), #Éý¼¶·½Ê½0-ÏÉÓñ 1-±¦Ê¯ ] def __init__(self): self.Clear() self.Cmd = 0xA3 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 = 0xA3 self.SubCmd = 0x06 self.EquipIndex = 0 self.HoleIndex = 0 self.UpWay = 0 return def GetLength(self): return sizeof(tagCMEquipStoneUpgrade) def GetBuffer(self): return string_at(addressof(self), self.GetLength()) def OutputString(self): DumpString = '''// A3 06 ±¦Ê¯Éý¼¶ //tagCMEquipStoneUpgrade: Cmd:%s, SubCmd:%s, EquipIndex:%d, HoleIndex:%d, UpWay:%d '''\ %( self.Cmd, self.SubCmd, self.EquipIndex, self.HoleIndex, self.UpWay ) return DumpString m_NAtagCMEquipStoneUpgrade=tagCMEquipStoneUpgrade() ChNetPackDict[eval("0x%02x%02x"%(m_NAtagCMEquipStoneUpgrade.Cmd,m_NAtagCMEquipStoneUpgrade.SubCmd))] = m_NAtagCMEquipStoneUpgrade #------------------------------------------------------ # A3 22 ×°±¸¶Ò»»±¦²Ø»ý·Ö #tagCMEquipToJiFen class tagCMEquipToJiFen(Structure): _pack_ = 1 _fields_ = [ ("Cmd", c_ubyte), ("SubCmd", c_ubyte), ("ItemIndex", c_ubyte), #×°±¸ÔÚ±³°üÖÐË÷Òý ] def __init__(self): self.Clear() self.Cmd = 0xA3 self.SubCmd = 0x22 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 = 0xA3 self.SubCmd = 0x22 self.ItemIndex = 0 return def GetLength(self): return sizeof(tagCMEquipToJiFen) def GetBuffer(self): return string_at(addressof(self), self.GetLength()) def OutputString(self): DumpString = '''// A3 22 ×°±¸¶Ò»»±¦²Ø»ý·Ö //tagCMEquipToJiFen: Cmd:%s, SubCmd:%s, ItemIndex:%d '''\ %( self.Cmd, self.SubCmd, self.ItemIndex ) return DumpString m_NAtagCMEquipToJiFen=tagCMEquipToJiFen() ChNetPackDict[eval("0x%02x%02x"%(m_NAtagCMEquipToJiFen.Cmd,m_NAtagCMEquipToJiFen.SubCmd))] = m_NAtagCMEquipToJiFen #------------------------------------------------------ # A3 25 ×°±¸Ï´Á¶ #tagCMEquipXLAttrChange class tagCMEquipXLAttrChange(Structure): _pack_ = 1 _fields_ = [ ("Cmd", c_ubyte), ("SubCmd", c_ubyte), ("EquipPlace", c_ubyte), # ×°±¸Î» ("CheckUseGoldAttr", c_ubyte), # ¹´Ñ¡Ê¹ÓÃ×êʯϴÁ·ÊôÐÔ±àºÅÐÅÏ¢; °´ÊôÐÔ±àºÅλ¶þ½øÖÆ´ú±íÊÇ·ñ¹´Ñ¡, Èç¹´Ñ¡ÊôÐÔ1´ú±í0λ, Ôò·¢1, ¹´Ñ¡ÊôÐÔ1¡¢2Ôò·¢3£¬,¹´Ñ¡ÊôÐÔ1¡¢2¡¢3Ôò·¢7 ] def __init__(self): self.Clear() self.Cmd = 0xA3 self.SubCmd = 0x25 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 = 0xA3 self.SubCmd = 0x25 self.EquipPlace = 0 self.CheckUseGoldAttr = 0 return def GetLength(self): return sizeof(tagCMEquipXLAttrChange) def GetBuffer(self): return string_at(addressof(self), self.GetLength()) def OutputString(self): DumpString = '''// A3 25 ×°±¸Ï´Á¶ //tagCMEquipXLAttrChange: Cmd:%s, SubCmd:%s, EquipPlace:%d, CheckUseGoldAttr:%d '''\ %( self.Cmd, self.SubCmd, self.EquipPlace, self.CheckUseGoldAttr ) return DumpString m_NAtagCMEquipXLAttrChange=tagCMEquipXLAttrChange() ChNetPackDict[eval("0x%02x%02x"%(m_NAtagCMEquipXLAttrChange.Cmd,m_NAtagCMEquipXLAttrChange.SubCmd))] = m_NAtagCMEquipXLAttrChange #------------------------------------------------------ # A3 26 ×°±¸Ï´Á¶½á¹ûÈ·ÈÏ #tagCMEquipXLAttrChangeOK class tagCMEquipXLAttrChangeOK(Structure): _pack_ = 1 _fields_ = [ ("Cmd", c_ubyte), ("SubCmd", c_ubyte), ("EquipPlace", c_ubyte), # ×°±¸Î» ("IsSave", c_ubyte), # ÊÇ·ñ±£´æ 0-·ñ; 1-ÊÇ ] def __init__(self): self.Clear() self.Cmd = 0xA3 self.SubCmd = 0x26 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 = 0xA3 self.SubCmd = 0x26 self.EquipPlace = 0 self.IsSave = 0 return def GetLength(self): return sizeof(tagCMEquipXLAttrChangeOK) def GetBuffer(self): return string_at(addressof(self), self.GetLength()) def OutputString(self): DumpString = '''// A3 26 ×°±¸Ï´Á¶½á¹ûÈ·ÈÏ //tagCMEquipXLAttrChangeOK: Cmd:%s, SubCmd:%s, EquipPlace:%d, IsSave:%d '''\ %( self.Cmd, self.SubCmd, self.EquipPlace, self.IsSave ) return DumpString m_NAtagCMEquipXLAttrChangeOK=tagCMEquipXLAttrChangeOK() ChNetPackDict[eval("0x%02x%02x"%(m_NAtagCMEquipXLAttrChangeOK.Cmd,m_NAtagCMEquipXLAttrChangeOK.SubCmd))] = m_NAtagCMEquipXLAttrChangeOK #------------------------------------------------------ # A3 12 ÊØ»¤Ê°È¡ÎïÆ· #tagCMGuardPickupItem class tagCMGuardPickupItem(Structure): Head = tagHead() ItemCount = 0 #(WORD ItemCount) MapItemID = list() #(vector MapItemID)//size = ItemCount data = None def __init__(self): self.Clear() self.Head.Cmd = 0xA3 self.Head.SubCmd = 0x12 return def ReadData(self, _lpData, _pos=0, _Len=0): self.Clear() _pos = self.Head.ReadData(_lpData, _pos) self.ItemCount,_pos = CommFunc.ReadWORD(_lpData, _pos) for i in range(self.ItemCount): value,_pos=CommFunc.ReadWORD(_lpData,_pos) self.MapItemID.append(value) return _pos def Clear(self): self.Head = tagHead() self.Head.Clear() self.Head.Cmd = 0xA3 self.Head.SubCmd = 0x12 self.ItemCount = 0 self.MapItemID = list() return def GetLength(self): length = 0 length += self.Head.GetLength() length += 2 length += 2 * self.ItemCount return length def GetBuffer(self): data = '' data = CommFunc.WriteString(data, self.Head.GetLength(), self.Head.GetBuffer()) data = CommFunc.WriteWORD(data, self.ItemCount) for i in range(self.ItemCount): data = CommFunc.WriteWORD(data, self.MapItemID[i]) return data def OutputString(self): DumpString = ''' Head:%s, ItemCount:%d, MapItemID:%s '''\ %( self.Head.OutputString(), self.ItemCount, "..." ) return DumpString m_NAtagCMGuardPickupItem=tagCMGuardPickupItem() ChNetPackDict[eval("0x%02x%02x"%(m_NAtagCMGuardPickupItem.Head.Cmd,m_NAtagCMGuardPickupItem.Head.SubCmd))] = m_NAtagCMGuardPickupItem #------------------------------------------------------ # A3 13 ÎïÆ·²ð½â #tagCMItemDecompound class tagCMItemDecompound(Structure): _pack_ = 1 _fields_ = [ ("Cmd", c_ubyte), ("SubCmd", c_ubyte), ("Index", c_ubyte), # ²ð½âÎïÆ·ËùÔÚ±³°üË÷Òý ] def __init__(self): self.Clear() self.Cmd = 0xA3 self.SubCmd = 0x13 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 = 0xA3 self.SubCmd = 0x13 self.Index = 0 return def GetLength(self): return sizeof(tagCMItemDecompound) def GetBuffer(self): return string_at(addressof(self), self.GetLength()) def OutputString(self): DumpString = '''// A3 13 ÎïÆ·²ð½â //tagCMItemDecompound: Cmd:%s, SubCmd:%s, Index:%d '''\ %( self.Cmd, self.SubCmd, self.Index ) return DumpString m_NAtagCMItemDecompound=tagCMItemDecompound() ChNetPackDict[eval("0x%02x%02x"%(m_NAtagCMItemDecompound.Cmd,m_NAtagCMItemDecompound.SubCmd))] = m_NAtagCMItemDecompound #------------------------------------------------------ # A3 08 ÎïÆ·¹ýÆÚ #tagCMItemTimeout class tagCMItemTimeout(Structure): _pack_ = 1 _fields_ = [ ("Cmd", c_ubyte), ("SubCmd", c_ubyte), ("PackType", c_ubyte), #±³°üÀàÐÍ ("ItemIndex", c_ubyte), #ÎïÆ·ÔÚ±³°üÖÐË÷Òý ("IsAll", c_ubyte), #ÊÇ·ñ´¦ÀíËùÓйýÆÚÎïÆ· ] def __init__(self): self.Clear() self.Cmd = 0xA3 self.SubCmd = 0x08 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 = 0xA3 self.SubCmd = 0x08 self.PackType = 0 self.ItemIndex = 0 self.IsAll = 0 return def GetLength(self): return sizeof(tagCMItemTimeout) def GetBuffer(self): return string_at(addressof(self), self.GetLength()) def OutputString(self): DumpString = '''// A3 08 ÎïÆ·¹ýÆÚ //tagCMItemTimeout: Cmd:%s, SubCmd:%s, PackType:%d, ItemIndex:%d, IsAll:%d '''\ %( self.Cmd, self.SubCmd, self.PackType, self.ItemIndex, self.IsAll ) return DumpString m_NAtagCMItemTimeout=tagCMItemTimeout() ChNetPackDict[eval("0x%02x%02x"%(m_NAtagCMItemTimeout.Cmd,m_NAtagCMItemTimeout.SubCmd))] = m_NAtagCMItemTimeout #------------------------------------------------------ # A3 18 ÁéÆ÷Í»ÆÆ #tagCMLingQiEquipBreak class tagCMLingQiEquipBreak(Structure): _pack_ = 1 _fields_ = [ ("Cmd", c_ubyte), ("SubCmd", c_ubyte), ("ItemID", c_int), #Í»ÆÆµÄÎïÆ·ID ] def __init__(self): self.Clear() self.Cmd = 0xA3 self.SubCmd = 0x18 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 = 0xA3 self.SubCmd = 0x18 self.ItemID = 0 return def GetLength(self): return sizeof(tagCMLingQiEquipBreak) def GetBuffer(self): return string_at(addressof(self), self.GetLength()) def OutputString(self): DumpString = '''// A3 18 ÁéÆ÷Í»ÆÆ //tagCMLingQiEquipBreak: Cmd:%s, SubCmd:%s, ItemID:%d '''\ %( self.Cmd, self.SubCmd, self.ItemID ) return DumpString m_NAtagCMLingQiEquipBreak=tagCMLingQiEquipBreak() ChNetPackDict[eval("0x%02x%02x"%(m_NAtagCMLingQiEquipBreak.Cmd,m_NAtagCMLingQiEquipBreak.SubCmd))] = m_NAtagCMLingQiEquipBreak #------------------------------------------------------ # A3 27 ÁéÆ÷ÅàÑø #tagCMLingQiTrain class tagCMLingQiTrain(Structure): _pack_ = 1 _fields_ = [ ("Cmd", c_ubyte), ("SubCmd", c_ubyte), ("EquipPlace", c_ubyte), #ÁéÆ÷×°±¸Î» ("TrainType", c_ubyte), #ÅàÑøÀàÐÍ£º 1-»ù´¡ÅàÑø£¬2-ÌØÊâÅàÑø£¬3-°Ù·Ö±ÈÅàÑø ("UseItemCnt", c_ushort), #ÏûºÄ²ÄÁϸöÊý ] def __init__(self): self.Clear() self.Cmd = 0xA3 self.SubCmd = 0x27 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 = 0xA3 self.SubCmd = 0x27 self.EquipPlace = 0 self.TrainType = 0 self.UseItemCnt = 0 return def GetLength(self): return sizeof(tagCMLingQiTrain) def GetBuffer(self): return string_at(addressof(self), self.GetLength()) def OutputString(self): DumpString = '''// A3 27 ÁéÆ÷ÅàÑø //tagCMLingQiTrain: Cmd:%s, SubCmd:%s, EquipPlace:%d, TrainType:%d, UseItemCnt:%d '''\ %( self.Cmd, self.SubCmd, self.EquipPlace, self.TrainType, self.UseItemCnt ) return DumpString m_NAtagCMLingQiTrain=tagCMLingQiTrain() ChNetPackDict[eval("0x%02x%02x"%(m_NAtagCMLingQiTrain.Cmd,m_NAtagCMLingQiTrain.SubCmd))] = m_NAtagCMLingQiTrain #------------------------------------------------------ #A3 02 ¶ªÆú±³°üÎïÆ· #tagPlayerDropItem class tagPlayerDropItem(Structure): _pack_ = 1 _fields_ = [ ("Cmd", c_ubyte), ("SubCmd", c_ubyte), ("PackType", c_ubyte), #±³°üÀàÐÍ ("ItemIndex", c_ushort), #ÎïÆ·ÔÚ±³°üÖÐË÷Òý ("DropPosX", c_ushort), ("DropPosY", c_ushort), #µôÂäÎïÆ· ] def __init__(self): self.Clear() self.Cmd = 0xA3 self.SubCmd = 0x02 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 = 0xA3 self.SubCmd = 0x02 self.PackType = 0 self.ItemIndex = 0 self.DropPosX = 0 self.DropPosY = 0 return def GetLength(self): return sizeof(tagPlayerDropItem) def GetBuffer(self): return string_at(addressof(self), self.GetLength()) def OutputString(self): DumpString = '''//A3 02 ¶ªÆú±³°üÎïÆ· //tagPlayerDropItem: Cmd:%s, SubCmd:%s, PackType:%d, ItemIndex:%d, DropPosX:%d, DropPosY:%d '''\ %( self.Cmd, self.SubCmd, self.PackType, self.ItemIndex, self.DropPosX, self.DropPosY ) return DumpString m_NAtagPlayerDropItem=tagPlayerDropItem() ChNetPackDict[eval("0x%02x%02x"%(m_NAtagPlayerDropItem.Cmd,m_NAtagPlayerDropItem.SubCmd))] = m_NAtagPlayerDropItem #------------------------------------------------------ # A3 2A »ØÊÕ»êʯ #tagCMRecycleAttrFruit class tagCMRecycleAttrFruit(Structure): Head = tagHead() IndexCount = 0 #(BYTE IndexCount)//Ë÷Òý¸öÊý IndexList = list() #(vector IndexList)//ÎïÆ·ÔÚ±³°üÖÐË÷ÒýÁбí RecycleCountList = list() #(vector RecycleCountList)//Ë÷Òý¶ÔÓ¦»ØÊÕ¸öÊýÁбí data = None def __init__(self): self.Clear() self.Head.Cmd = 0xA3 self.Head.SubCmd = 0x2A return def ReadData(self, _lpData, _pos=0, _Len=0): self.Clear() _pos = self.Head.ReadData(_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) for i in range(self.IndexCount): value,_pos=CommFunc.ReadWORD(_lpData,_pos) self.RecycleCountList.append(value) return _pos def Clear(self): self.Head = tagHead() self.Head.Clear() self.Head.Cmd = 0xA3 self.Head.SubCmd = 0x2A self.IndexCount = 0 self.IndexList = list() self.RecycleCountList = list() return def GetLength(self): length = 0 length += self.Head.GetLength() length += 1 length += 1 * self.IndexCount length += 2 * self.IndexCount return length def GetBuffer(self): data = '' data = CommFunc.WriteString(data, self.Head.GetLength(), self.Head.GetBuffer()) data = CommFunc.WriteBYTE(data, self.IndexCount) for i in range(self.IndexCount): data = CommFunc.WriteBYTE(data, self.IndexList[i]) for i in range(self.IndexCount): data = CommFunc.WriteWORD(data, self.RecycleCountList[i]) return data def OutputString(self): DumpString = ''' Head:%s, IndexCount:%d, IndexList:%s, RecycleCountList:%s '''\ %( self.Head.OutputString(), self.IndexCount, "...", "..." ) return DumpString m_NAtagCMRecycleAttrFruit=tagCMRecycleAttrFruit() ChNetPackDict[eval("0x%02x%02x"%(m_NAtagCMRecycleAttrFruit.Head.Cmd,m_NAtagCMRecycleAttrFruit.Head.SubCmd))] = m_NAtagCMRecycleAttrFruit #------------------------------------------------------ #A3 03 ÎïÆ·ºÏ³É #tagCMItemCompound class tagCMItemCompound(Structure): Head = tagHead() ID = 0 #(DWORD ID)// ºÏ³ÉID CompoundCnt = 0 #(WORD CompoundCnt)//ºÏ³ÉÊýÁ¿(´ÎÊý) UnfixedItemIndexCnt = 0 #(BYTE UnfixedItemIndexCnt)// ²»¹Ì¶¨ÎïÆ·ÔÚ±³°üÖÐË÷Òý¸öÊý UnfixedItemIndex = list() #(vector UnfixedItemIndex)// ²»¹Ì¶¨ÎïÆ·ÔÚ±³°üµÄË÷ÒýÁбí FixedItemIndexCnt = 0 #(BYTE FixedItemIndexCnt)// ¹Ì¶¨ÎïÆ·ÔÚ±³°üÖÐË÷Òý¸öÊý FixedItemIndex = list() #(vector FixedItemIndex)// ¹Ì¶¨ÎïÆ·ÔÚ±³°üµÄË÷ÒýÁбí AddonsItemIndexCnt = 0 #(BYTE AddonsItemIndexCnt)// ¸½¼ÓÎïÆ·ÔÚ±³°üÖÐË÷Òý¸öÊý AddonsItemIndex = list() #(vector AddonsItemIndex)// ¸½¼ÓÎïÆ·ÔÚ±³°üµÄË÷ÒýÁбí AddonsItemCount = list() #(vector AddonsItemCount)// ¸½¼ÓÎïÆ·ÔÚ±³°üµÄË÷Òý¶ÔÓ¦¿Û³ýÊýÁ¿Áбí RateIncreaseItemIndexCnt = 0 #(BYTE RateIncreaseItemIndexCnt)// ÌáÉý¸ÅÂÊÎïÆ·ÔÚ±³°üÖÐË÷Òý¸öÊý RateIncreaseItemIndex = list() #(vector RateIncreaseItemIndex)// ÌáÉý¸ÅÂÊÎïÆ·ÔÚ±³°üµÄË÷ÒýÁбí data = None def __init__(self): self.Clear() self.Head.Cmd = 0xA3 self.Head.SubCmd = 0x03 return def ReadData(self, _lpData, _pos=0, _Len=0): self.Clear() _pos = self.Head.ReadData(_lpData, _pos) self.ID,_pos = CommFunc.ReadDWORD(_lpData, _pos) self.CompoundCnt,_pos = CommFunc.ReadWORD(_lpData, _pos) self.UnfixedItemIndexCnt,_pos = CommFunc.ReadBYTE(_lpData, _pos) for i in range(self.UnfixedItemIndexCnt): value,_pos=CommFunc.ReadBYTE(_lpData,_pos) self.UnfixedItemIndex.append(value) self.FixedItemIndexCnt,_pos = CommFunc.ReadBYTE(_lpData, _pos) for i in range(self.FixedItemIndexCnt): value,_pos=CommFunc.ReadBYTE(_lpData,_pos) self.FixedItemIndex.append(value) self.AddonsItemIndexCnt,_pos = CommFunc.ReadBYTE(_lpData, _pos) for i in range(self.AddonsItemIndexCnt): value,_pos=CommFunc.ReadBYTE(_lpData,_pos) self.AddonsItemIndex.append(value) for i in range(self.AddonsItemIndexCnt): value,_pos=CommFunc.ReadBYTE(_lpData,_pos) self.AddonsItemCount.append(value) self.RateIncreaseItemIndexCnt,_pos = CommFunc.ReadBYTE(_lpData, _pos) for i in range(self.RateIncreaseItemIndexCnt): value,_pos=CommFunc.ReadBYTE(_lpData,_pos) self.RateIncreaseItemIndex.append(value) return _pos def Clear(self): self.Head = tagHead() self.Head.Clear() self.Head.Cmd = 0xA3 self.Head.SubCmd = 0x03 self.ID = 0 self.CompoundCnt = 0 self.UnfixedItemIndexCnt = 0 self.UnfixedItemIndex = list() self.FixedItemIndexCnt = 0 self.FixedItemIndex = list() self.AddonsItemIndexCnt = 0 self.AddonsItemIndex = list() self.AddonsItemCount = list() self.RateIncreaseItemIndexCnt = 0 self.RateIncreaseItemIndex = list() return def GetLength(self): length = 0 length += self.Head.GetLength() length += 4 length += 2 length += 1 length += 1 * self.UnfixedItemIndexCnt length += 1 length += 1 * self.FixedItemIndexCnt length += 1 length += 1 * self.AddonsItemIndexCnt length += 1 * self.AddonsItemIndexCnt length += 1 length += 1 * self.RateIncreaseItemIndexCnt return length def GetBuffer(self): data = '' data = CommFunc.WriteString(data, self.Head.GetLength(), self.Head.GetBuffer()) data = CommFunc.WriteDWORD(data, self.ID) data = CommFunc.WriteWORD(data, self.CompoundCnt) data = CommFunc.WriteBYTE(data, self.UnfixedItemIndexCnt) for i in range(self.UnfixedItemIndexCnt): data = CommFunc.WriteBYTE(data, self.UnfixedItemIndex[i]) data = CommFunc.WriteBYTE(data, self.FixedItemIndexCnt) for i in range(self.FixedItemIndexCnt): data = CommFunc.WriteBYTE(data, self.FixedItemIndex[i]) data = CommFunc.WriteBYTE(data, self.AddonsItemIndexCnt) for i in range(self.AddonsItemIndexCnt): data = CommFunc.WriteBYTE(data, self.AddonsItemIndex[i]) for i in range(self.AddonsItemIndexCnt): data = CommFunc.WriteBYTE(data, self.AddonsItemCount[i]) data = CommFunc.WriteBYTE(data, self.RateIncreaseItemIndexCnt) for i in range(self.RateIncreaseItemIndexCnt): data = CommFunc.WriteBYTE(data, self.RateIncreaseItemIndex[i]) return data def OutputString(self): DumpString = ''' Head:%s, ID:%d, CompoundCnt:%d, UnfixedItemIndexCnt:%d, UnfixedItemIndex:%s, FixedItemIndexCnt:%d, FixedItemIndex:%s, AddonsItemIndexCnt:%d, AddonsItemIndex:%s, AddonsItemCount:%s, RateIncreaseItemIndexCnt:%d, RateIncreaseItemIndex:%s '''\ %( self.Head.OutputString(), self.ID, self.CompoundCnt, self.UnfixedItemIndexCnt, "...", self.FixedItemIndexCnt, "...", self.AddonsItemIndexCnt, "...", "...", self.RateIncreaseItemIndexCnt, "..." ) return DumpString m_NAtagCMItemCompound=tagCMItemCompound() ChNetPackDict[eval("0x%02x%02x"%(m_NAtagCMItemCompound.Head.Cmd,m_NAtagCMItemCompound.Head.SubCmd))] = m_NAtagCMItemCompound #------------------------------------------------------ #A3 20 ½«Ä§·½±³°üÖеÄÎïÆ·×ªÒÆµ½ÈËÎï±³°üÖÐ #tagCMMagicItemPutInItemPack class tagCMMagicItemPutInItemPack(Structure): _pack_ = 1 _fields_ = [ ("Cmd", c_ubyte), ("SubCmd", c_ubyte), ("ItemIndex", c_ushort), #ÎïÆ·ÔÚħ·½±³°üÖеÄË÷ÒýλÖà ("IsPutAllItem", c_ubyte), #ÊÇ·ñÈ«²¿·ÅÈë±³°ü ] def __init__(self): self.Clear() self.Cmd = 0xA3 self.SubCmd = 0x20 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 = 0xA3 self.SubCmd = 0x20 self.ItemIndex = 0 self.IsPutAllItem = 0 return def GetLength(self): return sizeof(tagCMMagicItemPutInItemPack) def GetBuffer(self): return string_at(addressof(self), self.GetLength()) def OutputString(self): DumpString = '''//A3 20 ½«Ä§·½±³°üÖеÄÎïÆ·×ªÒÆµ½ÈËÎï±³°üÖÐ //tagCMMagicItemPutInItemPack: Cmd:%s, SubCmd:%s, ItemIndex:%d, IsPutAllItem:%d '''\ %( self.Cmd, self.SubCmd, self.ItemIndex, self.IsPutAllItem ) return DumpString m_NAtagCMMagicItemPutInItemPack=tagCMMagicItemPutInItemPack() ChNetPackDict[eval("0x%02x%02x"%(m_NAtagCMMagicItemPutInItemPack.Cmd,m_NAtagCMMagicItemPutInItemPack.SubCmd))] = m_NAtagCMMagicItemPutInItemPack #------------------------------------------------------ # A3 11 ÅúÁ¿³öÊÛÎïÆ· #tagCMSellItem class tagCMSellItem(Structure): Head = tagHead() PackType = 0 #(BYTE PackType)//±³°üÀàÐÍ Count = 0 #(BYTE Count)//Ë÷ÒýÊýÁ¿ ItemIndex = list() #(vector ItemIndex)//ÎïÆ·Ë÷Òý data = None def __init__(self): self.Clear() self.Head.Cmd = 0xA3 self.Head.SubCmd = 0x11 return def ReadData(self, _lpData, _pos=0, _Len=0): self.Clear() _pos = self.Head.ReadData(_lpData, _pos) self.PackType,_pos = CommFunc.ReadBYTE(_lpData, _pos) self.Count,_pos = CommFunc.ReadBYTE(_lpData, _pos) for i in range(self.Count): value,_pos=CommFunc.ReadBYTE(_lpData,_pos) self.ItemIndex.append(value) return _pos def Clear(self): self.Head = tagHead() self.Head.Clear() self.Head.Cmd = 0xA3 self.Head.SubCmd = 0x11 self.PackType = 0 self.Count = 0 self.ItemIndex = list() return def GetLength(self): length = 0 length += self.Head.GetLength() length += 1 length += 1 length += 1 * self.Count return length def GetBuffer(self): data = '' data = CommFunc.WriteString(data, self.Head.GetLength(), self.Head.GetBuffer()) data = CommFunc.WriteBYTE(data, self.PackType) data = CommFunc.WriteBYTE(data, self.Count) for i in range(self.Count): data = CommFunc.WriteBYTE(data, self.ItemIndex[i]) return data def OutputString(self): DumpString = ''' Head:%s, PackType:%d, Count:%d, ItemIndex:%s '''\ %( self.Head.OutputString(), self.PackType, self.Count, "..." ) return DumpString m_NAtagCMSellItem=tagCMSellItem() ChNetPackDict[eval("0x%02x%02x"%(m_NAtagCMSellItem.Head.Cmd,m_NAtagCMSellItem.Head.SubCmd))] = m_NAtagCMSellItem #------------------------------------------------------ # A3 2F ×ÚÃÅÊÔÁ¶¶Ò»» #tagCMTrialExchange class tagCMTrialExchange(Structure): _pack_ = 1 _fields_ = [ ("Cmd", c_ubyte), ("SubCmd", c_ubyte), ("ID", c_int), #¶Ò»»ID ] def __init__(self): self.Clear() self.Cmd = 0xA3 self.SubCmd = 0x2F 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 = 0xA3 self.SubCmd = 0x2F self.ID = 0 return def GetLength(self): return sizeof(tagCMTrialExchange) def GetBuffer(self): return string_at(addressof(self), self.GetLength()) def OutputString(self): DumpString = '''// A3 2F ×ÚÃÅÊÔÁ¶¶Ò»» //tagCMTrialExchange: Cmd:%s, SubCmd:%s, ID:%d '''\ %( self.Cmd, self.SubCmd, self.ID ) return DumpString m_NAtagCMTrialExchange=tagCMTrialExchange() ChNetPackDict[eval("0x%02x%02x"%(m_NAtagCMTrialExchange.Cmd,m_NAtagCMTrialExchange.SubCmd))] = m_NAtagCMTrialExchange #------------------------------------------------------ # A3 2B Ò»¼üʹÓÃÊôÐÔ¹ûʵ #tagCMUseAllAttrFruit class tagCMUseAllAttrFruit(Structure): _pack_ = 1 _fields_ = [ ("Cmd", c_ubyte), ("SubCmd", c_ubyte), ("FuncIndex", c_ubyte), #¹¦ÄÜË÷Òý ] def __init__(self): self.Clear() self.Cmd = 0xA3 self.SubCmd = 0x2B 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 = 0xA3 self.SubCmd = 0x2B self.FuncIndex = 0 return def GetLength(self): return sizeof(tagCMUseAllAttrFruit) def GetBuffer(self): return string_at(addressof(self), self.GetLength()) def OutputString(self): DumpString = '''// A3 2B Ò»¼üʹÓÃÊôÐÔ¹ûʵ //tagCMUseAllAttrFruit: Cmd:%s, SubCmd:%s, FuncIndex:%d '''\ %( self.Cmd, self.SubCmd, self.FuncIndex ) return DumpString m_NAtagCMUseAllAttrFruit=tagCMUseAllAttrFruit() ChNetPackDict[eval("0x%02x%02x"%(m_NAtagCMUseAllAttrFruit.Cmd,m_NAtagCMUseAllAttrFruit.SubCmd))] = m_NAtagCMUseAllAttrFruit #------------------------------------------------------ # A3 23 ʹÓÃÎïÆ· #tagCMUseItems class tagCMUseItemsSelect(Structure): _pack_ = 1 _fields_ = [ ("SelectID", c_int), #Ñ¡ÔñÏîID ("SelectCnt", c_ushort), #Ñ¡ÔñÊý ] 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.SelectID = 0 self.SelectCnt = 0 return def GetLength(self): return sizeof(tagCMUseItemsSelect) def GetBuffer(self): return string_at(addressof(self), self.GetLength()) def OutputString(self): DumpString = '''// A3 23 ʹÓÃÎïÆ· //tagCMUseItems: SelectID:%d, SelectCnt:%d '''\ %( self.SelectID, self.SelectCnt ) return DumpString class tagCMUseItems(Structure): Head = tagHead() ItemIndex = 0 #(BYTE ItemIndex)//ÎïÆ·ÔÚ±³°üÖÐË÷Òý UseCnt = 0 #(WORD UseCnt)//ʹÓøöÊý£¬0±íʾȫ²¿Ê¹Óà ExData = 0 #(DWORD ExData)//ʹÓÃÀ©Õ¹Öµ, ĬÈÏ0, Ñ¡ÔñÎïÆ·±¦Ïäʱ·¢ËÍÑ¡ÔñµÄÎïÆ·ID SelectCount = 0 #(BYTE SelectCount)//Ö¸¶¨Ñ¡ÔñÏµ±ÅúÁ¿Ê¹Óõ¥¸öÏä×ÓÐèҪͬʱѡÖжàÖÖÑ¡ÏîʱʹÓøÃÖµ SelectList = list() #(vector SelectList) data = None def __init__(self): self.Clear() self.Head.Cmd = 0xA3 self.Head.SubCmd = 0x23 return def ReadData(self, _lpData, _pos=0, _Len=0): self.Clear() _pos = self.Head.ReadData(_lpData, _pos) self.ItemIndex,_pos = CommFunc.ReadBYTE(_lpData, _pos) self.UseCnt,_pos = CommFunc.ReadWORD(_lpData, _pos) self.ExData,_pos = CommFunc.ReadDWORD(_lpData, _pos) self.SelectCount,_pos = CommFunc.ReadBYTE(_lpData, _pos) for i in range(self.SelectCount): temSelectList = tagCMUseItemsSelect() _pos = temSelectList.ReadData(_lpData, _pos) self.SelectList.append(temSelectList) return _pos def Clear(self): self.Head = tagHead() self.Head.Clear() self.Head.Cmd = 0xA3 self.Head.SubCmd = 0x23 self.ItemIndex = 0 self.UseCnt = 0 self.ExData = 0 self.SelectCount = 0 self.SelectList = list() return def GetLength(self): length = 0 length += self.Head.GetLength() length += 1 length += 2 length += 4 length += 1 for i in range(self.SelectCount): length += self.SelectList[i].GetLength() return length def GetBuffer(self): data = '' data = CommFunc.WriteString(data, self.Head.GetLength(), self.Head.GetBuffer()) data = CommFunc.WriteBYTE(data, self.ItemIndex) data = CommFunc.WriteWORD(data, self.UseCnt) data = CommFunc.WriteDWORD(data, self.ExData) data = CommFunc.WriteBYTE(data, self.SelectCount) for i in range(self.SelectCount): data = CommFunc.WriteString(data, self.SelectList[i].GetLength(), self.SelectList[i].GetBuffer()) return data def OutputString(self): DumpString = ''' Head:%s, ItemIndex:%d, UseCnt:%d, ExData:%d, SelectCount:%d, SelectList:%s '''\ %( self.Head.OutputString(), self.ItemIndex, self.UseCnt, self.ExData, self.SelectCount, "..." ) return DumpString m_NAtagCMUseItems=tagCMUseItems() ChNetPackDict[eval("0x%02x%02x"%(m_NAtagCMUseItems.Head.Cmd,m_NAtagCMUseItems.Head.SubCmd))] = m_NAtagCMUseItems #------------------------------------------------------ #A3 2E ÓðÒí¾«Á¶ #tagCMWingUp class tagCMWingUp(Structure): Head = tagHead() Count = 0 #(BYTE Count)//Ë÷Òý¸öÊý WingIndexList = list() #(vector WingIndexList)//²ÄÁϳá°òÔÚ±³°üÖеÄË÷ÒýÁбí data = None def __init__(self): self.Clear() self.Head.Cmd = 0xA3 self.Head.SubCmd = 0x2E 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): value,_pos=CommFunc.ReadBYTE(_lpData,_pos) self.WingIndexList.append(value) return _pos def Clear(self): self.Head = tagHead() self.Head.Clear() self.Head.Cmd = 0xA3 self.Head.SubCmd = 0x2E self.Count = 0 self.WingIndexList = list() return def GetLength(self): length = 0 length += self.Head.GetLength() length += 1 length += 1 * self.Count 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.WriteBYTE(data, self.WingIndexList[i]) return data def OutputString(self): DumpString = ''' Head:%s, Count:%d, WingIndexList:%s '''\ %( self.Head.OutputString(), self.Count, "..." ) return DumpString m_NAtagCMWingUp=tagCMWingUp() ChNetPackDict[eval("0x%02x%02x"%(m_NAtagCMWingUp.Head.Cmd,m_NAtagCMWingUp.Head.SubCmd))] = m_NAtagCMWingUp #------------------------------------------------------ # A5 30 ¹ºÂòħ»êÍ­Ç®¾­ÑéʲôµÄ #tagCMBuySomething class tagCMBuySomething(Structure): _pack_ = 1 _fields_ = [ ("Cmd", c_ubyte), ("SubCmd", c_ubyte), ("Type", c_ubyte), #14Í­Ç®£¬15¾­Ñé ] def __init__(self): self.Clear() self.Cmd = 0xA5 self.SubCmd = 0x30 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 = 0x30 self.Type = 0 return def GetLength(self): return sizeof(tagCMBuySomething) def GetBuffer(self): return string_at(addressof(self), self.GetLength()) def OutputString(self): DumpString = '''// A5 30 ¹ºÂòħ»êÍ­Ç®¾­ÑéʲôµÄ //tagCMBuySomething: Cmd:%s, SubCmd:%s, Type:%d '''\ %( self.Cmd, self.SubCmd, self.Type ) return DumpString m_NAtagCMBuySomething=tagCMBuySomething() ChNetPackDict[eval("0x%02x%02x"%(m_NAtagCMBuySomething.Cmd,m_NAtagCMBuySomething.SubCmd))] = m_NAtagCMBuySomething #------------------------------------------------------ #A5 01 ×øÆï¼¤»î #tagPlayerActivateHorse class tagPlayerActivateHorse(Structure): _pack_ = 1 _fields_ = [ ("Cmd", c_ubyte), ("SubCmd", c_ubyte), ("HorseID", c_int), #×øÆï»Ã»¯ID ] def __init__(self): self.Clear() self.Cmd = 0xA5 self.SubCmd = 0x01 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 = 0x01 self.HorseID = 0 return def GetLength(self): return sizeof(tagPlayerActivateHorse) def GetBuffer(self): return string_at(addressof(self), self.GetLength()) def OutputString(self): DumpString = '''//A5 01 ×øÆï¼¤»î //tagPlayerActivateHorse: Cmd:%s, SubCmd:%s, HorseID:%d '''\ %( self.Cmd, self.SubCmd, self.HorseID ) return DumpString m_NAtagPlayerActivateHorse=tagPlayerActivateHorse() ChNetPackDict[eval("0x%02x%02x"%(m_NAtagPlayerActivateHorse.Cmd,m_NAtagPlayerActivateHorse.SubCmd))] = m_NAtagPlayerActivateHorse #------------------------------------------------------ # A5 C7 ¼¤»î´óʦǿ»¯µÈ¼¶ #tagCMActivateMasterPlusLV class tagCMActivateMasterPlusLV(Structure): _pack_ = 1 _fields_ = [ ("Cmd", c_ubyte), ("SubCmd", c_ubyte), ("ClassLV", c_ubyte), # ËùÊô×°±¸½× ("MasterPlusLV", c_ushort), # ´óʦǿ»¯µÈ¼¶ ] def __init__(self): self.Clear() self.Cmd = 0xA5 self.SubCmd = 0xC7 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 = 0xC7 self.ClassLV = 0 self.MasterPlusLV = 0 return def GetLength(self): return sizeof(tagCMActivateMasterPlusLV) def GetBuffer(self): return string_at(addressof(self), self.GetLength()) def OutputString(self): DumpString = '''// A5 C7 ¼¤»î´óʦǿ»¯µÈ¼¶ //tagCMActivateMasterPlusLV: Cmd:%s, SubCmd:%s, ClassLV:%d, MasterPlusLV:%d '''\ %( self.Cmd, self.SubCmd, self.ClassLV, self.MasterPlusLV ) return DumpString m_NAtagCMActivateMasterPlusLV=tagCMActivateMasterPlusLV() ChNetPackDict[eval("0x%02x%02x"%(m_NAtagCMActivateMasterPlusLV.Cmd,m_NAtagCMActivateMasterPlusLV.SubCmd))] = m_NAtagCMActivateMasterPlusLV #------------------------------------------------------ # A5 03 È«ÉíÊôÐÔ¼¤»î #tagCMActiveAllEquipAttr class tagCMActiveAllEquipAttr(Structure): _pack_ = 1 _fields_ = [ ("Cmd", c_ubyte), ("SubCmd", c_ubyte), ("Type", c_ubyte), #0Ç¿»¯ 1ÐÇÊý ("Cnt", c_int), #¼¤»îÊýÁ¿ ] def __init__(self): self.Clear() self.Cmd = 0xA5 self.SubCmd = 0x03 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 = 0x03 self.Type = 0 self.Cnt = 0 return def GetLength(self): return sizeof(tagCMActiveAllEquipAttr) def GetBuffer(self): return string_at(addressof(self), self.GetLength()) def OutputString(self): DumpString = '''// A5 03 È«ÉíÊôÐÔ¼¤»î //tagCMActiveAllEquipAttr: Cmd:%s, SubCmd:%s, Type:%d, Cnt:%d '''\ %( self.Cmd, self.SubCmd, self.Type, self.Cnt ) return DumpString m_NAtagCMActiveAllEquipAttr=tagCMActiveAllEquipAttr() ChNetPackDict[eval("0x%02x%02x"%(m_NAtagCMActiveAllEquipAttr.Cmd,m_NAtagCMActiveAllEquipAttr.SubCmd))] = m_NAtagCMActiveAllEquipAttr #------------------------------------------------------ # A5 49 ´óʦÌ츳¼¼Äܼӵã #tagCMAddMasterSkillPoint class tagCMMasterSkillPoint(Structure): _pack_ = 1 _fields_ = [ ("Cmd", c_ubyte), ("SubCmd", c_ubyte), ("SkillID", c_int), # Ì츳¼¼ÄÜID ("AddPoint", c_ubyte), # ¼ÓµÄµãÊý ] def __init__(self): self.Clear() self.Cmd = 0xA5 self.SubCmd = 0x49 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 = 0x49 self.SkillID = 0 self.AddPoint = 0 return def GetLength(self): return sizeof(tagCMMasterSkillPoint) def GetBuffer(self): return string_at(addressof(self), self.GetLength()) def OutputString(self): DumpString = '''// A5 49 ´óʦÌ츳¼¼Äܼӵã //tagCMAddMasterSkillPoint: Cmd:%s, SubCmd:%s, SkillID:%d, AddPoint:%d '''\ %( self.Cmd, self.SubCmd, self.SkillID, self.AddPoint ) return DumpString class tagCMAddMasterSkillPoint(Structure): Head = tagHead() SkillCnt = 0 #(BYTE SkillCnt)// ±ä¸ü¼¼ÄܸöÊý AddSkillPointList = list() #(vector AddSkillPointList)// ¼ÓµÄ¼¼ÄܵãÊýÁбí data = None def __init__(self): self.Clear() self.Head.Cmd = 0xA5 self.Head.SubCmd = 0x49 return def ReadData(self, _lpData, _pos=0, _Len=0): self.Clear() _pos = self.Head.ReadData(_lpData, _pos) self.SkillCnt,_pos = CommFunc.ReadBYTE(_lpData, _pos) for i in range(self.SkillCnt): temAddSkillPointList = tagCMMasterSkillPoint() _pos = temAddSkillPointList.ReadData(_lpData, _pos) self.AddSkillPointList.append(temAddSkillPointList) return _pos def Clear(self): self.Head = tagHead() self.Head.Clear() self.Head.Cmd = 0xA5 self.Head.SubCmd = 0x49 self.SkillCnt = 0 self.AddSkillPointList = list() return def GetLength(self): length = 0 length += self.Head.GetLength() length += 1 for i in range(self.SkillCnt): length += self.AddSkillPointList[i].GetLength() return length def GetBuffer(self): data = '' data = CommFunc.WriteString(data, self.Head.GetLength(), self.Head.GetBuffer()) data = CommFunc.WriteBYTE(data, self.SkillCnt) for i in range(self.SkillCnt): data = CommFunc.WriteString(data, self.AddSkillPointList[i].GetLength(), self.AddSkillPointList[i].GetBuffer()) return data def OutputString(self): DumpString = ''' Head:%s, SkillCnt:%d, AddSkillPointList:%s '''\ %( self.Head.OutputString(), self.SkillCnt, "..." ) return DumpString m_NAtagCMAddMasterSkillPoint=tagCMAddMasterSkillPoint() ChNetPackDict[eval("0x%02x%02x"%(m_NAtagCMAddMasterSkillPoint.Head.Cmd,m_NAtagCMAddMasterSkillPoint.Head.SubCmd))] = m_NAtagCMAddMasterSkillPoint #------------------------------------------------------ #A5 05 Íæ¼Ò¿ªÊ¼¸±±¾É¨µ´ #tagCMBeginFBWipeOut class tagCMBeginFBWipeOut(Structure): _pack_ = 1 _fields_ = [ ("Cmd", c_ubyte), ("SubCmd", c_ubyte), ("MapID", c_int), ("LineID", c_ushort), ("Cnt", c_ubyte), # ɨµ´´ÎÊý ("IsFinish", c_ubyte), # ÊÇ·ñÁ¢¼´Íê³É; 0-·ñ£»1-»¨Ç®Á¢¼´Íê³É£»2-¿Í»§¶Ë×ÔÐе¹¼ÆÊ±¼äµ½ºó·¢ËÍ2´ú±íÁìȡɨµ´Íê³É½±Àø ("DataEx", c_int), #¸½´øÐÅÏ¢ ("IsLittleHelper", c_ubyte), # ÊÇ·ñСÖúÊÖɨµ´ ] def __init__(self): self.Clear() self.Cmd = 0xA5 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 = 0xA5 self.SubCmd = 0x05 self.MapID = 0 self.LineID = 0 self.Cnt = 0 self.IsFinish = 0 self.DataEx = 0 self.IsLittleHelper = 0 return def GetLength(self): return sizeof(tagCMBeginFBWipeOut) def GetBuffer(self): return string_at(addressof(self), self.GetLength()) def OutputString(self): DumpString = '''//A5 05 Íæ¼Ò¿ªÊ¼¸±±¾É¨µ´ //tagCMBeginFBWipeOut: Cmd:%s, SubCmd:%s, MapID:%d, LineID:%d, Cnt:%d, IsFinish:%d, DataEx:%d, IsLittleHelper:%d '''\ %( self.Cmd, self.SubCmd, self.MapID, self.LineID, self.Cnt, self.IsFinish, self.DataEx, self.IsLittleHelper ) return DumpString m_NAtagCMBeginFBWipeOut=tagCMBeginFBWipeOut() ChNetPackDict[eval("0x%02x%02x"%(m_NAtagCMBeginFBWipeOut.Cmd,m_NAtagCMBeginFBWipeOut.SubCmd))] = m_NAtagCMBeginFBWipeOut #------------------------------------------------------ # A5 71 Ãü¸ñ·Ö½â #tagCMBirthChartDecompose class tagCMBirthChartDecompose(Structure): Head = tagHead() IsAll = 0 #(BYTE IsAll)// ÊÇ·ñÈ«²¿·Ö½â£¬ÓÅÏȼ¶×î¸ß£¬Ëø¶¨³ýÍâ QualityCnt = 0 #(BYTE QualityCnt)// °´È«²¿·Ö½âÆ·ÖÊÊý QualityList = list() #(vector QualityList)// È«²¿·Ö½âµÄÆ·ÖÊÁÐ±í£¬·¢ËÍµÄÆ·ÖÊ»áÈ«²¿·Ö½â£¬Ëø¶¨³ýÍâ Count = 0 #(BYTE Count)// Ö¸¶¨ÅúÁ¿·Ö½âÊý£¬×î´ó²»³¬¹ý50¸ö PlaceIndexList = list() #(vector PlaceIndexList)// ÅúÁ¿·Ö½âλÖÃË÷ÒýÁбí data = None def __init__(self): self.Clear() self.Head.Cmd = 0xA5 self.Head.SubCmd = 0x71 return def ReadData(self, _lpData, _pos=0, _Len=0): self.Clear() _pos = self.Head.ReadData(_lpData, _pos) self.IsAll,_pos = CommFunc.ReadBYTE(_lpData, _pos) self.QualityCnt,_pos = CommFunc.ReadBYTE(_lpData, _pos) for i in range(self.QualityCnt): value,_pos=CommFunc.ReadBYTE(_lpData,_pos) self.QualityList.append(value) self.Count,_pos = CommFunc.ReadBYTE(_lpData, _pos) for i in range(self.Count): value,_pos=CommFunc.ReadWORD(_lpData,_pos) self.PlaceIndexList.append(value) return _pos def Clear(self): self.Head = tagHead() self.Head.Clear() self.Head.Cmd = 0xA5 self.Head.SubCmd = 0x71 self.IsAll = 0 self.QualityCnt = 0 self.QualityList = list() self.Count = 0 self.PlaceIndexList = list() return def GetLength(self): length = 0 length += self.Head.GetLength() length += 1 length += 1 length += 1 * self.QualityCnt length += 1 length += 2 * self.Count return length def GetBuffer(self): data = '' data = CommFunc.WriteString(data, self.Head.GetLength(), self.Head.GetBuffer()) data = CommFunc.WriteBYTE(data, self.IsAll) data = CommFunc.WriteBYTE(data, self.QualityCnt) for i in range(self.QualityCnt): data = CommFunc.WriteBYTE(data, self.QualityList[i]) data = CommFunc.WriteBYTE(data, self.Count) for i in range(self.Count): data = CommFunc.WriteWORD(data, self.PlaceIndexList[i]) return data def OutputString(self): DumpString = ''' Head:%s, IsAll:%d, QualityCnt:%d, QualityList:%s, Count:%d, PlaceIndexList:%s '''\ %( self.Head.OutputString(), self.IsAll, self.QualityCnt, "...", self.Count, "..." ) return DumpString m_NAtagCMBirthChartDecompose=tagCMBirthChartDecompose() ChNetPackDict[eval("0x%02x%02x"%(m_NAtagCMBirthChartDecompose.Head.Cmd,m_NAtagCMBirthChartDecompose.Head.SubCmd))] = m_NAtagCMBirthChartDecompose #------------------------------------------------------ # A5 72 Ãü¸ñËø¶¨×´Ì¬±ä¸ü #tagCMBirthChartLock class tagCMBirthChartLock(Structure): Head = tagHead() LockState = 0 #(BYTE LockState)// Ëø¶¨×´Ì¬£¬ 0-Ëø¶¨£¬1-½âËø Count = 0 #(BYTE Count)// ÅúÁ¿²Ù×÷Êý£¬×î´ó²»³¬¹ý50¸ö PlaceIndexList = list() #(vector PlaceIndexList)// ÅúÁ¿²Ù×÷λÖÃË÷ÒýÁбí data = None def __init__(self): self.Clear() self.Head.Cmd = 0xA5 self.Head.SubCmd = 0x72 return def ReadData(self, _lpData, _pos=0, _Len=0): self.Clear() _pos = self.Head.ReadData(_lpData, _pos) self.LockState,_pos = CommFunc.ReadBYTE(_lpData, _pos) self.Count,_pos = CommFunc.ReadBYTE(_lpData, _pos) for i in range(self.Count): value,_pos=CommFunc.ReadWORD(_lpData,_pos) self.PlaceIndexList.append(value) return _pos def Clear(self): self.Head = tagHead() self.Head.Clear() self.Head.Cmd = 0xA5 self.Head.SubCmd = 0x72 self.LockState = 0 self.Count = 0 self.PlaceIndexList = list() return def GetLength(self): length = 0 length += self.Head.GetLength() length += 1 length += 1 length += 2 * self.Count return length def GetBuffer(self): data = '' data = CommFunc.WriteString(data, self.Head.GetLength(), self.Head.GetBuffer()) data = CommFunc.WriteBYTE(data, self.LockState) data = CommFunc.WriteBYTE(data, self.Count) for i in range(self.Count): data = CommFunc.WriteWORD(data, self.PlaceIndexList[i]) return data def OutputString(self): DumpString = ''' Head:%s, LockState:%d, Count:%d, PlaceIndexList:%s '''\ %( self.Head.OutputString(), self.LockState, self.Count, "..." ) return DumpString m_NAtagCMBirthChartLock=tagCMBirthChartLock() ChNetPackDict[eval("0x%02x%02x"%(m_NAtagCMBirthChartLock.Head.Cmd,m_NAtagCMBirthChartLock.Head.SubCmd))] = m_NAtagCMBirthChartLock #------------------------------------------------------ # A5 70 Ãü¸ñÉý¼¶ #tagCMBirthChartUp class tagCMBirthChartUp(Structure): _pack_ = 1 _fields_ = [ ("Cmd", c_ubyte), ("SubCmd", c_ubyte), ("PlaceType", c_ubyte), # λÖÃÀàÐÍ£»0-Ãü¸ñ±³°ü£¬1-Ãü¸ñ¿× ("PlaceIndex", c_ushort), # λÖÃË÷Òý ] def __init__(self): self.Clear() self.Cmd = 0xA5 self.SubCmd = 0x70 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 = 0x70 self.PlaceType = 0 self.PlaceIndex = 0 return def GetLength(self): return sizeof(tagCMBirthChartUp) def GetBuffer(self): return string_at(addressof(self), self.GetLength()) def OutputString(self): DumpString = '''// A5 70 Ãü¸ñÉý¼¶ //tagCMBirthChartUp: Cmd:%s, SubCmd:%s, PlaceType:%d, PlaceIndex:%d '''\ %( self.Cmd, self.SubCmd, self.PlaceType, self.PlaceIndex ) return DumpString m_NAtagCMBirthChartUp=tagCMBirthChartUp() ChNetPackDict[eval("0x%02x%02x"%(m_NAtagCMBirthChartUp.Cmd,m_NAtagCMBirthChartUp.SubCmd))] = m_NAtagCMBirthChartUp #------------------------------------------------------ # A5 52 ¹ºÂò¹¦ÄÜNPC²É¼¯´ÎÊý #tagCMBuyCollectionCnt class tagCMBuyCollectionCnt(Structure): _pack_ = 1 _fields_ = [ ("Cmd", c_ubyte), ("SubCmd", c_ubyte), ("FuncType", c_int), #NPC¹¦ÄÜÀàÐÍ ("BuyCnt", c_ubyte), #¹ºÂò´ÎÊý ] def __init__(self): self.Clear() self.Cmd = 0xA5 self.SubCmd = 0x52 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 = 0x52 self.FuncType = 0 self.BuyCnt = 0 return def GetLength(self): return sizeof(tagCMBuyCollectionCnt) def GetBuffer(self): return string_at(addressof(self), self.GetLength()) def OutputString(self): DumpString = '''// A5 52 ¹ºÂò¹¦ÄÜNPC²É¼¯´ÎÊý //tagCMBuyCollectionCnt: Cmd:%s, SubCmd:%s, FuncType:%d, BuyCnt:%d '''\ %( self.Cmd, self.SubCmd, self.FuncType, self.BuyCnt ) return DumpString m_NAtagCMBuyCollectionCnt=tagCMBuyCollectionCnt() ChNetPackDict[eval("0x%02x%02x"%(m_NAtagCMBuyCollectionCnt.Cmd,m_NAtagCMBuyCollectionCnt.SubCmd))] = m_NAtagCMBuyCollectionCnt #------------------------------------------------------ # A5 25 ¹ºÂòÈÕ³£»î¶¯´ÎÊý #tagCMBuyDailyActionCnt class tagCMBuyDailyActionCnt(Structure): _pack_ = 1 _fields_ = [ ("Cmd", c_ubyte), ("SubCmd", c_ubyte), ("ActionID", c_int), # ID ("AddType", c_ubyte), # 0-»¨ÏÉÓñ 1-ÓÃÎïÆ· ] def __init__(self): self.Clear() self.Cmd = 0xA5 self.SubCmd = 0x25 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 = 0x25 self.ActionID = 0 self.AddType = 0 return def GetLength(self): return sizeof(tagCMBuyDailyActionCnt) def GetBuffer(self): return string_at(addressof(self), self.GetLength()) def OutputString(self): DumpString = '''// A5 25 ¹ºÂòÈÕ³£»î¶¯´ÎÊý //tagCMBuyDailyActionCnt: Cmd:%s, SubCmd:%s, ActionID:%d, AddType:%d '''\ %( self.Cmd, self.SubCmd, self.ActionID, self.AddType ) return DumpString m_NAtagCMBuyDailyActionCnt=tagCMBuyDailyActionCnt() ChNetPackDict[eval("0x%02x%02x"%(m_NAtagCMBuyDailyActionCnt.Cmd,m_NAtagCMBuyDailyActionCnt.SubCmd))] = m_NAtagCMBuyDailyActionCnt #------------------------------------------------------ #A5 75 ¹ºÂò¸±±¾½øÈë´ÎÊý#tagCMBuyEnterCount class tagCMBuyEnterCount(Structure): _pack_ = 1 _fields_ = [ ("Cmd", c_ubyte), ("SubCmd", c_ubyte), ("FBID", c_int), # ¸±±¾ID ] def __init__(self): self.Clear() self.Cmd = 0xA5 self.SubCmd = 0x75 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 = 0x75 self.FBID = 0 return def GetLength(self): return sizeof(tagCMBuyEnterCount) def GetBuffer(self): return string_at(addressof(self), self.GetLength()) def OutputString(self): DumpString = '''//A5 75 ¹ºÂò¸±±¾½øÈë´ÎÊý//tagCMBuyEnterCount: Cmd:%s, SubCmd:%s, FBID:%d '''\ %( self.Cmd, self.SubCmd, self.FBID ) return DumpString m_NAtagCMBuyEnterCount=tagCMBuyEnterCount() ChNetPackDict[eval("0x%02x%02x"%(m_NAtagCMBuyEnterCount.Cmd,m_NAtagCMBuyEnterCount.SubCmd))] = m_NAtagCMBuyEnterCount #------------------------------------------------------ # A5 1B ¹ºÂòÌôÕ½¸±±¾¾«Á¦ #tagCMBuyFBEnergy class tagCMBuyFBEnergy(Structure): _pack_ = 1 _fields_ = [ ("Cmd", c_ubyte), ("SubCmd", c_ubyte), ] def __init__(self): self.Clear() self.Cmd = 0xA5 self.SubCmd = 0x1B 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 = 0x1B return def GetLength(self): return sizeof(tagCMBuyFBEnergy) def GetBuffer(self): return string_at(addressof(self), self.GetLength()) def OutputString(self): DumpString = '''// A5 1B ¹ºÂòÌôÕ½¸±±¾¾«Á¦ //tagCMBuyFBEnergy: Cmd:%s, SubCmd:%s '''\ %( self.Cmd, self.SubCmd ) return DumpString m_NAtagCMBuyFBEnergy=tagCMBuyFBEnergy() ChNetPackDict[eval("0x%02x%02x"%(m_NAtagCMBuyFBEnergy.Cmd,m_NAtagCMBuyFBEnergy.SubCmd))] = m_NAtagCMBuyFBEnergy #------------------------------------------------------ # A5 0A ¹ºÂò¿É»÷ɱboss´ÎÊý #tagCMBuyKillBossCnt class tagCMBuyKillBossCnt(Structure): _pack_ = 1 _fields_ = [ ("Cmd", c_ubyte), ("SubCmd", c_ubyte), ("KillBossMark", c_ushort), # BOSSΨһË÷Òý ] def __init__(self): self.Clear() self.Cmd = 0xA5 self.SubCmd = 0x0A 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 = 0x0A self.KillBossMark = 0 return def GetLength(self): return sizeof(tagCMBuyKillBossCnt) def GetBuffer(self): return string_at(addressof(self), self.GetLength()) def OutputString(self): DumpString = '''// A5 0A ¹ºÂò¿É»÷ɱboss´ÎÊý //tagCMBuyKillBossCnt: Cmd:%s, SubCmd:%s, KillBossMark:%d '''\ %( self.Cmd, self.SubCmd, self.KillBossMark ) return DumpString m_NAtagCMBuyKillBossCnt=tagCMBuyKillBossCnt() ChNetPackDict[eval("0x%02x%02x"%(m_NAtagCMBuyKillBossCnt.Cmd,m_NAtagCMBuyKillBossCnt.SubCmd))] = m_NAtagCMBuyKillBossCnt #------------------------------------------------------ # A5 46 ¹ºÂòͨÌìÁî #tagCMBuyTongTianLing class tagCMBuyTongTianLing(Structure): _pack_ = 1 _fields_ = [ ("Cmd", c_ubyte), ("SubCmd", c_ubyte), ] def __init__(self): self.Clear() self.Cmd = 0xA5 self.SubCmd = 0x46 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 = 0x46 return def GetLength(self): return sizeof(tagCMBuyTongTianLing) def GetBuffer(self): return string_at(addressof(self), self.GetLength()) def OutputString(self): DumpString = '''// A5 46 ¹ºÂòͨÌìÁî //tagCMBuyTongTianLing: Cmd:%s, SubCmd:%s '''\ %( self.Cmd, self.SubCmd ) return DumpString m_NAtagCMBuyTongTianLing=tagCMBuyTongTianLing() ChNetPackDict[eval("0x%02x%02x"%(m_NAtagCMBuyTongTianLing.Cmd,m_NAtagCMBuyTongTianLing.SubCmd))] = m_NAtagCMBuyTongTianLing #------------------------------------------------------ #A5 3B ÇëÇóÁìÈ¡²¹³¥#tagCMRequestCompensation class tagCMRequestCompensation(Structure): Head = tagHead() GUID = "" #(char GUID[40]) data = None def __init__(self): self.Clear() self.Head.Cmd = 0xA5 self.Head.SubCmd = 0x3B 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) return _pos def Clear(self): self.Head = tagHead() self.Head.Clear() self.Head.Cmd = 0xA5 self.Head.SubCmd = 0x3B self.GUID = "" return def GetLength(self): length = 0 length += self.Head.GetLength() length += 40 return length def GetBuffer(self): data = '' data = CommFunc.WriteString(data, self.Head.GetLength(), self.Head.GetBuffer()) data = CommFunc.WriteString(data, 40, self.GUID) return data def OutputString(self): DumpString = ''' Head:%s, GUID:%s '''\ %( self.Head.OutputString(), self.GUID ) return DumpString m_NAtagCMRequestCompensation=tagCMRequestCompensation() ChNetPackDict[eval("0x%02x%02x"%(m_NAtagCMRequestCompensation.Head.Cmd,m_NAtagCMRequestCompensation.Head.SubCmd))] = m_NAtagCMRequestCompensation #------------------------------------------------------ # A5 78 ·ûÓ¡ºÏ³É #tagCMRuneCompound class tagCMRuneCompound(Structure): Head = tagHead() Cnt = 0 #(BYTE Cnt) PackList = list() #(vector PackList)//ËùÔÚλÖà 0-±³°ü 1-·ûÓ¡¿× IndexList = list() #(vector IndexList)//ÎïÆ·Ë÷Òý TagItemID = 0 #(DWORD TagItemID)//ºÏ³ÉÄ¿±êÎïÆ·ID data = None def __init__(self): self.Clear() self.Head.Cmd = 0xA5 self.Head.SubCmd = 0x78 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): value,_pos=CommFunc.ReadBYTE(_lpData,_pos) self.PackList.append(value) for i in range(self.Cnt): value,_pos=CommFunc.ReadBYTE(_lpData,_pos) self.IndexList.append(value) self.TagItemID,_pos = CommFunc.ReadDWORD(_lpData, _pos) return _pos def Clear(self): self.Head = tagHead() self.Head.Clear() self.Head.Cmd = 0xA5 self.Head.SubCmd = 0x78 self.Cnt = 0 self.PackList = list() self.IndexList = list() self.TagItemID = 0 return def GetLength(self): length = 0 length += self.Head.GetLength() length += 1 length += 1 * self.Cnt length += 1 * self.Cnt length += 4 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.WriteBYTE(data, self.PackList[i]) for i in range(self.Cnt): data = CommFunc.WriteBYTE(data, self.IndexList[i]) data = CommFunc.WriteDWORD(data, self.TagItemID) return data def OutputString(self): DumpString = ''' Head:%s, Cnt:%d, PackList:%s, IndexList:%s, TagItemID:%d '''\ %( self.Head.OutputString(), self.Cnt, "...", "...", self.TagItemID ) return DumpString m_NAtagCMRuneCompound=tagCMRuneCompound() ChNetPackDict[eval("0x%02x%02x"%(m_NAtagCMRuneCompound.Head.Cmd,m_NAtagCMRuneCompound.Head.SubCmd))] = m_NAtagCMRuneCompound #------------------------------------------------------ #A5 1A Íæ¼Ò×Ô¶¯Õ½¶·ÉèÖÃÐÅÏ¢´¢´æ#tagCMSaveAutoFightSetting class tagCMSaveAutoFightSetting(Structure): Head = tagHead() Size = 0 #(DWORD Size) Data = "" #(String Data) data = None def __init__(self): self.Clear() self.Head.Cmd = 0xA5 self.Head.SubCmd = 0x1A return def ReadData(self, _lpData, _pos=0, _Len=0): self.Clear() _pos = self.Head.ReadData(_lpData, _pos) self.Size,_pos = CommFunc.ReadDWORD(_lpData, _pos) self.Data,_pos = CommFunc.ReadString(_lpData, _pos,self.Size) return _pos def Clear(self): self.Head = tagHead() self.Head.Clear() self.Head.Cmd = 0xA5 self.Head.SubCmd = 0x1A self.Size = 0 self.Data = "" return def GetLength(self): length = 0 length += self.Head.GetLength() length += 4 length += len(self.Data) return length def GetBuffer(self): data = '' data = CommFunc.WriteString(data, self.Head.GetLength(), self.Head.GetBuffer()) data = CommFunc.WriteDWORD(data, self.Size) data = CommFunc.WriteString(data, self.Size, self.Data) return data def OutputString(self): DumpString = ''' Head:%s, Size:%d, Data:%s '''\ %( self.Head.OutputString(), self.Size, self.Data ) return DumpString m_NAtagCMSaveAutoFightSetting=tagCMSaveAutoFightSetting() ChNetPackDict[eval("0x%02x%02x"%(m_NAtagCMSaveAutoFightSetting.Head.Cmd,m_NAtagCMSaveAutoFightSetting.Head.SubCmd))] = m_NAtagCMSaveAutoFightSetting #------------------------------------------------------ # A5 20 ʱװ·Ö½â #tagCMCoatDecompose class tagCMCoatDecompose(Structure): Head = tagHead() Count = 0 #(BYTE Count)//²ÄÁÏËùÔÚ±³°üË÷ÒýµÄÊýÁ¿ IndexList = list() #(vector IndexList)//²ÄÁÏËùÔÚ±³°üË÷ÒýÁбí ItemIDList = list() #(vector ItemIDList)//²ÄÁÏËùÔÚ±³°üÎïÆ·IDÁбí data = None def __init__(self): self.Clear() self.Head.Cmd = 0xA5 self.Head.SubCmd = 0x20 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): value,_pos=CommFunc.ReadWORD(_lpData,_pos) self.IndexList.append(value) for i in range(self.Count): value,_pos=CommFunc.ReadDWORD(_lpData,_pos) self.ItemIDList.append(value) return _pos def Clear(self): self.Head = tagHead() self.Head.Clear() self.Head.Cmd = 0xA5 self.Head.SubCmd = 0x20 self.Count = 0 self.IndexList = list() self.ItemIDList = list() return def GetLength(self): length = 0 length += self.Head.GetLength() length += 1 length += 2 * self.Count length += 4 * self.Count 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.WriteWORD(data, self.IndexList[i]) for i in range(self.Count): data = CommFunc.WriteDWORD(data, self.ItemIDList[i]) return data def OutputString(self): DumpString = ''' Head:%s, Count:%d, IndexList:%s, ItemIDList:%s '''\ %( self.Head.OutputString(), self.Count, "...", "..." ) return DumpString m_NAtagCMCoatDecompose=tagCMCoatDecompose() ChNetPackDict[eval("0x%02x%02x"%(m_NAtagCMCoatDecompose.Head.Cmd,m_NAtagCMCoatDecompose.Head.SubCmd))] = m_NAtagCMCoatDecompose #------------------------------------------------------ # A5 0B Íæ¼ÒʱװÉý¼¶ #tagCMCoatUp class tagCMCoatUp(Structure): _pack_ = 1 _fields_ = [ ("Cmd", c_ubyte), ("SubCmd", c_ubyte), ("CoatIndex", c_int), # ʱװË÷Òý ] def __init__(self): self.Clear() self.Cmd = 0xA5 self.SubCmd = 0x0B 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 = 0x0B self.CoatIndex = 0 return def GetLength(self): return sizeof(tagCMCoatUp) def GetBuffer(self): return string_at(addressof(self), self.GetLength()) def OutputString(self): DumpString = '''// A5 0B Íæ¼ÒʱװÉý¼¶ //tagCMCoatUp: Cmd:%s, SubCmd:%s, CoatIndex:%d '''\ %( self.Cmd, self.SubCmd, self.CoatIndex ) return DumpString m_NAtagCMCoatUp=tagCMCoatUp() ChNetPackDict[eval("0x%02x%02x"%(m_NAtagCMCoatUp.Cmd,m_NAtagCMCoatUp.SubCmd))] = m_NAtagCMCoatUp #------------------------------------------------------ # A5 28 ³£¹æ¸±±¾É¨µ´ #tagCMCommFBWipeOut class tagCMCommFBWipeOut(Structure): _pack_ = 1 _fields_ = [ ("Cmd", c_ubyte), ("SubCmd", c_ubyte), ("FBID", c_int), #fbId ("IsUseGold", c_ubyte), #ÊÇ·ñʹÓÃÔª±¦Ò»¼üɨµ´ËùÓи±±¾ ] def __init__(self): self.Clear() self.Cmd = 0xA5 self.SubCmd = 0x28 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 = 0x28 self.FBID = 0 self.IsUseGold = 0 return def GetLength(self): return sizeof(tagCMCommFBWipeOut) def GetBuffer(self): return string_at(addressof(self), self.GetLength()) def OutputString(self): DumpString = '''// A5 28 ³£¹æ¸±±¾É¨µ´ //tagCMCommFBWipeOut: Cmd:%s, SubCmd:%s, FBID:%d, IsUseGold:%d '''\ %( self.Cmd, self.SubCmd, self.FBID, self.IsUseGold ) return DumpString m_NAtagCMCommFBWipeOut=tagCMCommFBWipeOut() ChNetPackDict[eval("0x%02x%02x"%(m_NAtagCMCommFBWipeOut.Cmd,m_NAtagCMCommFBWipeOut.SubCmd))] = m_NAtagCMCommFBWipeOut #------------------------------------------------------ #A5 09 Íæ¼ÒÇ©µ½ #tagCMDaySign class tagCMDaySign(Structure): _pack_ = 1 _fields_ = [ ("Cmd", c_ubyte), ("SubCmd", c_ubyte), ("Day", c_ubyte), #ĬÈÏ0±íʾµ±ÈÕÇ©µ½£¬¿ÉÀ©Õ¹×ö²¹Ç©Óà ] def __init__(self): self.Clear() self.Cmd = 0xA5 self.SubCmd = 0x09 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 = 0x09 self.Day = 0 return def GetLength(self): return sizeof(tagCMDaySign) def GetBuffer(self): return string_at(addressof(self), self.GetLength()) def OutputString(self): DumpString = '''//A5 09 Íæ¼ÒÇ©µ½ //tagCMDaySign: Cmd:%s, SubCmd:%s, Day:%d '''\ %( self.Cmd, self.SubCmd, self.Day ) return DumpString m_NAtagCMDaySign=tagCMDaySign() ChNetPackDict[eval("0x%02x%02x"%(m_NAtagCMDaySign.Cmd,m_NAtagCMDaySign.SubCmd))] = m_NAtagCMDaySign #------------------------------------------------------ #A5 08 ¸±±¾ÐÐΪ #tagCMDoFBAction class tagCMDoFBAction(Structure): _pack_ = 1 _fields_ = [ ("Cmd", c_ubyte), ("SubCmd", c_ubyte), ("ActionType", c_ubyte), #ÐÐΪÀàÐÍ ("ActionInfo", c_int), #ÐÐΪÐÅÏ¢ ] def __init__(self): self.Clear() self.Cmd = 0xA5 self.SubCmd = 0x08 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 = 0x08 self.ActionType = 0 self.ActionInfo = 0 return def GetLength(self): return sizeof(tagCMDoFBAction) def GetBuffer(self): return string_at(addressof(self), self.GetLength()) def OutputString(self): DumpString = '''//A5 08 ¸±±¾ÐÐΪ //tagCMDoFBAction: Cmd:%s, SubCmd:%s, ActionType:%d, ActionInfo:%d '''\ %( self.Cmd, self.SubCmd, self.ActionType, self.ActionInfo ) return DumpString m_NAtagCMDoFBAction=tagCMDoFBAction() ChNetPackDict[eval("0x%02x%02x"%(m_NAtagCMDoFBAction.Cmd,m_NAtagCMDoFBAction.SubCmd))] = m_NAtagCMDoFBAction #------------------------------------------------------ # A5 C2 ÉñÊÞ±ä¸üÖúս״̬ #tagCMDogzBattleStateChange class tagCMDogzBattleStateChange(Structure): _pack_ = 1 _fields_ = [ ("Cmd", c_ubyte), ("SubCmd", c_ubyte), ("DogzID", c_ubyte), # ÉñÊÞID ("BatteState", c_ubyte), #Öúս״̬£¬0-Õٻأ¬1-ÖúÕ½ ] def __init__(self): self.Clear() self.Cmd = 0xA5 self.SubCmd = 0xC2 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 = 0xC2 self.DogzID = 0 self.BatteState = 0 return def GetLength(self): return sizeof(tagCMDogzBattleStateChange) def GetBuffer(self): return string_at(addressof(self), self.GetLength()) def OutputString(self): DumpString = '''// A5 C2 ÉñÊÞ±ä¸üÖúս״̬ //tagCMDogzBattleStateChange: Cmd:%s, SubCmd:%s, DogzID:%d, BatteState:%d '''\ %( self.Cmd, self.SubCmd, self.DogzID, self.BatteState ) return DumpString m_NAtagCMDogzBattleStateChange=tagCMDogzBattleStateChange() ChNetPackDict[eval("0x%02x%02x"%(m_NAtagCMDogzBattleStateChange.Cmd,m_NAtagCMDogzBattleStateChange.SubCmd))] = m_NAtagCMDogzBattleStateChange #------------------------------------------------------ # A5 C3 ÉñÊÞ¹ºÂòÖúսλ #tagCMDogzBuyBatteCount class tagCMDogzBuyBatteCount(Structure): _pack_ = 1 _fields_ = [ ("Cmd", c_ubyte), ("SubCmd", c_ubyte), ] def __init__(self): self.Clear() self.Cmd = 0xA5 self.SubCmd = 0xC3 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 = 0xC3 return def GetLength(self): return sizeof(tagCMDogzBuyBatteCount) def GetBuffer(self): return string_at(addressof(self), self.GetLength()) def OutputString(self): DumpString = '''// A5 C3 ÉñÊÞ¹ºÂòÖúսλ //tagCMDogzBuyBatteCount: Cmd:%s, SubCmd:%s '''\ %( self.Cmd, self.SubCmd ) return DumpString m_NAtagCMDogzBuyBatteCount=tagCMDogzBuyBatteCount() ChNetPackDict[eval("0x%02x%02x"%(m_NAtagCMDogzBuyBatteCount.Cmd,m_NAtagCMDogzBuyBatteCount.SubCmd))] = m_NAtagCMDogzBuyBatteCount #------------------------------------------------------ # A5 C0 ÉñÊÞ´©´÷×°±¸ #tagCMDogzEquipItem class tagCMDogzEquipItem(Structure): Head = tagHead() DogzID = 0 #(BYTE DogzID)// ÉñÊÞID EquipIndexCount = 0 #(BYTE EquipIndexCount) EquipIndexList = list() #(vector EquipIndexList)//ÉñÊÞ×°±¸ËùÔÚÉñÊÞ±³°üË÷ÒýÁбí data = None def __init__(self): self.Clear() self.Head.Cmd = 0xA5 self.Head.SubCmd = 0xC0 return def ReadData(self, _lpData, _pos=0, _Len=0): self.Clear() _pos = self.Head.ReadData(_lpData, _pos) self.DogzID,_pos = CommFunc.ReadBYTE(_lpData, _pos) self.EquipIndexCount,_pos = CommFunc.ReadBYTE(_lpData, _pos) for i in range(self.EquipIndexCount): value,_pos=CommFunc.ReadBYTE(_lpData,_pos) self.EquipIndexList.append(value) return _pos def Clear(self): self.Head = tagHead() self.Head.Clear() self.Head.Cmd = 0xA5 self.Head.SubCmd = 0xC0 self.DogzID = 0 self.EquipIndexCount = 0 self.EquipIndexList = list() return def GetLength(self): length = 0 length += self.Head.GetLength() length += 1 length += 1 length += 1 * self.EquipIndexCount return length def GetBuffer(self): data = '' data = CommFunc.WriteString(data, self.Head.GetLength(), self.Head.GetBuffer()) data = CommFunc.WriteBYTE(data, self.DogzID) data = CommFunc.WriteBYTE(data, self.EquipIndexCount) for i in range(self.EquipIndexCount): data = CommFunc.WriteBYTE(data, self.EquipIndexList[i]) return data def OutputString(self): DumpString = ''' Head:%s, DogzID:%d, EquipIndexCount:%d, EquipIndexList:%s '''\ %( self.Head.OutputString(), self.DogzID, self.EquipIndexCount, "..." ) return DumpString m_NAtagCMDogzEquipItem=tagCMDogzEquipItem() ChNetPackDict[eval("0x%02x%02x"%(m_NAtagCMDogzEquipItem.Head.Cmd,m_NAtagCMDogzEquipItem.Head.SubCmd))] = m_NAtagCMDogzEquipItem #------------------------------------------------------ # A5 C4 ÉñÊÞ×°±¸Ç¿»¯ #tagCMDogzEquipPlus class tagCMDogzEquipPlus(Structure): Head = tagHead() EquipIndex = 0 #(BYTE EquipIndex)//ÉñÊÞ×°±¸±³°üÖÐË÷Òý IndexCount = 0 #(BYTE IndexCount)//²ÄÁÏËùÔÚÉñÊÞÎïÆ·±³°üË÷ÒýµÄÊýÁ¿ IndexList = list() #(vector IndexList)//²ÄÁÏËùÔÚÉñÊÞÎïÆ·±³°üË÷ÒýÁбí IndexUseCountList = list() #(vector IndexUseCountList)//²ÄÁÏËùÔÚÉñÊÞÎïÆ·±³°üË÷Òý¶ÔӦʹÓøöÊýÁбí IsDouble = 0 #(BYTE IsDouble)//ÊÇ·ñË«±¶Ç¿»¯ data = None def __init__(self): self.Clear() self.Head.Cmd = 0xA5 self.Head.SubCmd = 0xC4 return def ReadData(self, _lpData, _pos=0, _Len=0): self.Clear() _pos = self.Head.ReadData(_lpData, _pos) self.EquipIndex,_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) for i in range(self.IndexCount): value,_pos=CommFunc.ReadDWORD(_lpData,_pos) self.IndexUseCountList.append(value) self.IsDouble,_pos = CommFunc.ReadBYTE(_lpData, _pos) return _pos def Clear(self): self.Head = tagHead() self.Head.Clear() self.Head.Cmd = 0xA5 self.Head.SubCmd = 0xC4 self.EquipIndex = 0 self.IndexCount = 0 self.IndexList = list() self.IndexUseCountList = list() self.IsDouble = 0 return def GetLength(self): length = 0 length += self.Head.GetLength() length += 1 length += 1 length += 1 * self.IndexCount length += 4 * self.IndexCount length += 1 return length def GetBuffer(self): data = '' data = CommFunc.WriteString(data, self.Head.GetLength(), self.Head.GetBuffer()) data = CommFunc.WriteBYTE(data, self.EquipIndex) data = CommFunc.WriteBYTE(data, self.IndexCount) for i in range(self.IndexCount): data = CommFunc.WriteBYTE(data, self.IndexList[i]) for i in range(self.IndexCount): data = CommFunc.WriteDWORD(data, self.IndexUseCountList[i]) data = CommFunc.WriteBYTE(data, self.IsDouble) return data def OutputString(self): DumpString = ''' Head:%s, EquipIndex:%d, IndexCount:%d, IndexList:%s, IndexUseCountList:%s, IsDouble:%d '''\ %( self.Head.OutputString(), self.EquipIndex, self.IndexCount, "...", "...", self.IsDouble ) return DumpString m_NAtagCMDogzEquipPlus=tagCMDogzEquipPlus() ChNetPackDict[eval("0x%02x%02x"%(m_NAtagCMDogzEquipPlus.Head.Cmd,m_NAtagCMDogzEquipPlus.Head.SubCmd))] = m_NAtagCMDogzEquipPlus #------------------------------------------------------ # A5 C1 ÉñÊÞжÏÂ×°±¸ #tagCMDogzUnEquipItem class tagCMDogzUnEquipItem(Structure): _pack_ = 1 _fields_ = [ ("Cmd", c_ubyte), ("SubCmd", c_ubyte), ("DogzID", c_ubyte), # ÉñÊÞID ("EquipPlace", c_ubyte), #жϵÄ×°±¸Î», 0´ú±íжÏÂÈ«²¿ ] def __init__(self): self.Clear() self.Cmd = 0xA5 self.SubCmd = 0xC1 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 = 0xC1 self.DogzID = 0 self.EquipPlace = 0 return def GetLength(self): return sizeof(tagCMDogzUnEquipItem) def GetBuffer(self): return string_at(addressof(self), self.GetLength()) def OutputString(self): DumpString = '''// A5 C1 ÉñÊÞжÏÂ×°±¸ //tagCMDogzUnEquipItem: Cmd:%s, SubCmd:%s, DogzID:%d, EquipPlace:%d '''\ %( self.Cmd, self.SubCmd, self.DogzID, self.EquipPlace ) return DumpString m_NAtagCMDogzUnEquipItem=tagCMDogzUnEquipItem() ChNetPackDict[eval("0x%02x%02x"%(m_NAtagCMDogzUnEquipItem.Cmd,m_NAtagCMDogzUnEquipItem.SubCmd))] = m_NAtagCMDogzUnEquipItem #------------------------------------------------------ # A5 C5 ×°±¸²¿Î»ÉýÐÇ #tagCMEquipPartStarUp class tagCMEquipPartStarUp(Structure): Head = tagHead() EquipPackIndex = 0 #(WORD EquipPackIndex)// ²¿Î»¸ñ×ÓË÷Òý CostEquipCnt = 0 #(BYTE CostEquipCnt)// ×°±¸¸öÊý CostEquipIndex = list() #(vector CostEquipIndex)// ×°±¸Ë÷Òý CostEquipID = list() #(vector CostEquipID)// ×°±¸ÎïÆ·ID AutoBuy = 0 #(BYTE AutoBuy)// ×Ô¶¯¹ºÂò 0-²»×Ô¶¯¹ºÂò£¬1-×Ô¶¯¹ºÂò²¢ÉýÐÇ£¬2-×Ô¶¯¹ºÂòÔ¤ÀÀ(δÂú¸ÅÂÊʱԤÀÀÏûºÄʱʹÓÃ) data = None def __init__(self): self.Clear() self.Head.Cmd = 0xA5 self.Head.SubCmd = 0xC5 return def ReadData(self, _lpData, _pos=0, _Len=0): self.Clear() _pos = self.Head.ReadData(_lpData, _pos) self.EquipPackIndex,_pos = CommFunc.ReadWORD(_lpData, _pos) self.CostEquipCnt,_pos = CommFunc.ReadBYTE(_lpData, _pos) for i in range(self.CostEquipCnt): value,_pos=CommFunc.ReadWORD(_lpData,_pos) self.CostEquipIndex.append(value) for i in range(self.CostEquipCnt): value,_pos=CommFunc.ReadDWORD(_lpData,_pos) self.CostEquipID.append(value) self.AutoBuy,_pos = CommFunc.ReadBYTE(_lpData, _pos) return _pos def Clear(self): self.Head = tagHead() self.Head.Clear() self.Head.Cmd = 0xA5 self.Head.SubCmd = 0xC5 self.EquipPackIndex = 0 self.CostEquipCnt = 0 self.CostEquipIndex = list() self.CostEquipID = list() self.AutoBuy = 0 return def GetLength(self): length = 0 length += self.Head.GetLength() length += 2 length += 1 length += 2 * self.CostEquipCnt length += 4 * self.CostEquipCnt length += 1 return length def GetBuffer(self): data = '' data = CommFunc.WriteString(data, self.Head.GetLength(), self.Head.GetBuffer()) data = CommFunc.WriteWORD(data, self.EquipPackIndex) data = CommFunc.WriteBYTE(data, self.CostEquipCnt) for i in range(self.CostEquipCnt): data = CommFunc.WriteWORD(data, self.CostEquipIndex[i]) for i in range(self.CostEquipCnt): data = CommFunc.WriteDWORD(data, self.CostEquipID[i]) data = CommFunc.WriteBYTE(data, self.AutoBuy) return data def OutputString(self): DumpString = ''' Head:%s, EquipPackIndex:%d, CostEquipCnt:%d, CostEquipIndex:%s, CostEquipID:%s, AutoBuy:%d '''\ %( self.Head.OutputString(), self.EquipPackIndex, self.CostEquipCnt, "...", "...", self.AutoBuy ) return DumpString m_NAtagCMEquipPartStarUp=tagCMEquipPartStarUp() ChNetPackDict[eval("0x%02x%02x"%(m_NAtagCMEquipPartStarUp.Head.Cmd,m_NAtagCMEquipPartStarUp.Head.SubCmd))] = m_NAtagCMEquipPartStarUp #------------------------------------------------------ # A5 C6 ×°±¸²¿Î»ÐǼ¶Ì××°¼¤»î #tagCMEquipPartSuiteActivate class tagCMEquipPartSuiteActivate(Structure): _pack_ = 1 _fields_ = [ ("Cmd", c_ubyte), ("SubCmd", c_ubyte), ("ClassLV", c_ubyte), # ËùÊô×°±¸½× ("SuiteID", c_ushort), # Ì××°ID ("SuiteCount", c_ubyte), # ¼þÊý ("Star", c_ubyte), # ÐÇÊý ] def __init__(self): self.Clear() self.Cmd = 0xA5 self.SubCmd = 0xC6 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 = 0xC6 self.ClassLV = 0 self.SuiteID = 0 self.SuiteCount = 0 self.Star = 0 return def GetLength(self): return sizeof(tagCMEquipPartSuiteActivate) def GetBuffer(self): return string_at(addressof(self), self.GetLength()) def OutputString(self): DumpString = '''// A5 C6 ×°±¸²¿Î»ÐǼ¶Ì××°¼¤»î //tagCMEquipPartSuiteActivate: Cmd:%s, SubCmd:%s, ClassLV:%d, SuiteID:%d, SuiteCount:%d, Star:%d '''\ %( self.Cmd, self.SubCmd, self.ClassLV, self.SuiteID, self.SuiteCount, self.Star ) return DumpString m_NAtagCMEquipPartSuiteActivate=tagCMEquipPartSuiteActivate() ChNetPackDict[eval("0x%02x%02x"%(m_NAtagCMEquipPartSuiteActivate.Cmd,m_NAtagCMEquipPartSuiteActivate.SubCmd))] = m_NAtagCMEquipPartSuiteActivate #------------------------------------------------------ # A5 48 ¶Ò»»´óʦµÈ¼¶¾­Ñé #tagCMExchangeMasterEXP class tagCMExchangeMasterEXP(Structure): _pack_ = 1 _fields_ = [ ("Cmd", c_ubyte), ("SubCmd", c_ubyte), ("Multiples", c_ubyte), # 20ÒÚ¾­Ñé±¶Êý ("ExtraExp", c_int), # ¶îÍ⸽¼Ó¾­Ñé(²»³¬¹ý20ÒÚ) ] def __init__(self): self.Clear() self.Cmd = 0xA5 self.SubCmd = 0x48 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 = 0x48 self.Multiples = 0 self.ExtraExp = 0 return def GetLength(self): return sizeof(tagCMExchangeMasterEXP) def GetBuffer(self): return string_at(addressof(self), self.GetLength()) def OutputString(self): DumpString = '''// A5 48 ¶Ò»»´óʦµÈ¼¶¾­Ñé //tagCMExchangeMasterEXP: Cmd:%s, SubCmd:%s, Multiples:%d, ExtraExp:%d '''\ %( self.Cmd, self.SubCmd, self.Multiples, self.ExtraExp ) return DumpString m_NAtagCMExchangeMasterEXP=tagCMExchangeMasterEXP() ChNetPackDict[eval("0x%02x%02x"%(m_NAtagCMExchangeMasterEXP.Cmd,m_NAtagCMExchangeMasterEXP.SubCmd))] = m_NAtagCMExchangeMasterEXP #------------------------------------------------------ # A5 45 ¶Ò»»Í¨ÌìÁîµÈ¼¶¾­Ñé»ý·Öµã #tagCMExchangeTongTianLVPoint class tagCMExchangeTongTianLVPoint(Structure): _pack_ = 1 _fields_ = [ ("Cmd", c_ubyte), ("SubCmd", c_ubyte), ("ExchangePoint", c_int), # ¶Ò»»µãÊý ] def __init__(self): self.Clear() self.Cmd = 0xA5 self.SubCmd = 0x45 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 = 0x45 self.ExchangePoint = 0 return def GetLength(self): return sizeof(tagCMExchangeTongTianLVPoint) def GetBuffer(self): return string_at(addressof(self), self.GetLength()) def OutputString(self): DumpString = '''// A5 45 ¶Ò»»Í¨ÌìÁîµÈ¼¶¾­Ñé»ý·Öµã //tagCMExchangeTongTianLVPoint: Cmd:%s, SubCmd:%s, ExchangePoint:%d '''\ %( self.Cmd, self.SubCmd, self.ExchangePoint ) return DumpString m_NAtagCMExchangeTongTianLVPoint=tagCMExchangeTongTianLVPoint() ChNetPackDict[eval("0x%02x%02x"%(m_NAtagCMExchangeTongTianLVPoint.Cmd,m_NAtagCMExchangeTongTianLVPoint.SubCmd))] = m_NAtagCMExchangeTongTianLVPoint #------------------------------------------------------ # A5 32 ·¨Æ÷Éý¼¶ #tagCMFaQiLVUp class tagCMFaQiLVUp(Structure): _pack_ = 1 _fields_ = [ ("Cmd", c_ubyte), ("SubCmd", c_ubyte), ("UseItemCnt", c_ushort), #ÏûºÄ²ÄÁϸöÊý ("IsAutoBuy", c_ubyte), #ÊÇ·ñ×Ô¶¯¹ºÂò ] def __init__(self): self.Clear() self.Cmd = 0xA5 self.SubCmd = 0x32 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 = 0x32 self.UseItemCnt = 0 self.IsAutoBuy = 0 return def GetLength(self): return sizeof(tagCMFaQiLVUp) def GetBuffer(self): return string_at(addressof(self), self.GetLength()) def OutputString(self): DumpString = '''// A5 32 ·¨Æ÷Éý¼¶ //tagCMFaQiLVUp: Cmd:%s, SubCmd:%s, UseItemCnt:%d, IsAutoBuy:%d '''\ %( self.Cmd, self.SubCmd, self.UseItemCnt, self.IsAutoBuy ) return DumpString m_NAtagCMFaQiLVUp=tagCMFaQiLVUp() ChNetPackDict[eval("0x%02x%02x"%(m_NAtagCMFaQiLVUp.Cmd,m_NAtagCMFaQiLVUp.SubCmd))] = m_NAtagCMFaQiLVUp #------------------------------------------------------ # A5 1C ¾Û»êºÏ³É #tagCMGatherSoulCompound class tagCMGatherSoulCompound(Structure): Head = tagHead() Cnt = 0 #(BYTE Cnt) PackList = list() #(vector PackList)//ËùÔÚλÖà 0-±³°ü 1-¿× IndexList = list() #(vector IndexList)//ÎïÆ·Ë÷Òý TagItemID = 0 #(DWORD TagItemID)//ºÏ³ÉÄ¿±êÎïÆ·ID data = None def __init__(self): self.Clear() self.Head.Cmd = 0xA5 self.Head.SubCmd = 0x1C 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): value,_pos=CommFunc.ReadBYTE(_lpData,_pos) self.PackList.append(value) for i in range(self.Cnt): value,_pos=CommFunc.ReadWORD(_lpData,_pos) self.IndexList.append(value) self.TagItemID,_pos = CommFunc.ReadDWORD(_lpData, _pos) return _pos def Clear(self): self.Head = tagHead() self.Head.Clear() self.Head.Cmd = 0xA5 self.Head.SubCmd = 0x1C self.Cnt = 0 self.PackList = list() self.IndexList = list() self.TagItemID = 0 return def GetLength(self): length = 0 length += self.Head.GetLength() length += 1 length += 1 * self.Cnt length += 2 * self.Cnt length += 4 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.WriteBYTE(data, self.PackList[i]) for i in range(self.Cnt): data = CommFunc.WriteWORD(data, self.IndexList[i]) data = CommFunc.WriteDWORD(data, self.TagItemID) return data def OutputString(self): DumpString = ''' Head:%s, Cnt:%d, PackList:%s, IndexList:%s, TagItemID:%d '''\ %( self.Head.OutputString(), self.Cnt, "...", "...", self.TagItemID ) return DumpString m_NAtagCMGatherSoulCompound=tagCMGatherSoulCompound() ChNetPackDict[eval("0x%02x%02x"%(m_NAtagCMGatherSoulCompound.Head.Cmd,m_NAtagCMGatherSoulCompound.Head.SubCmd))] = m_NAtagCMGatherSoulCompound #------------------------------------------------------ # A5 19 ¾Û»ê·Ö½â #tagCMGatherSoulDecompose class tagCMGatherSoulDecompose(Structure): Head = tagHead() IsAuto = 0 #(BYTE IsAuto)// ÊÇ·ñ×Ô¶¯·Ö½â Count = 0 #(BYTE Count)// Ö¸¶¨ÅúÁ¿·Ö½âÊý£¬×î´ó²»³¬¹ý50¸ö PlaceIndexList = list() #(vector PlaceIndexList)// ÅúÁ¿·Ö½âλÖÃË÷ÒýÁбí data = None def __init__(self): self.Clear() self.Head.Cmd = 0xA5 self.Head.SubCmd = 0x19 return def ReadData(self, _lpData, _pos=0, _Len=0): self.Clear() _pos = self.Head.ReadData(_lpData, _pos) self.IsAuto,_pos = CommFunc.ReadBYTE(_lpData, _pos) self.Count,_pos = CommFunc.ReadBYTE(_lpData, _pos) for i in range(self.Count): value,_pos=CommFunc.ReadWORD(_lpData,_pos) self.PlaceIndexList.append(value) return _pos def Clear(self): self.Head = tagHead() self.Head.Clear() self.Head.Cmd = 0xA5 self.Head.SubCmd = 0x19 self.IsAuto = 0 self.Count = 0 self.PlaceIndexList = list() return def GetLength(self): length = 0 length += self.Head.GetLength() length += 1 length += 1 length += 2 * self.Count return length def GetBuffer(self): data = '' data = CommFunc.WriteString(data, self.Head.GetLength(), self.Head.GetBuffer()) data = CommFunc.WriteBYTE(data, self.IsAuto) data = CommFunc.WriteBYTE(data, self.Count) for i in range(self.Count): data = CommFunc.WriteWORD(data, self.PlaceIndexList[i]) return data def OutputString(self): DumpString = ''' Head:%s, IsAuto:%d, Count:%d, PlaceIndexList:%s '''\ %( self.Head.OutputString(), self.IsAuto, self.Count, "..." ) return DumpString m_NAtagCMGatherSoulDecompose=tagCMGatherSoulDecompose() ChNetPackDict[eval("0x%02x%02x"%(m_NAtagCMGatherSoulDecompose.Head.Cmd,m_NAtagCMGatherSoulDecompose.Head.SubCmd))] = m_NAtagCMGatherSoulDecompose #------------------------------------------------------ # A5 18 ¾Û»êÉý¼¶ #tagCMGatherSoulUp class tagCMGatherSoulUp(Structure): _pack_ = 1 _fields_ = [ ("Cmd", c_ubyte), ("SubCmd", c_ubyte), ("PlaceType", c_ubyte), # λÖÃÀàÐÍ£»0-±³°ü£¬1-¿× ("PlaceIndex", c_ushort), # λÖÃË÷Òý ] def __init__(self): self.Clear() self.Cmd = 0xA5 self.SubCmd = 0x18 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 = 0x18 self.PlaceType = 0 self.PlaceIndex = 0 return def GetLength(self): return sizeof(tagCMGatherSoulUp) def GetBuffer(self): return string_at(addressof(self), self.GetLength()) def OutputString(self): DumpString = '''// A5 18 ¾Û»êÉý¼¶ //tagCMGatherSoulUp: Cmd:%s, SubCmd:%s, PlaceType:%d, PlaceIndex:%d '''\ %( self.Cmd, self.SubCmd, self.PlaceType, self.PlaceIndex ) return DumpString m_NAtagCMGatherSoulUp=tagCMGatherSoulUp() ChNetPackDict[eval("0x%02x%02x"%(m_NAtagCMGatherSoulUp.Cmd,m_NAtagCMGatherSoulUp.SubCmd))] = m_NAtagCMGatherSoulUp #------------------------------------------------------ # A5 41 ÁìȡͶ×ÊÀí²Æ»Ø±¨ #tagCMGetInvestReward class tagCMGetInvestReward(Structure): _pack_ = 1 _fields_ = [ ("Cmd", c_ubyte), ("SubCmd", c_ubyte), ("InvestType", c_ubyte), # Ͷ×ÊÀàÐÍ ("RewardIndex", c_ubyte), # »Ø±¨Ë÷Òý ] def __init__(self): self.Clear() self.Cmd = 0xA5 self.SubCmd = 0x41 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 = 0x41 self.InvestType = 0 self.RewardIndex = 0 return def GetLength(self): return sizeof(tagCMGetInvestReward) def GetBuffer(self): return string_at(addressof(self), self.GetLength()) def OutputString(self): DumpString = '''// A5 41 ÁìȡͶ×ÊÀí²Æ»Ø±¨ //tagCMGetInvestReward: Cmd:%s, SubCmd:%s, InvestType:%d, RewardIndex:%d '''\ %( self.Cmd, self.SubCmd, self.InvestType, self.RewardIndex ) return DumpString m_NAtagCMGetInvestReward=tagCMGetInvestReward() ChNetPackDict[eval("0x%02x%02x"%(m_NAtagCMGetInvestReward.Cmd,m_NAtagCMGetInvestReward.SubCmd))] = m_NAtagCMGetInvestReward #------------------------------------------------------ #A5 06 Íæ¼ÒÁìÈ¡ÔÚÏß½±Àø #tagCMGetOnlinePrize class tagCMGetOnlinePrize(Structure): _pack_ = 1 _fields_ = [ ("Cmd", c_ubyte), ("SubCmd", c_ubyte), ("Index", c_ubyte), # ½±ÀøË÷Òý,ÆäËû°´Ë³Ðò ("IsDaily", c_ubyte), # ÊÇ·ñÁìȡÿÈÕÈÕ³£µÄ½±Àø£¬ÊÇ·¢1£¬Èç¹ûÁìÈ¡¶¨ÖÆ´´½ÇÌì½±ÀøµÄÔòĬÈÏ·¢0¼´¿É ] def __init__(self): self.Clear() self.Cmd = 0xA5 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 = 0xA5 self.SubCmd = 0x06 self.Index = 0 self.IsDaily = 0 return def GetLength(self): return sizeof(tagCMGetOnlinePrize) def GetBuffer(self): return string_at(addressof(self), self.GetLength()) def OutputString(self): DumpString = '''//A5 06 Íæ¼ÒÁìÈ¡ÔÚÏß½±Àø //tagCMGetOnlinePrize: Cmd:%s, SubCmd:%s, Index:%d, IsDaily:%d '''\ %( self.Cmd, self.SubCmd, self.Index, self.IsDaily ) return DumpString m_NAtagCMGetOnlinePrize=tagCMGetOnlinePrize() ChNetPackDict[eval("0x%02x%02x"%(m_NAtagCMGetOnlinePrize.Cmd,m_NAtagCMGetOnlinePrize.SubCmd))] = m_NAtagCMGetOnlinePrize #------------------------------------------------------ # A5 42 ÁìÈ¡³É¾Í½±Àø #tagMCGetSuccessAward class tagMCGetSuccessAward(Structure): _pack_ = 1 _fields_ = [ ("Cmd", c_ubyte), ("SubCmd", c_ubyte), ("SuccID", c_int), #³É¾ÍID ("IsPassport", c_ubyte), #ÊÇ·ñͨÐÐÖ¤½±Àø ] def __init__(self): self.Clear() self.Cmd = 0xA5 self.SubCmd = 0x42 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 = 0x42 self.SuccID = 0 self.IsPassport = 0 return def GetLength(self): return sizeof(tagMCGetSuccessAward) def GetBuffer(self): return string_at(addressof(self), self.GetLength()) def OutputString(self): DumpString = '''// A5 42 ÁìÈ¡³É¾Í½±Àø //tagMCGetSuccessAward: Cmd:%s, SubCmd:%s, SuccID:%d, IsPassport:%d '''\ %( self.Cmd, self.SubCmd, self.SuccID, self.IsPassport ) return DumpString m_NAtagMCGetSuccessAward=tagMCGetSuccessAward() ChNetPackDict[eval("0x%02x%02x"%(m_NAtagMCGetSuccessAward.Cmd,m_NAtagMCGetSuccessAward.SubCmd))] = m_NAtagMCGetSuccessAward #------------------------------------------------------ # A5 44 ͨÌìÁîÁìÈ¡µÈ¼¶½±Àø #tagCMGetTongTianLVAward class tagCMGetTongTianLVAward(Structure): _pack_ = 1 _fields_ = [ ("Cmd", c_ubyte), ("SubCmd", c_ubyte), ("TTLV", c_ubyte), # ÁìÈ¡¶ÔÓ¦µÈ¼¶½±Àø£¬·¢255Ϊһ¼üÁìÈ¡ËùÓеȼ¶½±Àø£¬°üº¬ÏÉÆ·½±Àø ("IsXian", c_ubyte), # ÊÇ·ñÁìÈ¡ÏÉÆ·½±Àø£¬½öÖ¸¶¨µÈ¼¶½±ÀøÓÐЧ ] def __init__(self): self.Clear() self.Cmd = 0xA5 self.SubCmd = 0x44 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 = 0x44 self.TTLV = 0 self.IsXian = 0 return def GetLength(self): return sizeof(tagCMGetTongTianLVAward) def GetBuffer(self): return string_at(addressof(self), self.GetLength()) def OutputString(self): DumpString = '''// A5 44 ͨÌìÁîÁìÈ¡µÈ¼¶½±Àø //tagCMGetTongTianLVAward: Cmd:%s, SubCmd:%s, TTLV:%d, IsXian:%d '''\ %( self.Cmd, self.SubCmd, self.TTLV, self.IsXian ) return DumpString m_NAtagCMGetTongTianLVAward=tagCMGetTongTianLVAward() ChNetPackDict[eval("0x%02x%02x"%(m_NAtagCMGetTongTianLVAward.Cmd,m_NAtagCMGetTongTianLVAward.SubCmd))] = m_NAtagCMGetTongTianLVAward #------------------------------------------------------ # A5 43 ͨÌìÁîÁìÈ¡ÈÎÎñ½±Àø #tagCMGetTongTianTaskAward class tagCMGetTongTianTaskAward(Structure): _pack_ = 1 _fields_ = [ ("Cmd", c_ubyte), ("SubCmd", c_ubyte), ("TaskID", c_ubyte), # ÈÎÎñID ] def __init__(self): self.Clear() self.Cmd = 0xA5 self.SubCmd = 0x43 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 = 0x43 self.TaskID = 0 return def GetLength(self): return sizeof(tagCMGetTongTianTaskAward) def GetBuffer(self): return string_at(addressof(self), self.GetLength()) def OutputString(self): DumpString = '''// A5 43 ͨÌìÁîÁìÈ¡ÈÎÎñ½±Àø //tagCMGetTongTianTaskAward: Cmd:%s, SubCmd:%s, TaskID:%d '''\ %( self.Cmd, self.SubCmd, self.TaskID ) return DumpString m_NAtagCMGetTongTianTaskAward=tagCMGetTongTianTaskAward() ChNetPackDict[eval("0x%02x%02x"%(m_NAtagCMGetTongTianTaskAward.Cmd,m_NAtagCMGetTongTianTaskAward.SubCmd))] = m_NAtagCMGetTongTianTaskAward #------------------------------------------------------ # A5 56 Éñ±ø¼¤»î #tagCMGodWeaponActivate class tagCMGodWeaponActivate(Structure): _pack_ = 1 _fields_ = [ ("Cmd", c_ubyte), ("SubCmd", c_ubyte), ("WeaponType", c_int), # Éñ±øÀàÐÍ ] def __init__(self): self.Clear() self.Cmd = 0xA5 self.SubCmd = 0x56 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 = 0x56 self.WeaponType = 0 return def GetLength(self): return sizeof(tagCMGodWeaponActivate) def GetBuffer(self): return string_at(addressof(self), self.GetLength()) def OutputString(self): DumpString = '''// A5 56 Éñ±ø¼¤»î //tagCMGodWeaponActivate: Cmd:%s, SubCmd:%s, WeaponType:%d '''\ %( self.Cmd, self.SubCmd, self.WeaponType ) return DumpString m_NAtagCMGodWeaponActivate=tagCMGodWeaponActivate() ChNetPackDict[eval("0x%02x%02x"%(m_NAtagCMGodWeaponActivate.Cmd,m_NAtagCMGodWeaponActivate.SubCmd))] = m_NAtagCMGodWeaponActivate #------------------------------------------------------ # A5 55 Éñ±øÉý¼¶ #tagCMGodWeaponPlus class tagCMGodWeaponPlus(Structure): _pack_ = 1 _fields_ = [ ("Cmd", c_ubyte), ("SubCmd", c_ubyte), ("WeaponType", c_int), # Éñ±øÀàÐÍ ("ItemID", c_int), #ÏûºÄµÄÎïÆ·ID ("ItemCount", c_ubyte), #ÏûºÄ¸öÊý£¬Ä¬ÈÏ1 ("IsAutoBuy", c_ubyte), #ÊÇ·ñ×Ô¶¯¹ºÂò£¬Ä¬ÈÏ0 ] def __init__(self): self.Clear() self.Cmd = 0xA5 self.SubCmd = 0x55 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 = 0x55 self.WeaponType = 0 self.ItemID = 0 self.ItemCount = 0 self.IsAutoBuy = 0 return def GetLength(self): return sizeof(tagCMGodWeaponPlus) def GetBuffer(self): return string_at(addressof(self), self.GetLength()) def OutputString(self): DumpString = '''// A5 55 Éñ±øÉý¼¶ //tagCMGodWeaponPlus: Cmd:%s, SubCmd:%s, WeaponType:%d, ItemID:%d, ItemCount:%d, IsAutoBuy:%d '''\ %( self.Cmd, self.SubCmd, self.WeaponType, self.ItemID, self.ItemCount, self.IsAutoBuy ) return DumpString m_NAtagCMGodWeaponPlus=tagCMGodWeaponPlus() ChNetPackDict[eval("0x%02x%02x"%(m_NAtagCMGodWeaponPlus.Cmd,m_NAtagCMGodWeaponPlus.SubCmd))] = m_NAtagCMGodWeaponPlus #------------------------------------------------------ # A5 40 Ͷ×ÊÀí²Æ #tagCMGoldInvest class tagCMGoldInvest(Structure): _pack_ = 1 _fields_ = [ ("Cmd", c_ubyte), ("SubCmd", c_ubyte), ("InvestType", c_ubyte), # Ͷ×ÊÀàÐÍ ("InvestGold", c_int), # Ͷ×ʶî¶È ] def __init__(self): self.Clear() self.Cmd = 0xA5 self.SubCmd = 0x40 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 = 0x40 self.InvestType = 0 self.InvestGold = 0 return def GetLength(self): return sizeof(tagCMGoldInvest) def GetBuffer(self): return string_at(addressof(self), self.GetLength()) def OutputString(self): DumpString = '''// A5 40 Ͷ×ÊÀí²Æ //tagCMGoldInvest: Cmd:%s, SubCmd:%s, InvestType:%d, InvestGold:%d '''\ %( self.Cmd, self.SubCmd, self.InvestType, self.InvestGold ) return DumpString m_NAtagCMGoldInvest=tagCMGoldInvest() ChNetPackDict[eval("0x%02x%02x"%(m_NAtagCMGoldInvest.Cmd,m_NAtagCMGoldInvest.SubCmd))] = m_NAtagCMGoldInvest #------------------------------------------------------ # A5 29 Æï³è¾õÐÑ #tagCMHorsePetAwake class tagCMHorsePetAwake(Structure): _pack_ = 1 _fields_ = [ ("Cmd", c_ubyte), ("SubCmd", c_ubyte), ("Type", c_ushort), # 1-×øÆï 2-Áé³è ("ID", c_int), # ¶ÔӦ׸Æï±íÁé³è±íID ("EatItemID", c_int), # ÍÌÊɵÄÎïÆ·ID ] def __init__(self): self.Clear() self.Cmd = 0xA5 self.SubCmd = 0x29 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 = 0x29 self.Type = 0 self.ID = 0 self.EatItemID = 0 return def GetLength(self): return sizeof(tagCMHorsePetAwake) def GetBuffer(self): return string_at(addressof(self), self.GetLength()) def OutputString(self): DumpString = '''// A5 29 Æï³è¾õÐÑ //tagCMHorsePetAwake: Cmd:%s, SubCmd:%s, Type:%d, ID:%d, EatItemID:%d '''\ %( self.Cmd, self.SubCmd, self.Type, self.ID, self.EatItemID ) return DumpString m_NAtagCMHorsePetAwake=tagCMHorsePetAwake() ChNetPackDict[eval("0x%02x%02x"%(m_NAtagCMHorsePetAwake.Cmd,m_NAtagCMHorsePetAwake.SubCmd))] = m_NAtagCMHorsePetAwake #------------------------------------------------------ # A5 30 Æï³èÍâ¹ÛÑ¡Ôñ #tagCMHorsePetSkinSelect class tagCMHorsePetSkinSelect(Structure): _pack_ = 1 _fields_ = [ ("Cmd", c_ubyte), ("SubCmd", c_ubyte), ("Type", c_ushort), # 1-×øÆï 2-Áé³è ("ID", c_int), # ¶ÔӦ׸Æï±íÁé³è±íID ("SkinIndex", c_ubyte), # Íâ¹ÛË÷Òý ] def __init__(self): self.Clear() self.Cmd = 0xA5 self.SubCmd = 0x30 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 = 0x30 self.Type = 0 self.ID = 0 self.SkinIndex = 0 return def GetLength(self): return sizeof(tagCMHorsePetSkinSelect) def GetBuffer(self): return string_at(addressof(self), self.GetLength()) def OutputString(self): DumpString = '''// A5 30 Æï³èÍâ¹ÛÑ¡Ôñ //tagCMHorsePetSkinSelect: Cmd:%s, SubCmd:%s, Type:%d, ID:%d, SkinIndex:%d '''\ %( self.Cmd, self.SubCmd, self.Type, self.ID, self.SkinIndex ) return DumpString m_NAtagCMHorsePetSkinSelect=tagCMHorsePetSkinSelect() ChNetPackDict[eval("0x%02x%02x"%(m_NAtagCMHorsePetSkinSelect.Cmd,m_NAtagCMHorsePetSkinSelect.SubCmd))] = m_NAtagCMHorsePetSkinSelect #------------------------------------------------------ # A5 35 ×øÆïÉýÐÇ #tagCMHorseStarUp class tagCMHorseStarUp(Structure): _pack_ = 1 _fields_ = [ ("Cmd", c_ubyte), ("SubCmd", c_ubyte), ("HorseID", c_int), #×øÆïID£¬¶ÔӦ׸Æï±íID ] def __init__(self): self.Clear() self.Cmd = 0xA5 self.SubCmd = 0x35 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 = 0x35 self.HorseID = 0 return def GetLength(self): return sizeof(tagCMHorseStarUp) def GetBuffer(self): return string_at(addressof(self), self.GetLength()) def OutputString(self): DumpString = '''// A5 35 ×øÆïÉýÐÇ //tagCMHorseStarUp: Cmd:%s, SubCmd:%s, HorseID:%d '''\ %( self.Cmd, self.SubCmd, self.HorseID ) return DumpString m_NAtagCMHorseStarUp=tagCMHorseStarUp() ChNetPackDict[eval("0x%02x%02x"%(m_NAtagCMHorseStarUp.Cmd,m_NAtagCMHorseStarUp.SubCmd))] = m_NAtagCMHorseStarUp #------------------------------------------------------ # A5 31 ×øÆïÅàÑø #tagCMHorseTrain class tagCMHorseTrain(Structure): _pack_ = 1 _fields_ = [ ("Cmd", c_ubyte), ("SubCmd", c_ubyte), ("TrainType", c_ubyte), #ÅàÑøÀàÐÍ£º 1-»ù´¡ÅàÑø£¬2-ÌØÊâÅàÑø£¬3-°Ù·Ö±ÈÅàÑø ("UseItemCnt", c_ushort), #ÏûºÄ²ÄÁϸöÊý ] def __init__(self): self.Clear() self.Cmd = 0xA5 self.SubCmd = 0x31 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 = 0x31 self.TrainType = 0 self.UseItemCnt = 0 return def GetLength(self): return sizeof(tagCMHorseTrain) def GetBuffer(self): return string_at(addressof(self), self.GetLength()) def OutputString(self): DumpString = '''// A5 31 ×øÆïÅàÑø //tagCMHorseTrain: Cmd:%s, SubCmd:%s, TrainType:%d, UseItemCnt:%d '''\ %( self.Cmd, self.SubCmd, self.TrainType, self.UseItemCnt ) return DumpString m_NAtagCMHorseTrain=tagCMHorseTrain() ChNetPackDict[eval("0x%02x%02x"%(m_NAtagCMHorseTrain.Cmd,m_NAtagCMHorseTrain.SubCmd))] = m_NAtagCMHorseTrain #------------------------------------------------------ # A5 27 ×øÆïÌáÉý #tagCMHorseUp class tagCMHorseUp(Structure): _pack_ = 1 _fields_ = [ ("Cmd", c_ubyte), ("SubCmd", c_ubyte), ("UseItemCnt", c_ushort), #ÏûºÄ²ÄÁϸöÊý ("IsAutoBuy", c_ubyte), #ÊÇ·ñ×Ô¶¯¹ºÂò ] def __init__(self): self.Clear() self.Cmd = 0xA5 self.SubCmd = 0x27 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 = 0x27 self.UseItemCnt = 0 self.IsAutoBuy = 0 return def GetLength(self): return sizeof(tagCMHorseUp) def GetBuffer(self): return string_at(addressof(self), self.GetLength()) def OutputString(self): DumpString = '''// A5 27 ×øÆïÌáÉý //tagCMHorseUp: Cmd:%s, SubCmd:%s, UseItemCnt:%d, IsAutoBuy:%d '''\ %( self.Cmd, self.SubCmd, self.UseItemCnt, self.IsAutoBuy ) return DumpString m_NAtagCMHorseUp=tagCMHorseUp() ChNetPackDict[eval("0x%02x%02x"%(m_NAtagCMHorseUp.Cmd,m_NAtagCMHorseUp.SubCmd))] = m_NAtagCMHorseUp #------------------------------------------------------ # A5 34 Á¶ÌåÍ»ÆÆ #tagCMLianTiLVUp class tagCMLianTiLVUp(Structure): _pack_ = 1 _fields_ = [ ("Cmd", c_ubyte), ("SubCmd", c_ubyte), ] 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 return def GetLength(self): return sizeof(tagCMLianTiLVUp) def GetBuffer(self): return string_at(addressof(self), self.GetLength()) def OutputString(self): DumpString = '''// A5 34 Á¶ÌåÍ»ÆÆ //tagCMLianTiLVUp: Cmd:%s, SubCmd:%s '''\ %( self.Cmd, self.SubCmd ) return DumpString m_NAtagCMLianTiLVUp=tagCMLianTiLVUp() ChNetPackDict[eval("0x%02x%02x"%(m_NAtagCMLianTiLVUp.Cmd,m_NAtagCMLianTiLVUp.SubCmd))] = m_NAtagCMLianTiLVUp #------------------------------------------------------ # A5 33 Á¶ÌåÌáÉý #tagCMLianTiUp class tagCMLianTiUp(Structure): _pack_ = 1 _fields_ = [ ("Cmd", c_ubyte), ("SubCmd", c_ubyte), ("UseItemCnt", c_int), #ÏûºÄ²ÄÁϸöÊý ("IsAutoBuy", c_ubyte), #ÊÇ·ñ×Ô¶¯¹ºÂò ] def __init__(self): self.Clear() self.Cmd = 0xA5 self.SubCmd = 0x33 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 = 0x33 self.UseItemCnt = 0 self.IsAutoBuy = 0 return def GetLength(self): return sizeof(tagCMLianTiUp) def GetBuffer(self): return string_at(addressof(self), self.GetLength()) def OutputString(self): DumpString = '''// A5 33 Á¶ÌåÌáÉý //tagCMLianTiUp: Cmd:%s, SubCmd:%s, UseItemCnt:%d, IsAutoBuy:%d '''\ %( self.Cmd, self.SubCmd, self.UseItemCnt, self.IsAutoBuy ) return DumpString m_NAtagCMLianTiUp=tagCMLianTiUp() ChNetPackDict[eval("0x%02x%02x"%(m_NAtagCMLianTiUp.Cmd,m_NAtagCMLianTiUp.SubCmd))] = m_NAtagCMLianTiUp #------------------------------------------------------ # A5 15 ÌáÉý·¨±¦µÈ¼¶ #tagCMMagicWeaponUp class tagCMMagicWeaponUp(Structure): _pack_ = 1 _fields_ = [ ("Cmd", c_ubyte), ("SubCmd", c_ubyte), ("MWID", c_int), #·¨±¦ID ] def __init__(self): self.Clear() self.Cmd = 0xA5 self.SubCmd = 0x15 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 = 0x15 self.MWID = 0 return def GetLength(self): return sizeof(tagCMMagicWeaponUp) def GetBuffer(self): return string_at(addressof(self), self.GetLength()) def OutputString(self): DumpString = '''// A5 15 ÌáÉý·¨±¦µÈ¼¶ //tagCMMagicWeaponUp: Cmd:%s, SubCmd:%s, MWID:%d '''\ %( self.Cmd, self.SubCmd, self.MWID ) return DumpString m_NAtagCMMagicWeaponUp=tagCMMagicWeaponUp() ChNetPackDict[eval("0x%02x%02x"%(m_NAtagCMMagicWeaponUp.Cmd,m_NAtagCMMagicWeaponUp.SubCmd))] = m_NAtagCMMagicWeaponUp #------------------------------------------------------ # A5 0E ¿ªÆô·¨±¦ #tagCMOpenMagicWeapon class tagCMOpenMagicWeapon(Structure): _pack_ = 1 _fields_ = [ ("Cmd", c_ubyte), ("SubCmd", c_ubyte), ("MWID", c_int), ] def __init__(self): self.Clear() self.Cmd = 0xA5 self.SubCmd = 0x0E 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 = 0x0E self.MWID = 0 return def GetLength(self): return sizeof(tagCMOpenMagicWeapon) def GetBuffer(self): return string_at(addressof(self), self.GetLength()) def OutputString(self): DumpString = '''// A5 0E ¿ªÆô·¨±¦ //tagCMOpenMagicWeapon: Cmd:%s, SubCmd:%s, MWID:%d '''\ %( self.Cmd, self.SubCmd, self.MWID ) return DumpString m_NAtagCMOpenMagicWeapon=tagCMOpenMagicWeapon() ChNetPackDict[eval("0x%02x%02x"%(m_NAtagCMOpenMagicWeapon.Cmd,m_NAtagCMOpenMagicWeapon.SubCmd))] = m_NAtagCMOpenMagicWeapon #------------------------------------------------------ # A5 24 ¿ªÆô¶É½Ù #tagCMOpenRealmFB class tagCMOpenRealmFB(Structure): _pack_ = 1 _fields_ = [ ("Cmd", c_ubyte), ("SubCmd", c_ubyte), ] def __init__(self): self.Clear() self.Cmd = 0xA5 self.SubCmd = 0x24 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 = 0x24 return def GetLength(self): return sizeof(tagCMOpenRealmFB) def GetBuffer(self): return string_at(addressof(self), self.GetLength()) def OutputString(self): DumpString = '''// A5 24 ¿ªÆô¶É½Ù //tagCMOpenRealmFB: Cmd:%s, SubCmd:%s '''\ %( self.Cmd, self.SubCmd ) return DumpString m_NAtagCMOpenRealmFB=tagCMOpenRealmFB() ChNetPackDict[eval("0x%02x%02x"%(m_NAtagCMOpenRealmFB.Cmd,m_NAtagCMOpenRealmFB.SubCmd))] = m_NAtagCMOpenRealmFB #------------------------------------------------------ #A5 02 ×øÆïÑ¡Ôñ #tagPlayerChooseHorse class tagPlayerChooseHorse(Structure): _pack_ = 1 _fields_ = [ ("Cmd", c_ubyte), ("SubCmd", c_ubyte), ("ChooseType", c_ubyte), # 1-°´µÈ½×£¬2-°´»Ã»¯ ("LVID", c_ubyte), # ½×µÈ¼¶»ò»Ã»¯ID ] def __init__(self): self.Clear() self.Cmd = 0xA5 self.SubCmd = 0x02 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 = 0x02 self.ChooseType = 0 self.LVID = 0 return def GetLength(self): return sizeof(tagPlayerChooseHorse) def GetBuffer(self): return string_at(addressof(self), self.GetLength()) def OutputString(self): DumpString = '''//A5 02 ×øÆïÑ¡Ôñ //tagPlayerChooseHorse: Cmd:%s, SubCmd:%s, ChooseType:%d, LVID:%d '''\ %( self.Cmd, self.SubCmd, self.ChooseType, self.LVID ) return DumpString m_NAtagPlayerChooseHorse=tagPlayerChooseHorse() ChNetPackDict[eval("0x%02x%02x"%(m_NAtagPlayerChooseHorse.Cmd,m_NAtagPlayerChooseHorse.SubCmd))] = m_NAtagPlayerChooseHorse #------------------------------------------------------ #A5 04 Íæ¼ÒÁìÈ¡½±Àø #tagCMPlayerGetReward class tagCMPlayerGetReward(Structure): Head = tagHead() RewardType = 0 #(BYTE RewardType)//½±ÀøÀàÐÍ DataEx = 0 #(DWORD DataEx)//¸½´øÐÅÏ¢ DataExStrLen = 0 #(BYTE DataExStrLen)//¸½¼Ó×Ö·ûÐÅÏ¢³¤¶È DataExStr = "" #(String DataExStr)//¸½¼Ó×Ö·ûÐÅÏ¢ data = None def __init__(self): self.Clear() self.Head.Cmd = 0xA5 self.Head.SubCmd = 0x04 return def ReadData(self, _lpData, _pos=0, _Len=0): self.Clear() _pos = self.Head.ReadData(_lpData, _pos) self.RewardType,_pos = CommFunc.ReadBYTE(_lpData, _pos) self.DataEx,_pos = CommFunc.ReadDWORD(_lpData, _pos) self.DataExStrLen,_pos = CommFunc.ReadBYTE(_lpData, _pos) self.DataExStr,_pos = CommFunc.ReadString(_lpData, _pos,self.DataExStrLen) return _pos def Clear(self): self.Head = tagHead() self.Head.Clear() self.Head.Cmd = 0xA5 self.Head.SubCmd = 0x04 self.RewardType = 0 self.DataEx = 0 self.DataExStrLen = 0 self.DataExStr = "" return def GetLength(self): length = 0 length += self.Head.GetLength() length += 1 length += 4 length += 1 length += len(self.DataExStr) return length def GetBuffer(self): data = '' data = CommFunc.WriteString(data, self.Head.GetLength(), self.Head.GetBuffer()) data = CommFunc.WriteBYTE(data, self.RewardType) data = CommFunc.WriteDWORD(data, self.DataEx) data = CommFunc.WriteBYTE(data, self.DataExStrLen) data = CommFunc.WriteString(data, self.DataExStrLen, self.DataExStr) return data def OutputString(self): DumpString = ''' Head:%s, RewardType:%d, DataEx:%d, DataExStrLen:%d, DataExStr:%s '''\ %( self.Head.OutputString(), self.RewardType, self.DataEx, self.DataExStrLen, self.DataExStr ) return DumpString m_NAtagCMPlayerGetReward=tagCMPlayerGetReward() ChNetPackDict[eval("0x%02x%02x"%(m_NAtagCMPlayerGetReward.Head.Cmd,m_NAtagCMPlayerGetReward.Head.SubCmd))] = m_NAtagCMPlayerGetReward #------------------------------------------------------ # A5 76 Íæ¼ÒÁ¶µ¤ #tagCMPlayerRefine class tagCMPlayerRefine(Structure): _pack_ = 1 _fields_ = [ ("Cmd", c_ubyte), ("SubCmd", c_ubyte), ("AlchemyID", c_int), # µ¤Ò©ID ("AlchemyTimes", c_ushort), # µ¤Ò©´ÎÊý ("DoType", c_ubyte), # 0-ѧϰ 1-¿ªÊ¼Á¶µ¤ 2-Í£Ö¹Á¶µ¤ 3-¿ªÂ¯È¡µ¤ ] def __init__(self): self.Clear() self.Cmd = 0xA5 self.SubCmd = 0x76 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 = 0x76 self.AlchemyID = 0 self.AlchemyTimes = 0 self.DoType = 0 return def GetLength(self): return sizeof(tagCMPlayerRefine) def GetBuffer(self): return string_at(addressof(self), self.GetLength()) def OutputString(self): DumpString = '''// A5 76 Íæ¼ÒÁ¶µ¤ //tagCMPlayerRefine: Cmd:%s, SubCmd:%s, AlchemyID:%d, AlchemyTimes:%d, DoType:%d '''\ %( self.Cmd, self.SubCmd, self.AlchemyID, self.AlchemyTimes, self.DoType ) return DumpString m_NAtagCMPlayerRefine=tagCMPlayerRefine() ChNetPackDict[eval("0x%02x%02x"%(m_NAtagCMPlayerRefine.Cmd,m_NAtagCMPlayerRefine.SubCmd))] = m_NAtagCMPlayerRefine #------------------------------------------------------ # A5 14 Æí¸£µ¤Ò© #tagCMPrayElixir class tagCMPrayElixir(Structure): _pack_ = 1 _fields_ = [ ("Cmd", c_ubyte), ("SubCmd", c_ubyte), ] def __init__(self): self.Clear() self.Cmd = 0xA5 self.SubCmd = 0x14 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 = 0x14 return def GetLength(self): return sizeof(tagCMPrayElixir) def GetBuffer(self): return string_at(addressof(self), self.GetLength()) def OutputString(self): DumpString = '''// A5 14 Æí¸£µ¤Ò© //tagCMPrayElixir: Cmd:%s, SubCmd:%s '''\ %( self.Cmd, self.SubCmd ) return DumpString m_NAtagCMPrayElixir=tagCMPrayElixir() ChNetPackDict[eval("0x%02x%02x"%(m_NAtagCMPrayElixir.Cmd,m_NAtagCMPrayElixir.SubCmd))] = m_NAtagCMPrayElixir #------------------------------------------------------ #A5 07 ²éѯÔÚÏß½±Àø #tagCMQueryOnlinePrizeInfo class tagCMQueryOnlinePrizeInfo(Structure): _pack_ = 1 _fields_ = [ ("Cmd", c_ubyte), ("SubCmd", c_ubyte), ] def __init__(self): self.Clear() self.Cmd = 0xA5 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 = 0xA5 self.SubCmd = 0x07 return def GetLength(self): return sizeof(tagCMQueryOnlinePrizeInfo) def GetBuffer(self): return string_at(addressof(self), self.GetLength()) def OutputString(self): DumpString = '''//A5 07 ²éѯÔÚÏß½±Àø //tagCMQueryOnlinePrizeInfo: Cmd:%s, SubCmd:%s '''\ %( self.Cmd, self.SubCmd ) return DumpString m_NAtagCMQueryOnlinePrizeInfo=tagCMQueryOnlinePrizeInfo() ChNetPackDict[eval("0x%02x%02x"%(m_NAtagCMQueryOnlinePrizeInfo.Cmd,m_NAtagCMQueryOnlinePrizeInfo.SubCmd))] = m_NAtagCMQueryOnlinePrizeInfo #------------------------------------------------------ # A5 23 ÌáÉý¾³½çµÈ¼¶ # tagCMRealmLVUp class tagCMRealmLVUp(Structure): _pack_ = 1 _fields_ = [ ("Cmd", c_ubyte), ("SubCmd", c_ubyte), ] def __init__(self): self.Clear() self.Cmd = 0xA5 self.SubCmd = 0x23 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 = 0x23 return def GetLength(self): return sizeof(tagCMRealmLVUp) def GetBuffer(self): return string_at(addressof(self), self.GetLength()) def OutputString(self): DumpString = '''// A5 23 ÌáÉý¾³½çµÈ¼¶ // tagCMRealmLVUp: Cmd:%s, SubCmd:%s '''\ %( self.Cmd, self.SubCmd ) return DumpString m_NAtagCMRealmLVUp=tagCMRealmLVUp() ChNetPackDict[eval("0x%02x%02x"%(m_NAtagCMRealmLVUp.Cmd,m_NAtagCMRealmLVUp.SubCmd))] = m_NAtagCMRealmLVUp #------------------------------------------------------ # A5 53 ×ÊÔ´ÕÒ»Ø #tagCMRecoverGain class tagCMRecoverGain(Structure): Head = tagHead() Type = 0 #(BYTE Type)// Õһط½Ê½ 0 ÏÉÓñ 1Í­Ç® Cnt = 0 #(BYTE Cnt) IndexList = list() #(vector IndexList)// ÕÒ»ØË÷ÒýÁбí RecoverCntList = list() #(vector RecoverCntList)// Ë÷Òý¶ÔÓ¦ÕһشÎÊýÁбí data = None def __init__(self): self.Clear() self.Head.Cmd = 0xA5 self.Head.SubCmd = 0x53 return def ReadData(self, _lpData, _pos=0, _Len=0): self.Clear() _pos = self.Head.ReadData(_lpData, _pos) self.Type,_pos = CommFunc.ReadBYTE(_lpData, _pos) self.Cnt,_pos = CommFunc.ReadBYTE(_lpData, _pos) for i in range(self.Cnt): value,_pos=CommFunc.ReadBYTE(_lpData,_pos) self.IndexList.append(value) for i in range(self.Cnt): value,_pos=CommFunc.ReadBYTE(_lpData,_pos) self.RecoverCntList.append(value) return _pos def Clear(self): self.Head = tagHead() self.Head.Clear() self.Head.Cmd = 0xA5 self.Head.SubCmd = 0x53 self.Type = 0 self.Cnt = 0 self.IndexList = list() self.RecoverCntList = list() return def GetLength(self): length = 0 length += self.Head.GetLength() length += 1 length += 1 length += 1 * self.Cnt length += 1 * self.Cnt return length def GetBuffer(self): data = '' data = CommFunc.WriteString(data, self.Head.GetLength(), self.Head.GetBuffer()) data = CommFunc.WriteBYTE(data, self.Type) data = CommFunc.WriteBYTE(data, self.Cnt) for i in range(self.Cnt): data = CommFunc.WriteBYTE(data, self.IndexList[i]) for i in range(self.Cnt): data = CommFunc.WriteBYTE(data, self.RecoverCntList[i]) return data def OutputString(self): DumpString = ''' Head:%s, Type:%d, Cnt:%d, IndexList:%s, RecoverCntList:%s '''\ %( self.Head.OutputString(), self.Type, self.Cnt, "...", "..." ) return DumpString m_NAtagCMRecoverGain=tagCMRecoverGain() ChNetPackDict[eval("0x%02x%02x"%(m_NAtagCMRecoverGain.Head.Cmd,m_NAtagCMRecoverGain.Head.SubCmd))] = m_NAtagCMRecoverGain #------------------------------------------------------ # A5 74 Ë¢ÐÂÐüÉÍÈÎÎñ #tagCMRefreshArrestTask class tagCMRefreshArrestTask(Structure): _pack_ = 1 _fields_ = [ ("Cmd", c_ubyte), ("SubCmd", c_ubyte), ("MoneyType", c_ubyte), # ½ðÇ®ÀàÐÍ ] def __init__(self): self.Clear() self.Cmd = 0xA5 self.SubCmd = 0x74 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 = 0x74 self.MoneyType = 0 return def GetLength(self): return sizeof(tagCMRefreshArrestTask) def GetBuffer(self): return string_at(addressof(self), self.GetLength()) def OutputString(self): DumpString = '''// A5 74 Ë¢ÐÂÐüÉÍÈÎÎñ //tagCMRefreshArrestTask: Cmd:%s, SubCmd:%s, MoneyType:%d '''\ %( self.Cmd, self.SubCmd, self.MoneyType ) return DumpString m_NAtagCMRefreshArrestTask=tagCMRefreshArrestTask() ChNetPackDict[eval("0x%02x%02x"%(m_NAtagCMRefreshArrestTask.Cmd,m_NAtagCMRefreshArrestTask.SubCmd))] = m_NAtagCMRefreshArrestTask #------------------------------------------------------ # A5 69 Ë¢ÐÂѰ±¦Ãâ·Ñ´ÎÊý #tagCMRefreshTreasureFreeCnt class tagCMRefreshTreasureFreeCnt(Structure): _pack_ = 1 _fields_ = [ ("Cmd", c_ubyte), ("SubCmd", c_ubyte), ] def __init__(self): self.Clear() self.Cmd = 0xA5 self.SubCmd = 0x69 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 = 0x69 return def GetLength(self): return sizeof(tagCMRefreshTreasureFreeCnt) def GetBuffer(self): return string_at(addressof(self), self.GetLength()) def OutputString(self): DumpString = '''// A5 69 Ë¢ÐÂѰ±¦Ãâ·Ñ´ÎÊý //tagCMRefreshTreasureFreeCnt: Cmd:%s, SubCmd:%s '''\ %( self.Cmd, self.SubCmd ) return DumpString m_NAtagCMRefreshTreasureFreeCnt=tagCMRefreshTreasureFreeCnt() ChNetPackDict[eval("0x%02x%02x"%(m_NAtagCMRefreshTreasureFreeCnt.Cmd,m_NAtagCMRefreshTreasureFreeCnt.SubCmd))] = m_NAtagCMRefreshTreasureFreeCnt #------------------------------------------------------ # A5 68 ÇëÇóѰ±¦ #tagCMRequestTreasure class tagCMRequestTreasure(Structure): _pack_ = 1 _fields_ = [ ("Cmd", c_ubyte), ("SubCmd", c_ubyte), ("TreasureType", c_ubyte), #Ѱ±¦ÀàÐÍ ("TreasureIndex", c_ubyte), #Ѱ±¦Ë÷Òý ("CostType", c_ubyte), #ÏûºÄÀàÐÍ£º0-ĬÈÏÏÉÓñ£»1-Ãâ·Ñ´ÎÊý£»2-Ѱ±¦µÀ¾ß ] def __init__(self): self.Clear() self.Cmd = 0xA5 self.SubCmd = 0x68 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 = 0x68 self.TreasureType = 0 self.TreasureIndex = 0 self.CostType = 0 return def GetLength(self): return sizeof(tagCMRequestTreasure) def GetBuffer(self): return string_at(addressof(self), self.GetLength()) def OutputString(self): DumpString = '''// A5 68 ÇëÇóѰ±¦ //tagCMRequestTreasure: Cmd:%s, SubCmd:%s, TreasureType:%d, TreasureIndex:%d, CostType:%d '''\ %( self.Cmd, self.SubCmd, self.TreasureType, self.TreasureIndex, self.CostType ) return DumpString m_NAtagCMRequestTreasure=tagCMRequestTreasure() ChNetPackDict[eval("0x%02x%02x"%(m_NAtagCMRequestTreasure.Cmd,m_NAtagCMRequestTreasure.SubCmd))] = m_NAtagCMRequestTreasure #------------------------------------------------------ #A5 60 ÖØÖø±±¾ÌôÕ½´ÎÊý #tagCMResetFBJoinCnt class tagCMResetFBJoinCnt(Structure): _pack_ = 1 _fields_ = [ ("Cmd", c_ubyte), ("SubCmd", c_ubyte), ] def __init__(self): self.Clear() self.Cmd = 0xA5 self.SubCmd = 0x60 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 = 0x60 return def GetLength(self): return sizeof(tagCMResetFBJoinCnt) def GetBuffer(self): return string_at(addressof(self), self.GetLength()) def OutputString(self): DumpString = '''//A5 60 ÖØÖø±±¾ÌôÕ½´ÎÊý //tagCMResetFBJoinCnt: Cmd:%s, SubCmd:%s '''\ %( self.Cmd, self.SubCmd ) return DumpString m_NAtagCMResetFBJoinCnt=tagCMResetFBJoinCnt() ChNetPackDict[eval("0x%02x%02x"%(m_NAtagCMResetFBJoinCnt.Cmd,m_NAtagCMResetFBJoinCnt.SubCmd))] = m_NAtagCMResetFBJoinCnt #------------------------------------------------------ # A5 50 ÖØÖôóʦÌ츳¼¼ÄÜ #tagCMResetMasterSkill class tagCMResetMasterSkill(Structure): _pack_ = 1 _fields_ = [ ("Cmd", c_ubyte), ("SubCmd", c_ubyte), ] def __init__(self): self.Clear() self.Cmd = 0xA5 self.SubCmd = 0x50 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 = 0x50 return def GetLength(self): return sizeof(tagCMResetMasterSkill) def GetBuffer(self): return string_at(addressof(self), self.GetLength()) def OutputString(self): DumpString = '''// A5 50 ÖØÖôóʦÌ츳¼¼ÄÜ //tagCMResetMasterSkill: Cmd:%s, SubCmd:%s '''\ %( self.Cmd, self.SubCmd ) return DumpString m_NAtagCMResetMasterSkill=tagCMResetMasterSkill() ChNetPackDict[eval("0x%02x%02x"%(m_NAtagCMResetMasterSkill.Cmd,m_NAtagCMResetMasterSkill.SubCmd))] = m_NAtagCMResetMasterSkill #------------------------------------------------------ # A5 66 ·ûÓ¡·Ö½â #tagCMRuneDecompose class tagCMRuneDecompose(Structure): Head = tagHead() IsAll = 0 #(BYTE IsAll)// ÊÇ·ñÈ«²¿·Ö½â£¬ÓÅÏȼ¶×î¸ß£¬Ëø¶¨³ýÍâ QualityCnt = 0 #(BYTE QualityCnt)// °´È«²¿·Ö½âÆ·ÖÊÊý QualityList = list() #(vector QualityList)// È«²¿·Ö½âµÄÆ·ÖÊÁÐ±í£¬·¢ËÍµÄÆ·ÖÊ»áÈ«²¿·Ö½â£¬Ëø¶¨³ýÍâ Count = 0 #(BYTE Count)// Ö¸¶¨ÅúÁ¿·Ö½âÊý£¬×î´ó²»³¬¹ý50¸ö PlaceIndexList = list() #(vector PlaceIndexList)// ÅúÁ¿·Ö½âλÖÃË÷ÒýÁбí data = None def __init__(self): self.Clear() self.Head.Cmd = 0xA5 self.Head.SubCmd = 0x66 return def ReadData(self, _lpData, _pos=0, _Len=0): self.Clear() _pos = self.Head.ReadData(_lpData, _pos) self.IsAll,_pos = CommFunc.ReadBYTE(_lpData, _pos) self.QualityCnt,_pos = CommFunc.ReadBYTE(_lpData, _pos) for i in range(self.QualityCnt): value,_pos=CommFunc.ReadBYTE(_lpData,_pos) self.QualityList.append(value) self.Count,_pos = CommFunc.ReadBYTE(_lpData, _pos) for i in range(self.Count): value,_pos=CommFunc.ReadWORD(_lpData,_pos) self.PlaceIndexList.append(value) return _pos def Clear(self): self.Head = tagHead() self.Head.Clear() self.Head.Cmd = 0xA5 self.Head.SubCmd = 0x66 self.IsAll = 0 self.QualityCnt = 0 self.QualityList = list() self.Count = 0 self.PlaceIndexList = list() return def GetLength(self): length = 0 length += self.Head.GetLength() length += 1 length += 1 length += 1 * self.QualityCnt length += 1 length += 2 * self.Count return length def GetBuffer(self): data = '' data = CommFunc.WriteString(data, self.Head.GetLength(), self.Head.GetBuffer()) data = CommFunc.WriteBYTE(data, self.IsAll) data = CommFunc.WriteBYTE(data, self.QualityCnt) for i in range(self.QualityCnt): data = CommFunc.WriteBYTE(data, self.QualityList[i]) data = CommFunc.WriteBYTE(data, self.Count) for i in range(self.Count): data = CommFunc.WriteWORD(data, self.PlaceIndexList[i]) return data def OutputString(self): DumpString = ''' Head:%s, IsAll:%d, QualityCnt:%d, QualityList:%s, Count:%d, PlaceIndexList:%s '''\ %( self.Head.OutputString(), self.IsAll, self.QualityCnt, "...", self.Count, "..." ) return DumpString m_NAtagCMRuneDecompose=tagCMRuneDecompose() ChNetPackDict[eval("0x%02x%02x"%(m_NAtagCMRuneDecompose.Head.Cmd,m_NAtagCMRuneDecompose.Head.SubCmd))] = m_NAtagCMRuneDecompose #------------------------------------------------------ # A5 67 ·ûÓ¡Ëø¶¨×´Ì¬±ä¸ü #tagCMRuneLock class tagCMRuneLock(Structure): Head = tagHead() LockState = 0 #(BYTE LockState)// Ëø¶¨×´Ì¬£¬ 0-Ëø¶¨£¬1-½âËø Count = 0 #(BYTE Count)// ÅúÁ¿²Ù×÷Êý£¬×î´ó²»³¬¹ý50¸ö PlaceIndexList = list() #(vector PlaceIndexList)// ÅúÁ¿²Ù×÷λÖÃË÷ÒýÁбí data = None def __init__(self): self.Clear() self.Head.Cmd = 0xA5 self.Head.SubCmd = 0x67 return def ReadData(self, _lpData, _pos=0, _Len=0): self.Clear() _pos = self.Head.ReadData(_lpData, _pos) self.LockState,_pos = CommFunc.ReadBYTE(_lpData, _pos) self.Count,_pos = CommFunc.ReadBYTE(_lpData, _pos) for i in range(self.Count): value,_pos=CommFunc.ReadWORD(_lpData,_pos) self.PlaceIndexList.append(value) return _pos def Clear(self): self.Head = tagHead() self.Head.Clear() self.Head.Cmd = 0xA5 self.Head.SubCmd = 0x67 self.LockState = 0 self.Count = 0 self.PlaceIndexList = list() return def GetLength(self): length = 0 length += self.Head.GetLength() length += 1 length += 1 length += 2 * self.Count return length def GetBuffer(self): data = '' data = CommFunc.WriteString(data, self.Head.GetLength(), self.Head.GetBuffer()) data = CommFunc.WriteBYTE(data, self.LockState) data = CommFunc.WriteBYTE(data, self.Count) for i in range(self.Count): data = CommFunc.WriteWORD(data, self.PlaceIndexList[i]) return data def OutputString(self): DumpString = ''' Head:%s, LockState:%d, Count:%d, PlaceIndexList:%s '''\ %( self.Head.OutputString(), self.LockState, self.Count, "..." ) return DumpString m_NAtagCMRuneLock=tagCMRuneLock() ChNetPackDict[eval("0x%02x%02x"%(m_NAtagCMRuneLock.Head.Cmd,m_NAtagCMRuneLock.Head.SubCmd))] = m_NAtagCMRuneLock #------------------------------------------------------ # A5 65 ·ûÓ¡Éý¼¶ #tagCMRuneUp class tagCMRuneUp(Structure): _pack_ = 1 _fields_ = [ ("Cmd", c_ubyte), ("SubCmd", c_ubyte), ("PlaceType", c_ubyte), # λÖÃÀàÐÍ£»0-·ûÓ¡±³°ü£¬1-·ûÓ¡¿× ("PlaceIndex", c_ushort), # λÖÃË÷Òý ] def __init__(self): self.Clear() self.Cmd = 0xA5 self.SubCmd = 0x65 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 = 0x65 self.PlaceType = 0 self.PlaceIndex = 0 return def GetLength(self): return sizeof(tagCMRuneUp) def GetBuffer(self): return string_at(addressof(self), self.GetLength()) def OutputString(self): DumpString = '''// A5 65 ·ûÓ¡Éý¼¶ //tagCMRuneUp: Cmd:%s, SubCmd:%s, PlaceType:%d, PlaceIndex:%d '''\ %( self.Cmd, self.SubCmd, self.PlaceType, self.PlaceIndex ) return DumpString m_NAtagCMRuneUp=tagCMRuneUp() ChNetPackDict[eval("0x%02x%02x"%(m_NAtagCMRuneUp.Cmd,m_NAtagCMRuneUp.SubCmd))] = m_NAtagCMRuneUp #------------------------------------------------------ # A5 16 Ñ¡Ôñ¼¼ÄÜÎåÐÐר¾« #tagCMSelectSkillElement class tagCMSelectSkillElement(Structure): _pack_ = 1 _fields_ = [ ("Cmd", c_ubyte), ("SubCmd", c_ubyte), ("SkillTypeID", c_int), # ר¾«¼¼ÄÜID ("DoType", c_ubyte), # 0-¼¤»î 1-ʹÓà ] def __init__(self): self.Clear() self.Cmd = 0xA5 self.SubCmd = 0x16 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 = 0x16 self.SkillTypeID = 0 self.DoType = 0 return def GetLength(self): return sizeof(tagCMSelectSkillElement) def GetBuffer(self): return string_at(addressof(self), self.GetLength()) def OutputString(self): DumpString = '''// A5 16 Ñ¡Ôñ¼¼ÄÜÎåÐÐר¾« //tagCMSelectSkillElement: Cmd:%s, SubCmd:%s, SkillTypeID:%d, DoType:%d '''\ %( self.Cmd, self.SubCmd, self.SkillTypeID, self.DoType ) return DumpString m_NAtagCMSelectSkillElement=tagCMSelectSkillElement() ChNetPackDict[eval("0x%02x%02x"%(m_NAtagCMSelectSkillElement.Cmd,m_NAtagCMSelectSkillElement.SubCmd))] = m_NAtagCMSelectSkillElement #------------------------------------------------------ # A5 17 °óÓñתÅÌ¿ªÊ¼ #tagCMStartBindJadeWheel class tagCMStartBindJadeWheel(Structure): _pack_ = 1 _fields_ = [ ("Cmd", c_ubyte), ("SubCmd", c_ubyte), ] def __init__(self): self.Clear() self.Cmd = 0xA5 self.SubCmd = 0x17 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 = 0x17 return def GetLength(self): return sizeof(tagCMStartBindJadeWheel) def GetBuffer(self): return string_at(addressof(self), self.GetLength()) def OutputString(self): DumpString = '''// A5 17 °óÓñתÅÌ¿ªÊ¼ //tagCMStartBindJadeWheel: Cmd:%s, SubCmd:%s '''\ %( self.Cmd, self.SubCmd ) return DumpString m_NAtagCMStartBindJadeWheel=tagCMStartBindJadeWheel() ChNetPackDict[eval("0x%02x%02x"%(m_NAtagCMStartBindJadeWheel.Cmd,m_NAtagCMStartBindJadeWheel.SubCmd))] = m_NAtagCMStartBindJadeWheel #------------------------------------------------------ # A5 21 ¾³½çÐÞΪ³ØÌáÈ¡ #tagCMTakeOutRealmExp class tagCMTakeOutRealmExp(Structure): _pack_ = 1 _fields_ = [ ("Cmd", c_ubyte), ("SubCmd", c_ubyte), ] def __init__(self): self.Clear() self.Cmd = 0xA5 self.SubCmd = 0x21 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 = 0x21 return def GetLength(self): return sizeof(tagCMTakeOutRealmExp) def GetBuffer(self): return string_at(addressof(self), self.GetLength()) def OutputString(self): DumpString = '''// A5 21 ¾³½çÐÞΪ³ØÌáÈ¡ //tagCMTakeOutRealmExp: Cmd:%s, SubCmd:%s '''\ %( self.Cmd, self.SubCmd ) return DumpString m_NAtagCMTakeOutRealmExp=tagCMTakeOutRealmExp() ChNetPackDict[eval("0x%02x%02x"%(m_NAtagCMTakeOutRealmExp.Cmd,m_NAtagCMTakeOutRealmExp.SubCmd))] = m_NAtagCMTakeOutRealmExp #------------------------------------------------------ # A5 12 ¸ÐÓ¦·¨±¦ #tagCMThinkMagicWeapon class tagCMThinkMagicWeapon(Structure): _pack_ = 1 _fields_ = [ ("Cmd", c_ubyte), ("SubCmd", c_ubyte), ("MWID", c_int), ] def __init__(self): self.Clear() self.Cmd = 0xA5 self.SubCmd = 0x12 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 = 0x12 self.MWID = 0 return def GetLength(self): return sizeof(tagCMThinkMagicWeapon) def GetBuffer(self): return string_at(addressof(self), self.GetLength()) def OutputString(self): DumpString = '''// A5 12 ¸ÐÓ¦·¨±¦ //tagCMThinkMagicWeapon: Cmd:%s, SubCmd:%s, MWID:%d '''\ %( self.Cmd, self.SubCmd, self.MWID ) return DumpString m_NAtagCMThinkMagicWeapon=tagCMThinkMagicWeapon() ChNetPackDict[eval("0x%02x%02x"%(m_NAtagCMThinkMagicWeapon.Cmd,m_NAtagCMThinkMagicWeapon.SubCmd))] = m_NAtagCMThinkMagicWeapon #------------------------------------------------------ # A5 36 ³ÆºÅÉýÐÇ #tagCMTitleStarUp class tagCMTitleStarUp(Structure): _pack_ = 1 _fields_ = [ ("Cmd", c_ubyte), ("SubCmd", c_ubyte), ("TitleID", c_int), #³ÆºÅID ] def __init__(self): self.Clear() self.Cmd = 0xA5 self.SubCmd = 0x36 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 = 0x36 self.TitleID = 0 return def GetLength(self): return sizeof(tagCMTitleStarUp) def GetBuffer(self): return string_at(addressof(self), self.GetLength()) def OutputString(self): DumpString = '''// A5 36 ³ÆºÅÉýÐÇ //tagCMTitleStarUp: Cmd:%s, SubCmd:%s, TitleID:%d '''\ %( self.Cmd, self.SubCmd, self.TitleID ) return DumpString m_NAtagCMTitleStarUp=tagCMTitleStarUp() ChNetPackDict[eval("0x%02x%02x"%(m_NAtagCMTitleStarUp.Cmd,m_NAtagCMTitleStarUp.SubCmd))] = m_NAtagCMTitleStarUp #------------------------------------------------------ # A5 11 ÊÔÓÃÊ׳äÎäÆ÷ #tagCMTryFirstGoldItem class tagCMTryFirstGoldItem(Structure): _pack_ = 1 _fields_ = [ ("Cmd", c_ubyte), ("SubCmd", c_ubyte), ] def __init__(self): self.Clear() self.Cmd = 0xA5 self.SubCmd = 0x11 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 = 0x11 return def GetLength(self): return sizeof(tagCMTryFirstGoldItem) def GetBuffer(self): return string_at(addressof(self), self.GetLength()) def OutputString(self): DumpString = '''// A5 11 ÊÔÓÃÊ׳äÎäÆ÷ //tagCMTryFirstGoldItem: Cmd:%s, SubCmd:%s '''\ %( self.Cmd, self.SubCmd ) return DumpString m_NAtagCMTryFirstGoldItem=tagCMTryFirstGoldItem() ChNetPackDict[eval("0x%02x%02x"%(m_NAtagCMTryFirstGoldItem.Cmd,m_NAtagCMTryFirstGoldItem.SubCmd))] = m_NAtagCMTryFirstGoldItem #------------------------------------------------------ # A5 73 ½âËøÃü¸ñ¿× #tagCMUnLockBirthChartHole class tagCMUnLockBirthChartHole(Structure): _pack_ = 1 _fields_ = [ ("Cmd", c_ubyte), ("SubCmd", c_ubyte), ("BirthChartIndex", c_ubyte), # ¿×Ë÷Òý ] def __init__(self): self.Clear() self.Cmd = 0xA5 self.SubCmd = 0x73 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 = 0x73 self.BirthChartIndex = 0 return def GetLength(self): return sizeof(tagCMUnLockBirthChartHole) def GetBuffer(self): return string_at(addressof(self), self.GetLength()) def OutputString(self): DumpString = '''// A5 73 ½âËøÃü¸ñ¿× //tagCMUnLockBirthChartHole: Cmd:%s, SubCmd:%s, BirthChartIndex:%d '''\ %( self.Cmd, self.SubCmd, self.BirthChartIndex ) return DumpString m_NAtagCMUnLockBirthChartHole=tagCMUnLockBirthChartHole() ChNetPackDict[eval("0x%02x%02x"%(m_NAtagCMUnLockBirthChartHole.Cmd,m_NAtagCMUnLockBirthChartHole.SubCmd))] = m_NAtagCMUnLockBirthChartHole #------------------------------------------------------ # A5 13 ½âËø·ûÓ¡¿× #tagCMUnlockRuneHole class tagCMUnlockRuneHole(Structure): _pack_ = 1 _fields_ = [ ("Cmd", c_ubyte), ("SubCmd", c_ubyte), ("HoleIndex", c_ubyte), # ¿×Ë÷Òý ] def __init__(self): self.Clear() self.Cmd = 0xA5 self.SubCmd = 0x13 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 = 0x13 self.HoleIndex = 0 return def GetLength(self): return sizeof(tagCMUnlockRuneHole) def GetBuffer(self): return string_at(addressof(self), self.GetLength()) def OutputString(self): DumpString = '''// A5 13 ½âËø·ûÓ¡¿× //tagCMUnlockRuneHole: Cmd:%s, SubCmd:%s, HoleIndex:%d '''\ %( self.Cmd, self.SubCmd, self.HoleIndex ) return DumpString m_NAtagCMUnlockRuneHole=tagCMUnlockRuneHole() ChNetPackDict[eval("0x%02x%02x"%(m_NAtagCMUnlockRuneHole.Cmd,m_NAtagCMUnlockRuneHole.SubCmd))] = m_NAtagCMUnlockRuneHole #------------------------------------------------------ #A5 10 ʹÓÃÐÂÊÖ¿¨ #tagUseNewGuyCard class tagUseNewGuyCard(Structure): Head = tagHead() CodeStrLen = 0 #(BYTE CodeStrLen) CodeStr = "" #(String CodeStr)//size = CodeStrLen data = None def __init__(self): self.Clear() self.Head.Cmd = 0xA5 self.Head.SubCmd = 0x10 return def ReadData(self, _lpData, _pos=0, _Len=0): self.Clear() _pos = self.Head.ReadData(_lpData, _pos) self.CodeStrLen,_pos = CommFunc.ReadBYTE(_lpData, _pos) self.CodeStr,_pos = CommFunc.ReadString(_lpData, _pos,self.CodeStrLen) return _pos def Clear(self): self.Head = tagHead() self.Head.Clear() self.Head.Cmd = 0xA5 self.Head.SubCmd = 0x10 self.CodeStrLen = 0 self.CodeStr = "" return def GetLength(self): length = 0 length += self.Head.GetLength() length += 1 length += len(self.CodeStr) return length def GetBuffer(self): data = '' data = CommFunc.WriteString(data, self.Head.GetLength(), self.Head.GetBuffer()) data = CommFunc.WriteBYTE(data, self.CodeStrLen) data = CommFunc.WriteString(data, self.CodeStrLen, self.CodeStr) return data def OutputString(self): DumpString = ''' Head:%s, CodeStrLen:%d, CodeStr:%s '''\ %( self.Head.OutputString(), self.CodeStrLen, self.CodeStr ) return DumpString m_NAtagUseNewGuyCard=tagUseNewGuyCard() ChNetPackDict[eval("0x%02x%02x"%(m_NAtagUseNewGuyCard.Head.Cmd,m_NAtagUseNewGuyCard.Head.SubCmd))] = m_NAtagUseNewGuyCard #------------------------------------------------------ # A5 26 Ѱ·ÃÏÉÓò #tagCMVisitFairyDomain class tagCMVisitFairyDomain(Structure): _pack_ = 1 _fields_ = [ ("Cmd", c_ubyte), ("SubCmd", c_ubyte), ("Type", c_ubyte), #0-¿ªÊ¼Ñ°·Ã 1-½áÊøÑ°·Ã ] def __init__(self): self.Clear() self.Cmd = 0xA5 self.SubCmd = 0x26 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 = 0x26 self.Type = 0 return def GetLength(self): return sizeof(tagCMVisitFairyDomain) def GetBuffer(self): return string_at(addressof(self), self.GetLength()) def OutputString(self): DumpString = '''// A5 26 Ѱ·ÃÏÉÓò //tagCMVisitFairyDomain: Cmd:%s, SubCmd:%s, Type:%d '''\ %( self.Cmd, self.SubCmd, self.Type ) return DumpString m_NAtagCMVisitFairyDomain=tagCMVisitFairyDomain() ChNetPackDict[eval("0x%02x%02x"%(m_NAtagCMVisitFairyDomain.Cmd,m_NAtagCMVisitFairyDomain.SubCmd))] = m_NAtagCMVisitFairyDomain #------------------------------------------------------ # A5 1D ·¨±¦Åå´÷ #tagCMWearMagicWeapon class tagCMWearMagicWeapon(Structure): _pack_ = 1 _fields_ = [ ("Cmd", c_ubyte), ("SubCmd", c_ubyte), ("MWID", c_int), #·¨±¦ID ("State", c_ubyte), #0-жÏ 1-Åå´÷ ] def __init__(self): self.Clear() self.Cmd = 0xA5 self.SubCmd = 0x1D 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 = 0x1D self.MWID = 0 self.State = 0 return def GetLength(self): return sizeof(tagCMWearMagicWeapon) def GetBuffer(self): return string_at(addressof(self), self.GetLength()) def OutputString(self): DumpString = '''// A5 1D ·¨±¦Åå´÷ //tagCMWearMagicWeapon: Cmd:%s, SubCmd:%s, MWID:%d, State:%d '''\ %( self.Cmd, self.SubCmd, self.MWID, self.State ) return DumpString m_NAtagCMWearMagicWeapon=tagCMWearMagicWeapon() ChNetPackDict[eval("0x%02x%02x"%(m_NAtagCMWearMagicWeapon.Cmd,m_NAtagCMWearMagicWeapon.SubCmd))] = m_NAtagCMWearMagicWeapon #------------------------------------------------------ # A6 15 ´«¹¦²Ù×÷ #tagCMChuangongOP class tagCMChuangongOP(Structure): _pack_ = 1 _fields_ = [ ("Cmd", c_ubyte), ("SubCmd", c_ubyte), ("OPType", c_ubyte), # ²Ù×÷ÀàÐÍ£º1-ÑûÇ룻2-»ØÓ¦£»3-Áì½±£» ("PlayerID", c_int), # Ä¿±êÍæ¼ÒID£»»ØÓ¦Ê±ÎªÑûÇë·½Íæ¼ÒID ("OPData", c_ubyte), # ²Ù×÷Êý¾Ý£¬¿ÉÑ¡£º»ØÓ¦Ê±ÎªÊÇ·ñͬÒâ ] def __init__(self): self.Clear() self.Cmd = 0xA6 self.SubCmd = 0x15 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 = 0xA6 self.SubCmd = 0x15 self.OPType = 0 self.PlayerID = 0 self.OPData = 0 return def GetLength(self): return sizeof(tagCMChuangongOP) def GetBuffer(self): return string_at(addressof(self), self.GetLength()) def OutputString(self): DumpString = '''// A6 15 ´«¹¦²Ù×÷ //tagCMChuangongOP: Cmd:%s, SubCmd:%s, OPType:%d, PlayerID:%d, OPData:%d '''\ %( self.Cmd, self.SubCmd, self.OPType, self.PlayerID, self.OPData ) return DumpString m_NAtagCMChuangongOP=tagCMChuangongOP() ChNetPackDict[eval("0x%02x%02x"%(m_NAtagCMChuangongOP.Cmd,m_NAtagCMChuangongOP.SubCmd))] = m_NAtagCMChuangongOP #------------------------------------------------------ # A6 11 ¼Ò×å¸ÄÃû #tagCMRenameFamily class tagCMRenameFamily(Structure): Head = tagHead() NewNameLen = 0 #(BYTE NewNameLen) NewName = "" #(String NewName) ItemIndex = 0 #(BYTE ItemIndex)//¸ÄÃûÎïÆ·ÔÚ±³°üÖеÄλÖà data = None def __init__(self): self.Clear() self.Head.Cmd = 0xA6 self.Head.SubCmd = 0x11 return def ReadData(self, _lpData, _pos=0, _Len=0): self.Clear() _pos = self.Head.ReadData(_lpData, _pos) self.NewNameLen,_pos = CommFunc.ReadBYTE(_lpData, _pos) self.NewName,_pos = CommFunc.ReadString(_lpData, _pos,self.NewNameLen) self.ItemIndex,_pos = CommFunc.ReadBYTE(_lpData, _pos) return _pos def Clear(self): self.Head = tagHead() self.Head.Clear() self.Head.Cmd = 0xA6 self.Head.SubCmd = 0x11 self.NewNameLen = 0 self.NewName = "" self.ItemIndex = 0 return def GetLength(self): length = 0 length += self.Head.GetLength() length += 1 length += len(self.NewName) length += 1 return length def GetBuffer(self): data = '' data = CommFunc.WriteString(data, self.Head.GetLength(), self.Head.GetBuffer()) data = CommFunc.WriteBYTE(data, self.NewNameLen) data = CommFunc.WriteString(data, self.NewNameLen, self.NewName) data = CommFunc.WriteBYTE(data, self.ItemIndex) return data def OutputString(self): DumpString = ''' Head:%s, NewNameLen:%d, NewName:%s, ItemIndex:%d '''\ %( self.Head.OutputString(), self.NewNameLen, self.NewName, self.ItemIndex ) return DumpString m_NAtagCMRenameFamily=tagCMRenameFamily() ChNetPackDict[eval("0x%02x%02x"%(m_NAtagCMRenameFamily.Head.Cmd,m_NAtagCMRenameFamily.Head.SubCmd))] = m_NAtagCMRenameFamily #------------------------------------------------------ # A6 06 ¼Ò×å¶Ò»»»îÔ¾Áî #tagCMFamilyActivityExchange class tagCMFamilyActivityExchange(Structure): Head = tagHead() Count = 0 #(BYTE Count)//²ÄÁÏËùÔÚ±³°üË÷ÒýµÄÊýÁ¿ IndexList = list() #(vector IndexList)//²ÄÁÏËùÔÚ±³°üË÷ÒýÁбí ItemIDList = list() #(vector ItemIDList)//²ÄÁÏËùÔÚ±³°üÎïÆ·IDÁбí data = None def __init__(self): self.Clear() self.Head.Cmd = 0xA6 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): value,_pos=CommFunc.ReadWORD(_lpData,_pos) self.IndexList.append(value) for i in range(self.Count): value,_pos=CommFunc.ReadDWORD(_lpData,_pos) self.ItemIDList.append(value) return _pos def Clear(self): self.Head = tagHead() self.Head.Clear() self.Head.Cmd = 0xA6 self.Head.SubCmd = 0x06 self.Count = 0 self.IndexList = list() self.ItemIDList = list() return def GetLength(self): length = 0 length += self.Head.GetLength() length += 1 length += 2 * self.Count length += 4 * self.Count 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.WriteWORD(data, self.IndexList[i]) for i in range(self.Count): data = CommFunc.WriteDWORD(data, self.ItemIDList[i]) return data def OutputString(self): DumpString = ''' Head:%s, Count:%d, IndexList:%s, ItemIDList:%s '''\ %( self.Head.OutputString(), self.Count, "...", "..." ) return DumpString m_NAtagCMFamilyActivityExchange=tagCMFamilyActivityExchange() ChNetPackDict[eval("0x%02x%02x"%(m_NAtagCMFamilyActivityExchange.Head.Cmd,m_NAtagCMFamilyActivityExchange.Head.SubCmd))] = m_NAtagCMFamilyActivityExchange #------------------------------------------------------ # A6 13 ¼Ò×åÊÂÎñ²Ù×÷ #tagCMFamilyAffairOP class tagCMFamilyAffairOP(Structure): _pack_ = 1 _fields_ = [ ("Cmd", c_ubyte), ("SubCmd", c_ubyte), ("OPType", c_ubyte), # ²Ù×÷ÀàÐÍ£º1-Ë¢ÐÂÊÂÎñ£»2-¿ªÊ¼ÊÂÎñ£»3-ÁìÈ¡ÊÂÎñ½±Àø£» ("AffairID", c_ushort), # ÊÂÎñID£¬¿ÉÑ¡ ] def __init__(self): self.Clear() self.Cmd = 0xA6 self.SubCmd = 0x13 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 = 0xA6 self.SubCmd = 0x13 self.OPType = 0 self.AffairID = 0 return def GetLength(self): return sizeof(tagCMFamilyAffairOP) def GetBuffer(self): return string_at(addressof(self), self.GetLength()) def OutputString(self): DumpString = '''// A6 13 ¼Ò×åÊÂÎñ²Ù×÷ //tagCMFamilyAffairOP: Cmd:%s, SubCmd:%s, OPType:%d, AffairID:%d '''\ %( self.Cmd, self.SubCmd, self.OPType, self.AffairID ) return DumpString m_NAtagCMFamilyAffairOP=tagCMFamilyAffairOP() ChNetPackDict[eval("0x%02x%02x"%(m_NAtagCMFamilyAffairOP.Cmd,m_NAtagCMFamilyAffairOP.SubCmd))] = m_NAtagCMFamilyAffairOP #------------------------------------------------------ # A6 12 ¼Ò×å¾èÏ×»õ±Ò #tagCMFamilyMoneyDonate class tagCMFamilyMoneyDonate(Structure): _pack_ = 1 _fields_ = [ ("Cmd", c_ubyte), ("SubCmd", c_ubyte), ("MoneyType", c_ubyte), # ¾èÏ×»õ±ÒÀàÐÍ ] def __init__(self): self.Clear() self.Cmd = 0xA6 self.SubCmd = 0x12 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 = 0xA6 self.SubCmd = 0x12 self.MoneyType = 0 return def GetLength(self): return sizeof(tagCMFamilyMoneyDonate) def GetBuffer(self): return string_at(addressof(self), self.GetLength()) def OutputString(self): DumpString = '''// A6 12 ¼Ò×å¾èÏ×»õ±Ò //tagCMFamilyMoneyDonate: Cmd:%s, SubCmd:%s, MoneyType:%d '''\ %( self.Cmd, self.SubCmd, self.MoneyType ) return DumpString m_NAtagCMFamilyMoneyDonate=tagCMFamilyMoneyDonate() ChNetPackDict[eval("0x%02x%02x"%(m_NAtagCMFamilyMoneyDonate.Cmd,m_NAtagCMFamilyMoneyDonate.SubCmd))] = m_NAtagCMFamilyMoneyDonate #------------------------------------------------------ # A6 09 ¼Ò×å²Ö¿â¾èÔùÎïÆ· #tagCMFamilyStoreDonate class tagCMFamilyStoreDonate(Structure): _pack_ = 1 _fields_ = [ ("Cmd", c_ubyte), ("SubCmd", c_ubyte), ("ItemIndex", c_ubyte), # ¾èÔùÎïÆ·ÔÚ±³°üÖеÄË÷Òý ] def __init__(self): self.Clear() self.Cmd = 0xA6 self.SubCmd = 0x09 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 = 0xA6 self.SubCmd = 0x09 self.ItemIndex = 0 return def GetLength(self): return sizeof(tagCMFamilyStoreDonate) def GetBuffer(self): return string_at(addressof(self), self.GetLength()) def OutputString(self): DumpString = '''// A6 09 ¼Ò×å²Ö¿â¾èÔùÎïÆ· //tagCMFamilyStoreDonate: Cmd:%s, SubCmd:%s, ItemIndex:%d '''\ %( self.Cmd, self.SubCmd, self.ItemIndex ) return DumpString m_NAtagCMFamilyStoreDonate=tagCMFamilyStoreDonate() ChNetPackDict[eval("0x%02x%02x"%(m_NAtagCMFamilyStoreDonate.Cmd,m_NAtagCMFamilyStoreDonate.SubCmd))] = m_NAtagCMFamilyStoreDonate #------------------------------------------------------ # A6 10 ¼Ò×å²Ö¿â¶Ò»»ÎïÆ· #tagCMFamilyStoreExchange class tagCMFamilyStoreExchange(Structure): _pack_ = 1 _fields_ = [ ("Cmd", c_ubyte), ("SubCmd", c_ubyte), ("StoreItemIndex", c_ubyte), # 0-¶Ò»»¿ÚÁ¸£»>0-¶Ò»»²Ö¿âÎïÆ·£¬1´ú±íË÷Òý0µÄÎïÆ· ("ItemID", c_int), # ¶Ò»»µÄÎïÆ·ID ("ExcangeCount", c_ushort), # ¶Ò»»¸öÊý ] def __init__(self): self.Clear() self.Cmd = 0xA6 self.SubCmd = 0x10 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 = 0xA6 self.SubCmd = 0x10 self.StoreItemIndex = 0 self.ItemID = 0 self.ExcangeCount = 0 return def GetLength(self): return sizeof(tagCMFamilyStoreExchange) def GetBuffer(self): return string_at(addressof(self), self.GetLength()) def OutputString(self): DumpString = '''// A6 10 ¼Ò×å²Ö¿â¶Ò»»ÎïÆ· //tagCMFamilyStoreExchange: Cmd:%s, SubCmd:%s, StoreItemIndex:%d, ItemID:%d, ExcangeCount:%d '''\ %( self.Cmd, self.SubCmd, self.StoreItemIndex, self.ItemID, self.ExcangeCount ) return DumpString m_NAtagCMFamilyStoreExchange=tagCMFamilyStoreExchange() ChNetPackDict[eval("0x%02x%02x"%(m_NAtagCMFamilyStoreExchange.Cmd,m_NAtagCMFamilyStoreExchange.SubCmd))] = m_NAtagCMFamilyStoreExchange #------------------------------------------------------ # A6 14 ¼Ò×åÕó·¨Éý¼¶ #tagCMFamilyZhenfaLVUP class tagCMFamilyZhenfaLVUP(Structure): _pack_ = 1 _fields_ = [ ("Cmd", c_ubyte), ("SubCmd", c_ubyte), ("ZhenfaType", c_ubyte), # Õó·¨ÀàÐÍ ("ItemID", c_int), # ÏûºÄµÄÎïÆ·ID ("ItemCount", c_ushort), # ÏûºÄ¸öÊý£¬Ä¬ÈÏ1 ] def __init__(self): self.Clear() self.Cmd = 0xA6 self.SubCmd = 0x14 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 = 0xA6 self.SubCmd = 0x14 self.ZhenfaType = 0 self.ItemID = 0 self.ItemCount = 0 return def GetLength(self): return sizeof(tagCMFamilyZhenfaLVUP) def GetBuffer(self): return string_at(addressof(self), self.GetLength()) def OutputString(self): DumpString = '''// A6 14 ¼Ò×åÕó·¨Éý¼¶ //tagCMFamilyZhenfaLVUP: Cmd:%s, SubCmd:%s, ZhenfaType:%d, ItemID:%d, ItemCount:%d '''\ %( self.Cmd, self.SubCmd, self.ZhenfaType, self.ItemID, self.ItemCount ) return DumpString m_NAtagCMFamilyZhenfaLVUP=tagCMFamilyZhenfaLVUP() ChNetPackDict[eval("0x%02x%02x"%(m_NAtagCMFamilyZhenfaLVUP.Cmd,m_NAtagCMFamilyZhenfaLVUP.SubCmd))] = m_NAtagCMFamilyZhenfaLVUP #------------------------------------------------------ #A6 02 ÉêÇë¼ÓÈë¼Ò×å#tagCGRequesJoinFamily class tagCGRequesJoinFamily(Structure): _pack_ = 1 _fields_ = [ ("Cmd", c_ubyte), ("SubCmd", c_ubyte), ("Type", c_ubyte), #ÉêÇëÀàÐÍ ("AddFamilyID", c_int), #ÉêÇë¼ÓÈëµÄ¼Ò×å ] def __init__(self): self.Clear() self.Cmd = 0xA6 self.SubCmd = 0x02 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 = 0xA6 self.SubCmd = 0x02 self.Type = 0 self.AddFamilyID = 0 return def GetLength(self): return sizeof(tagCGRequesJoinFamily) def GetBuffer(self): return string_at(addressof(self), self.GetLength()) def OutputString(self): DumpString = '''//A6 02 ÉêÇë¼ÓÈë¼Ò×å//tagCGRequesJoinFamily: Cmd:%s, SubCmd:%s, Type:%d, AddFamilyID:%d '''\ %( self.Cmd, self.SubCmd, self.Type, self.AddFamilyID ) return DumpString m_NAtagCGRequesJoinFamily=tagCGRequesJoinFamily() ChNetPackDict[eval("0x%02x%02x"%(m_NAtagCGRequesJoinFamily.Cmd,m_NAtagCGRequesJoinFamily.SubCmd))] = m_NAtagCGRequesJoinFamily #------------------------------------------------------ #A6 01 ÏòÍæ¼ÒÉêÇë¼ÓÈë¼Ò×å #tagCGRequestJoinFamilyByPlayer class tagCGRequestJoinFamilyByPlayer(Structure): _pack_ = 1 _fields_ = [ ("Cmd", c_ubyte), ("SubCmd", c_ubyte), ("AddPlayerID", c_int), #ÉêÇë¼ÓÈëµÄÍæ¼ÒID ] def __init__(self): self.Clear() self.Cmd = 0xA6 self.SubCmd = 0x01 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 = 0xA6 self.SubCmd = 0x01 self.AddPlayerID = 0 return def GetLength(self): return sizeof(tagCGRequestJoinFamilyByPlayer) def GetBuffer(self): return string_at(addressof(self), self.GetLength()) def OutputString(self): DumpString = '''//A6 01 ÏòÍæ¼ÒÉêÇë¼ÓÈë¼Ò×å //tagCGRequestJoinFamilyByPlayer: Cmd:%s, SubCmd:%s, AddPlayerID:%d '''\ %( self.Cmd, self.SubCmd, self.AddPlayerID ) return DumpString m_NAtagCGRequestJoinFamilyByPlayer=tagCGRequestJoinFamilyByPlayer() ChNetPackDict[eval("0x%02x%02x"%(m_NAtagCGRequestJoinFamilyByPlayer.Cmd,m_NAtagCGRequestJoinFamilyByPlayer.SubCmd))] = m_NAtagCGRequestJoinFamilyByPlayer #------------------------------------------------------ # A6 08 ·¢¼Ò×åºì°ü #tagCMSendFamilyRedPacket class tagCMSendFamilyRedPacket(Structure): Head = tagHead() RedPacketID = 0 #(DWORD RedPacketID)// ºì°üID,ûÓз¢0 PacketCnt = 0 #(WORD PacketCnt)// ºì°üÊýÁ¿ MoneyNum = 0 #(WORD MoneyNum)//½ðÇ®ÊýÁ¿ Wish = "" #(char Wish[33])//×£¸£Óï IsAnonymous = 0 #(BYTE IsAnonymous)//ÊÇ·ñÄäÃû data = None def __init__(self): self.Clear() self.Head.Cmd = 0xA6 self.Head.SubCmd = 0x08 return def ReadData(self, _lpData, _pos=0, _Len=0): self.Clear() _pos = self.Head.ReadData(_lpData, _pos) self.RedPacketID,_pos = CommFunc.ReadDWORD(_lpData, _pos) self.PacketCnt,_pos = CommFunc.ReadWORD(_lpData, _pos) self.MoneyNum,_pos = CommFunc.ReadWORD(_lpData, _pos) self.Wish,_pos = CommFunc.ReadString(_lpData, _pos,33) self.IsAnonymous,_pos = CommFunc.ReadBYTE(_lpData, _pos) return _pos def Clear(self): self.Head = tagHead() self.Head.Clear() self.Head.Cmd = 0xA6 self.Head.SubCmd = 0x08 self.RedPacketID = 0 self.PacketCnt = 0 self.MoneyNum = 0 self.Wish = "" self.IsAnonymous = 0 return def GetLength(self): length = 0 length += self.Head.GetLength() length += 4 length += 2 length += 2 length += 33 length += 1 return length def GetBuffer(self): data = '' data = CommFunc.WriteString(data, self.Head.GetLength(), self.Head.GetBuffer()) data = CommFunc.WriteDWORD(data, self.RedPacketID) data = CommFunc.WriteWORD(data, self.PacketCnt) data = CommFunc.WriteWORD(data, self.MoneyNum) data = CommFunc.WriteString(data, 33, self.Wish) data = CommFunc.WriteBYTE(data, self.IsAnonymous) return data def OutputString(self): DumpString = ''' Head:%s, RedPacketID:%d, PacketCnt:%d, MoneyNum:%d, Wish:%s, IsAnonymous:%d '''\ %( self.Head.OutputString(), self.RedPacketID, self.PacketCnt, self.MoneyNum, self.Wish, self.IsAnonymous ) return DumpString m_NAtagCMSendFamilyRedPacket=tagCMSendFamilyRedPacket() ChNetPackDict[eval("0x%02x%02x"%(m_NAtagCMSendFamilyRedPacket.Head.Cmd,m_NAtagCMSendFamilyRedPacket.Head.SubCmd))] = m_NAtagCMSendFamilyRedPacket #------------------------------------------------------ # A6 07 ×ÔÉí¼Ò×å¿Æ¼¼µÈ¼¶ÌáÉý #tagCMFamilyTechLVUP class tagCMFamilyTechLVUP(Structure): _pack_ = 1 _fields_ = [ ("Cmd", c_ubyte), ("SubCmd", c_ubyte), ("TechID", c_int), # ¿Æ¼¼ID ] def __init__(self): self.Clear() self.Cmd = 0xA6 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 = 0xA6 self.SubCmd = 0x07 self.TechID = 0 return def GetLength(self): return sizeof(tagCMFamilyTechLVUP) def GetBuffer(self): return string_at(addressof(self), self.GetLength()) def OutputString(self): DumpString = '''// A6 07 ×ÔÉí¼Ò×å¿Æ¼¼µÈ¼¶ÌáÉý //tagCMFamilyTechLVUP: Cmd:%s, SubCmd:%s, TechID:%d '''\ %( self.Cmd, self.SubCmd, self.TechID ) return DumpString m_NAtagCMFamilyTechLVUP=tagCMFamilyTechLVUP() ChNetPackDict[eval("0x%02x%02x"%(m_NAtagCMFamilyTechLVUP.Cmd,m_NAtagCMFamilyTechLVUP.SubCmd))] = m_NAtagCMFamilyTechLVUP #------------------------------------------------------ # A6 16 Õ䱦¸ó²Ù×÷ #tagCMZhenbaogeOP class tagCMZhenbaogeOP(Structure): _pack_ = 1 _fields_ = [ ("Cmd", c_ubyte), ("SubCmd", c_ubyte), ("OpType", c_ubyte), # ²Ù×÷£º0-¿³¼Û£»1-¹ºÂò ] def __init__(self): self.Clear() self.Cmd = 0xA6 self.SubCmd = 0x16 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 = 0xA6 self.SubCmd = 0x16 self.OpType = 0 return def GetLength(self): return sizeof(tagCMZhenbaogeOP) def GetBuffer(self): return string_at(addressof(self), self.GetLength()) def OutputString(self): DumpString = '''// A6 16 Õ䱦¸ó²Ù×÷ //tagCMZhenbaogeOP: Cmd:%s, SubCmd:%s, OpType:%d '''\ %( self.Cmd, self.SubCmd, self.OpType ) return DumpString m_NAtagCMZhenbaogeOP=tagCMZhenbaogeOP() ChNetPackDict[eval("0x%02x%02x"%(m_NAtagCMZhenbaogeOP.Cmd,m_NAtagCMZhenbaogeOP.SubCmd))] = m_NAtagCMZhenbaogeOP #------------------------------------------------------ # A7 02 ³èÎD»î #tagCMActivatePet class tagCMActivatePet(Structure): _pack_ = 1 _fields_ = [ ("Cmd", c_ubyte), ("SubCmd", c_ubyte), ("PetNPCID", c_int), # ³èÎïNPCID ("IsUseGold", c_ubyte), # ÊÇ·ñʹÓÃ×êʯֱ½Ó¹ºÂò¼¤»î ] def __init__(self): self.Clear() self.Cmd = 0xA7 self.SubCmd = 0x02 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 = 0xA7 self.SubCmd = 0x02 self.PetNPCID = 0 self.IsUseGold = 0 return def GetLength(self): return sizeof(tagCMActivatePet) def GetBuffer(self): return string_at(addressof(self), self.GetLength()) def OutputString(self): DumpString = '''// A7 02 ³èÎD»î //tagCMActivatePet: Cmd:%s, SubCmd:%s, PetNPCID:%d, IsUseGold:%d '''\ %( self.Cmd, self.SubCmd, self.PetNPCID, self.IsUseGold ) return DumpString m_NAtagCMActivatePet=tagCMActivatePet() ChNetPackDict[eval("0x%02x%02x"%(m_NAtagCMActivatePet.Cmd,m_NAtagCMActivatePet.SubCmd))] = m_NAtagCMActivatePet #------------------------------------------------------ # A7 04 ³èÎïÉý½× #tagCMPetClassUP class tagCMPetClassUP(Structure): _pack_ = 1 _fields_ = [ ("Cmd", c_ubyte), ("SubCmd", c_ubyte), ("PetItemIndex", c_ubyte), #³èÎïÊý¾Ý±³°üË÷Òý ("UseItemCnt", c_ushort), #ÏûºÄ²ÄÁϸöÊý ] def __init__(self): self.Clear() self.Cmd = 0xA7 self.SubCmd = 0x04 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 = 0xA7 self.SubCmd = 0x04 self.PetItemIndex = 0 self.UseItemCnt = 0 return def GetLength(self): return sizeof(tagCMPetClassUP) def GetBuffer(self): return string_at(addressof(self), self.GetLength()) def OutputString(self): DumpString = '''// A7 04 ³èÎïÉý½× //tagCMPetClassUP: Cmd:%s, SubCmd:%s, PetItemIndex:%d, UseItemCnt:%d '''\ %( self.Cmd, self.SubCmd, self.PetItemIndex, self.UseItemCnt ) return DumpString m_NAtagCMPetClassUP=tagCMPetClassUP() ChNetPackDict[eval("0x%02x%02x"%(m_NAtagCMPetClassUP.Cmd,m_NAtagCMPetClassUP.SubCmd))] = m_NAtagCMPetClassUP #------------------------------------------------------ # A7 06 ³èÎïÉýÐÇ #tagCMPetStarUp class tagCMPetStarUp(Structure): _pack_ = 1 _fields_ = [ ("Cmd", c_ubyte), ("SubCmd", c_ubyte), ("PetItemIndex", c_ubyte), #³èÎïÊý¾Ý±³°üË÷Òý ] def __init__(self): self.Clear() self.Cmd = 0xA7 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 = 0xA7 self.SubCmd = 0x06 self.PetItemIndex = 0 return def GetLength(self): return sizeof(tagCMPetStarUp) def GetBuffer(self): return string_at(addressof(self), self.GetLength()) def OutputString(self): DumpString = '''// A7 06 ³èÎïÉýÐÇ //tagCMPetStarUp: Cmd:%s, SubCmd:%s, PetItemIndex:%d '''\ %( self.Cmd, self.SubCmd, self.PetItemIndex ) return DumpString m_NAtagCMPetStarUp=tagCMPetStarUp() ChNetPackDict[eval("0x%02x%02x"%(m_NAtagCMPetStarUp.Cmd,m_NAtagCMPetStarUp.SubCmd))] = m_NAtagCMPetStarUp #------------------------------------------------------ # A7 05 ³èÎïÅàÑø #tagCMPetTrain class tagCMPetTrain(Structure): _pack_ = 1 _fields_ = [ ("Cmd", c_ubyte), ("SubCmd", c_ubyte), ("TrainType", c_ubyte), #ÅàÑøÀàÐÍ£º 1-»ù´¡ÅàÑø£¬2-ÌØÊâÅàÑø£¬3-°Ù·Ö±ÈÅàÑø ("UseItemCnt", c_ushort), #ÏûºÄ²ÄÁϸöÊý ] def __init__(self): self.Clear() self.Cmd = 0xA7 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 = 0xA7 self.SubCmd = 0x05 self.TrainType = 0 self.UseItemCnt = 0 return def GetLength(self): return sizeof(tagCMPetTrain) def GetBuffer(self): return string_at(addressof(self), self.GetLength()) def OutputString(self): DumpString = '''// A7 05 ³èÎïÅàÑø //tagCMPetTrain: Cmd:%s, SubCmd:%s, TrainType:%d, UseItemCnt:%d '''\ %( self.Cmd, self.SubCmd, self.TrainType, self.UseItemCnt ) return DumpString m_NAtagCMPetTrain=tagCMPetTrain() ChNetPackDict[eval("0x%02x%02x"%(m_NAtagCMPetTrain.Cmd,m_NAtagCMPetTrain.SubCmd))] = m_NAtagCMPetTrain #------------------------------------------------------ # A8 04 ¹ºÂòVIPÀñ°ü #tagCMBuyVIPItem class tagCMBuyVIPItem(Structure): _pack_ = 1 _fields_ = [ ("Cmd", c_ubyte), ("SubCmd", c_ubyte), ("VIPLV", c_ubyte), # VIPµÈ¼¶ ] def __init__(self): self.Clear() self.Cmd = 0xA8 self.SubCmd = 0x04 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 = 0xA8 self.SubCmd = 0x04 self.VIPLV = 0 return def GetLength(self): return sizeof(tagCMBuyVIPItem) def GetBuffer(self): return string_at(addressof(self), self.GetLength()) def OutputString(self): DumpString = '''// A8 04 ¹ºÂòVIPÀñ°ü //tagCMBuyVIPItem: Cmd:%s, SubCmd:%s, VIPLV:%d '''\ %( self.Cmd, self.SubCmd, self.VIPLV ) return DumpString m_NAtagCMBuyVIPItem=tagCMBuyVIPItem() ChNetPackDict[eval("0x%02x%02x"%(m_NAtagCMBuyVIPItem.Cmd,m_NAtagCMBuyVIPItem.SubCmd))] = m_NAtagCMBuyVIPItem #------------------------------------------------------ #A8 01 ¹ºÂòVIPʱ¼ä #tagCMBuyVipLV class tagCMBuyVipLV(Structure): _pack_ = 1 _fields_ = [ ("Cmd", c_ubyte), ("SubCmd", c_ubyte), ("VipType", c_ubyte), # VIPʱ¼äÀàÐÍ ] def __init__(self): self.Clear() self.Cmd = 0xA8 self.SubCmd = 0x01 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 = 0xA8 self.SubCmd = 0x01 self.VipType = 0 return def GetLength(self): return sizeof(tagCMBuyVipLV) def GetBuffer(self): return string_at(addressof(self), self.GetLength()) def OutputString(self): DumpString = '''//A8 01 ¹ºÂòVIPʱ¼ä //tagCMBuyVipLV: Cmd:%s, SubCmd:%s, VipType:%d '''\ %( self.Cmd, self.SubCmd, self.VipType ) return DumpString m_NAtagCMBuyVipLV=tagCMBuyVipLV() ChNetPackDict[eval("0x%02x%02x"%(m_NAtagCMBuyVipLV.Cmd,m_NAtagCMBuyVipLV.SubCmd))] = m_NAtagCMBuyVipLV #------------------------------------------------------ # A8 03 ¿ªÍ¨¹ó×å #tagCMOpenNoble class tagCMOpenNoble(Structure): _pack_ = 1 _fields_ = [ ("Cmd", c_ubyte), ("SubCmd", c_ubyte), ("LV", c_ubyte), # ¹ó×åµÈ¼¶ ] def __init__(self): self.Clear() self.Cmd = 0xA8 self.SubCmd = 0x03 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 = 0xA8 self.SubCmd = 0x03 self.LV = 0 return def GetLength(self): return sizeof(tagCMOpenNoble) def GetBuffer(self): return string_at(addressof(self), self.GetLength()) def OutputString(self): DumpString = '''// A8 03 ¿ªÍ¨¹ó×å //tagCMOpenNoble: Cmd:%s, SubCmd:%s, LV:%d '''\ %( self.Cmd, self.SubCmd, self.LV ) return DumpString m_NAtagCMOpenNoble=tagCMOpenNoble() ChNetPackDict[eval("0x%02x%02x"%(m_NAtagCMOpenNoble.Cmd,m_NAtagCMOpenNoble.SubCmd))] = m_NAtagCMOpenNoble #------------------------------------------------------ # A8 06 ²éѯ³äÖµ½á¹û #tagCMQueryRecharge class tagCMQueryRecharge(Structure): _pack_ = 1 _fields_ = [ ("Cmd", c_ubyte), ("SubCmd", c_ubyte), ] def __init__(self): self.Clear() self.Cmd = 0xA8 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 = 0xA8 self.SubCmd = 0x06 return def GetLength(self): return sizeof(tagCMQueryRecharge) def GetBuffer(self): return string_at(addressof(self), self.GetLength()) def OutputString(self): DumpString = '''// A8 06 ²éѯ³äÖµ½á¹û //tagCMQueryRecharge: Cmd:%s, SubCmd:%s '''\ %( self.Cmd, self.SubCmd ) return DumpString m_NAtagCMQueryRecharge=tagCMQueryRecharge() ChNetPackDict[eval("0x%02x%02x"%(m_NAtagCMQueryRecharge.Cmd,m_NAtagCMQueryRecharge.SubCmd))] = m_NAtagCMQueryRecharge #------------------------------------------------------ # A8 05 VIPɱ¹ÖµÈ¼¶ÐÅϢͬ²½¿ª¹Ø #tagCMVIPKillNPCLVInfoSwitch class tagCMVIPKillNPCLVInfoSwitch(Structure): _pack_ = 1 _fields_ = [ ("Cmd", c_ubyte), ("SubCmd", c_ubyte), ("IsOn", c_ubyte), # ÊÇ·ñ¿ªÆôͬ²½ ] def __init__(self): self.Clear() self.Cmd = 0xA8 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 = 0xA8 self.SubCmd = 0x05 self.IsOn = 0 return def GetLength(self): return sizeof(tagCMVIPKillNPCLVInfoSwitch) def GetBuffer(self): return string_at(addressof(self), self.GetLength()) def OutputString(self): DumpString = '''// A8 05 VIPɱ¹ÖµÈ¼¶ÐÅϢͬ²½¿ª¹Ø //tagCMVIPKillNPCLVInfoSwitch: Cmd:%s, SubCmd:%s, IsOn:%d '''\ %( self.Cmd, self.SubCmd, self.IsOn ) return DumpString m_NAtagCMVIPKillNPCLVInfoSwitch=tagCMVIPKillNPCLVInfoSwitch() ChNetPackDict[eval("0x%02x%02x"%(m_NAtagCMVIPKillNPCLVInfoSwitch.Cmd,m_NAtagCMVIPKillNPCLVInfoSwitch.SubCmd))] = m_NAtagCMVIPKillNPCLVInfoSwitch #------------------------------------------------------ # AA 24 BossÀúÁ·Áì½± #tagCMActBossTrialGetAward class tagCMActBossTrialGetAward(Structure): _pack_ = 1 _fields_ = [ ("Cmd", c_ubyte), ("SubCmd", c_ubyte), ("ActNum", c_ubyte), #»î¶¯±àºÅ ("SubmitCount", c_ushort), #Áìȡƾ֤¸öÊý¶ÔÓ¦½±Àø ] def __init__(self): self.Clear() self.Cmd = 0xAA self.SubCmd = 0x24 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 = 0xAA self.SubCmd = 0x24 self.ActNum = 0 self.SubmitCount = 0 return def GetLength(self): return sizeof(tagCMActBossTrialGetAward) def GetBuffer(self): return string_at(addressof(self), self.GetLength()) def OutputString(self): DumpString = '''// AA 24 BossÀúÁ·Áì½± //tagCMActBossTrialGetAward: Cmd:%s, SubCmd:%s, ActNum:%d, SubmitCount:%d '''\ %( self.Cmd, self.SubCmd, self.ActNum, self.SubmitCount ) return DumpString m_NAtagCMActBossTrialGetAward=tagCMActBossTrialGetAward() ChNetPackDict[eval("0x%02x%02x"%(m_NAtagCMActBossTrialGetAward.Cmd,m_NAtagCMActBossTrialGetAward.SubCmd))] = m_NAtagCMActBossTrialGetAward #------------------------------------------------------ # AA 23 BossÀúÁ·Ìύƾ֤ #tagCMActBossTrialSubmit class tagCMActBossTrialSubmit(Structure): _pack_ = 1 _fields_ = [ ("Cmd", c_ubyte), ("SubCmd", c_ubyte), ("ActNum", c_ubyte), #»î¶¯±àºÅ ("SubmitCount", c_ushort), #Ìύƾ֤¸öÊý ] def __init__(self): self.Clear() self.Cmd = 0xAA self.SubCmd = 0x23 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 = 0xAA self.SubCmd = 0x23 self.ActNum = 0 self.SubmitCount = 0 return def GetLength(self): return sizeof(tagCMActBossTrialSubmit) def GetBuffer(self): return string_at(addressof(self), self.GetLength()) def OutputString(self): DumpString = '''// AA 23 BossÀúÁ·Ìύƾ֤ //tagCMActBossTrialSubmit: Cmd:%s, SubCmd:%s, ActNum:%d, SubmitCount:%d '''\ %( self.Cmd, self.SubCmd, self.ActNum, self.SubmitCount ) return DumpString m_NAtagCMActBossTrialSubmit=tagCMActBossTrialSubmit() ChNetPackDict[eval("0x%02x%02x"%(m_NAtagCMActBossTrialSubmit.Cmd,m_NAtagCMActBossTrialSubmit.SubCmd))] = m_NAtagCMActBossTrialSubmit #------------------------------------------------------ # AA 09 ¼¯×ֻ¶Ò»» #tagCMActCollectWordsExchange class tagCMActCollectWordsExchange(Structure): _pack_ = 1 _fields_ = [ ("Cmd", c_ubyte), ("SubCmd", c_ubyte), ("ActNum", c_ubyte), #»î¶¯±àºÅ£¬1 »ò 2£¬Ï໥¶ÀÁ¢µÄ»î¶¯£¬¿Éͬʱ¿ªÆô ("ExchangeNum", c_ubyte), #¶Ò»»±àºÅ ] def __init__(self): self.Clear() self.Cmd = 0xAA self.SubCmd = 0x09 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 = 0xAA self.SubCmd = 0x09 self.ActNum = 0 self.ExchangeNum = 0 return def GetLength(self): return sizeof(tagCMActCollectWordsExchange) def GetBuffer(self): return string_at(addressof(self), self.GetLength()) def OutputString(self): DumpString = '''// AA 09 ¼¯×ֻ¶Ò»» //tagCMActCollectWordsExchange: Cmd:%s, SubCmd:%s, ActNum:%d, ExchangeNum:%d '''\ %( self.Cmd, self.SubCmd, self.ActNum, self.ExchangeNum ) return DumpString m_NAtagCMActCollectWordsExchange=tagCMActCollectWordsExchange() ChNetPackDict[eval("0x%02x%02x"%(m_NAtagCMActCollectWordsExchange.Cmd,m_NAtagCMActCollectWordsExchange.SubCmd))] = m_NAtagCMActCollectWordsExchange #------------------------------------------------------ # AA 15 À¬»ø·ÖÀà»î¶¯ÊÕ¼¯ÒÑÍê³ÉµÄÈÎÎñÀ¬»ø #tagCMActGarbageGetTaskAward class tagCMActGarbageGetTaskAward(Structure): _pack_ = 1 _fields_ = [ ("Cmd", c_ubyte), ("SubCmd", c_ubyte), ("ActNum", c_ubyte), #»î¶¯±àºÅ ("GarbageTaskID", c_ubyte), #À¬»øÈÎÎñID ] def __init__(self): self.Clear() self.Cmd = 0xAA self.SubCmd = 0x15 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 = 0xAA self.SubCmd = 0x15 self.ActNum = 0 self.GarbageTaskID = 0 return def GetLength(self): return sizeof(tagCMActGarbageGetTaskAward) def GetBuffer(self): return string_at(addressof(self), self.GetLength()) def OutputString(self): DumpString = '''// AA 15 À¬»ø·ÖÀà»î¶¯ÊÕ¼¯ÒÑÍê³ÉµÄÈÎÎñÀ¬»ø //tagCMActGarbageGetTaskAward: Cmd:%s, SubCmd:%s, ActNum:%d, GarbageTaskID:%d '''\ %( self.Cmd, self.SubCmd, self.ActNum, self.GarbageTaskID ) return DumpString m_NAtagCMActGarbageGetTaskAward=tagCMActGarbageGetTaskAward() ChNetPackDict[eval("0x%02x%02x"%(m_NAtagCMActGarbageGetTaskAward.Cmd,m_NAtagCMActGarbageGetTaskAward.SubCmd))] = m_NAtagCMActGarbageGetTaskAward #------------------------------------------------------ # AA 14 À¬»ø·ÖÀà»î¶¯·ÖÀàÀ¬»ø #tagCMActGarbageSorting class tagCMActGarbageSorting(Structure): Head = tagHead() ActNum = 0 #(BYTE ActNum)//»î¶¯±àºÅ GarbageSortingType = 0 #(BYTE GarbageSortingType)//À¬»ø·ÖÀàÀàÐÍ£¬¼´ÊôÓÚÄÄÖÖÀ¬»ø ItemIndexCount = 0 #(BYTE ItemIndexCount)//À¬»ø±³°üÖеÄÎïÆ·Ë÷ÒýÊý ItemIndexList = list() #(vector ItemIndexList)//À¬»ø±³°üÖеÄÎïÆ·Ë÷ÒýÁбí data = None def __init__(self): self.Clear() self.Head.Cmd = 0xAA self.Head.SubCmd = 0x14 return def ReadData(self, _lpData, _pos=0, _Len=0): self.Clear() _pos = self.Head.ReadData(_lpData, _pos) self.ActNum,_pos = CommFunc.ReadBYTE(_lpData, _pos) self.GarbageSortingType,_pos = CommFunc.ReadBYTE(_lpData, _pos) self.ItemIndexCount,_pos = CommFunc.ReadBYTE(_lpData, _pos) for i in range(self.ItemIndexCount): value,_pos=CommFunc.ReadBYTE(_lpData,_pos) self.ItemIndexList.append(value) return _pos def Clear(self): self.Head = tagHead() self.Head.Clear() self.Head.Cmd = 0xAA self.Head.SubCmd = 0x14 self.ActNum = 0 self.GarbageSortingType = 0 self.ItemIndexCount = 0 self.ItemIndexList = list() return def GetLength(self): length = 0 length += self.Head.GetLength() length += 1 length += 1 length += 1 length += 1 * self.ItemIndexCount return length def GetBuffer(self): data = '' data = CommFunc.WriteString(data, self.Head.GetLength(), self.Head.GetBuffer()) data = CommFunc.WriteBYTE(data, self.ActNum) data = CommFunc.WriteBYTE(data, self.GarbageSortingType) data = CommFunc.WriteBYTE(data, self.ItemIndexCount) for i in range(self.ItemIndexCount): data = CommFunc.WriteBYTE(data, self.ItemIndexList[i]) return data def OutputString(self): DumpString = ''' Head:%s, ActNum:%d, GarbageSortingType:%d, ItemIndexCount:%d, ItemIndexList:%s '''\ %( self.Head.OutputString(), self.ActNum, self.GarbageSortingType, self.ItemIndexCount, "..." ) return DumpString m_NAtagCMActGarbageSorting=tagCMActGarbageSorting() ChNetPackDict[eval("0x%02x%02x"%(m_NAtagCMActGarbageSorting.Head.Cmd,m_NAtagCMActGarbageSorting.Head.SubCmd))] = m_NAtagCMActGarbageSorting #------------------------------------------------------ # AA 20 ÌìµÛÀñ°üÑ¡ÔñÎïÆ· #tagCMActGodGiftChooseItem class tagCMActGodGiftChooseItemInfo(Structure): ItemLibType = 0 #(BYTE ItemLibType)//ÎïÆ·¿âÀàÐÍ Count = 0 #(BYTE Count)//Ñ¡Ôñ¸öÊý ItemNumList = list() #(vector ItemNumList)//Ñ¡ÔñÎïÆ·±àºÅÁбí data = None def __init__(self): self.Clear() return def ReadData(self, _lpData, _pos=0, _Len=0): self.Clear() self.ItemLibType,_pos = CommFunc.ReadBYTE(_lpData, _pos) self.Count,_pos = CommFunc.ReadBYTE(_lpData, _pos) for i in range(self.Count): value,_pos=CommFunc.ReadBYTE(_lpData,_pos) self.ItemNumList.append(value) return _pos def Clear(self): self.ItemLibType = 0 self.Count = 0 self.ItemNumList = list() return def GetLength(self): length = 0 length += 1 length += 1 length += 1 * self.Count return length def GetBuffer(self): data = '' data = CommFunc.WriteBYTE(data, self.ItemLibType) data = CommFunc.WriteBYTE(data, self.Count) for i in range(self.Count): data = CommFunc.WriteBYTE(data, self.ItemNumList[i]) return data def OutputString(self): DumpString = ''' ItemLibType:%d, Count:%d, ItemNumList:%s '''\ %( self.ItemLibType, self.Count, "..." ) return DumpString class tagCMActGodGiftChooseItem(Structure): Head = tagHead() ActNum = 0 #(BYTE ActNum)//»î¶¯±àºÅ ChooseLibCount = 0 #(BYTE ChooseLibCount)//Ñ¡Ôñ¿â¸öÊý ChooseItemList = list() #(vector ChooseItemList)//Ñ¡Ôñ¿âÎïÆ·ÐÅÏ¢Áбí data = None def __init__(self): self.Clear() self.Head.Cmd = 0xAA self.Head.SubCmd = 0x20 return def ReadData(self, _lpData, _pos=0, _Len=0): self.Clear() _pos = self.Head.ReadData(_lpData, _pos) self.ActNum,_pos = CommFunc.ReadBYTE(_lpData, _pos) self.ChooseLibCount,_pos = CommFunc.ReadBYTE(_lpData, _pos) for i in range(self.ChooseLibCount): temChooseItemList = tagCMActGodGiftChooseItemInfo() _pos = temChooseItemList.ReadData(_lpData, _pos) self.ChooseItemList.append(temChooseItemList) return _pos def Clear(self): self.Head = tagHead() self.Head.Clear() self.Head.Cmd = 0xAA self.Head.SubCmd = 0x20 self.ActNum = 0 self.ChooseLibCount = 0 self.ChooseItemList = list() return def GetLength(self): length = 0 length += self.Head.GetLength() length += 1 length += 1 for i in range(self.ChooseLibCount): length += self.ChooseItemList[i].GetLength() return length def GetBuffer(self): data = '' data = CommFunc.WriteString(data, self.Head.GetLength(), self.Head.GetBuffer()) data = CommFunc.WriteBYTE(data, self.ActNum) data = CommFunc.WriteBYTE(data, self.ChooseLibCount) for i in range(self.ChooseLibCount): data = CommFunc.WriteString(data, self.ChooseItemList[i].GetLength(), self.ChooseItemList[i].GetBuffer()) return data def OutputString(self): DumpString = ''' Head:%s, ActNum:%d, ChooseLibCount:%d, ChooseItemList:%s '''\ %( self.Head.OutputString(), self.ActNum, self.ChooseLibCount, "..." ) return DumpString m_NAtagCMActGodGiftChooseItem=tagCMActGodGiftChooseItem() ChNetPackDict[eval("0x%02x%02x"%(m_NAtagCMActGodGiftChooseItem.Head.Cmd,m_NAtagCMActGodGiftChooseItem.Head.SubCmd))] = m_NAtagCMActGodGiftChooseItem #------------------------------------------------------ # AA 21 ÌìµÛÀñ°ü³é½± #tagCMActGodGiftlottery class tagCMActGodGiftlottery(Structure): _pack_ = 1 _fields_ = [ ("Cmd", c_ubyte), ("SubCmd", c_ubyte), ("ActNum", c_ubyte), #»î¶¯±àºÅ ] def __init__(self): self.Clear() self.Cmd = 0xAA self.SubCmd = 0x21 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 = 0xAA self.SubCmd = 0x21 self.ActNum = 0 return def GetLength(self): return sizeof(tagCMActGodGiftlottery) def GetBuffer(self): return string_at(addressof(self), self.GetLength()) def OutputString(self): DumpString = '''// AA 21 ÌìµÛÀñ°ü³é½± //tagCMActGodGiftlottery: Cmd:%s, SubCmd:%s, ActNum:%d '''\ %( self.Cmd, self.SubCmd, self.ActNum ) return DumpString m_NAtagCMActGodGiftlottery=tagCMActGodGiftlottery() ChNetPackDict[eval("0x%02x%02x"%(m_NAtagCMActGodGiftlottery.Cmd,m_NAtagCMActGodGiftlottery.SubCmd))] = m_NAtagCMActGodGiftlottery #------------------------------------------------------ # AA 22 ÌìµÛÀñ°üÖØÖà #tagCMActGodGiftReset class tagCMActGodGiftReset(Structure): _pack_ = 1 _fields_ = [ ("Cmd", c_ubyte), ("SubCmd", c_ubyte), ("ActNum", c_ubyte), #»î¶¯±àºÅ ] def __init__(self): self.Clear() self.Cmd = 0xAA self.SubCmd = 0x22 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 = 0xAA self.SubCmd = 0x22 self.ActNum = 0 return def GetLength(self): return sizeof(tagCMActGodGiftReset) def GetBuffer(self): return string_at(addressof(self), self.GetLength()) def OutputString(self): DumpString = '''// AA 22 ÌìµÛÀñ°üÖØÖà //tagCMActGodGiftReset: Cmd:%s, SubCmd:%s, ActNum:%d '''\ %( self.Cmd, self.SubCmd, self.ActNum ) return DumpString m_NAtagCMActGodGiftReset=tagCMActGodGiftReset() ChNetPackDict[eval("0x%02x%02x"%(m_NAtagCMActGodGiftReset.Cmd,m_NAtagCMActGodGiftReset.SubCmd))] = m_NAtagCMActGodGiftReset #------------------------------------------------------ # AA 12 Ñ¡ÔñתÅ̻ÎïÆ· #tagCMActTurntableChooseItem class tagCMActTurntableChooseItem(Structure): Head = tagHead() ActNum = 0 #(BYTE ActNum)// »î¶¯±àºÅ GoodItemNumCount = 0 #(BYTE GoodItemNumCount) GoodItemNumList = list() #(vector GoodItemNumList)// Ñ¡ÔñµÄ¼«Æ·ÎïÆ·±àºÅÁбí SuperItemNumCount = 0 #(BYTE SuperItemNumCount) SuperItemNumList = list() #(vector SuperItemNumList)// Ñ¡ÔñµÄÖÕ¼«ÎïÆ·±àºÅÁбí data = None def __init__(self): self.Clear() self.Head.Cmd = 0xAA self.Head.SubCmd = 0x12 return def ReadData(self, _lpData, _pos=0, _Len=0): self.Clear() _pos = self.Head.ReadData(_lpData, _pos) self.ActNum,_pos = CommFunc.ReadBYTE(_lpData, _pos) self.GoodItemNumCount,_pos = CommFunc.ReadBYTE(_lpData, _pos) for i in range(self.GoodItemNumCount): value,_pos=CommFunc.ReadBYTE(_lpData,_pos) self.GoodItemNumList.append(value) self.SuperItemNumCount,_pos = CommFunc.ReadBYTE(_lpData, _pos) for i in range(self.SuperItemNumCount): value,_pos=CommFunc.ReadBYTE(_lpData,_pos) self.SuperItemNumList.append(value) return _pos def Clear(self): self.Head = tagHead() self.Head.Clear() self.Head.Cmd = 0xAA self.Head.SubCmd = 0x12 self.ActNum = 0 self.GoodItemNumCount = 0 self.GoodItemNumList = list() self.SuperItemNumCount = 0 self.SuperItemNumList = list() return def GetLength(self): length = 0 length += self.Head.GetLength() length += 1 length += 1 length += 1 * self.GoodItemNumCount length += 1 length += 1 * self.SuperItemNumCount return length def GetBuffer(self): data = '' data = CommFunc.WriteString(data, self.Head.GetLength(), self.Head.GetBuffer()) data = CommFunc.WriteBYTE(data, self.ActNum) data = CommFunc.WriteBYTE(data, self.GoodItemNumCount) for i in range(self.GoodItemNumCount): data = CommFunc.WriteBYTE(data, self.GoodItemNumList[i]) data = CommFunc.WriteBYTE(data, self.SuperItemNumCount) for i in range(self.SuperItemNumCount): data = CommFunc.WriteBYTE(data, self.SuperItemNumList[i]) return data def OutputString(self): DumpString = ''' Head:%s, ActNum:%d, GoodItemNumCount:%d, GoodItemNumList:%s, SuperItemNumCount:%d, SuperItemNumList:%s '''\ %( self.Head.OutputString(), self.ActNum, self.GoodItemNumCount, "...", self.SuperItemNumCount, "..." ) return DumpString m_NAtagCMActTurntableChooseItem=tagCMActTurntableChooseItem() ChNetPackDict[eval("0x%02x%02x"%(m_NAtagCMActTurntableChooseItem.Head.Cmd,m_NAtagCMActTurntableChooseItem.Head.SubCmd))] = m_NAtagCMActTurntableChooseItem #------------------------------------------------------ # AA 13 Æô¶¯×ªÅÌ #tagCMActTurntableStart class tagCMActTurntableStart(Structure): _pack_ = 1 _fields_ = [ ("Cmd", c_ubyte), ("SubCmd", c_ubyte), ("ActNum", c_ubyte), # »î¶¯±àºÅ ] def __init__(self): self.Clear() self.Cmd = 0xAA self.SubCmd = 0x13 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 = 0xAA self.SubCmd = 0x13 self.ActNum = 0 return def GetLength(self): return sizeof(tagCMActTurntableStart) def GetBuffer(self): return string_at(addressof(self), self.GetLength()) def OutputString(self): DumpString = '''// AA 13 Æô¶¯×ªÅÌ //tagCMActTurntableStart: Cmd:%s, SubCmd:%s, ActNum:%d '''\ %( self.Cmd, self.SubCmd, self.ActNum ) return DumpString m_NAtagCMActTurntableStart=tagCMActTurntableStart() ChNetPackDict[eval("0x%02x%02x"%(m_NAtagCMActTurntableStart.Cmd,m_NAtagCMActTurntableStart.SubCmd))] = m_NAtagCMActTurntableStart #------------------------------------------------------ # AA 07 ÐíÔ¸³Ø»î¶¯Ë¢Ð½±³Ø #tagCMActWishingRefresh class tagCMActWishingRefresh(Structure): _pack_ = 1 _fields_ = [ ("Cmd", c_ubyte), ("SubCmd", c_ubyte), ("IsFree", c_ubyte), # ÊÇ·ñÃâ·ÑˢР] def __init__(self): self.Clear() self.Cmd = 0xAA 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 = 0xAA self.SubCmd = 0x07 self.IsFree = 0 return def GetLength(self): return sizeof(tagCMActWishingRefresh) def GetBuffer(self): return string_at(addressof(self), self.GetLength()) def OutputString(self): DumpString = '''// AA 07 ÐíÔ¸³Ø»î¶¯Ë¢Ð½±³Ø //tagCMActWishingRefresh: Cmd:%s, SubCmd:%s, IsFree:%d '''\ %( self.Cmd, self.SubCmd, self.IsFree ) return DumpString m_NAtagCMActWishingRefresh=tagCMActWishingRefresh() ChNetPackDict[eval("0x%02x%02x"%(m_NAtagCMActWishingRefresh.Cmd,m_NAtagCMActWishingRefresh.SubCmd))] = m_NAtagCMActWishingRefresh #------------------------------------------------------ # AA 18 ÏÉÏ»ÃØ¾³»î¶¯½±³ØË¢Ð #tagCMActXianXiaMJAwardPoolRefresh class tagCMActXianXiaMJAwardPoolRefresh(Structure): _pack_ = 1 _fields_ = [ ("Cmd", c_ubyte), ("SubCmd", c_ubyte), ("ActNum", c_ubyte), #»î¶¯±àºÅ ] def __init__(self): self.Clear() self.Cmd = 0xAA self.SubCmd = 0x18 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 = 0xAA self.SubCmd = 0x18 self.ActNum = 0 return def GetLength(self): return sizeof(tagCMActXianXiaMJAwardPoolRefresh) def GetBuffer(self): return string_at(addressof(self), self.GetLength()) def OutputString(self): DumpString = '''// AA 18 ÏÉÏ»ÃØ¾³»î¶¯½±³ØË¢Ð //tagCMActXianXiaMJAwardPoolRefresh: Cmd:%s, SubCmd:%s, ActNum:%d '''\ %( self.Cmd, self.SubCmd, self.ActNum ) return DumpString m_NAtagCMActXianXiaMJAwardPoolRefresh=tagCMActXianXiaMJAwardPoolRefresh() ChNetPackDict[eval("0x%02x%02x"%(m_NAtagCMActXianXiaMJAwardPoolRefresh.Cmd,m_NAtagCMActXianXiaMJAwardPoolRefresh.SubCmd))] = m_NAtagCMActXianXiaMJAwardPoolRefresh #------------------------------------------------------ # AA 17 ÏÉÏ»ÃØ¾³»î¶¯³é½± #tagCMActXianXiaMJLottery class tagCMActXianXiaMJLottery(Structure): _pack_ = 1 _fields_ = [ ("Cmd", c_ubyte), ("SubCmd", c_ubyte), ("ActNum", c_ubyte), #»î¶¯±àºÅ ("PosNum", c_ubyte), #Íæ¼Òµã»÷µÄ½±ÀøÎ»ÖñàºÅ£¬´Ó1¿ªÊ¼ ] def __init__(self): self.Clear() self.Cmd = 0xAA self.SubCmd = 0x17 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 = 0xAA self.SubCmd = 0x17 self.ActNum = 0 self.PosNum = 0 return def GetLength(self): return sizeof(tagCMActXianXiaMJLottery) def GetBuffer(self): return string_at(addressof(self), self.GetLength()) def OutputString(self): DumpString = '''// AA 17 ÏÉÏ»ÃØ¾³»î¶¯³é½± //tagCMActXianXiaMJLottery: Cmd:%s, SubCmd:%s, ActNum:%d, PosNum:%d '''\ %( self.Cmd, self.SubCmd, self.ActNum, self.PosNum ) return DumpString m_NAtagCMActXianXiaMJLottery=tagCMActXianXiaMJLottery() ChNetPackDict[eval("0x%02x%02x"%(m_NAtagCMActXianXiaMJLottery.Cmd,m_NAtagCMActXianXiaMJLottery.SubCmd))] = m_NAtagCMActXianXiaMJLottery #------------------------------------------------------ # AA 16 ÏÉÏ»ÃØ¾³»î¶¯Ñ¡Ôñ´ó½± #tagCMActXianXiaMJSuperItem class tagCMActXianXiaMJSuperItem(Structure): Head = tagHead() ActNum = 0 #(BYTE ActNum)//»î¶¯±àºÅ SuperItemCount = 0 #(BYTE SuperItemCount)//Ñ¡ÔñÎïÆ·ÊýÁ¿ SuperItemIDList = list() #(vector SuperItemIDList)//Ñ¡ÔñµÄ´ó½±¿âÎïÆ·IDÁÐ±í£¬Ã¿´ÎÖØÐÂÑ¡ÔñÐèÒª·¢ËÍÈ«²¿ÒÑÑ¡ÔñµÄ´ó½±ÎïÆ·ID£¬²»ÄÜÖ»·¢µ¥¸öÎïÆ·ID; data = None def __init__(self): self.Clear() self.Head.Cmd = 0xAA self.Head.SubCmd = 0x16 return def ReadData(self, _lpData, _pos=0, _Len=0): self.Clear() _pos = self.Head.ReadData(_lpData, _pos) self.ActNum,_pos = CommFunc.ReadBYTE(_lpData, _pos) self.SuperItemCount,_pos = CommFunc.ReadBYTE(_lpData, _pos) for i in range(self.SuperItemCount): value,_pos=CommFunc.ReadDWORD(_lpData,_pos) self.SuperItemIDList.append(value) return _pos def Clear(self): self.Head = tagHead() self.Head.Clear() self.Head.Cmd = 0xAA self.Head.SubCmd = 0x16 self.ActNum = 0 self.SuperItemCount = 0 self.SuperItemIDList = list() return def GetLength(self): length = 0 length += self.Head.GetLength() length += 1 length += 1 length += 4 * self.SuperItemCount return length def GetBuffer(self): data = '' data = CommFunc.WriteString(data, self.Head.GetLength(), self.Head.GetBuffer()) data = CommFunc.WriteBYTE(data, self.ActNum) data = CommFunc.WriteBYTE(data, self.SuperItemCount) for i in range(self.SuperItemCount): data = CommFunc.WriteDWORD(data, self.SuperItemIDList[i]) return data def OutputString(self): DumpString = ''' Head:%s, ActNum:%d, SuperItemCount:%d, SuperItemIDList:%s '''\ %( self.Head.OutputString(), self.ActNum, self.SuperItemCount, "..." ) return DumpString m_NAtagCMActXianXiaMJSuperItem=tagCMActXianXiaMJSuperItem() ChNetPackDict[eval("0x%02x%02x"%(m_NAtagCMActXianXiaMJSuperItem.Head.Cmd,m_NAtagCMActXianXiaMJSuperItem.Head.SubCmd))] = m_NAtagCMActXianXiaMJSuperItem #------------------------------------------------------ # AA 06 ÐíÔ¸³Ø»î¶¯ÐíÔ¸ #tagCMActWishing class tagCMActWishing(Structure): _pack_ = 1 _fields_ = [ ("Cmd", c_ubyte), ("SubCmd", c_ubyte), ("SrcWellType", c_ubyte), # À´Ô´¿â 0-¿ÉÑ¡¿â 1-½á¹û¿â ("SrcIndex", c_ubyte), # À´Ô´Ë÷Òý ("DesWellType", c_ubyte), # Ä¿±ê¿â 0-¿ÉÑ¡¿â 1-½á¹û¿â ("DesIndex", c_ubyte), # Ä¿±êË÷Òý ] def __init__(self): self.Clear() self.Cmd = 0xAA 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 = 0xAA self.SubCmd = 0x06 self.SrcWellType = 0 self.SrcIndex = 0 self.DesWellType = 0 self.DesIndex = 0 return def GetLength(self): return sizeof(tagCMActWishing) def GetBuffer(self): return string_at(addressof(self), self.GetLength()) def OutputString(self): DumpString = '''// AA 06 ÐíÔ¸³Ø»î¶¯ÐíÔ¸ //tagCMActWishing: Cmd:%s, SubCmd:%s, SrcWellType:%d, SrcIndex:%d, DesWellType:%d, DesIndex:%d '''\ %( self.Cmd, self.SubCmd, self.SrcWellType, self.SrcIndex, self.DesWellType, self.DesIndex ) return DumpString m_NAtagCMActWishing=tagCMActWishing() ChNetPackDict[eval("0x%02x%02x"%(m_NAtagCMActWishing.Cmd,m_NAtagCMActWishing.SubCmd))] = m_NAtagCMActWishing #------------------------------------------------------ # AA 10 ½ÚÈÕ×£¸£Æ¿Ñ¡Ôñ½±ÀøÎïÆ· #tagCMFeastWishBottleChooseItem class tagCMFeastWishBottleChooseItem(Structure): _pack_ = 1 _fields_ = [ ("Cmd", c_ubyte), ("SubCmd", c_ubyte), ("BottleNum", c_ubyte), #Æ¿×Ó±àºÅ ("RecordIndex", c_ubyte), #ÎïÆ·Ë÷Òý£¬ÓÃÓÚÑ¡Ôñ¼°¼Ç¼ÊÇ·ñÒÑÑ¡Ôñ ] def __init__(self): self.Clear() self.Cmd = 0xAA self.SubCmd = 0x10 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 = 0xAA self.SubCmd = 0x10 self.BottleNum = 0 self.RecordIndex = 0 return def GetLength(self): return sizeof(tagCMFeastWishBottleChooseItem) def GetBuffer(self): return string_at(addressof(self), self.GetLength()) def OutputString(self): DumpString = '''// AA 10 ½ÚÈÕ×£¸£Æ¿Ñ¡Ôñ½±ÀøÎïÆ· //tagCMFeastWishBottleChooseItem: Cmd:%s, SubCmd:%s, BottleNum:%d, RecordIndex:%d '''\ %( self.Cmd, self.SubCmd, self.BottleNum, self.RecordIndex ) return DumpString m_NAtagCMFeastWishBottleChooseItem=tagCMFeastWishBottleChooseItem() ChNetPackDict[eval("0x%02x%02x"%(m_NAtagCMFeastWishBottleChooseItem.Cmd,m_NAtagCMFeastWishBottleChooseItem.SubCmd))] = m_NAtagCMFeastWishBottleChooseItem #------------------------------------------------------ # AA 11 ½ÚÈÕ×£¸£³Ø×£¸£ #tagCMFeastWishPoolWish class tagCMFeastWishPoolWish(Structure): _pack_ = 1 _fields_ = [ ("Cmd", c_ubyte), ("SubCmd", c_ubyte), ("WishCount", c_ubyte), #×£¸£´ÎÊý ] def __init__(self): self.Clear() self.Cmd = 0xAA self.SubCmd = 0x11 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 = 0xAA self.SubCmd = 0x11 self.WishCount = 0 return def GetLength(self): return sizeof(tagCMFeastWishPoolWish) def GetBuffer(self): return string_at(addressof(self), self.GetLength()) def OutputString(self): DumpString = '''// AA 11 ½ÚÈÕ×£¸£³Ø×£¸£ //tagCMFeastWishPoolWish: Cmd:%s, SubCmd:%s, WishCount:%d '''\ %( self.Cmd, self.SubCmd, self.WishCount ) return DumpString m_NAtagCMFeastWishPoolWish=tagCMFeastWishPoolWish() ChNetPackDict[eval("0x%02x%02x"%(m_NAtagCMFeastWishPoolWish.Cmd,m_NAtagCMFeastWishPoolWish.SubCmd))] = m_NAtagCMFeastWishPoolWish #------------------------------------------------------ # AA 05 ÏÞʱÇÀ¹ºÔ¤Ô¼ #tagCMFlashSaleAppointment class tagCMFlashSaleAppointment(Structure): _pack_ = 1 _fields_ = [ ("Cmd", c_ubyte), ("SubCmd", c_ubyte), ("ActNum", c_ubyte), #»î¶¯±àºÅ ("GoodsID", c_int), # ÇÀ¹ºÉÌÆ·±êʶ ("State", c_ubyte), # 1-Ô¤Ô¼ 0-È¡Ïû ] def __init__(self): self.Clear() self.Cmd = 0xAA 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 = 0xAA self.SubCmd = 0x05 self.ActNum = 0 self.GoodsID = 0 self.State = 0 return def GetLength(self): return sizeof(tagCMFlashSaleAppointment) def GetBuffer(self): return string_at(addressof(self), self.GetLength()) def OutputString(self): DumpString = '''// AA 05 ÏÞʱÇÀ¹ºÔ¤Ô¼ //tagCMFlashSaleAppointment: Cmd:%s, SubCmd:%s, ActNum:%d, GoodsID:%d, State:%d '''\ %( self.Cmd, self.SubCmd, self.ActNum, self.GoodsID, self.State ) return DumpString m_NAtagCMFlashSaleAppointment=tagCMFlashSaleAppointment() ChNetPackDict[eval("0x%02x%02x"%(m_NAtagCMFlashSaleAppointment.Cmd,m_NAtagCMFlashSaleAppointment.SubCmd))] = m_NAtagCMFlashSaleAppointment #------------------------------------------------------ #AA 01 ÁìÈ¡ÀۼƵǽÀñ # tagCMGetTotalLoginDayAward class tagCMGetTotalLoginDayAward(Structure): _pack_ = 1 _fields_ = [ ("Cmd", c_ubyte), ("SubCmd", c_ubyte), ("Index", c_ubyte), # ÁìÈ¡ÀñÎï ] def __init__(self): self.Clear() self.Cmd = 0xAA self.SubCmd = 0x01 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 = 0xAA self.SubCmd = 0x01 self.Index = 0 return def GetLength(self): return sizeof(tagCMGetTotalLoginDayAward) def GetBuffer(self): return string_at(addressof(self), self.GetLength()) def OutputString(self): DumpString = '''//AA 01 ÁìÈ¡ÀۼƵǽÀñ // tagCMGetTotalLoginDayAward: Cmd:%s, SubCmd:%s, Index:%d '''\ %( self.Cmd, self.SubCmd, self.Index ) return DumpString m_NAtagCMGetTotalLoginDayAward=tagCMGetTotalLoginDayAward() ChNetPackDict[eval("0x%02x%02x"%(m_NAtagCMGetTotalLoginDayAward.Cmd,m_NAtagCMGetTotalLoginDayAward.SubCmd))] = m_NAtagCMGetTotalLoginDayAward #------------------------------------------------------ # AA 08 ¿ªÊ¼ÐÒÔ˼ø±¦ #tagCMStartLuckyTreasure class tagCMStartLuckyTreasure(Structure): _pack_ = 1 _fields_ = [ ("Cmd", c_ubyte), ("SubCmd", c_ubyte), ] def __init__(self): self.Clear() self.Cmd = 0xAA self.SubCmd = 0x08 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 = 0xAA self.SubCmd = 0x08 return def GetLength(self): return sizeof(tagCMStartLuckyTreasure) def GetBuffer(self): return string_at(addressof(self), self.GetLength()) def OutputString(self): DumpString = '''// AA 08 ¿ªÊ¼ÐÒÔ˼ø±¦ //tagCMStartLuckyTreasure: Cmd:%s, SubCmd:%s '''\ %( self.Cmd, self.SubCmd ) return DumpString m_NAtagCMStartLuckyTreasure=tagCMStartLuckyTreasure() ChNetPackDict[eval("0x%02x%02x"%(m_NAtagCMStartLuckyTreasure.Cmd,m_NAtagCMStartLuckyTreasure.SubCmd))] = m_NAtagCMStartLuckyTreasure #------------------------------------------------------ # AB 0B ¹ºÂòÌìÉñ¾­Ñé #tagCMBuySkyGodExp class tagCMBuySkyGodExp(Structure): _pack_ = 1 _fields_ = [ ("Cmd", c_ubyte), ("SubCmd", c_ubyte), ] def __init__(self): self.Clear() self.Cmd = 0xAB self.SubCmd = 0x0B 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 = 0x0B return def GetLength(self): return sizeof(tagCMBuySkyGodExp) def GetBuffer(self): return string_at(addressof(self), self.GetLength()) def OutputString(self): DumpString = '''// AB 0B ¹ºÂòÌìÉñ¾­Ñé //tagCMBuySkyGodExp: Cmd:%s, SubCmd:%s '''\ %( self.Cmd, self.SubCmd ) return DumpString m_NAtagCMBuySkyGodExp=tagCMBuySkyGodExp() ChNetPackDict[eval("0x%02x%02x"%(m_NAtagCMBuySkyGodExp.Cmd,m_NAtagCMBuySkyGodExp.SubCmd))] = m_NAtagCMBuySkyGodExp #------------------------------------------------------ # AB 12 ÇÀºì°ü #tagCMGrabFamilyRedPacket class tagCMGrabFamilyRedPacket(Structure): _pack_ = 1 _fields_ = [ ("Cmd", c_ubyte), ("SubCmd", c_ubyte), ("RedPaketID", c_int), # ºì°üID ("GetWay", c_ubyte), #»ñµÃ;¾¶ ] def __init__(self): self.Clear() self.Cmd = 0xAB self.SubCmd = 0x12 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 = 0x12 self.RedPaketID = 0 self.GetWay = 0 return def GetLength(self): return sizeof(tagCMGrabFamilyRedPacket) def GetBuffer(self): return string_at(addressof(self), self.GetLength()) def OutputString(self): DumpString = '''// AB 12 ÇÀºì°ü //tagCMGrabFamilyRedPacket: Cmd:%s, SubCmd:%s, RedPaketID:%d, GetWay:%d '''\ %( self.Cmd, self.SubCmd, self.RedPaketID, self.GetWay ) return DumpString m_NAtagCMGrabFamilyRedPacket=tagCMGrabFamilyRedPacket() ChNetPackDict[eval("0x%02x%02x"%(m_NAtagCMGrabFamilyRedPacket.Cmd,m_NAtagCMGrabFamilyRedPacket.SubCmd))] = m_NAtagCMGrabFamilyRedPacket #------------------------------------------------------ # AB 03 ÏÉħ֮ÕùѺע #tagCMXMZZBet class tagCMXMZZBet(Structure): _pack_ = 1 _fields_ = [ ("Cmd", c_ubyte), ("SubCmd", c_ubyte), ("BetIndex", c_ubyte), # ѺעË÷Òý ("BetResult", c_ubyte), # ½á¹û 1-ÏÉ×åÓ® 2-ħ×åÓ® ] def __init__(self): self.Clear() self.Cmd = 0xAB self.SubCmd = 0x03 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 = 0x03 self.BetIndex = 0 self.BetResult = 0 return def GetLength(self): return sizeof(tagCMXMZZBet) def GetBuffer(self): return string_at(addressof(self), self.GetLength()) def OutputString(self): DumpString = '''// AB 03 ÏÉħ֮ÕùѺע //tagCMXMZZBet: Cmd:%s, SubCmd:%s, BetIndex:%d, BetResult:%d '''\ %( self.Cmd, self.SubCmd, self.BetIndex, self.BetResult ) return DumpString m_NAtagCMXMZZBet=tagCMXMZZBet() ChNetPackDict[eval("0x%02x%02x"%(m_NAtagCMXMZZBet.Cmd,m_NAtagCMXMZZBet.SubCmd))] = m_NAtagCMXMZZBet #------------------------------------------------------ # AB 0A ÷»×ÓͶÖÀ #tagCMDiceTake class tagCMDiceTake(Structure): _pack_ = 1 _fields_ = [ ("Cmd", c_ubyte), ("SubCmd", c_ubyte), ("IsAutoBuy", c_ubyte), # ÊÇ·ñ×Ô¶¯¹ºÂò 0-·ñ 1-ÊÇ ] def __init__(self): self.Clear() self.Cmd = 0xAB self.SubCmd = 0x0A 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 = 0x0A self.IsAutoBuy = 0 return def GetLength(self): return sizeof(tagCMDiceTake) def GetBuffer(self): return string_at(addressof(self), self.GetLength()) def OutputString(self): DumpString = '''// AB 0A ÷»×ÓͶÖÀ //tagCMDiceTake: Cmd:%s, SubCmd:%s, IsAutoBuy:%d '''\ %( self.Cmd, self.SubCmd, self.IsAutoBuy ) return DumpString m_NAtagCMDiceTake=tagCMDiceTake() ChNetPackDict[eval("0x%02x%02x"%(m_NAtagCMDiceTake.Cmd,m_NAtagCMDiceTake.SubCmd))] = m_NAtagCMDiceTake #------------------------------------------------------ # AB 11 ¿ª·þ»î¶¯½±Àø #tagCMOpenServerCampaignAward class tagCMOpenServerCampaignAward(Structure): _pack_ = 1 _fields_ = [ ("Cmd", c_ubyte), ("SubCmd", c_ubyte), ("CampaignType", c_int), #»î¶¯ÀàÐÍ ("AwardType", c_ubyte), #½±ÀøÀàÐÍ£¬1-ÅÅÐУ¬2-Ä¿±ê ("AwardIndex", c_ubyte), #Ä¿±ê½±ÀøË÷Òý£¬ÁìȡĿ±ê½±ÀøÊ±Óã¬Ä¿±êÌõ¼þÔÚÄ¿±ê½±ÀøÁбíÖÐË÷Òý ] def __init__(self): self.Clear() self.Cmd = 0xAB self.SubCmd = 0x11 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 = 0x11 self.CampaignType = 0 self.AwardType = 0 self.AwardIndex = 0 return def GetLength(self): return sizeof(tagCMOpenServerCampaignAward) def GetBuffer(self): return string_at(addressof(self), self.GetLength()) def OutputString(self): DumpString = '''// AB 11 ¿ª·þ»î¶¯½±Àø //tagCMOpenServerCampaignAward: Cmd:%s, SubCmd:%s, CampaignType:%d, AwardType:%d, AwardIndex:%d '''\ %( self.Cmd, self.SubCmd, self.CampaignType, self.AwardType, self.AwardIndex ) return DumpString m_NAtagCMOpenServerCampaignAward=tagCMOpenServerCampaignAward() ChNetPackDict[eval("0x%02x%02x"%(m_NAtagCMOpenServerCampaignAward.Cmd,m_NAtagCMOpenServerCampaignAward.SubCmd))] = m_NAtagCMOpenServerCampaignAward #------------------------------------------------------ # AB 0C Ò¡÷»×Ó #tagCMDiceEx class tagCMDiceEx(Structure): _pack_ = 1 _fields_ = [ ("Cmd", c_ubyte), ("SubCmd", c_ubyte), ("Type", c_ubyte), # 0-Ͷ÷»×Ó 1-¸ÄͶ 2-¼ûºÃ¾ÍÊÕ ] def __init__(self): self.Clear() self.Cmd = 0xAB self.SubCmd = 0x0C 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 = 0x0C self.Type = 0 return def GetLength(self): return sizeof(tagCMDiceEx) def GetBuffer(self): return string_at(addressof(self), self.GetLength()) def OutputString(self): DumpString = '''// AB 0C Ò¡÷»×Ó //tagCMDiceEx: Cmd:%s, SubCmd:%s, Type:%d '''\ %( self.Cmd, self.SubCmd, self.Type ) return DumpString m_NAtagCMDiceEx=tagCMDiceEx() ChNetPackDict[eval("0x%02x%02x"%(m_NAtagCMDiceEx.Cmd,m_NAtagCMDiceEx.SubCmd))] = m_NAtagCMDiceEx #------------------------------------------------------ # AE 05 ×Ô¶¯ÔËïÚ #tagPyAutoTruck class tagPyAutoTruck(Structure): _pack_ = 1 _fields_ = [ ("Cmd", c_ubyte), ("SubCmd", c_ubyte), ("Type", c_ubyte), ] def __init__(self): self.Clear() self.Cmd = 0xAE 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 = 0xAE self.SubCmd = 0x05 self.Type = 0 return def GetLength(self): return sizeof(tagPyAutoTruck) def GetBuffer(self): return string_at(addressof(self), self.GetLength()) def OutputString(self): DumpString = '''// AE 05 ×Ô¶¯ÔËïÚ //tagPyAutoTruck: Cmd:%s, SubCmd:%s, Type:%d '''\ %( self.Cmd, self.SubCmd, self.Type ) return DumpString m_NAtagPyAutoTruck=tagPyAutoTruck() ChNetPackDict[eval("0x%02x%02x"%(m_NAtagPyAutoTruck.Cmd,m_NAtagPyAutoTruck.SubCmd))] = m_NAtagPyAutoTruck #------------------------------------------------------ # AE 02 ¹ºÂòïÚ³µµÈ¼¶#tagPyBuyTruckLV class tagPyBuyTruckLV(Structure): _pack_ = 1 _fields_ = [ ("Cmd", c_ubyte), ("SubCmd", c_ubyte), ("TruckLV", c_ubyte), #ïÚ³µµÈ¼¶ ] def __init__(self): self.Clear() self.Cmd = 0xAE self.SubCmd = 0x02 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 = 0xAE self.SubCmd = 0x02 self.TruckLV = 0 return def GetLength(self): return sizeof(tagPyBuyTruckLV) def GetBuffer(self): return string_at(addressof(self), self.GetLength()) def OutputString(self): DumpString = '''// AE 02 ¹ºÂòïÚ³µµÈ¼¶//tagPyBuyTruckLV: Cmd:%s, SubCmd:%s, TruckLV:%d '''\ %( self.Cmd, self.SubCmd, self.TruckLV ) return DumpString m_NAtagPyBuyTruckLV=tagPyBuyTruckLV() ChNetPackDict[eval("0x%02x%02x"%(m_NAtagPyBuyTruckLV.Cmd,m_NAtagPyBuyTruckLV.SubCmd))] = m_NAtagPyBuyTruckLV #------------------------------------------------------ # AE 06 Á¢¼´Íê³ÉÔËïÚ #tagPyOverTruck class tagPyOverTruck(Structure): _pack_ = 1 _fields_ = [ ("Cmd", c_ubyte), ("SubCmd", c_ubyte), ] def __init__(self): self.Clear() self.Cmd = 0xAE 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 = 0xAE self.SubCmd = 0x06 return def GetLength(self): return sizeof(tagPyOverTruck) def GetBuffer(self): return string_at(addressof(self), self.GetLength()) def OutputString(self): DumpString = '''// AE 06 Á¢¼´Íê³ÉÔËïÚ //tagPyOverTruck: Cmd:%s, SubCmd:%s '''\ %( self.Cmd, self.SubCmd ) return DumpString m_NAtagPyOverTruck=tagPyOverTruck() ChNetPackDict[eval("0x%02x%02x"%(m_NAtagPyOverTruck.Cmd,m_NAtagPyOverTruck.SubCmd))] = m_NAtagPyOverTruck #------------------------------------------------------ # AE 04 ²éѯ½ÙïÚ´ÎÊý#tagPyQueryDestroyTruckCnt class tagPyQueryDestroyTruckCnt(Structure): _pack_ = 1 _fields_ = [ ("Cmd", c_ubyte), ("SubCmd", c_ubyte), ] def __init__(self): self.Clear() self.Cmd = 0xAE self.SubCmd = 0x04 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 = 0xAE self.SubCmd = 0x04 return def GetLength(self): return sizeof(tagPyQueryDestroyTruckCnt) def GetBuffer(self): return string_at(addressof(self), self.GetLength()) def OutputString(self): DumpString = '''// AE 04 ²éѯ½ÙïÚ´ÎÊý//tagPyQueryDestroyTruckCnt: Cmd:%s, SubCmd:%s '''\ %( self.Cmd, self.SubCmd ) return DumpString m_NAtagPyQueryDestroyTruckCnt=tagPyQueryDestroyTruckCnt() ChNetPackDict[eval("0x%02x%02x"%(m_NAtagPyQueryDestroyTruckCnt.Cmd,m_NAtagPyQueryDestroyTruckCnt.SubCmd))] = m_NAtagPyQueryDestroyTruckCnt #------------------------------------------------------ # AE 03 ²éѯïÚ³µµÈ¼¶#tagPyQueryTruckLV class tagPyQueryTruckLV(Structure): _pack_ = 1 _fields_ = [ ("Cmd", c_ubyte), ("SubCmd", c_ubyte), ] def __init__(self): self.Clear() self.Cmd = 0xAE self.SubCmd = 0x03 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 = 0xAE self.SubCmd = 0x03 return def GetLength(self): return sizeof(tagPyQueryTruckLV) def GetBuffer(self): return string_at(addressof(self), self.GetLength()) def OutputString(self): DumpString = '''// AE 03 ²éѯïÚ³µµÈ¼¶//tagPyQueryTruckLV: Cmd:%s, SubCmd:%s '''\ %( self.Cmd, self.SubCmd ) return DumpString m_NAtagPyQueryTruckLV=tagPyQueryTruckLV() ChNetPackDict[eval("0x%02x%02x"%(m_NAtagPyQueryTruckLV.Cmd,m_NAtagPyQueryTruckLV.SubCmd))] = m_NAtagPyQueryTruckLV #------------------------------------------------------ # AE 01 Ë¢ÐÂïÚ³µµÈ¼¶#tagPyRefurbishTruckLV class tagPyRefurbishTruckLV(Structure): _pack_ = 1 _fields_ = [ ("Cmd", c_ubyte), ("SubCmd", c_ubyte), ("CostType", c_ubyte), #ÏûºÄÀàÐÍ: 0-µÀ¾ß; 1-»õ±Ò ("MoneyType", c_ubyte), #»¨·Ñ½ðÇ®ÀàÐÍ ("ItemID", c_int), #ʹÓõĵÀ¾ßID ("IsAutoBuy", c_ubyte), #µÀ¾ßË¢ÐÂʱÊÇ·ñ×Ô¶¯¹ºÂò; 0-·ñ£»1-ÊÇ ] def __init__(self): self.Clear() self.Cmd = 0xAE self.SubCmd = 0x01 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 = 0xAE self.SubCmd = 0x01 self.CostType = 0 self.MoneyType = 0 self.ItemID = 0 self.IsAutoBuy = 0 return def GetLength(self): return sizeof(tagPyRefurbishTruckLV) def GetBuffer(self): return string_at(addressof(self), self.GetLength()) def OutputString(self): DumpString = '''// AE 01 Ë¢ÐÂïÚ³µµÈ¼¶//tagPyRefurbishTruckLV: Cmd:%s, SubCmd:%s, CostType:%d, MoneyType:%d, ItemID:%d, IsAutoBuy:%d '''\ %( self.Cmd, self.SubCmd, self.CostType, self.MoneyType, self.ItemID, self.IsAutoBuy ) return DumpString m_NAtagPyRefurbishTruckLV=tagPyRefurbishTruckLV() ChNetPackDict[eval("0x%02x%02x"%(m_NAtagPyRefurbishTruckLV.Cmd,m_NAtagPyRefurbishTruckLV.SubCmd))] = m_NAtagPyRefurbishTruckLV #------------------------------------------------------ # AF 01 ÁìÈ¡ºÏ·þµ±ÌìµÇ½½±Àø # tagCMGetMixLoginDayAward class tagCMGetMixLoginDayAward(Structure): _pack_ = 1 _fields_ = [ ("Cmd", c_ubyte), ("SubCmd", c_ubyte), ("Index", c_ubyte), # °´ºÏ·þÌìÊý <´Ó0¿ªÊ¼> ] def __init__(self): self.Clear() self.Cmd = 0xAF self.SubCmd = 0x01 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 = 0xAF self.SubCmd = 0x01 self.Index = 0 return def GetLength(self): return sizeof(tagCMGetMixLoginDayAward) def GetBuffer(self): return string_at(addressof(self), self.GetLength()) def OutputString(self): DumpString = '''// AF 01 ÁìÈ¡ºÏ·þµ±ÌìµÇ½½±Àø // tagCMGetMixLoginDayAward: Cmd:%s, SubCmd:%s, Index:%d '''\ %( self.Cmd, self.SubCmd, self.Index ) return DumpString m_NAtagCMGetMixLoginDayAward=tagCMGetMixLoginDayAward() ChNetPackDict[eval("0x%02x%02x"%(m_NAtagCMGetMixLoginDayAward.Cmd,m_NAtagCMGetMixLoginDayAward.SubCmd))] = m_NAtagCMGetMixLoginDayAward #------------------------------------------------------ # AF 02 ºÏ·þ»î¶¯½±Àø #tagCMMixCampaignAward class tagCMMixCampaignAward(Structure): _pack_ = 1 _fields_ = [ ("Cmd", c_ubyte), ("SubCmd", c_ubyte), ("Type", c_ubyte), #0-²éѯ£»1-ÁìÈ¡ ("CampaignType", c_int), #½±ÀøÀàÐÍ ("Index", c_ubyte), #½±ÀøÎ»£¬ÁìȡʱÓà ] def __init__(self): self.Clear() self.Cmd = 0xAF self.SubCmd = 0x02 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 = 0xAF self.SubCmd = 0x02 self.Type = 0 self.CampaignType = 0 self.Index = 0 return def GetLength(self): return sizeof(tagCMMixCampaignAward) def GetBuffer(self): return string_at(addressof(self), self.GetLength()) def OutputString(self): DumpString = '''// AF 02 ºÏ·þ»î¶¯½±Àø //tagCMMixCampaignAward: Cmd:%s, SubCmd:%s, Type:%d, CampaignType:%d, Index:%d '''\ %( self.Cmd, self.SubCmd, self.Type, self.CampaignType, self.Index ) return DumpString m_NAtagCMMixCampaignAward=tagCMMixCampaignAward() ChNetPackDict[eval("0x%02x%02x"%(m_NAtagCMMixCampaignAward.Cmd,m_NAtagCMMixCampaignAward.SubCmd))] = m_NAtagCMMixCampaignAward #------------------------------------------------------ # B0 29 »îÔ¾·ÅÖÃÃ÷ϸ²éѯ #tagCMActivityPlaceQuery class tagCMActivityPlaceQuery(Structure): _pack_ = 1 _fields_ = [ ("Cmd", c_ubyte), ("SubCmd", c_ubyte), ] def __init__(self): self.Clear() self.Cmd = 0xB0 self.SubCmd = 0x29 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 = 0xB0 self.SubCmd = 0x29 return def GetLength(self): return sizeof(tagCMActivityPlaceQuery) def GetBuffer(self): return string_at(addressof(self), self.GetLength()) def OutputString(self): DumpString = '''// B0 29 »îÔ¾·ÅÖÃÃ÷ϸ²éѯ //tagCMActivityPlaceQuery: Cmd:%s, SubCmd:%s '''\ %( self.Cmd, self.SubCmd ) return DumpString m_NAtagCMActivityPlaceQuery=tagCMActivityPlaceQuery() ChNetPackDict[eval("0x%02x%02x"%(m_NAtagCMActivityPlaceQuery.Cmd,m_NAtagCMActivityPlaceQuery.SubCmd))] = m_NAtagCMActivityPlaceQuery #------------------------------------------------------ # B0 28 »îÔ¾·ÅÖÿìËÙÍê³É #tagCMActivityPlaceQuickFinish class tagCMActivityPlaceQuickFinish(Structure): _pack_ = 1 _fields_ = [ ("Cmd", c_ubyte), ("SubCmd", c_ubyte), ("FinishCount", c_ubyte), #Íê³É´ÎÊý ] def __init__(self): self.Clear() self.Cmd = 0xB0 self.SubCmd = 0x28 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 = 0xB0 self.SubCmd = 0x28 self.FinishCount = 0 return def GetLength(self): return sizeof(tagCMActivityPlaceQuickFinish) def GetBuffer(self): return string_at(addressof(self), self.GetLength()) def OutputString(self): DumpString = '''// B0 28 »îÔ¾·ÅÖÿìËÙÍê³É //tagCMActivityPlaceQuickFinish: Cmd:%s, SubCmd:%s, FinishCount:%d '''\ %( self.Cmd, self.SubCmd, self.FinishCount ) return DumpString m_NAtagCMActivityPlaceQuickFinish=tagCMActivityPlaceQuickFinish() ChNetPackDict[eval("0x%02x%02x"%(m_NAtagCMActivityPlaceQuickFinish.Cmd,m_NAtagCMActivityPlaceQuickFinish.SubCmd))] = m_NAtagCMActivityPlaceQuickFinish #------------------------------------------------------ # B0 27 »îÔ¾·ÅÖÃÆô¶¯ #tagCMActivityPlaceStart class tagCMActivityPlaceStart(Structure): _pack_ = 1 _fields_ = [ ("Cmd", c_ubyte), ("SubCmd", c_ubyte), ] def __init__(self): self.Clear() self.Cmd = 0xB0 self.SubCmd = 0x27 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 = 0xB0 self.SubCmd = 0x27 return def GetLength(self): return sizeof(tagCMActivityPlaceStart) def GetBuffer(self): return string_at(addressof(self), self.GetLength()) def OutputString(self): DumpString = '''// B0 27 »îÔ¾·ÅÖÃÆô¶¯ //tagCMActivityPlaceStart: Cmd:%s, SubCmd:%s '''\ %( self.Cmd, self.SubCmd ) return DumpString m_NAtagCMActivityPlaceStart=tagCMActivityPlaceStart() ChNetPackDict[eval("0x%02x%02x"%(m_NAtagCMActivityPlaceStart.Cmd,m_NAtagCMActivityPlaceStart.SubCmd))] = m_NAtagCMActivityPlaceStart #------------------------------------------------------ # B0 50 µöÓãÊÕ¸Ë #tagCMDoFish class tagCMDoFish(Structure): _pack_ = 1 _fields_ = [ ("Cmd", c_ubyte), ("SubCmd", c_ubyte), ("FishNum", c_ubyte), # µöÓã±àºÅ1~N ("PosIndex", c_ubyte), # Í£ÁôλÖÃ1~N ] def __init__(self): self.Clear() self.Cmd = 0xB0 self.SubCmd = 0x50 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 = 0xB0 self.SubCmd = 0x50 self.FishNum = 0 self.PosIndex = 0 return def GetLength(self): return sizeof(tagCMDoFish) def GetBuffer(self): return string_at(addressof(self), self.GetLength()) def OutputString(self): DumpString = '''// B0 50 µöÓãÊÕ¸Ë //tagCMDoFish: Cmd:%s, SubCmd:%s, FishNum:%d, PosIndex:%d '''\ %( self.Cmd, self.SubCmd, self.FishNum, self.PosIndex ) return DumpString m_NAtagCMDoFish=tagCMDoFish() ChNetPackDict[eval("0x%02x%02x"%(m_NAtagCMDoFish.Cmd,m_NAtagCMDoFish.SubCmd))] = m_NAtagCMDoFish #------------------------------------------------------ # B0 30 ¸£µØÎïÆ·À­ #tagCMMineItemPull class tagCMMineItemPull(Structure): _pack_ = 1 _fields_ = [ ("Cmd", c_ubyte), ("SubCmd", c_ubyte), ("PlayerID", c_int), # ¸£µØËùÊôÍæ¼ÒID£¬0ĬÈÏ×Ô¼º ("ItemIndex", c_ubyte), # ÎïÆ·ËùÔÚλÖÃË÷Òý0~n ("WorkerCount", c_ubyte), # ÉϹ¤ÈËÈËÊý ("IsPreview", c_ubyte), # ÊÇ·ñÔ¤ÀÀ£»0-Ö±½ÓÀ­£¬1-Ô¤ÀÀ´ó¸Åʱ¼ä ] def __init__(self): self.Clear() self.Cmd = 0xB0 self.SubCmd = 0x30 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 = 0xB0 self.SubCmd = 0x30 self.PlayerID = 0 self.ItemIndex = 0 self.WorkerCount = 0 self.IsPreview = 0 return def GetLength(self): return sizeof(tagCMMineItemPull) def GetBuffer(self): return string_at(addressof(self), self.GetLength()) def OutputString(self): DumpString = '''// B0 30 ¸£µØÎïÆ·À­ //tagCMMineItemPull: Cmd:%s, SubCmd:%s, PlayerID:%d, ItemIndex:%d, WorkerCount:%d, IsPreview:%d '''\ %( self.Cmd, self.SubCmd, self.PlayerID, self.ItemIndex, self.WorkerCount, self.IsPreview ) return DumpString m_NAtagCMMineItemPull=tagCMMineItemPull() ChNetPackDict[eval("0x%02x%02x"%(m_NAtagCMMineItemPull.Cmd,m_NAtagCMMineItemPull.SubCmd))] = m_NAtagCMMineItemPull #------------------------------------------------------ # B0 31 ¸£µØÎïÆ·Ë¢Ð #tagCMMineItemRefresh class tagCMMineItemRefresh(Structure): _pack_ = 1 _fields_ = [ ("Cmd", c_ubyte), ("SubCmd", c_ubyte), ("IsSuper", c_ubyte), # ÊÇ·ñ³¬¼¶Ë¢Ð ] def __init__(self): self.Clear() self.Cmd = 0xB0 self.SubCmd = 0x31 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 = 0xB0 self.SubCmd = 0x31 self.IsSuper = 0 return def GetLength(self): return sizeof(tagCMMineItemRefresh) def GetBuffer(self): return string_at(addressof(self), self.GetLength()) def OutputString(self): DumpString = '''// B0 31 ¸£µØÎïÆ·Ë¢Ð //tagCMMineItemRefresh: Cmd:%s, SubCmd:%s, IsSuper:%d '''\ %( self.Cmd, self.SubCmd, self.IsSuper ) return DumpString m_NAtagCMMineItemRefresh=tagCMMineItemRefresh() ChNetPackDict[eval("0x%02x%02x"%(m_NAtagCMMineItemRefresh.Cmd,m_NAtagCMMineItemRefresh.SubCmd))] = m_NAtagCMMineItemRefresh #------------------------------------------------------ # B0 32 ¸£µØ¹¤È˹ÍÓ¶ #tagCMMineWorkerEmploy class tagCMMineWorkerEmploy(Structure): _pack_ = 1 _fields_ = [ ("Cmd", c_ubyte), ("SubCmd", c_ubyte), ] def __init__(self): self.Clear() self.Cmd = 0xB0 self.SubCmd = 0x32 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 = 0xB0 self.SubCmd = 0x32 return def GetLength(self): return sizeof(tagCMMineWorkerEmploy) def GetBuffer(self): return string_at(addressof(self), self.GetLength()) def OutputString(self): DumpString = '''// B0 32 ¸£µØ¹¤È˹ÍÓ¶ //tagCMMineWorkerEmploy: Cmd:%s, SubCmd:%s '''\ %( self.Cmd, self.SubCmd ) return DumpString m_NAtagCMMineWorkerEmploy=tagCMMineWorkerEmploy() ChNetPackDict[eval("0x%02x%02x"%(m_NAtagCMMineWorkerEmploy.Cmd,m_NAtagCMMineWorkerEmploy.SubCmd))] = m_NAtagCMMineWorkerEmploy #------------------------------------------------------ #B0 26 ÇëÇó¼Ò×åÐüÉͽ±ÀøÁìÈ¡Çé¿ö #tagQueryFamilyArrestAwardReceiveState class tagQueryFamilyArrestAwardReceiveState(Structure): _pack_ = 1 _fields_ = [ ("Cmd", c_ubyte), ("SubCmd", c_ubyte), ] def __init__(self): self.Clear() self.Cmd = 0xB0 self.SubCmd = 0x26 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 = 0xB0 self.SubCmd = 0x26 return def GetLength(self): return sizeof(tagQueryFamilyArrestAwardReceiveState) def GetBuffer(self): return string_at(addressof(self), self.GetLength()) def OutputString(self): DumpString = '''//B0 26 ÇëÇó¼Ò×åÐüÉͽ±ÀøÁìÈ¡Çé¿ö //tagQueryFamilyArrestAwardReceiveState: Cmd:%s, SubCmd:%s '''\ %( self.Cmd, self.SubCmd ) return DumpString m_NAtagQueryFamilyArrestAwardReceiveState=tagQueryFamilyArrestAwardReceiveState() ChNetPackDict[eval("0x%02x%02x"%(m_NAtagQueryFamilyArrestAwardReceiveState.Cmd,m_NAtagQueryFamilyArrestAwardReceiveState.SubCmd))] = m_NAtagQueryFamilyArrestAwardReceiveState #------------------------------------------------------ #B0 24 ÁìÈ¡¼Ò×åÐüÉͽ±Àø #tagReceiveFamilyArrestAward class tagReceiveFamilyArrestAward(Structure): _pack_ = 1 _fields_ = [ ("Cmd", c_ubyte), ("SubCmd", c_ubyte), ("ArrestID", c_int), #ÐüÉÍÈÎÎñID ] def __init__(self): self.Clear() self.Cmd = 0xB0 self.SubCmd = 0x24 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 = 0xB0 self.SubCmd = 0x24 self.ArrestID = 0 return def GetLength(self): return sizeof(tagReceiveFamilyArrestAward) def GetBuffer(self): return string_at(addressof(self), self.GetLength()) def OutputString(self): DumpString = '''//B0 24 ÁìÈ¡¼Ò×åÐüÉͽ±Àø //tagReceiveFamilyArrestAward: Cmd:%s, SubCmd:%s, ArrestID:%d '''\ %( self.Cmd, self.SubCmd, self.ArrestID ) return DumpString m_NAtagReceiveFamilyArrestAward=tagReceiveFamilyArrestAward() ChNetPackDict[eval("0x%02x%02x"%(m_NAtagReceiveFamilyArrestAward.Cmd,m_NAtagReceiveFamilyArrestAward.SubCmd))] = m_NAtagReceiveFamilyArrestAward #------------------------------------------------------ # B0 10 ÇëÇóЭÖúBoss #tagCMRequestAssistBoss class tagCMRequestAssistBoss(Structure): _pack_ = 1 _fields_ = [ ("Cmd", c_ubyte), ("SubCmd", c_ubyte), ("ObjID", c_int), ("NPCID", c_int), ] def __init__(self): self.Clear() self.Cmd = 0xB0 self.SubCmd = 0x10 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 = 0xB0 self.SubCmd = 0x10 self.ObjID = 0 self.NPCID = 0 return def GetLength(self): return sizeof(tagCMRequestAssistBoss) def GetBuffer(self): return string_at(addressof(self), self.GetLength()) def OutputString(self): DumpString = '''// B0 10 ÇëÇóЭÖúBoss //tagCMRequestAssistBoss: Cmd:%s, SubCmd:%s, ObjID:%d, NPCID:%d '''\ %( self.Cmd, self.SubCmd, self.ObjID, self.NPCID ) return DumpString m_NAtagCMRequestAssistBoss=tagCMRequestAssistBoss() ChNetPackDict[eval("0x%02x%02x"%(m_NAtagCMRequestAssistBoss.Cmd,m_NAtagCMRequestAssistBoss.SubCmd))] = m_NAtagCMRequestAssistBoss #------------------------------------------------------ # B0 11 ÇëÇóЭÖú×é¶Ó¸±±¾ #tagCMRequestAssistTeamFB class tagCMRequestAssistTeamFB(Structure): _pack_ = 1 _fields_ = [ ("Cmd", c_ubyte), ("SubCmd", c_ubyte), ("MapID", c_ushort), ("LineID", c_ushort), ] def __init__(self): self.Clear() self.Cmd = 0xB0 self.SubCmd = 0x11 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 = 0xB0 self.SubCmd = 0x11 self.MapID = 0 self.LineID = 0 return def GetLength(self): return sizeof(tagCMRequestAssistTeamFB) def GetBuffer(self): return string_at(addressof(self), self.GetLength()) def OutputString(self): DumpString = '''// B0 11 ÇëÇóЭÖú×é¶Ó¸±±¾ //tagCMRequestAssistTeamFB: Cmd:%s, SubCmd:%s, MapID:%d, LineID:%d '''\ %( self.Cmd, self.SubCmd, self.MapID, self.LineID ) return DumpString m_NAtagCMRequestAssistTeamFB=tagCMRequestAssistTeamFB() ChNetPackDict[eval("0x%02x%02x"%(m_NAtagCMRequestAssistTeamFB.Cmd,m_NAtagCMRequestAssistTeamFB.SubCmd))] = m_NAtagCMRequestAssistTeamFB #------------------------------------------------------ # B0 05 ¿ªÊ¼ÊÀ½ç´«ËÍ #tagCMWorldTransfer class tagCMWorldTransfer(Structure): _pack_ = 1 _fields_ = [ ("Cmd", c_ubyte), ("SubCmd", c_ubyte), ("Type", c_ubyte), ("MapID", c_int), ("LineID", c_ubyte), ("PosX", c_ushort), ("PosY", c_ushort), ("ExData1", c_int), #À©Õ¹×Ö¶Î1£¬¸÷¸öÏîÄ¿¸ù¾Ý×Ô¼ºµÄÐèÒª¾ö¶¨ÓÃ; ] def __init__(self): self.Clear() self.Cmd = 0xB0 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 = 0xB0 self.SubCmd = 0x05 self.Type = 0 self.MapID = 0 self.LineID = 0 self.PosX = 0 self.PosY = 0 self.ExData1 = 0 return def GetLength(self): return sizeof(tagCMWorldTransfer) def GetBuffer(self): return string_at(addressof(self), self.GetLength()) def OutputString(self): DumpString = '''// B0 05 ¿ªÊ¼ÊÀ½ç´«ËÍ //tagCMWorldTransfer: Cmd:%s, SubCmd:%s, Type:%d, MapID:%d, LineID:%d, PosX:%d, PosY:%d, ExData1:%d '''\ %( self.Cmd, self.SubCmd, self.Type, self.MapID, self.LineID, self.PosX, self.PosY, self.ExData1 ) return DumpString m_NAtagCMWorldTransfer=tagCMWorldTransfer() ChNetPackDict[eval("0x%02x%02x"%(m_NAtagCMWorldTransfer.Cmd,m_NAtagCMWorldTransfer.SubCmd))] = m_NAtagCMWorldTransfer #------------------------------------------------------ # B1 01 ¿Í»§¶Ë¸±±¾·¢ËͽáÊø #tagCMClientEndFB class tagCMClientEndFB(Structure): _pack_ = 1 _fields_ = [ ("Cmd", c_ubyte), ("SubCmd", c_ubyte), ("MapID", c_int), ("LineID", c_ushort), ("Data1", c_int), #¸±±¾Êý¾Ý ("Data2", c_int), #¸±±¾Êý¾Ý ] def __init__(self): self.Clear() self.Cmd = 0xB1 self.SubCmd = 0x01 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 = 0xB1 self.SubCmd = 0x01 self.MapID = 0 self.LineID = 0 self.Data1 = 0 self.Data2 = 0 return def GetLength(self): return sizeof(tagCMClientEndFB) def GetBuffer(self): return string_at(addressof(self), self.GetLength()) def OutputString(self): DumpString = '''// B1 01 ¿Í»§¶Ë¸±±¾·¢ËͽáÊø //tagCMClientEndFB: Cmd:%s, SubCmd:%s, MapID:%d, LineID:%d, Data1:%d, Data2:%d '''\ %( self.Cmd, self.SubCmd, self.MapID, self.LineID, self.Data1, self.Data2 ) return DumpString m_NAtagCMClientEndFB=tagCMClientEndFB() ChNetPackDict[eval("0x%02x%02x"%(m_NAtagCMClientEndFB.Cmd,m_NAtagCMClientEndFB.SubCmd))] = m_NAtagCMClientEndFB #------------------------------------------------------ # B1 04 ¿Í»§¶Ë·¢ËÍ¿ªÊ¼¸±±¾ #tagCMClientStartFB class tagCMClientStartFB(Structure): _pack_ = 1 _fields_ = [ ("Cmd", c_ubyte), ("SubCmd", c_ubyte), ] def __init__(self): self.Clear() self.Cmd = 0xB1 self.SubCmd = 0x04 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 = 0xB1 self.SubCmd = 0x04 return def GetLength(self): return sizeof(tagCMClientStartFB) def GetBuffer(self): return string_at(addressof(self), self.GetLength()) def OutputString(self): DumpString = '''// B1 04 ¿Í»§¶Ë·¢ËÍ¿ªÊ¼¸±±¾ //tagCMClientStartFB: Cmd:%s, SubCmd:%s '''\ %( self.Cmd, self.SubCmd ) return DumpString m_NAtagCMClientStartFB=tagCMClientStartFB() ChNetPackDict[eval("0x%02x%02x"%(m_NAtagCMClientStartFB.Cmd,m_NAtagCMClientStartFB.SubCmd))] = m_NAtagCMClientStartFB #------------------------------------------------------ # B1 0A ¸±±¾¹ºÂòbuff #tagCMFBBuyBuff class tagCMFBBuyBuff(Structure): _pack_ = 1 _fields_ = [ ("Cmd", c_ubyte), ("SubCmd", c_ubyte), ("MapID", c_int), ("MoneyCnt", c_ushort), ] def __init__(self): self.Clear() self.Cmd = 0xB1 self.SubCmd = 0x0A 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 = 0xB1 self.SubCmd = 0x0A self.MapID = 0 self.MoneyCnt = 0 return def GetLength(self): return sizeof(tagCMFBBuyBuff) def GetBuffer(self): return string_at(addressof(self), self.GetLength()) def OutputString(self): DumpString = '''// B1 0A ¸±±¾¹ºÂòbuff //tagCMFBBuyBuff: Cmd:%s, SubCmd:%s, MapID:%d, MoneyCnt:%d '''\ %( self.Cmd, self.SubCmd, self.MapID, self.MoneyCnt ) return DumpString m_NAtagCMFBBuyBuff=tagCMFBBuyBuff() ChNetPackDict[eval("0x%02x%02x"%(m_NAtagCMFBBuyBuff.Cmd,m_NAtagCMFBBuyBuff.SubCmd))] = m_NAtagCMFBBuyBuff #------------------------------------------------------ # B1 08 ¿ìËÙÒ»¼ü¹ý¹Ø¸±±¾ #tagCMFBQuickPass class tagCMFBQuickPass(Structure): _pack_ = 1 _fields_ = [ ("Cmd", c_ubyte), ("SubCmd", c_ubyte), ("MapID", c_int), ("LineID", c_ushort), ] def __init__(self): self.Clear() self.Cmd = 0xB1 self.SubCmd = 0x08 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 = 0xB1 self.SubCmd = 0x08 self.MapID = 0 self.LineID = 0 return def GetLength(self): return sizeof(tagCMFBQuickPass) def GetBuffer(self): return string_at(addressof(self), self.GetLength()) def OutputString(self): DumpString = '''// B1 08 ¿ìËÙÒ»¼ü¹ý¹Ø¸±±¾ //tagCMFBQuickPass: Cmd:%s, SubCmd:%s, MapID:%d, LineID:%d '''\ %( self.Cmd, self.SubCmd, self.MapID, self.LineID ) return DumpString m_NAtagCMFBQuickPass=tagCMFBQuickPass() ChNetPackDict[eval("0x%02x%02x"%(m_NAtagCMFBQuickPass.Cmd,m_NAtagCMFBQuickPass.SubCmd))] = m_NAtagCMFBQuickPass #------------------------------------------------------ # B1 06 ÖúÕ½ÕÙ»½ #tagCMHelpBattleCall class tagCMHelpBattleCall(Structure): _pack_ = 1 _fields_ = [ ("Cmd", c_ubyte), ("SubCmd", c_ubyte), ("IsOneKeyCall", c_ubyte), # ÊÇ·ñÒ»¼üÕÙ»½ ("PlayerID", c_int), # ÕÙ»½µÄÍæ¼ÒID£¬´óÓÚ1СÓÚ100´ú±í»úÆ÷ÈË ("IsGoldCall", c_ubyte), # ÊÇ·ñÏÉÓñÕÙ»½ ] def __init__(self): self.Clear() self.Cmd = 0xB1 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 = 0xB1 self.SubCmd = 0x06 self.IsOneKeyCall = 0 self.PlayerID = 0 self.IsGoldCall = 0 return def GetLength(self): return sizeof(tagCMHelpBattleCall) def GetBuffer(self): return string_at(addressof(self), self.GetLength()) def OutputString(self): DumpString = '''// B1 06 ÖúÕ½ÕÙ»½ //tagCMHelpBattleCall: Cmd:%s, SubCmd:%s, IsOneKeyCall:%d, PlayerID:%d, IsGoldCall:%d '''\ %( self.Cmd, self.SubCmd, self.IsOneKeyCall, self.PlayerID, self.IsGoldCall ) return DumpString m_NAtagCMHelpBattleCall=tagCMHelpBattleCall() ChNetPackDict[eval("0x%02x%02x"%(m_NAtagCMHelpBattleCall.Cmd,m_NAtagCMHelpBattleCall.SubCmd))] = m_NAtagCMHelpBattleCall #------------------------------------------------------ # B1 05 ÖúÕ½µÇ¼Ç #tagCMHelpBattleCheckIn class tagCMHelpBattleCheckIn(Structure): _pack_ = 1 _fields_ = [ ("Cmd", c_ubyte), ("SubCmd", c_ubyte), ] def __init__(self): self.Clear() self.Cmd = 0xB1 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 = 0xB1 self.SubCmd = 0x05 return def GetLength(self): return sizeof(tagCMHelpBattleCheckIn) def GetBuffer(self): return string_at(addressof(self), self.GetLength()) def OutputString(self): DumpString = '''// B1 05 ÖúÕ½µÇ¼Ç //tagCMHelpBattleCheckIn: Cmd:%s, SubCmd:%s '''\ %( self.Cmd, self.SubCmd ) return DumpString m_NAtagCMHelpBattleCheckIn=tagCMHelpBattleCheckIn() ChNetPackDict[eval("0x%02x%02x"%(m_NAtagCMHelpBattleCheckIn.Cmd,m_NAtagCMHelpBattleCheckIn.SubCmd))] = m_NAtagCMHelpBattleCheckIn #------------------------------------------------------ # B1 07 ÖúսˢР#tagCMHelpBattleRefresh class tagCMHelpBattleRefresh(Structure): _pack_ = 1 _fields_ = [ ("Cmd", c_ubyte), ("SubCmd", c_ubyte), ] def __init__(self): self.Clear() self.Cmd = 0xB1 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 = 0xB1 self.SubCmd = 0x07 return def GetLength(self): return sizeof(tagCMHelpBattleRefresh) def GetBuffer(self): return string_at(addressof(self), self.GetLength()) def OutputString(self): DumpString = '''// B1 07 ÖúսˢР//tagCMHelpBattleRefresh: Cmd:%s, SubCmd:%s '''\ %( self.Cmd, self.SubCmd ) return DumpString m_NAtagCMHelpBattleRefresh=tagCMHelpBattleRefresh() ChNetPackDict[eval("0x%02x%02x"%(m_NAtagCMHelpBattleRefresh.Cmd,m_NAtagCMHelpBattleRefresh.SubCmd))] = m_NAtagCMHelpBattleRefresh #------------------------------------------------------ # B1 02 ÁìÈ¡¶à±¶¸±±¾½±Àø #tagCMGetMultiFBPrize class tagCMGetMultiFBPrize(Structure): _pack_ = 1 _fields_ = [ ("Cmd", c_ubyte), ("SubCmd", c_ubyte), ("MapID", c_int), ("LineID", c_ushort), ("Percent", c_ushort), # ¶îÍâ½±Àø°Ù·Ö±È, Èç50´ú±í¶îÍâ50%½±Àø ] def __init__(self): self.Clear() self.Cmd = 0xB1 self.SubCmd = 0x02 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 = 0xB1 self.SubCmd = 0x02 self.MapID = 0 self.LineID = 0 self.Percent = 0 return def GetLength(self): return sizeof(tagCMGetMultiFBPrize) def GetBuffer(self): return string_at(addressof(self), self.GetLength()) def OutputString(self): DumpString = '''// B1 02 ÁìÈ¡¶à±¶¸±±¾½±Àø //tagCMGetMultiFBPrize: Cmd:%s, SubCmd:%s, MapID:%d, LineID:%d, Percent:%d '''\ %( self.Cmd, self.SubCmd, self.MapID, self.LineID, self.Percent ) return DumpString m_NAtagCMGetMultiFBPrize=tagCMGetMultiFBPrize() ChNetPackDict[eval("0x%02x%02x"%(m_NAtagCMGetMultiFBPrize.Cmd,m_NAtagCMGetMultiFBPrize.SubCmd))] = m_NAtagCMGetMultiFBPrize #------------------------------------------------------ # B1 03 ÉèÖ÷âħ̳¶à±¶»÷ɱ #tagCMSetFMTDouble class tagCMSetFMTDouble(Structure): _pack_ = 1 _fields_ = [ ("Cmd", c_ubyte), ("SubCmd", c_ubyte), ("IsDouble", c_ubyte), #ÊÇ·ñË«±¶ ] def __init__(self): self.Clear() self.Cmd = 0xB1 self.SubCmd = 0x03 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 = 0xB1 self.SubCmd = 0x03 self.IsDouble = 0 return def GetLength(self): return sizeof(tagCMSetFMTDouble) def GetBuffer(self): return string_at(addressof(self), self.GetLength()) def OutputString(self): DumpString = '''// B1 03 ÉèÖ÷âħ̳¶à±¶»÷ɱ //tagCMSetFMTDouble: Cmd:%s, SubCmd:%s, IsDouble:%d '''\ %( self.Cmd, self.SubCmd, self.IsDouble ) return DumpString m_NAtagCMSetFMTDouble=tagCMSetFMTDouble() ChNetPackDict[eval("0x%02x%02x"%(m_NAtagCMSetFMTDouble.Cmd,m_NAtagCMSetFMTDouble.SubCmd))] = m_NAtagCMSetFMTDouble #------------------------------------------------------ # B2 11 ¼¤»î¹¦ÄÜÏµÍ³ÌØÈ¨½±Àø #tagCMActivateFuncSysPrivilege class tagCMActivateFuncSysPrivilege(Structure): Head = tagHead() ActivateCount = 0 #(BYTE ActivateCount)// ¼¤»î¸öÊý ActivateFuncSysIDList = list() #(vector ActivateFuncSysIDList)// ¼¤»î¹¦ÄÜϵͳIDÁÐ±í£¬È«²¿¼¤»îÔòÐèÒª·¢ËùÓÐIDÁбí data = None def __init__(self): self.Clear() self.Head.Cmd = 0xB2 self.Head.SubCmd = 0x11 return def ReadData(self, _lpData, _pos=0, _Len=0): self.Clear() _pos = self.Head.ReadData(_lpData, _pos) self.ActivateCount,_pos = CommFunc.ReadBYTE(_lpData, _pos) for i in range(self.ActivateCount): value,_pos=CommFunc.ReadBYTE(_lpData,_pos) self.ActivateFuncSysIDList.append(value) return _pos def Clear(self): self.Head = tagHead() self.Head.Clear() self.Head.Cmd = 0xB2 self.Head.SubCmd = 0x11 self.ActivateCount = 0 self.ActivateFuncSysIDList = list() return def GetLength(self): length = 0 length += self.Head.GetLength() length += 1 length += 1 * self.ActivateCount return length def GetBuffer(self): data = '' data = CommFunc.WriteString(data, self.Head.GetLength(), self.Head.GetBuffer()) data = CommFunc.WriteBYTE(data, self.ActivateCount) for i in range(self.ActivateCount): data = CommFunc.WriteBYTE(data, self.ActivateFuncSysIDList[i]) return data def OutputString(self): DumpString = ''' Head:%s, ActivateCount:%d, ActivateFuncSysIDList:%s '''\ %( self.Head.OutputString(), self.ActivateCount, "..." ) return DumpString m_NAtagCMActivateFuncSysPrivilege=tagCMActivateFuncSysPrivilege() ChNetPackDict[eval("0x%02x%02x"%(m_NAtagCMActivateFuncSysPrivilege.Head.Cmd,m_NAtagCMActivateFuncSysPrivilege.Head.SubCmd))] = m_NAtagCMActivateFuncSysPrivilege #------------------------------------------------------ # B2 06 Íæ¼Ò¼Óµã #tagCMAddPoint class tagCMAddPoint(Structure): Head = tagHead() PointAttrIDCount = 0 #(BYTE PointAttrIDCount)// ¼ÓµãÊôÐÔID¸öÊý PointAttrIDList = list() #(vector PointAttrIDList)// ¼ÓµãÊôÐÔIDÁбí PointValueList = list() #(vector PointValueList)// ¼ÓµãÊôÐÔID¶ÔÓ¦µÄµãÊýÁбí data = None def __init__(self): self.Clear() self.Head.Cmd = 0xB2 self.Head.SubCmd = 0x06 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.ReadDWORD(_lpData,_pos) self.PointValueList.append(value) return _pos def Clear(self): self.Head = tagHead() self.Head.Clear() self.Head.Cmd = 0xB2 self.Head.SubCmd = 0x06 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 += 4 * 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.WriteDWORD(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_NAtagCMAddPoint=tagCMAddPoint() ChNetPackDict[eval("0x%02x%02x"%(m_NAtagCMAddPoint.Head.Cmd,m_NAtagCMAddPoint.Head.SubCmd))] = m_NAtagCMAddPoint #------------------------------------------------------ # B2 10 ¾º¼¼³¡ÌôÕ½Íæ¼Ò #tagCMArenaBattle class tagCMArenaBattle(Structure): _pack_ = 1 _fields_ = [ ("Cmd", c_ubyte), ("SubCmd", c_ubyte), ("TagPlayerID", c_int), # Ä¿±êÍæ¼ÒID»ò»úÆ÷ÈËID ("Result", c_ubyte), # 0-½øÈë×Ô¶¨Ò峡¾°·¢ËÍ֪ͨºó¶Ë£»1-ʤÀû£¨ºó¶Ë´¦Àí£¬ÔÝʱ²»ÐèÒª·¢ËÍ´Ë״̬£©£»2-ʧ°Ü£¨Ç°¶Ë±»¶ÔÊÖ»÷ɱÐèÒª·¢ËÍ´Ë״̬£© ] def __init__(self): self.Clear() self.Cmd = 0xB2 self.SubCmd = 0x10 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 = 0xB2 self.SubCmd = 0x10 self.TagPlayerID = 0 self.Result = 0 return def GetLength(self): return sizeof(tagCMArenaBattle) def GetBuffer(self): return string_at(addressof(self), self.GetLength()) def OutputString(self): DumpString = '''// B2 10 ¾º¼¼³¡ÌôÕ½Íæ¼Ò //tagCMArenaBattle: Cmd:%s, SubCmd:%s, TagPlayerID:%d, Result:%d '''\ %( self.Cmd, self.SubCmd, self.TagPlayerID, self.Result ) return DumpString m_NAtagCMArenaBattle=tagCMArenaBattle() ChNetPackDict[eval("0x%02x%02x"%(m_NAtagCMArenaBattle.Cmd,m_NAtagCMArenaBattle.SubCmd))] = m_NAtagCMArenaBattle #------------------------------------------------------ # B2 09 ¾º¼¼³¡Æ¥ÅäÍæ¼Ò #tagCMArenaMatch class tagCMArenaMatch(Structure): _pack_ = 1 _fields_ = [ ("Cmd", c_ubyte), ("SubCmd", c_ubyte), ("IsRefresh", c_ubyte), # 0-´ò¿ª½çÃæÎÞÆ¥ÅäÊý¾Ýʱʱ²éѯ£¬1-Ç¿ÖÆË¢ÐÂÆ¥ÅäÁбí ] def __init__(self): self.Clear() self.Cmd = 0xB2 self.SubCmd = 0x09 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 = 0xB2 self.SubCmd = 0x09 self.IsRefresh = 0 return def GetLength(self): return sizeof(tagCMArenaMatch) def GetBuffer(self): return string_at(addressof(self), self.GetLength()) def OutputString(self): DumpString = '''// B2 09 ¾º¼¼³¡Æ¥ÅäÍæ¼Ò //tagCMArenaMatch: Cmd:%s, SubCmd:%s, IsRefresh:%d '''\ %( self.Cmd, self.SubCmd, self.IsRefresh ) return DumpString m_NAtagCMArenaMatch=tagCMArenaMatch() ChNetPackDict[eval("0x%02x%02x"%(m_NAtagCMArenaMatch.Cmd,m_NAtagCMArenaMatch.SubCmd))] = m_NAtagCMArenaMatch #------------------------------------------------------ # B2 26 Í·Ïñ»Ã»¯ #tagCMFaceChange class tagCMFaceChange(Structure): _pack_ = 1 _fields_ = [ ("Cmd", c_ubyte), ("SubCmd", c_ubyte), ("FaceID", c_int), # »Ã»¯µÄID ] def __init__(self): self.Clear() self.Cmd = 0xB2 self.SubCmd = 0x26 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 = 0xB2 self.SubCmd = 0x26 self.FaceID = 0 return def GetLength(self): return sizeof(tagCMFaceChange) def GetBuffer(self): return string_at(addressof(self), self.GetLength()) def OutputString(self): DumpString = '''// B2 26 Í·Ïñ»Ã»¯ //tagCMFaceChange: Cmd:%s, SubCmd:%s, FaceID:%d '''\ %( self.Cmd, self.SubCmd, self.FaceID ) return DumpString m_NAtagCMFaceChange=tagCMFaceChange() ChNetPackDict[eval("0x%02x%02x"%(m_NAtagCMFaceChange.Cmd,m_NAtagCMFaceChange.SubCmd))] = m_NAtagCMFaceChange #------------------------------------------------------ # B2 28 Í·Ïñ¿ò»Ã»¯ #tagCMFacePicChange class tagCMFacePicChange(Structure): _pack_ = 1 _fields_ = [ ("Cmd", c_ubyte), ("SubCmd", c_ubyte), ("FacePicID", c_int), # »Ã»¯µÄID ] def __init__(self): self.Clear() self.Cmd = 0xB2 self.SubCmd = 0x28 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 = 0xB2 self.SubCmd = 0x28 self.FacePicID = 0 return def GetLength(self): return sizeof(tagCMFacePicChange) def GetBuffer(self): return string_at(addressof(self), self.GetLength()) def OutputString(self): DumpString = '''// B2 28 Í·Ïñ¿ò»Ã»¯ //tagCMFacePicChange: Cmd:%s, SubCmd:%s, FacePicID:%d '''\ %( self.Cmd, self.SubCmd, self.FacePicID ) return DumpString m_NAtagCMFacePicChange=tagCMFacePicChange() ChNetPackDict[eval("0x%02x%02x"%(m_NAtagCMFacePicChange.Cmd,m_NAtagCMFacePicChange.SubCmd))] = m_NAtagCMFacePicChange #------------------------------------------------------ # B2 29 Í·Ïñ¿òÉýÐÇ #tagCMFacePicStarUP class tagCMFacePicStarUP(Structure): _pack_ = 1 _fields_ = [ ("Cmd", c_ubyte), ("SubCmd", c_ubyte), ("FacePicID", c_int), ] def __init__(self): self.Clear() self.Cmd = 0xB2 self.SubCmd = 0x29 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 = 0xB2 self.SubCmd = 0x29 self.FacePicID = 0 return def GetLength(self): return sizeof(tagCMFacePicStarUP) def GetBuffer(self): return string_at(addressof(self), self.GetLength()) def OutputString(self): DumpString = '''// B2 29 Í·Ïñ¿òÉýÐÇ //tagCMFacePicStarUP: Cmd:%s, SubCmd:%s, FacePicID:%d '''\ %( self.Cmd, self.SubCmd, self.FacePicID ) return DumpString m_NAtagCMFacePicStarUP=tagCMFacePicStarUP() ChNetPackDict[eval("0x%02x%02x"%(m_NAtagCMFacePicStarUP.Cmd,m_NAtagCMFacePicStarUP.SubCmd))] = m_NAtagCMFacePicStarUP #------------------------------------------------------ # B2 27 Í·ÏñÉýÐÇ #tagCMFaceStarUP class tagCMFaceStarUP(Structure): _pack_ = 1 _fields_ = [ ("Cmd", c_ubyte), ("SubCmd", c_ubyte), ("FaceID", c_int), ] def __init__(self): self.Clear() self.Cmd = 0xB2 self.SubCmd = 0x27 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 = 0xB2 self.SubCmd = 0x27 self.FaceID = 0 return def GetLength(self): return sizeof(tagCMFaceStarUP) def GetBuffer(self): return string_at(addressof(self), self.GetLength()) def OutputString(self): DumpString = '''// B2 27 Í·ÏñÉýÐÇ //tagCMFaceStarUP: Cmd:%s, SubCmd:%s, FaceID:%d '''\ %( self.Cmd, self.SubCmd, self.FaceID ) return DumpString m_NAtagCMFaceStarUP=tagCMFaceStarUP() ChNetPackDict[eval("0x%02x%02x"%(m_NAtagCMFaceStarUP.Cmd,m_NAtagCMFaceStarUP.SubCmd))] = m_NAtagCMFaceStarUP #------------------------------------------------------ # B2 25 оۻê²Ù×÷ #tagCMGatherTheSoulOP class tagCMGatherTheSoulOP(Structure): _pack_ = 1 _fields_ = [ ("Cmd", c_ubyte), ("SubCmd", c_ubyte), ("OpType", c_ubyte), # 0-¼¤»îÉý¼¶; 1-´©´÷Ìæ»»; 2-жÏ ("SoulID", c_int), # ¾Û»êID£»µ±²Ù×÷Éý¼¶Ê±£¬Èç¹ûΪ0´ú±íÒ»¼üÉý¼¶ËùÓпÉÉý¼¶µÄ ] def __init__(self): self.Clear() self.Cmd = 0xB2 self.SubCmd = 0x25 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 = 0xB2 self.SubCmd = 0x25 self.OpType = 0 self.SoulID = 0 return def GetLength(self): return sizeof(tagCMGatherTheSoulOP) def GetBuffer(self): return string_at(addressof(self), self.GetLength()) def OutputString(self): DumpString = '''// B2 25 оۻê²Ù×÷ //tagCMGatherTheSoulOP: Cmd:%s, SubCmd:%s, OpType:%d, SoulID:%d '''\ %( self.Cmd, self.SubCmd, self.OpType, self.SoulID ) return DumpString m_NAtagCMGatherTheSoulOP=tagCMGatherTheSoulOP() ChNetPackDict[eval("0x%02x%02x"%(m_NAtagCMGatherTheSoulOP.Cmd,m_NAtagCMGatherTheSoulOP.SubCmd))] = m_NAtagCMGatherTheSoulOP #------------------------------------------------------ # B2 12 ÁìÈ¡¹¦ÄÜÏµÍ³ÌØÈ¨½±Àø #tagCMGetFuncSysPrivilegeAward class tagCMGetFuncSysPrivilegeAward(Structure): _pack_ = 1 _fields_ = [ ("Cmd", c_ubyte), ("SubCmd", c_ubyte), ("FuncSysID", c_ubyte), # ¹¦ÄÜϵͳID ("DayNum", c_ubyte), # µÚXÌ죬1ΪµÚ1Ìì ] def __init__(self): self.Clear() self.Cmd = 0xB2 self.SubCmd = 0x12 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 = 0xB2 self.SubCmd = 0x12 self.FuncSysID = 0 self.DayNum = 0 return def GetLength(self): return sizeof(tagCMGetFuncSysPrivilegeAward) def GetBuffer(self): return string_at(addressof(self), self.GetLength()) def OutputString(self): DumpString = '''// B2 12 ÁìÈ¡¹¦ÄÜÏµÍ³ÌØÈ¨½±Àø //tagCMGetFuncSysPrivilegeAward: Cmd:%s, SubCmd:%s, FuncSysID:%d, DayNum:%d '''\ %( self.Cmd, self.SubCmd, self.FuncSysID, self.DayNum ) return DumpString m_NAtagCMGetFuncSysPrivilegeAward=tagCMGetFuncSysPrivilegeAward() ChNetPackDict[eval("0x%02x%02x"%(m_NAtagCMGetFuncSysPrivilegeAward.Cmd,m_NAtagCMGetFuncSysPrivilegeAward.SubCmd))] = m_NAtagCMGetFuncSysPrivilegeAward #------------------------------------------------------ # B2 16 ¹Å±¦¼¤»î #tagCMGubaoActivate class tagCMGubaoActivate(Structure): _pack_ = 1 _fields_ = [ ("Cmd", c_ubyte), ("SubCmd", c_ubyte), ("GubaoID", c_ushort), ] def __init__(self): self.Clear() self.Cmd = 0xB2 self.SubCmd = 0x16 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 = 0xB2 self.SubCmd = 0x16 self.GubaoID = 0 return def GetLength(self): return sizeof(tagCMGubaoActivate) def GetBuffer(self): return string_at(addressof(self), self.GetLength()) def OutputString(self): DumpString = '''// B2 16 ¹Å±¦¼¤»î //tagCMGubaoActivate: Cmd:%s, SubCmd:%s, GubaoID:%d '''\ %( self.Cmd, self.SubCmd, self.GubaoID ) return DumpString m_NAtagCMGubaoActivate=tagCMGubaoActivate() ChNetPackDict[eval("0x%02x%02x"%(m_NAtagCMGubaoActivate.Cmd,m_NAtagCMGubaoActivate.SubCmd))] = m_NAtagCMGubaoActivate #------------------------------------------------------ # B2 18 ¹Å±¦Éý¼¶ #tagCMGubaoLVUp class tagCMGubaoLVUp(Structure): _pack_ = 1 _fields_ = [ ("Cmd", c_ubyte), ("SubCmd", c_ubyte), ("GubaoID", c_ushort), ] def __init__(self): self.Clear() self.Cmd = 0xB2 self.SubCmd = 0x18 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 = 0xB2 self.SubCmd = 0x18 self.GubaoID = 0 return def GetLength(self): return sizeof(tagCMGubaoLVUp) def GetBuffer(self): return string_at(addressof(self), self.GetLength()) def OutputString(self): DumpString = '''// B2 18 ¹Å±¦Éý¼¶ //tagCMGubaoLVUp: Cmd:%s, SubCmd:%s, GubaoID:%d '''\ %( self.Cmd, self.SubCmd, self.GubaoID ) return DumpString m_NAtagCMGubaoLVUp=tagCMGubaoLVUp() ChNetPackDict[eval("0x%02x%02x"%(m_NAtagCMGubaoLVUp.Cmd,m_NAtagCMGubaoLVUp.SubCmd))] = m_NAtagCMGubaoLVUp #------------------------------------------------------ # B2 17 ¹Å±¦ÉýÐÇ #tagCMGubaoStarUp class tagCMGubaoPieceUse(Structure): _pack_ = 1 _fields_ = [ ("GubaoID", c_ushort), # ͨÓÃË鯬¹Å±¦ID ("PieceCount", c_ushort), # ʹÓÃË鯬¸öÊý ] 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.GubaoID = 0 self.PieceCount = 0 return def GetLength(self): return sizeof(tagCMGubaoPieceUse) def GetBuffer(self): return string_at(addressof(self), self.GetLength()) def OutputString(self): DumpString = '''// B2 17 ¹Å±¦ÉýÐÇ //tagCMGubaoStarUp: GubaoID:%d, PieceCount:%d '''\ %( self.GubaoID, self.PieceCount ) return DumpString class tagCMGubaoStarUp(Structure): Head = tagHead() GubaoID = 0 #(WORD GubaoID) PieceSelectCount = 0 #(BYTE PieceSelectCount) CommPieceUseList = list() #(vector CommPieceUseList)// ͨÓùű¦ËéÆ¬Ê¹ÓÃÁбí data = None def __init__(self): self.Clear() self.Head.Cmd = 0xB2 self.Head.SubCmd = 0x17 return def ReadData(self, _lpData, _pos=0, _Len=0): self.Clear() _pos = self.Head.ReadData(_lpData, _pos) self.GubaoID,_pos = CommFunc.ReadWORD(_lpData, _pos) self.PieceSelectCount,_pos = CommFunc.ReadBYTE(_lpData, _pos) for i in range(self.PieceSelectCount): temCommPieceUseList = tagCMGubaoPieceUse() _pos = temCommPieceUseList.ReadData(_lpData, _pos) self.CommPieceUseList.append(temCommPieceUseList) return _pos def Clear(self): self.Head = tagHead() self.Head.Clear() self.Head.Cmd = 0xB2 self.Head.SubCmd = 0x17 self.GubaoID = 0 self.PieceSelectCount = 0 self.CommPieceUseList = list() return def GetLength(self): length = 0 length += self.Head.GetLength() length += 2 length += 1 for i in range(self.PieceSelectCount): length += self.CommPieceUseList[i].GetLength() return length def GetBuffer(self): data = '' data = CommFunc.WriteString(data, self.Head.GetLength(), self.Head.GetBuffer()) data = CommFunc.WriteWORD(data, self.GubaoID) data = CommFunc.WriteBYTE(data, self.PieceSelectCount) for i in range(self.PieceSelectCount): data = CommFunc.WriteString(data, self.CommPieceUseList[i].GetLength(), self.CommPieceUseList[i].GetBuffer()) return data def OutputString(self): DumpString = ''' Head:%s, GubaoID:%d, PieceSelectCount:%d, CommPieceUseList:%s '''\ %( self.Head.OutputString(), self.GubaoID, self.PieceSelectCount, "..." ) return DumpString m_NAtagCMGubaoStarUp=tagCMGubaoStarUp() ChNetPackDict[eval("0x%02x%02x"%(m_NAtagCMGubaoStarUp.Head.Cmd,m_NAtagCMGubaoStarUp.Head.SubCmd))] = m_NAtagCMGubaoStarUp #------------------------------------------------------ # B2 07 ÖØÖüӵã #tagCMResetAttrPoint class tagCMResetAttrPoint(Structure): _pack_ = 1 _fields_ = [ ("Cmd", c_ubyte), ("SubCmd", c_ubyte), ] def __init__(self): self.Clear() self.Cmd = 0xB2 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 = 0xB2 self.SubCmd = 0x07 return def GetLength(self): return sizeof(tagCMResetAttrPoint) def GetBuffer(self): return string_at(addressof(self), self.GetLength()) def OutputString(self): DumpString = '''// B2 07 ÖØÖüӵã //tagCMResetAttrPoint: Cmd:%s, SubCmd:%s '''\ %( self.Cmd, self.SubCmd ) return DumpString m_NAtagCMResetAttrPoint=tagCMResetAttrPoint() ChNetPackDict[eval("0x%02x%02x"%(m_NAtagCMResetAttrPoint.Cmd,m_NAtagCMResetAttrPoint.SubCmd))] = m_NAtagCMResetAttrPoint #------------------------------------------------------ # B2 19 ÉñͨÉý¼¶ #tagCMShentongLVUp class tagCMShentongLVUp(Structure): _pack_ = 1 _fields_ = [ ("Cmd", c_ubyte), ("SubCmd", c_ubyte), ("ShentongID", c_ubyte), ] def __init__(self): self.Clear() self.Cmd = 0xB2 self.SubCmd = 0x19 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 = 0xB2 self.SubCmd = 0x19 self.ShentongID = 0 return def GetLength(self): return sizeof(tagCMShentongLVUp) def GetBuffer(self): return string_at(addressof(self), self.GetLength()) def OutputString(self): DumpString = '''// B2 19 ÉñͨÉý¼¶ //tagCMShentongLVUp: Cmd:%s, SubCmd:%s, ShentongID:%d '''\ %( self.Cmd, self.SubCmd, self.ShentongID ) return DumpString m_NAtagCMShentongLVUp=tagCMShentongLVUp() ChNetPackDict[eval("0x%02x%02x"%(m_NAtagCMShentongLVUp.Cmd,m_NAtagCMShentongLVUp.SubCmd))] = m_NAtagCMShentongLVUp #------------------------------------------------------ # B2 20 Éñͨ¼¼ÄÜÉèÖà #tagCMShentongSkillSet class tagCMShentongSkillSet(Structure): Head = tagHead() Count = 0 #(BYTE Count) SkillIDList = list() #(vector SkillIDList) data = None def __init__(self): self.Clear() self.Head.Cmd = 0xB2 self.Head.SubCmd = 0x20 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): value,_pos=CommFunc.ReadDWORD(_lpData,_pos) self.SkillIDList.append(value) return _pos def Clear(self): self.Head = tagHead() self.Head.Clear() self.Head.Cmd = 0xB2 self.Head.SubCmd = 0x20 self.Count = 0 self.SkillIDList = list() return def GetLength(self): length = 0 length += self.Head.GetLength() length += 1 length += 4 * self.Count 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.WriteDWORD(data, self.SkillIDList[i]) return data def OutputString(self): DumpString = ''' Head:%s, Count:%d, SkillIDList:%s '''\ %( self.Head.OutputString(), self.Count, "..." ) return DumpString m_NAtagCMShentongSkillSet=tagCMShentongSkillSet() ChNetPackDict[eval("0x%02x%02x"%(m_NAtagCMShentongSkillSet.Head.Cmd,m_NAtagCMShentongSkillSet.Head.SubCmd))] = m_NAtagCMShentongSkillSet #------------------------------------------------------ #B2 01 ÍÑ»ú¹Ò״̬ # tagCMLoginState class tagCMLoginState(Structure): _pack_ = 1 _fields_ = [ ("Cmd", c_ubyte), ("SubCmd", c_ubyte), ("State", c_ubyte), # 0Õý³£µÇ¼£¬1ÍÑ»úµÇ¼£¬2ÍÑ»úµÇ¼ËÀÍö ] def __init__(self): self.Clear() self.Cmd = 0xB2 self.SubCmd = 0x01 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 = 0xB2 self.SubCmd = 0x01 self.State = 0 return def GetLength(self): return sizeof(tagCMLoginState) def GetBuffer(self): return string_at(addressof(self), self.GetLength()) def OutputString(self): DumpString = '''//B2 01 ÍÑ»ú¹Ò״̬ // tagCMLoginState: Cmd:%s, SubCmd:%s, State:%d '''\ %( self.Cmd, self.SubCmd, self.State ) return DumpString m_NAtagCMLoginState=tagCMLoginState() ChNetPackDict[eval("0x%02x%02x"%(m_NAtagCMLoginState.Cmd,m_NAtagCMLoginState.SubCmd))] = m_NAtagCMLoginState #------------------------------------------------------ #B2 05 ÍÆËÍÌáÐÑÉèÖà #tagCMPushNotificationsSetting class tagCMPushNotificationsSetting(Structure): Head = tagHead() OnoffBit = 0 #(DWORD OnoffBit)// °´Î»Ô¼¶¨¿ª¹Ø TimeLen = 0 #(BYTE TimeLen) TimeStr = "" #(String TimeStr)// ʱ¼ä×Ö·û´® 01:02-05:00 data = None def __init__(self): self.Clear() self.Head.Cmd = 0xB2 self.Head.SubCmd = 0x05 return def ReadData(self, _lpData, _pos=0, _Len=0): self.Clear() _pos = self.Head.ReadData(_lpData, _pos) self.OnoffBit,_pos = CommFunc.ReadDWORD(_lpData, _pos) self.TimeLen,_pos = CommFunc.ReadBYTE(_lpData, _pos) self.TimeStr,_pos = CommFunc.ReadString(_lpData, _pos,self.TimeLen) return _pos def Clear(self): self.Head = tagHead() self.Head.Clear() self.Head.Cmd = 0xB2 self.Head.SubCmd = 0x05 self.OnoffBit = 0 self.TimeLen = 0 self.TimeStr = "" return def GetLength(self): length = 0 length += self.Head.GetLength() length += 4 length += 1 length += len(self.TimeStr) return length def GetBuffer(self): data = '' data = CommFunc.WriteString(data, self.Head.GetLength(), self.Head.GetBuffer()) data = CommFunc.WriteDWORD(data, self.OnoffBit) data = CommFunc.WriteBYTE(data, self.TimeLen) data = CommFunc.WriteString(data, self.TimeLen, self.TimeStr) return data def OutputString(self): DumpString = ''' Head:%s, OnoffBit:%d, TimeLen:%d, TimeStr:%s '''\ %( self.Head.OutputString(), self.OnoffBit, self.TimeLen, self.TimeStr ) return DumpString m_NAtagCMPushNotificationsSetting=tagCMPushNotificationsSetting() ChNetPackDict[eval("0x%02x%02x"%(m_NAtagCMPushNotificationsSetting.Head.Cmd,m_NAtagCMPushNotificationsSetting.Head.SubCmd))] = m_NAtagCMPushNotificationsSetting #------------------------------------------------------ #B2 02 ÊÓÒ°Ëõ·Å #tagCMSightZoom class tagCMSightZoom(Structure): _pack_ = 1 _fields_ = [ ("Cmd", c_ubyte), ("SubCmd", c_ubyte), ("Sight", c_ubyte), # ÊÓÒ°Ëõ·Å£¬ÓÃÓÚÍÑ»ú¹Ò²»³¬¹ý×î´óÊÓÒ°£¬¿ÕÏÐ״̬Ϊ0£¬±»Íæ¼Ò¹¥»÷»Ö¸´ÊÓÒ° ] def __init__(self): self.Clear() self.Cmd = 0xB2 self.SubCmd = 0x02 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 = 0xB2 self.SubCmd = 0x02 self.Sight = 0 return def GetLength(self): return sizeof(tagCMSightZoom) def GetBuffer(self): return string_at(addressof(self), self.GetLength()) def OutputString(self): DumpString = '''//B2 02 ÊÓÒ°Ëõ·Å //tagCMSightZoom: Cmd:%s, SubCmd:%s, Sight:%d '''\ %( self.Cmd, self.SubCmd, self.Sight ) return DumpString m_NAtagCMSightZoom=tagCMSightZoom() ChNetPackDict[eval("0x%02x%02x"%(m_NAtagCMSightZoom.Cmd,m_NAtagCMSightZoom.SubCmd))] = m_NAtagCMSightZoom #------------------------------------------------------ #B2 04 ϵͳÉèÖà #tagCMSystem class tagCMSystem(Structure): _pack_ = 1 _fields_ = [ ("Cmd", c_ubyte), ("SubCmd", c_ubyte), ("AutoEat", c_ubyte), # ×Ô¶¯ÍÌÊÉ ("AutoReborn", c_ubyte), #×Ô¶¯Âò»î ] def __init__(self): self.Clear() self.Cmd = 0xB2 self.SubCmd = 0x04 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 = 0xB2 self.SubCmd = 0x04 self.AutoEat = 0 self.AutoReborn = 0 return def GetLength(self): return sizeof(tagCMSystem) def GetBuffer(self): return string_at(addressof(self), self.GetLength()) def OutputString(self): DumpString = '''//B2 04 ϵͳÉèÖà //tagCMSystem: Cmd:%s, SubCmd:%s, AutoEat:%d, AutoReborn:%d '''\ %( self.Cmd, self.SubCmd, self.AutoEat, self.AutoReborn ) return DumpString m_NAtagCMSystem=tagCMSystem() ChNetPackDict[eval("0x%02x%02x"%(m_NAtagCMSystem.Cmd,m_NAtagCMSystem.SubCmd))] = m_NAtagCMSystem #------------------------------------------------------ #B2 03 ÉèÖÃÍÑ»ú¹ÒNPC # tagCMTJGnpc class tagCMTJGnpc(Structure): _pack_ = 1 _fields_ = [ ("Cmd", c_ubyte), ("SubCmd", c_ubyte), ("NPCID", c_int), # ÍÑ»ú¹Òµã ] def __init__(self): self.Clear() self.Cmd = 0xB2 self.SubCmd = 0x03 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 = 0xB2 self.SubCmd = 0x03 self.NPCID = 0 return def GetLength(self): return sizeof(tagCMTJGnpc) def GetBuffer(self): return string_at(addressof(self), self.GetLength()) def OutputString(self): DumpString = '''//B2 03 ÉèÖÃÍÑ»ú¹ÒNPC // tagCMTJGnpc: Cmd:%s, SubCmd:%s, NPCID:%d '''\ %( self.Cmd, self.SubCmd, self.NPCID ) return DumpString m_NAtagCMTJGnpc=tagCMTJGnpc() ChNetPackDict[eval("0x%02x%02x"%(m_NAtagCMTJGnpc.Cmd,m_NAtagCMTJGnpc.SubCmd))] = m_NAtagCMTJGnpc #------------------------------------------------------ # B3 17 Çé½ä½âËø #tagCMLoveRingUnlock class tagCMLoveRingUnlock(Structure): _pack_ = 1 _fields_ = [ ("Cmd", c_ubyte), ("SubCmd", c_ubyte), ] def __init__(self): self.Clear() self.Cmd = 0xB3 self.SubCmd = 0x17 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 = 0xB3 self.SubCmd = 0x17 return def GetLength(self): return sizeof(tagCMLoveRingUnlock) def GetBuffer(self): return string_at(addressof(self), self.GetLength()) def OutputString(self): DumpString = '''// B3 17 Çé½ä½âËø //tagCMLoveRingUnlock: Cmd:%s, SubCmd:%s '''\ %( self.Cmd, self.SubCmd ) return DumpString m_NAtagCMLoveRingUnlock=tagCMLoveRingUnlock() ChNetPackDict[eval("0x%02x%02x"%(m_NAtagCMLoveRingUnlock.Cmd,m_NAtagCMLoveRingUnlock.SubCmd))] = m_NAtagCMLoveRingUnlock #------------------------------------------------------ # B3 18 Çé½äÉý¼¶ #tagCMLoveRingUp class tagCMLoveRingUp(Structure): _pack_ = 1 _fields_ = [ ("Cmd", c_ubyte), ("SubCmd", c_ubyte), ("UseItemCnt", c_int), #ÏûºÄ²ÄÁϸöÊý ] def __init__(self): self.Clear() self.Cmd = 0xB3 self.SubCmd = 0x18 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 = 0xB3 self.SubCmd = 0x18 self.UseItemCnt = 0 return def GetLength(self): return sizeof(tagCMLoveRingUp) def GetBuffer(self): return string_at(addressof(self), self.GetLength()) def OutputString(self): DumpString = '''// B3 18 Çé½äÉý¼¶ //tagCMLoveRingUp: Cmd:%s, SubCmd:%s, UseItemCnt:%d '''\ %( self.Cmd, self.SubCmd, self.UseItemCnt ) return DumpString m_NAtagCMLoveRingUp=tagCMLoveRingUp() ChNetPackDict[eval("0x%02x%02x"%(m_NAtagCMLoveRingUp.Cmd,m_NAtagCMLoveRingUp.SubCmd))] = m_NAtagCMLoveRingUp #------------------------------------------------------ # B3 15 Àë»é #tagCMMarryBreak class tagCMMarryBreak(Structure): _pack_ = 1 _fields_ = [ ("Cmd", c_ubyte), ("SubCmd", c_ubyte), ("BreakType", c_ubyte), # 0-ºÍƽÀë»é£»1-Ç¿ÖÆÀë»é ] def __init__(self): self.Clear() self.Cmd = 0xB3 self.SubCmd = 0x15 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 = 0xB3 self.SubCmd = 0x15 self.BreakType = 0 return def GetLength(self): return sizeof(tagCMMarryBreak) def GetBuffer(self): return string_at(addressof(self), self.GetLength()) def OutputString(self): DumpString = '''// B3 15 Àë»é //tagCMMarryBreak: Cmd:%s, SubCmd:%s, BreakType:%d '''\ %( self.Cmd, self.SubCmd, self.BreakType ) return DumpString m_NAtagCMMarryBreak=tagCMMarryBreak() ChNetPackDict[eval("0x%02x%02x"%(m_NAtagCMMarryBreak.Cmd,m_NAtagCMMarryBreak.SubCmd))] = m_NAtagCMMarryBreak #------------------------------------------------------ # B3 14 ¹ºÂò»éÀñÑÌ»¨ #tagCMMarryBuyFireworks class tagCMMarryBuyFireworks(Structure): _pack_ = 1 _fields_ = [ ("Cmd", c_ubyte), ("SubCmd", c_ubyte), ("PlayerIDA", c_int), # ϲÌÇËùÊôÍæ¼ÒIDA ("PlayerIDB", c_int), # ϲÌÇËùÊôÍæ¼ÒIDB ] def __init__(self): self.Clear() self.Cmd = 0xB3 self.SubCmd = 0x14 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 = 0xB3 self.SubCmd = 0x14 self.PlayerIDA = 0 self.PlayerIDB = 0 return def GetLength(self): return sizeof(tagCMMarryBuyFireworks) def GetBuffer(self): return string_at(addressof(self), self.GetLength()) def OutputString(self): DumpString = '''// B3 14 ¹ºÂò»éÀñÑÌ»¨ //tagCMMarryBuyFireworks: Cmd:%s, SubCmd:%s, PlayerIDA:%d, PlayerIDB:%d '''\ %( self.Cmd, self.SubCmd, self.PlayerIDA, self.PlayerIDB ) return DumpString m_NAtagCMMarryBuyFireworks=tagCMMarryBuyFireworks() ChNetPackDict[eval("0x%02x%02x"%(m_NAtagCMMarryBuyFireworks.Cmd,m_NAtagCMMarryBuyFireworks.SubCmd))] = m_NAtagCMMarryBuyFireworks #------------------------------------------------------ # B3 13 ³ÔϲÌÇ #tagCMMarryEatCandy class tagCMMarryEatCandy(Structure): _pack_ = 1 _fields_ = [ ("Cmd", c_ubyte), ("SubCmd", c_ubyte), ("PlayerIDA", c_int), # ϲÌÇËùÊôÍæ¼ÒIDA ("PlayerIDB", c_int), # ϲÌÇËùÊôÍæ¼ÒIDB ] def __init__(self): self.Clear() self.Cmd = 0xB3 self.SubCmd = 0x13 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 = 0xB3 self.SubCmd = 0x13 self.PlayerIDA = 0 self.PlayerIDB = 0 return def GetLength(self): return sizeof(tagCMMarryEatCandy) def GetBuffer(self): return string_at(addressof(self), self.GetLength()) def OutputString(self): DumpString = '''// B3 13 ³ÔϲÌÇ //tagCMMarryEatCandy: Cmd:%s, SubCmd:%s, PlayerIDA:%d, PlayerIDB:%d '''\ %( self.Cmd, self.SubCmd, self.PlayerIDA, self.PlayerIDB ) return DumpString m_NAtagCMMarryEatCandy=tagCMMarryEatCandy() ChNetPackDict[eval("0x%02x%02x"%(m_NAtagCMMarryEatCandy.Cmd,m_NAtagCMMarryEatCandy.SubCmd))] = m_NAtagCMMarryEatCandy #------------------------------------------------------ # B3 11 ÌáÇ× #tagCMMarryReq class tagCMMarryReq(Structure): _pack_ = 1 _fields_ = [ ("Cmd", c_ubyte), ("SubCmd", c_ubyte), ("TagPlayerID", c_int), # Ä¿±êÍæ¼ÒID ("BridePriceID", c_ubyte), # ƸÀñID ] def __init__(self): self.Clear() self.Cmd = 0xB3 self.SubCmd = 0x11 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 = 0xB3 self.SubCmd = 0x11 self.TagPlayerID = 0 self.BridePriceID = 0 return def GetLength(self): return sizeof(tagCMMarryReq) def GetBuffer(self): return string_at(addressof(self), self.GetLength()) def OutputString(self): DumpString = '''// B3 11 ÌáÇ× //tagCMMarryReq: Cmd:%s, SubCmd:%s, TagPlayerID:%d, BridePriceID:%d '''\ %( self.Cmd, self.SubCmd, self.TagPlayerID, self.BridePriceID ) return DumpString m_NAtagCMMarryReq=tagCMMarryReq() ChNetPackDict[eval("0x%02x%02x"%(m_NAtagCMMarryReq.Cmd,m_NAtagCMMarryReq.SubCmd))] = m_NAtagCMMarryReq #------------------------------------------------------ # B3 10 ËÍÀñÎï #tagCMSendGifts class tagCMSendGifts(Structure): _pack_ = 1 _fields_ = [ ("Cmd", c_ubyte), ("SubCmd", c_ubyte), ("TagPlayerID", c_int), # Ä¿±êÍæ¼ÒID ("GiftNum", c_ushort), # ÔùËÍÀñÎï±àºÅ ("GiftCount", c_int), # ÔùËÍÀñÎïÊýÁ¿ ("IsAutoBuy", c_ubyte), # ÊÇ·ñ×Ô¶¯¹ºÂò ] def __init__(self): self.Clear() self.Cmd = 0xB3 self.SubCmd = 0x10 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 = 0xB3 self.SubCmd = 0x10 self.TagPlayerID = 0 self.GiftNum = 0 self.GiftCount = 0 self.IsAutoBuy = 0 return def GetLength(self): return sizeof(tagCMSendGifts) def GetBuffer(self): return string_at(addressof(self), self.GetLength()) def OutputString(self): DumpString = '''// B3 10 ËÍÀñÎï //tagCMSendGifts: Cmd:%s, SubCmd:%s, TagPlayerID:%d, GiftNum:%d, GiftCount:%d, IsAutoBuy:%d '''\ %( self.Cmd, self.SubCmd, self.TagPlayerID, self.GiftNum, self.GiftCount, self.IsAutoBuy ) return DumpString m_NAtagCMSendGifts=tagCMSendGifts() ChNetPackDict[eval("0x%02x%02x"%(m_NAtagCMSendGifts.Cmd,m_NAtagCMSendGifts.SubCmd))] = m_NAtagCMSendGifts #------------------------------------------------------ # B4 11 ¾µÏñÕ½¶· #tagCMMirrorFight class tagCMMirrorFight(Structure): _pack_ = 1 _fields_ = [ ("Cmd", c_ubyte), ("SubCmd", c_ubyte), ("MapID", c_int), # ×Ô¶¨ÒåµØÍ¼ID£¬È羺¼¼³¡µÈ ("FuncLineID", c_ushort), ("TagPlayeID", c_int), # Ä¿±êÍæ¼ÒID£¬Ö§³Ö¿ç·þÍæ¼ÒID ("CmdType", c_ubyte), # ÃüÁîÀàÐÍ: 0-´´½¨Õ½¶·£»1-¿ªÊ¼Õ½¶·£»2-Õ½¶·ÖÐÌø¹ý£»3-²»´´½¨Õ½¶·Ö±½ÓµÃ½á¹û ] def __init__(self): self.Clear() self.Cmd = 0xB4 self.SubCmd = 0x11 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 = 0xB4 self.SubCmd = 0x11 self.MapID = 0 self.FuncLineID = 0 self.TagPlayeID = 0 self.CmdType = 0 return def GetLength(self): return sizeof(tagCMMirrorFight) def GetBuffer(self): return string_at(addressof(self), self.GetLength()) def OutputString(self): DumpString = '''// B4 11 ¾µÏñÕ½¶· //tagCMMirrorFight: Cmd:%s, SubCmd:%s, MapID:%d, FuncLineID:%d, TagPlayeID:%d, CmdType:%d '''\ %( self.Cmd, self.SubCmd, self.MapID, self.FuncLineID, self.TagPlayeID, self.CmdType ) return DumpString m_NAtagCMMirrorFight=tagCMMirrorFight() ChNetPackDict[eval("0x%02x%02x"%(m_NAtagCMMirrorFight.Cmd,m_NAtagCMMirrorFight.SubCmd))] = m_NAtagCMMirrorFight #------------------------------------------------------ # B4 0F »ØÊÕ˽ÓÐרÊôľ׮¹Ö #tagCMRecyclePriWoodPile class tagCMRecyclePriWoodPile(Structure): _pack_ = 1 _fields_ = [ ("Cmd", c_ubyte), ("SubCmd", c_ubyte), ("ObjID", c_int), ] def __init__(self): self.Clear() self.Cmd = 0xB4 self.SubCmd = 0x0F 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 = 0xB4 self.SubCmd = 0x0F self.ObjID = 0 return def GetLength(self): return sizeof(tagCMRecyclePriWoodPile) def GetBuffer(self): return string_at(addressof(self), self.GetLength()) def OutputString(self): DumpString = '''// B4 0F »ØÊÕ˽ÓÐרÊôľ׮¹Ö //tagCMRecyclePriWoodPile: Cmd:%s, SubCmd:%s, ObjID:%d '''\ %( self.Cmd, self.SubCmd, self.ObjID ) return DumpString m_NAtagCMRecyclePriWoodPile=tagCMRecyclePriWoodPile() ChNetPackDict[eval("0x%02x%02x"%(m_NAtagCMRecyclePriWoodPile.Cmd,m_NAtagCMRecyclePriWoodPile.SubCmd))] = m_NAtagCMRecyclePriWoodPile #------------------------------------------------------ # B4 0E Íæ¼ÒµôѪ #tagCMRoleLostHP class tagCMRoleLostHP(Structure): _pack_ = 1 _fields_ = [ ("Cmd", c_ubyte), ("SubCmd", c_ubyte), ("LostHP", c_int), ("LostHPEx", c_int), ] def __init__(self): self.Clear() self.Cmd = 0xB4 self.SubCmd = 0x0E 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 = 0xB4 self.SubCmd = 0x0E self.LostHP = 0 self.LostHPEx = 0 return def GetLength(self): return sizeof(tagCMRoleLostHP) def GetBuffer(self): return string_at(addressof(self), self.GetLength()) def OutputString(self): DumpString = '''// B4 0E Íæ¼ÒµôѪ //tagCMRoleLostHP: Cmd:%s, SubCmd:%s, LostHP:%d, LostHPEx:%d '''\ %( self.Cmd, self.SubCmd, self.LostHP, self.LostHPEx ) return DumpString m_NAtagCMRoleLostHP=tagCMRoleLostHP() ChNetPackDict[eval("0x%02x%02x"%(m_NAtagCMRoleLostHP.Cmd,m_NAtagCMRoleLostHP.SubCmd))] = m_NAtagCMRoleLostHP #------------------------------------------------------ # B4 0C ÕÙ»½Ë½ÓÐרÊôľ׮¹Ö #tagCMSummonPriWoodPile class tagCMSummonPriWoodPile(Structure): _pack_ = 1 _fields_ = [ ("Cmd", c_ubyte), ("SubCmd", c_ubyte), ("NPCID", c_int), ("Count", c_ubyte), #ĬÈÏ1¸ö£¬×î¶à5¸ö ("HP", c_int), #ĬÈÏ0È¡×î´óÖµ£¬ÆäÖÐÒ»¸öѪÁ¿ÊýÖµ´óÓÚ0ÔòÓÃÖ¸¶¨ÑªÁ¿ ("HPEx", c_int), #ĬÈÏ0È¡×î´óÖµ£¬ÆäÖÐÒ»¸öѪÁ¿ÊýÖµ´óÓÚ0ÔòÓÃÖ¸¶¨ÑªÁ¿ ] def __init__(self): self.Clear() self.Cmd = 0xB4 self.SubCmd = 0x0C 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 = 0xB4 self.SubCmd = 0x0C self.NPCID = 0 self.Count = 0 self.HP = 0 self.HPEx = 0 return def GetLength(self): return sizeof(tagCMSummonPriWoodPile) def GetBuffer(self): return string_at(addressof(self), self.GetLength()) def OutputString(self): DumpString = '''// B4 0C ÕÙ»½Ë½ÓÐרÊôľ׮¹Ö //tagCMSummonPriWoodPile: Cmd:%s, SubCmd:%s, NPCID:%d, Count:%d, HP:%d, HPEx:%d '''\ %( self.Cmd, self.SubCmd, self.NPCID, self.Count, self.HP, self.HPEx ) return DumpString m_NAtagCMSummonPriWoodPile=tagCMSummonPriWoodPile() ChNetPackDict[eval("0x%02x%02x"%(m_NAtagCMSummonPriWoodPile.Cmd,m_NAtagCMSummonPriWoodPile.SubCmd))] = m_NAtagCMSummonPriWoodPile #------------------------------------------------------ #B4 06 Õ½¶·Òƶ¯ # tagCMFightMove class tagCMFightMove(Structure): _pack_ = 1 _fields_ = [ ("Cmd", c_ubyte), ("SubCmd", c_ubyte), ("StartX", c_ushort), ("StartY", c_ushort), ("DestX", c_ushort), ("DestY", c_ushort), ("WorldTick", c_int), ] def __init__(self): self.Clear() self.Cmd = 0xB4 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 = 0xB4 self.SubCmd = 0x06 self.StartX = 0 self.StartY = 0 self.DestX = 0 self.DestY = 0 self.WorldTick = 0 return def GetLength(self): return sizeof(tagCMFightMove) def GetBuffer(self): return string_at(addressof(self), self.GetLength()) def OutputString(self): DumpString = '''//B4 06 Õ½¶·Òƶ¯ // tagCMFightMove: Cmd:%s, SubCmd:%s, StartX:%d, StartY:%d, DestX:%d, DestY:%d, WorldTick:%d '''\ %( self.Cmd, self.SubCmd, self.StartX, self.StartY, self.DestX, self.DestY, self.WorldTick ) return DumpString m_NAtagCMFightMove=tagCMFightMove() ChNetPackDict[eval("0x%02x%02x"%(m_NAtagCMFightMove.Cmd,m_NAtagCMFightMove.SubCmd))] = m_NAtagCMFightMove #------------------------------------------------------ #B4 0B ¸ù¾ÝÀàÐÍÀ´¾ö¶¨Òƶ¯µÄ·½Ê½ #tagCMMoveByType class tagCMMoveByType(Structure): _pack_ = 1 _fields_ = [ ("Cmd", c_ubyte), ("SubCmd", c_ubyte), ("PosX", c_ushort), # Ä¿±êX ("PosY", c_ushort), # Ä¿±êY ("MoveType", c_ubyte), #ÒÆ¶¯·½Ê½ ] def __init__(self): self.Clear() self.Cmd = 0xB4 self.SubCmd = 0x0B 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 = 0xB4 self.SubCmd = 0x0B self.PosX = 0 self.PosY = 0 self.MoveType = 0 return def GetLength(self): return sizeof(tagCMMoveByType) def GetBuffer(self): return string_at(addressof(self), self.GetLength()) def OutputString(self): DumpString = '''//B4 0B ¸ù¾ÝÀàÐÍÀ´¾ö¶¨Òƶ¯µÄ·½Ê½ //tagCMMoveByType: Cmd:%s, SubCmd:%s, PosX:%d, PosY:%d, MoveType:%d '''\ %( self.Cmd, self.SubCmd, self.PosX, self.PosY, self.MoveType ) return DumpString m_NAtagCMMoveByType=tagCMMoveByType() ChNetPackDict[eval("0x%02x%02x"%(m_NAtagCMMoveByType.Cmd,m_NAtagCMMoveByType.SubCmd))] = m_NAtagCMMoveByType #------------------------------------------------------ #B4 02 ¶ÔÏó»÷ÍË #tagCMNPCBeatBack class tagCMNPCPos(Structure): _pack_ = 1 _fields_ = [ ("ObjID", c_int), ("PosX", c_ushort), ("PosY", c_ushort), ] 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.ObjID = 0 self.PosX = 0 self.PosY = 0 return def GetLength(self): return sizeof(tagCMNPCPos) def GetBuffer(self): return string_at(addressof(self), self.GetLength()) def OutputString(self): DumpString = '''//B4 02 ¶ÔÏó»÷ÍË //tagCMNPCBeatBack: ObjID:%d, PosX:%d, PosY:%d '''\ %( self.ObjID, self.PosX, self.PosY ) return DumpString class tagCMNPCBeatBack(Structure): Head = tagHead() Count = 0 #(BYTE Count) ObjType = 0 #(BYTE ObjType) NPCPosList = list() #(vector NPCPosList) data = None def __init__(self): self.Clear() self.Head.Cmd = 0xB4 self.Head.SubCmd = 0x02 return def ReadData(self, _lpData, _pos=0, _Len=0): self.Clear() _pos = self.Head.ReadData(_lpData, _pos) self.Count,_pos = CommFunc.ReadBYTE(_lpData, _pos) self.ObjType,_pos = CommFunc.ReadBYTE(_lpData, _pos) for i in range(self.Count): temNPCPosList = tagCMNPCPos() _pos = temNPCPosList.ReadData(_lpData, _pos) self.NPCPosList.append(temNPCPosList) return _pos def Clear(self): self.Head = tagHead() self.Head.Clear() self.Head.Cmd = 0xB4 self.Head.SubCmd = 0x02 self.Count = 0 self.ObjType = 0 self.NPCPosList = list() return def GetLength(self): length = 0 length += self.Head.GetLength() length += 1 length += 1 for i in range(self.Count): length += self.NPCPosList[i].GetLength() return length def GetBuffer(self): data = '' data = CommFunc.WriteString(data, self.Head.GetLength(), self.Head.GetBuffer()) data = CommFunc.WriteBYTE(data, self.Count) data = CommFunc.WriteBYTE(data, self.ObjType) for i in range(self.Count): data = CommFunc.WriteString(data, self.NPCPosList[i].GetLength(), self.NPCPosList[i].GetBuffer()) return data def OutputString(self): DumpString = ''' Head:%s, Count:%d, ObjType:%d, NPCPosList:%s '''\ %( self.Head.OutputString(), self.Count, self.ObjType, "..." ) return DumpString m_NAtagCMNPCBeatBack=tagCMNPCBeatBack() ChNetPackDict[eval("0x%02x%02x"%(m_NAtagCMNPCBeatBack.Head.Cmd,m_NAtagCMNPCBeatBack.Head.SubCmd))] = m_NAtagCMNPCBeatBack #------------------------------------------------------ #B4 08 ±»¶¯¼¼ÄÜҳѡÔñ£¨¹¦·¨£© # tagCMPassivePage class tagCMPassivePage(Structure): _pack_ = 1 _fields_ = [ ("Cmd", c_ubyte), ("SubCmd", c_ubyte), ("Page", c_ubyte), # ·ÖÒ³ ] def __init__(self): self.Clear() self.Cmd = 0xB4 self.SubCmd = 0x08 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 = 0xB4 self.SubCmd = 0x08 self.Page = 0 return def GetLength(self): return sizeof(tagCMPassivePage) def GetBuffer(self): return string_at(addressof(self), self.GetLength()) def OutputString(self): DumpString = '''//B4 08 ±»¶¯¼¼ÄÜҳѡÔñ£¨¹¦·¨£© // tagCMPassivePage: Cmd:%s, SubCmd:%s, Page:%d '''\ %( self.Cmd, self.SubCmd, self.Page ) return DumpString m_NAtagCMPassivePage=tagCMPassivePage() ChNetPackDict[eval("0x%02x%02x"%(m_NAtagCMPassivePage.Cmd,m_NAtagCMPassivePage.SubCmd))] = m_NAtagCMPassivePage #------------------------------------------------------ # B4 07 ±»¶¯¼¼ÄÜÉèÖ㨹¦·¨£© # tagCMPassiveSet class tagCMPassiveSet(Structure): _pack_ = 1 _fields_ = [ ("Cmd", c_ubyte), ("SubCmd", c_ubyte), ("Page", c_ubyte), # ·ÖÒ³ ("Index", c_ubyte), # ÐòºÅ ("SkillID", c_int), # ¼¼ÄÜID ] def __init__(self): self.Clear() self.Cmd = 0xB4 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 = 0xB4 self.SubCmd = 0x07 self.Page = 0 self.Index = 0 self.SkillID = 0 return def GetLength(self): return sizeof(tagCMPassiveSet) def GetBuffer(self): return string_at(addressof(self), self.GetLength()) def OutputString(self): DumpString = '''// B4 07 ±»¶¯¼¼ÄÜÉèÖ㨹¦·¨£© // tagCMPassiveSet: Cmd:%s, SubCmd:%s, Page:%d, Index:%d, SkillID:%d '''\ %( self.Cmd, self.SubCmd, self.Page, self.Index, self.SkillID ) return DumpString m_NAtagCMPassiveSet=tagCMPassiveSet() ChNetPackDict[eval("0x%02x%02x"%(m_NAtagCMPassiveSet.Cmd,m_NAtagCMPassiveSet.SubCmd))] = m_NAtagCMPassiveSet #------------------------------------------------------ #B4 09 Íæ¼ÒÒÆ¶¯ # tagCMPyMove class tagCMPyMove(Structure): _pack_ = 1 _fields_ = [ ("Cmd", c_ubyte), ("SubCmd", c_ubyte), ("Dir", c_ushort), # ³¯Ïò ("ClientPosX", c_ushort), # ¿Í»§¶Ë×ø±êX ºÁÃ× ("ClientPosY", c_ushort), # ¿Í»§¶Ë×ø±êY ("SeverPosX", c_ushort), # ·þÎñ¶Ë×ø±êX ¸ñ×Ó ("SeverPosY", c_ushort), # ·þÎñ¶Ë×ø±êY ("WorldTick", c_int), ("MoveType", c_ubyte), # 0 Í£Ö¹ 1ÒÆ¶¯ ] def __init__(self): self.Clear() self.Cmd = 0xB4 self.SubCmd = 0x09 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 = 0xB4 self.SubCmd = 0x09 self.Dir = 0 self.ClientPosX = 0 self.ClientPosY = 0 self.SeverPosX = 0 self.SeverPosY = 0 self.WorldTick = 0 self.MoveType = 0 return def GetLength(self): return sizeof(tagCMPyMove) def GetBuffer(self): return string_at(addressof(self), self.GetLength()) def OutputString(self): DumpString = '''//B4 09 Íæ¼ÒÒÆ¶¯ // tagCMPyMove: Cmd:%s, SubCmd:%s, Dir:%d, ClientPosX:%d, ClientPosY:%d, SeverPosX:%d, SeverPosY:%d, WorldTick:%d, MoveType:%d '''\ %( self.Cmd, self.SubCmd, self.Dir, self.ClientPosX, self.ClientPosY, self.SeverPosX, self.SeverPosY, self.WorldTick, self.MoveType ) return DumpString m_NAtagCMPyMove=tagCMPyMove() ChNetPackDict[eval("0x%02x%02x"%(m_NAtagCMPyMove.Cmd,m_NAtagCMPyMove.SubCmd))] = m_NAtagCMPyMove #------------------------------------------------------ #B4 04 սǰ³å·æ #tagCMRush class tagCMRush(Structure): _pack_ = 1 _fields_ = [ ("Cmd", c_ubyte), ("SubCmd", c_ubyte), ("ObjID", c_int), #·ÇÅä±íNPCID£¬Ä¿Ç°Ö»Ö§³ÖNPC ("PosX", c_ushort), # Ä¿±êX ("PosY", c_ushort), # Ä¿±êY ] def __init__(self): self.Clear() self.Cmd = 0xB4 self.SubCmd = 0x04 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 = 0xB4 self.SubCmd = 0x04 self.ObjID = 0 self.PosX = 0 self.PosY = 0 return def GetLength(self): return sizeof(tagCMRush) def GetBuffer(self): return string_at(addressof(self), self.GetLength()) def OutputString(self): DumpString = '''//B4 04 սǰ³å·æ //tagCMRush: Cmd:%s, SubCmd:%s, ObjID:%d, PosX:%d, PosY:%d '''\ %( self.Cmd, self.SubCmd, self.ObjID, self.PosX, self.PosY ) return DumpString m_NAtagCMRush=tagCMRush() ChNetPackDict[eval("0x%02x%02x"%(m_NAtagCMRush.Cmd,m_NAtagCMRush.SubCmd))] = m_NAtagCMRush #------------------------------------------------------ #B4 05 ´øÉ˺¦¶ÓÁеĹ¥»÷ #tagCMSuperAtk class tagSkillPosHurtObj(Structure): _pack_ = 1 _fields_ = [ ("ObjType", c_ubyte), ("ObjID", c_int), ("AttackType", c_ubyte), #±¬»÷, miss ("HurtHP", c_int), ("HurtHPEx", 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.ObjType = 0 self.ObjID = 0 self.AttackType = 0 self.HurtHP = 0 self.HurtHPEx = 0 return def GetLength(self): return sizeof(tagSkillPosHurtObj) def GetBuffer(self): return string_at(addressof(self), self.GetLength()) def OutputString(self): DumpString = '''//B4 05 ´øÉ˺¦¶ÓÁеĹ¥»÷ //tagCMSuperAtk: ObjType:%d, ObjID:%d, AttackType:%d, HurtHP:%d, HurtHPEx:%d '''\ %( self.ObjType, self.ObjID, self.AttackType, self.HurtHP, self.HurtHPEx ) return DumpString class tagCMSuperAtk(Structure): Head = tagHead() SkillID = 0 #(WORD SkillID) PosX = 0 #(WORD PosX)//¹¥»÷Æðµã PosY = 0 #(WORD PosY) TagPosX = 0 #(WORD TagPosX)//Ä¿±êµã TagPosY = 0 #(WORD TagPosY) WorldTick = 0 #(DWORD WorldTick) HurtCount = 0 #(WORD HurtCount)//É˺¦ÊýÄ¿ HurtList = list() #(vector HurtList)//size = HurtCount data = None def __init__(self): self.Clear() self.Head.Cmd = 0xB4 self.Head.SubCmd = 0x05 return def ReadData(self, _lpData, _pos=0, _Len=0): self.Clear() _pos = self.Head.ReadData(_lpData, _pos) self.SkillID,_pos = CommFunc.ReadWORD(_lpData, _pos) self.PosX,_pos = CommFunc.ReadWORD(_lpData, _pos) self.PosY,_pos = CommFunc.ReadWORD(_lpData, _pos) self.TagPosX,_pos = CommFunc.ReadWORD(_lpData, _pos) self.TagPosY,_pos = CommFunc.ReadWORD(_lpData, _pos) self.WorldTick,_pos = CommFunc.ReadDWORD(_lpData, _pos) self.HurtCount,_pos = CommFunc.ReadWORD(_lpData, _pos) for i in range(self.HurtCount): temHurtList = tagSkillPosHurtObj() _pos = temHurtList.ReadData(_lpData, _pos) self.HurtList.append(temHurtList) return _pos def Clear(self): self.Head = tagHead() self.Head.Clear() self.Head.Cmd = 0xB4 self.Head.SubCmd = 0x05 self.SkillID = 0 self.PosX = 0 self.PosY = 0 self.TagPosX = 0 self.TagPosY = 0 self.WorldTick = 0 self.HurtCount = 0 self.HurtList = list() return def GetLength(self): length = 0 length += self.Head.GetLength() length += 2 length += 2 length += 2 length += 2 length += 2 length += 4 length += 2 for i in range(self.HurtCount): length += self.HurtList[i].GetLength() return length def GetBuffer(self): data = '' data = CommFunc.WriteString(data, self.Head.GetLength(), self.Head.GetBuffer()) data = CommFunc.WriteWORD(data, self.SkillID) data = CommFunc.WriteWORD(data, self.PosX) data = CommFunc.WriteWORD(data, self.PosY) data = CommFunc.WriteWORD(data, self.TagPosX) data = CommFunc.WriteWORD(data, self.TagPosY) data = CommFunc.WriteDWORD(data, self.WorldTick) data = CommFunc.WriteWORD(data, self.HurtCount) for i in range(self.HurtCount): data = CommFunc.WriteString(data, self.HurtList[i].GetLength(), self.HurtList[i].GetBuffer()) return data def OutputString(self): DumpString = ''' Head:%s, SkillID:%d, PosX:%d, PosY:%d, TagPosX:%d, TagPosY:%d, WorldTick:%d, HurtCount:%d, HurtList:%s '''\ %( self.Head.OutputString(), self.SkillID, self.PosX, self.PosY, self.TagPosX, self.TagPosY, self.WorldTick, self.HurtCount, "..." ) return DumpString m_NAtagCMSuperAtk=tagCMSuperAtk() ChNetPackDict[eval("0x%02x%02x"%(m_NAtagCMSuperAtk.Head.Cmd,m_NAtagCMSuperAtk.Head.SubCmd))] = m_NAtagCMSuperAtk #------------------------------------------------------ #B4 0A ÍÑ»ú¹ÒËÀÍö # tagCMTJGDead class tagCMTJGDead(Structure): _pack_ = 1 _fields_ = [ ("Cmd", c_ubyte), ("SubCmd", c_ubyte), ] def __init__(self): self.Clear() self.Cmd = 0xB4 self.SubCmd = 0x0A 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 = 0xB4 self.SubCmd = 0x0A return def GetLength(self): return sizeof(tagCMTJGDead) def GetBuffer(self): return string_at(addressof(self), self.GetLength()) def OutputString(self): DumpString = '''//B4 0A ÍÑ»ú¹ÒËÀÍö // tagCMTJGDead: Cmd:%s, SubCmd:%s '''\ %( self.Cmd, self.SubCmd ) return DumpString m_NAtagCMTJGDead=tagCMTJGDead() ChNetPackDict[eval("0x%02x%02x"%(m_NAtagCMTJGDead.Cmd,m_NAtagCMTJGDead.SubCmd))] = m_NAtagCMTJGDead #------------------------------------------------------ #B4 01 ´øÓжÔÏó¶ÓÁкÍ×ø±êµÄ¼¼ÄÜ #tagCMUseSkillEx class tagCMUseSkillEx(Structure): _pack_ = 1 _fields_ = [ ("Cmd", c_ubyte), ("SubCmd", c_ubyte), ("SkillID", c_ushort), ("PosX", c_ushort), #¹¥»÷Æðµã ("PosY", c_ushort), ("TagPosX", c_ushort), #Ä¿±êµã ("TagPosY", c_ushort), ("TagType", c_ubyte), #OBJÀàÐÍ ("TagID", c_int), ] def __init__(self): self.Clear() self.Cmd = 0xB4 self.SubCmd = 0x01 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 = 0xB4 self.SubCmd = 0x01 self.SkillID = 0 self.PosX = 0 self.PosY = 0 self.TagPosX = 0 self.TagPosY = 0 self.TagType = 0 self.TagID = 0 return def GetLength(self): return sizeof(tagCMUseSkillEx) def GetBuffer(self): return string_at(addressof(self), self.GetLength()) def OutputString(self): DumpString = '''//B4 01 ´øÓжÔÏó¶ÓÁкÍ×ø±êµÄ¼¼ÄÜ //tagCMUseSkillEx: Cmd:%s, SubCmd:%s, SkillID:%d, PosX:%d, PosY:%d, TagPosX:%d, TagPosY:%d, TagType:%d, TagID:%d '''\ %( self.Cmd, self.SubCmd, self.SkillID, self.PosX, self.PosY, self.TagPosX, self.TagPosY, self.TagType, self.TagID ) return DumpString m_NAtagCMUseSkillEx=tagCMUseSkillEx() ChNetPackDict[eval("0x%02x%02x"%(m_NAtagCMUseSkillEx.Cmd,m_NAtagCMUseSkillEx.SubCmd))] = m_NAtagCMUseSkillEx #------------------------------------------------------ # B4 0D Õ½¶·Ó¡¼Ç #tagCMYinji class tagCMYinji(Structure): _pack_ = 1 _fields_ = [ ("Cmd", c_ubyte), ("SubCmd", c_ubyte), ("Count", c_ubyte), ("Type", c_ubyte), # 0 ¼Ó£¬1¼õ ] def __init__(self): self.Clear() self.Cmd = 0xB4 self.SubCmd = 0x0D 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 = 0xB4 self.SubCmd = 0x0D self.Count = 0 self.Type = 0 return def GetLength(self): return sizeof(tagCMYinji) def GetBuffer(self): return string_at(addressof(self), self.GetLength()) def OutputString(self): DumpString = '''// B4 0D Õ½¶·Ó¡¼Ç //tagCMYinji: Cmd:%s, SubCmd:%s, Count:%d, Type:%d '''\ %( self.Cmd, self.SubCmd, self.Count, self.Type ) return DumpString m_NAtagCMYinji=tagCMYinji() ChNetPackDict[eval("0x%02x%02x"%(m_NAtagCMYinji.Cmd,m_NAtagCMYinji.SubCmd))] = m_NAtagCMYinji #------------------------------------------------------ #B4 03 ÎüÒýNPC³ðºÞ #tagNPCAttention class tagNPCAttention(Structure): Head = tagHead() Count = 0 #(BYTE Count) NPCs = list() #(vector NPCs) data = None def __init__(self): self.Clear() self.Head.Cmd = 0xB4 self.Head.SubCmd = 0x03 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): value,_pos=CommFunc.ReadDWORD(_lpData,_pos) self.NPCs.append(value) return _pos def Clear(self): self.Head = tagHead() self.Head.Clear() self.Head.Cmd = 0xB4 self.Head.SubCmd = 0x03 self.Count = 0 self.NPCs = list() return def GetLength(self): length = 0 length += self.Head.GetLength() length += 1 length += 4 * self.Count 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.WriteDWORD(data, self.NPCs[i]) return data def OutputString(self): DumpString = ''' Head:%s, Count:%d, NPCs:%s '''\ %( self.Head.OutputString(), self.Count, "..." ) return DumpString m_NAtagNPCAttention=tagNPCAttention() ChNetPackDict[eval("0x%02x%02x"%(m_NAtagNPCAttention.Head.Cmd,m_NAtagNPCAttention.Head.SubCmd))] = m_NAtagNPCAttention #------------------------------------------------------ # B4 10 »ØºÏÖÆÕ½¶· #tagCMTurnFight class tagCMTurnFight(Structure): Head = tagHead() MapID = 0 #(DWORD MapID)// ×Ô¶¨ÒåµØÍ¼ID£¬¿ÉÓÃÓÚ°ó¶¨Õ½¶·³¡¾°¹¦ÄÜ£¨ÈçÒ°Íâ¹Ø¿¨£¬ÅÀËþ¹¦ÄÜ£¬¾º¼¼³¡µÈ£© FuncLineID = 0 #(WORD FuncLineID) TagType = 0 #(BYTE TagType)// Õ½¶·Ä¿±êÀàÐÍ£¬0-NPC£¬1-Íæ¼Ò£¬2-¶ÓÎé TagID = 0 #(DWORD TagID)// Õ½¶·Ä¿±êÀàÐͶÔÓ¦µÄID ValueCount = 0 #(BYTE ValueCount) ValueList = list() #(vector ValueList)// ¸½¼ÓÖµÁÐ±í£¬¿ÉÑ¡£¬¾ßÌ庬ÒåÓÉMapID¾ö¶¨ data = None def __init__(self): self.Clear() self.Head.Cmd = 0xB4 self.Head.SubCmd = 0x10 return def ReadData(self, _lpData, _pos=0, _Len=0): self.Clear() _pos = self.Head.ReadData(_lpData, _pos) self.MapID,_pos = CommFunc.ReadDWORD(_lpData, _pos) self.FuncLineID,_pos = CommFunc.ReadWORD(_lpData, _pos) self.TagType,_pos = CommFunc.ReadBYTE(_lpData, _pos) self.TagID,_pos = CommFunc.ReadDWORD(_lpData, _pos) self.ValueCount,_pos = CommFunc.ReadBYTE(_lpData, _pos) for i in range(self.ValueCount): value,_pos=CommFunc.ReadDWORD(_lpData,_pos) self.ValueList.append(value) return _pos def Clear(self): self.Head = tagHead() self.Head.Clear() self.Head.Cmd = 0xB4 self.Head.SubCmd = 0x10 self.MapID = 0 self.FuncLineID = 0 self.TagType = 0 self.TagID = 0 self.ValueCount = 0 self.ValueList = list() return def GetLength(self): length = 0 length += self.Head.GetLength() length += 4 length += 2 length += 1 length += 4 length += 1 length += 4 * self.ValueCount return length def GetBuffer(self): data = '' data = CommFunc.WriteString(data, self.Head.GetLength(), self.Head.GetBuffer()) data = CommFunc.WriteDWORD(data, self.MapID) data = CommFunc.WriteWORD(data, self.FuncLineID) data = CommFunc.WriteBYTE(data, self.TagType) data = CommFunc.WriteDWORD(data, self.TagID) data = CommFunc.WriteBYTE(data, self.ValueCount) for i in range(self.ValueCount): data = CommFunc.WriteDWORD(data, self.ValueList[i]) return data def OutputString(self): DumpString = ''' Head:%s, MapID:%d, FuncLineID:%d, TagType:%d, TagID:%d, ValueCount:%d, ValueList:%s '''\ %( self.Head.OutputString(), self.MapID, self.FuncLineID, self.TagType, self.TagID, self.ValueCount, "..." ) return DumpString m_NAtagCMTurnFight=tagCMTurnFight() ChNetPackDict[eval("0x%02x%02x"%(m_NAtagCMTurnFight.Head.Cmd,m_NAtagCMTurnFight.Head.SubCmd))] = m_NAtagCMTurnFight #------------------------------------------------------ # B5 14 ÅÄÂôÐоº¼ÛÎïÆ· #tagCMBiddingAuctionItem class tagCMBiddingAuctionItem(Structure): Head = tagHead() ItemGUID = "" #(char ItemGUID[40]) BiddingPrice = 0 #(DWORD BiddingPrice)//¾º¼Û¼Û¸ñ data = None def __init__(self): self.Clear() self.Head.Cmd = 0xB5 self.Head.SubCmd = 0x14 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.BiddingPrice,_pos = CommFunc.ReadDWORD(_lpData, _pos) return _pos def Clear(self): self.Head = tagHead() self.Head.Clear() self.Head.Cmd = 0xB5 self.Head.SubCmd = 0x14 self.ItemGUID = "" self.BiddingPrice = 0 return def GetLength(self): length = 0 length += self.Head.GetLength() length += 40 length += 4 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.BiddingPrice) return data def OutputString(self): DumpString = ''' Head:%s, ItemGUID:%s, BiddingPrice:%d '''\ %( self.Head.OutputString(), self.ItemGUID, self.BiddingPrice ) return DumpString m_NAtagCMBiddingAuctionItem=tagCMBiddingAuctionItem() ChNetPackDict[eval("0x%02x%02x"%(m_NAtagCMBiddingAuctionItem.Head.Cmd,m_NAtagCMBiddingAuctionItem.Head.SubCmd))] = m_NAtagCMBiddingAuctionItem #------------------------------------------------------ # B5 02 ½»Ò×Ëù¹ºÂòÎïÆ·#tagCMPYBuyBourseItem class tagCMPYBuyBourseItem(Structure): Head = tagHead() ItemGUID = "" #(char ItemGUID[40]) Pwd = "" #(char Pwd[8])//½»Ò×ÃÜÂë data = None def __init__(self): self.Clear() self.Head.Cmd = 0xB5 self.Head.SubCmd = 0x02 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.Pwd,_pos = CommFunc.ReadString(_lpData, _pos,8) return _pos def Clear(self): self.Head = tagHead() self.Head.Clear() self.Head.Cmd = 0xB5 self.Head.SubCmd = 0x02 self.ItemGUID = "" self.Pwd = "" return def GetLength(self): length = 0 length += self.Head.GetLength() length += 40 length += 8 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.WriteString(data, 8, self.Pwd) return data def OutputString(self): DumpString = ''' Head:%s, ItemGUID:%s, Pwd:%s '''\ %( self.Head.OutputString(), self.ItemGUID, self.Pwd ) return DumpString m_NAtagCMPYBuyBourseItem=tagCMPYBuyBourseItem() ChNetPackDict[eval("0x%02x%02x"%(m_NAtagCMPYBuyBourseItem.Head.Cmd,m_NAtagCMPYBuyBourseItem.Head.SubCmd))] = m_NAtagCMPYBuyBourseItem #------------------------------------------------------ # B5 01 ½»Ò×ËùÍæ¼ÒÉϼÜÎïÆ·#tagCMPYPlayerSellBourseItem class tagCMPYPlayerSellBourseItem(Structure): Head = tagHead() ItemIndex = 0 #(BYTE ItemIndex)//ÎïÆ·ÔÚ±³°üÖÐË÷Òý Count = 0 #(WORD Count)//³öÊÛÊýÁ¿ PriceType = 0 #(BYTE PriceType)//³öÊÛ¼Û¸ñÀàÐÍ PriceCount = 0 #(DWORD PriceCount)//³öÊÛ¼Û¸ñ Pwd = "" #(char Pwd[8])//½»Ò×ÃÜÂë data = None def __init__(self): self.Clear() self.Head.Cmd = 0xB5 self.Head.SubCmd = 0x01 return def ReadData(self, _lpData, _pos=0, _Len=0): self.Clear() _pos = self.Head.ReadData(_lpData, _pos) self.ItemIndex,_pos = CommFunc.ReadBYTE(_lpData, _pos) self.Count,_pos = CommFunc.ReadWORD(_lpData, _pos) self.PriceType,_pos = CommFunc.ReadBYTE(_lpData, _pos) self.PriceCount,_pos = CommFunc.ReadDWORD(_lpData, _pos) self.Pwd,_pos = CommFunc.ReadString(_lpData, _pos,8) return _pos def Clear(self): self.Head = tagHead() self.Head.Clear() self.Head.Cmd = 0xB5 self.Head.SubCmd = 0x01 self.ItemIndex = 0 self.Count = 0 self.PriceType = 0 self.PriceCount = 0 self.Pwd = "" return def GetLength(self): length = 0 length += self.Head.GetLength() length += 1 length += 2 length += 1 length += 4 length += 8 return length def GetBuffer(self): data = '' data = CommFunc.WriteString(data, self.Head.GetLength(), self.Head.GetBuffer()) data = CommFunc.WriteBYTE(data, self.ItemIndex) data = CommFunc.WriteWORD(data, self.Count) data = CommFunc.WriteBYTE(data, self.PriceType) data = CommFunc.WriteDWORD(data, self.PriceCount) data = CommFunc.WriteString(data, 8, self.Pwd) return data def OutputString(self): DumpString = ''' Head:%s, ItemIndex:%d, Count:%d, PriceType:%d, PriceCount:%d, Pwd:%s '''\ %( self.Head.OutputString(), self.ItemIndex, self.Count, self.PriceType, self.PriceCount, self.Pwd ) return DumpString m_NAtagCMPYPlayerSellBourseItem=tagCMPYPlayerSellBourseItem() ChNetPackDict[eval("0x%02x%02x"%(m_NAtagCMPYPlayerSellBourseItem.Head.Cmd,m_NAtagCMPYPlayerSellBourseItem.Head.SubCmd))] = m_NAtagCMPYPlayerSellBourseItem #------------------------------------------------------ # B5 13 ÅÄÂôÐÐÉϼÜÅÄÆ· #tagCMSellAuctionItem class tagCMSellAuctionItem(Structure): _pack_ = 1 _fields_ = [ ("Cmd", c_ubyte), ("SubCmd", c_ubyte), ("ItemIndex", c_ubyte), #ÎïÆ·ÔÚ±³°üÖÐË÷Òý ("SellCount", c_ushort), #ÉϼܸöÊý£¬0´ú±íÈ«²¿ÉÏ¼Ü ] def __init__(self): self.Clear() self.Cmd = 0xB5 self.SubCmd = 0x13 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 = 0xB5 self.SubCmd = 0x13 self.ItemIndex = 0 self.SellCount = 0 return def GetLength(self): return sizeof(tagCMSellAuctionItem) def GetBuffer(self): return string_at(addressof(self), self.GetLength()) def OutputString(self): DumpString = '''// B5 13 ÅÄÂôÐÐÉϼÜÅÄÆ· //tagCMSellAuctionItem: Cmd:%s, SubCmd:%s, ItemIndex:%d, SellCount:%d '''\ %( self.Cmd, self.SubCmd, self.ItemIndex, self.SellCount ) return DumpString m_NAtagCMSellAuctionItem=tagCMSellAuctionItem() ChNetPackDict[eval("0x%02x%02x"%(m_NAtagCMSellAuctionItem.Cmd,m_NAtagCMSellAuctionItem.SubCmd))] = m_NAtagCMSellAuctionItem #------------------------------------------------------ # B5 15 ÅÄÂôÐÐϼÜÅÄÆ· #tagCMUnsellAuctionItem class tagCMUnsellAuctionItem(Structure): Head = tagHead() ItemGUID = "" #(char ItemGUID[40]) data = None def __init__(self): self.Clear() self.Head.Cmd = 0xB5 self.Head.SubCmd = 0x15 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) return _pos def Clear(self): self.Head = tagHead() self.Head.Clear() self.Head.Cmd = 0xB5 self.Head.SubCmd = 0x15 self.ItemGUID = "" return def GetLength(self): length = 0 length += self.Head.GetLength() length += 40 return length def GetBuffer(self): data = '' data = CommFunc.WriteString(data, self.Head.GetLength(), self.Head.GetBuffer()) data = CommFunc.WriteString(data, 40, self.ItemGUID) return data def OutputString(self): DumpString = ''' Head:%s, ItemGUID:%s '''\ %( self.Head.OutputString(), self.ItemGUID ) return DumpString m_NAtagCMUnsellAuctionItem=tagCMUnsellAuctionItem() ChNetPackDict[eval("0x%02x%02x"%(m_NAtagCMUnsellAuctionItem.Head.Cmd,m_NAtagCMUnsellAuctionItem.Head.SubCmd))] = m_NAtagCMUnsellAuctionItem #------------------------------------------------------ # B9 04 Ð޸ĶÓÎéÏà¹ØÉóºË״̬ #tagCMChangeTeamCheckState class tagCMChangeTeamCheckState(Structure): _pack_ = 1 _fields_ = [ ("Cmd", c_ubyte), ("SubCmd", c_ubyte), ("JoinReqCheck", c_ubyte), #Èë¶ÓÉêÇëÊÇ·ñÐèÒªÉóºË, 0·ñ1ÊÇ, ĬÈÏ·ñ, ¼´×Ô¶¯½ÓÊÜ ("InviteCheck", c_ubyte), #×é¶ÓÑûÇëÊÇ·ñÐèÒªÉóºË, 0·ñ1ÊÇ, ĬÈÏ·ñ, ¼´×Ô¶¯½ÓÊÜ ] def __init__(self): self.Clear() self.Cmd = 0xB9 self.SubCmd = 0x04 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 = 0xB9 self.SubCmd = 0x04 self.JoinReqCheck = 0 self.InviteCheck = 0 return def GetLength(self): return sizeof(tagCMChangeTeamCheckState) def GetBuffer(self): return string_at(addressof(self), self.GetLength()) def OutputString(self): DumpString = '''// B9 04 Ð޸ĶÓÎéÏà¹ØÉóºË״̬ //tagCMChangeTeamCheckState: Cmd:%s, SubCmd:%s, JoinReqCheck:%d, InviteCheck:%d '''\ %( self.Cmd, self.SubCmd, self.JoinReqCheck, self.InviteCheck ) return DumpString m_NAtagCMChangeTeamCheckState=tagCMChangeTeamCheckState() ChNetPackDict[eval("0x%02x%02x"%(m_NAtagCMChangeTeamCheckState.Cmd,m_NAtagCMChangeTeamCheckState.SubCmd))] = m_NAtagCMChangeTeamCheckState #------------------------------------------------------ # C1 22 ¿ç·þÅÅλ¾º²Â #tagCMChampionshipGuess class tagCMChampionshipGuess(Structure): _pack_ = 1 _fields_ = [ ("Cmd", c_ubyte), ("SubCmd", c_ubyte), ("ZoneID", c_ubyte), #ÅÅλÊý¾Ý·ÖÇøID ("GuessType", c_ubyte), #¾º²ÂÀàÐÍ 8-8Ç¿£»4-4Ç¿ÅÅλ ("PlayerID", c_int), #Ä¿±êÍæ¼ÒID ("GuessCount", c_ubyte), #Ͷע/×·¼Ó·ÝÊý ("GuessRank", c_ubyte), # ¾º²ÂÃû´Î£¬Ã»ÓÐÃû´ÎµÄ¾º²ÂĬÈÏ0£»1-´ú±íµÚÒ»Ãû ] def __init__(self): self.Clear() self.Cmd = 0xC1 self.SubCmd = 0x22 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 = 0xC1 self.SubCmd = 0x22 self.ZoneID = 0 self.GuessType = 0 self.PlayerID = 0 self.GuessCount = 0 self.GuessRank = 0 return def GetLength(self): return sizeof(tagCMChampionshipGuess) def GetBuffer(self): return string_at(addressof(self), self.GetLength()) def OutputString(self): DumpString = '''// C1 22 ¿ç·þÅÅλ¾º²Â //tagCMChampionshipGuess: Cmd:%s, SubCmd:%s, ZoneID:%d, GuessType:%d, PlayerID:%d, GuessCount:%d, GuessRank:%d '''\ %( self.Cmd, self.SubCmd, self.ZoneID, self.GuessType, self.PlayerID, self.GuessCount, self.GuessRank ) return DumpString m_NAtagCMChampionshipGuess=tagCMChampionshipGuess() ChNetPackDict[eval("0x%02x%02x"%(m_NAtagCMChampionshipGuess.Cmd,m_NAtagCMChampionshipGuess.SubCmd))] = m_NAtagCMChampionshipGuess #------------------------------------------------------ # C1 20 ¿ç·þÅÅλÏɹÙÉêÇë #tagCMChampionshipOfficialApply class tagCMChampionshipOfficialApply(Structure): _pack_ = 1 _fields_ = [ ("Cmd", c_ubyte), ("SubCmd", c_ubyte), ("ZoneID", c_ubyte), #ÏɹÙÊý¾Ý·ÖÇøID ("MainOfficialID", c_ushort), #½çÖ÷¹ÙÖ°ID ("OfficialID", c_ushort), #ÉêÇë¹ÙÖ°ID ("Cancel", c_ubyte), #ÊÇ·ñÈ¡ÏûÉêÇ룬ĬÈÏ0-ÉêÇ룻1-È¡ÏûÉêÇë ] def __init__(self): self.Clear() self.Cmd = 0xC1 self.SubCmd = 0x20 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 = 0xC1 self.SubCmd = 0x20 self.ZoneID = 0 self.MainOfficialID = 0 self.OfficialID = 0 self.Cancel = 0 return def GetLength(self): return sizeof(tagCMChampionshipOfficialApply) def GetBuffer(self): return string_at(addressof(self), self.GetLength()) def OutputString(self): DumpString = '''// C1 20 ¿ç·þÅÅλÏɹÙÉêÇë //tagCMChampionshipOfficialApply: Cmd:%s, SubCmd:%s, ZoneID:%d, MainOfficialID:%d, OfficialID:%d, Cancel:%d '''\ %( self.Cmd, self.SubCmd, self.ZoneID, self.MainOfficialID, self.OfficialID, self.Cancel ) return DumpString m_NAtagCMChampionshipOfficialApply=tagCMChampionshipOfficialApply() ChNetPackDict[eval("0x%02x%02x"%(m_NAtagCMChampionshipOfficialApply.Cmd,m_NAtagCMChampionshipOfficialApply.SubCmd))] = m_NAtagCMChampionshipOfficialApply #------------------------------------------------------ # C1 21 ¿ç·þÅÅλÏɹÙÌôÕ½ #tagCMChampionshipOfficialChallenge class tagCMChampionshipOfficialChallenge(Structure): _pack_ = 1 _fields_ = [ ("Cmd", c_ubyte), ("SubCmd", c_ubyte), ("ZoneID", c_ubyte), #ÏɹÙÊý¾Ý·ÖÇøID ("MainOfficialID", c_ushort), #½çÖ÷¹ÙÖ°ID ("OfficialID", c_ushort), #ÌôÕ½µÄÄ¿±ê¹ÙÖ°ID ("PlayerID", c_int), #ÌôսʱµÄÄ¿±êÍæ¼ÒID ] def __init__(self): self.Clear() self.Cmd = 0xC1 self.SubCmd = 0x21 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 = 0xC1 self.SubCmd = 0x21 self.ZoneID = 0 self.MainOfficialID = 0 self.OfficialID = 0 self.PlayerID = 0 return def GetLength(self): return sizeof(tagCMChampionshipOfficialChallenge) def GetBuffer(self): return string_at(addressof(self), self.GetLength()) def OutputString(self): DumpString = '''// C1 21 ¿ç·þÅÅλÏɹÙÌôÕ½ //tagCMChampionshipOfficialChallenge: Cmd:%s, SubCmd:%s, ZoneID:%d, MainOfficialID:%d, OfficialID:%d, PlayerID:%d '''\ %( self.Cmd, self.SubCmd, self.ZoneID, self.MainOfficialID, self.OfficialID, self.PlayerID ) return DumpString m_NAtagCMChampionshipOfficialChallenge=tagCMChampionshipOfficialChallenge() ChNetPackDict[eval("0x%02x%02x"%(m_NAtagCMChampionshipOfficialChallenge.Cmd,m_NAtagCMChampionshipOfficialChallenge.SubCmd))] = m_NAtagCMChampionshipOfficialChallenge #------------------------------------------------------ # C1 23 ¿ç·þÅÅλĤ°Ý #tagCMChampionshipWorship class tagCMChampionshipWorship(Structure): _pack_ = 1 _fields_ = [ ("Cmd", c_ubyte), ("SubCmd", c_ubyte), ("ZoneID", c_ubyte), #ÏɹÙÊý¾Ý·ÖÇøID ("PlayerID", c_int), #Ä¿±êÍæ¼ÒID ] def __init__(self): self.Clear() self.Cmd = 0xC1 self.SubCmd = 0x23 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 = 0xC1 self.SubCmd = 0x23 self.ZoneID = 0 self.PlayerID = 0 return def GetLength(self): return sizeof(tagCMChampionshipWorship) def GetBuffer(self): return string_at(addressof(self), self.GetLength()) def OutputString(self): DumpString = '''// C1 23 ¿ç·þÅÅλĤ°Ý //tagCMChampionshipWorship: Cmd:%s, SubCmd:%s, ZoneID:%d, PlayerID:%d '''\ %( self.Cmd, self.SubCmd, self.ZoneID, self.PlayerID ) return DumpString m_NAtagCMChampionshipWorship=tagCMChampionshipWorship() ChNetPackDict[eval("0x%02x%02x"%(m_NAtagCMChampionshipWorship.Cmd,m_NAtagCMChampionshipWorship.SubCmd))] = m_NAtagCMChampionshipWorship #------------------------------------------------------ # C1 09 ¿ç·þÕ½³¡¹ºÂò¿ªÆô³¡´Î #tagCMCrossBattlefieldBuyOpen class tagCMCrossBattlefieldBuyOpen(Structure): _pack_ = 1 _fields_ = [ ("Cmd", c_ubyte), ("SubCmd", c_ubyte), ("Hour", c_ubyte), #Õ½³¡¿ªÆôʱ ("Minute", c_ubyte), #Õ½³¡¿ªÆô·Ö ("Faction", c_ubyte), #ÕóÓª 1-ºì£»2-À¶ ("ServerOnly", c_ubyte), #ÊÇ·ñ½ö±¾·þÍæ¼Ò¿É¼ÓÈ룬0-·ñ£¬1-ÊÇ ] def __init__(self): self.Clear() self.Cmd = 0xC1 self.SubCmd = 0x09 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 = 0xC1 self.SubCmd = 0x09 self.Hour = 0 self.Minute = 0 self.Faction = 0 self.ServerOnly = 0 return def GetLength(self): return sizeof(tagCMCrossBattlefieldBuyOpen) def GetBuffer(self): return string_at(addressof(self), self.GetLength()) def OutputString(self): DumpString = '''// C1 09 ¿ç·þÕ½³¡¹ºÂò¿ªÆô³¡´Î //tagCMCrossBattlefieldBuyOpen: Cmd:%s, SubCmd:%s, Hour:%d, Minute:%d, Faction:%d, ServerOnly:%d '''\ %( self.Cmd, self.SubCmd, self.Hour, self.Minute, self.Faction, self.ServerOnly ) return DumpString m_NAtagCMCrossBattlefieldBuyOpen=tagCMCrossBattlefieldBuyOpen() ChNetPackDict[eval("0x%02x%02x"%(m_NAtagCMCrossBattlefieldBuyOpen.Cmd,m_NAtagCMCrossBattlefieldBuyOpen.SubCmd))] = m_NAtagCMCrossBattlefieldBuyOpen #------------------------------------------------------ # C1 06 ¿ç·þNPC¶Ô»° #tagCMCrossNPCTalk class tagCMCrossNPCTalk(Structure): _pack_ = 1 _fields_ = [ ("Cmd", c_ubyte), ("SubCmd", c_ubyte), ("ObjID", c_int), ("NPCID", c_int), ("PosX", c_ushort), ("PosY", c_ushort), ] def __init__(self): self.Clear() self.Cmd = 0xC1 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 = 0xC1 self.SubCmd = 0x06 self.ObjID = 0 self.NPCID = 0 self.PosX = 0 self.PosY = 0 return def GetLength(self): return sizeof(tagCMCrossNPCTalk) def GetBuffer(self): return string_at(addressof(self), self.GetLength()) def OutputString(self): DumpString = '''// C1 06 ¿ç·þNPC¶Ô»° //tagCMCrossNPCTalk: Cmd:%s, SubCmd:%s, ObjID:%d, NPCID:%d, PosX:%d, PosY:%d '''\ %( self.Cmd, self.SubCmd, self.ObjID, self.NPCID, self.PosX, self.PosY ) return DumpString m_NAtagCMCrossNPCTalk=tagCMCrossNPCTalk() ChNetPackDict[eval("0x%02x%02x"%(m_NAtagCMCrossNPCTalk.Cmd,m_NAtagCMCrossNPCTalk.SubCmd))] = m_NAtagCMCrossNPCTalk #------------------------------------------------------ # C1 02 ¿ç·þPK¹ºÂò´ÎÊý #tagCMCrossRealmPKBuy class tagCMCrossRealmPKBuy(Structure): _pack_ = 1 _fields_ = [ ("Cmd", c_ubyte), ("SubCmd", c_ubyte), ] def __init__(self): self.Clear() self.Cmd = 0xC1 self.SubCmd = 0x02 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 = 0xC1 self.SubCmd = 0x02 return def GetLength(self): return sizeof(tagCMCrossRealmPKBuy) def GetBuffer(self): return string_at(addressof(self), self.GetLength()) def OutputString(self): DumpString = '''// C1 02 ¿ç·þPK¹ºÂò´ÎÊý //tagCMCrossRealmPKBuy: Cmd:%s, SubCmd:%s '''\ %( self.Cmd, self.SubCmd ) return DumpString m_NAtagCMCrossRealmPKBuy=tagCMCrossRealmPKBuy() ChNetPackDict[eval("0x%02x%02x"%(m_NAtagCMCrossRealmPKBuy.Cmd,m_NAtagCMCrossRealmPKBuy.SubCmd))] = m_NAtagCMCrossRealmPKBuy #------------------------------------------------------ # C1 03 ¿ç·þPKÁìÈ¡½±Àø #tagCMCrossRealmPKGetAward class tagCMCrossRealmPKGetAward(Structure): _pack_ = 1 _fields_ = [ ("Cmd", c_ubyte), ("SubCmd", c_ubyte), ("AwardType", c_ubyte), # ½±ÀøÀàÐÍ£»1-ÿÈÕÆ¥Åä½±Àø£¬2-ÿÈÕʤÀû½±Àø£¬3-¶Îλ´ï±ê½±Àø£¬4-Èü¼¾½áËã½±Àø ("AwardData", c_ubyte), # ½±ÀøÀàÐͶÔÓ¦Áìȡֵ£»Ã¿ÈÕÆ¥Åä½±ÀøÊ±ÎªÆ¥Åä´ÎÊý£¬Ã¿ÈÕʤÀû½±ÀøÊ±ÎªÊ¤Àû´ÎÊý£¬¶Îλ´ï±ê½±ÀøÊ±ÎªÁìÈ¡µÄ¶Îλ ] def __init__(self): self.Clear() self.Cmd = 0xC1 self.SubCmd = 0x03 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 = 0xC1 self.SubCmd = 0x03 self.AwardType = 0 self.AwardData = 0 return def GetLength(self): return sizeof(tagCMCrossRealmPKGetAward) def GetBuffer(self): return string_at(addressof(self), self.GetLength()) def OutputString(self): DumpString = '''// C1 03 ¿ç·þPKÁìÈ¡½±Àø //tagCMCrossRealmPKGetAward: Cmd:%s, SubCmd:%s, AwardType:%d, AwardData:%d '''\ %( self.Cmd, self.SubCmd, self.AwardType, self.AwardData ) return DumpString m_NAtagCMCrossRealmPKGetAward=tagCMCrossRealmPKGetAward() ChNetPackDict[eval("0x%02x%02x"%(m_NAtagCMCrossRealmPKGetAward.Cmd,m_NAtagCMCrossRealmPKGetAward.SubCmd))] = m_NAtagCMCrossRealmPKGetAward #------------------------------------------------------ # C1 01 ¿ç·þPKÆ¥Åä #tagCMCrossRealmPKMatch class tagCMCrossRealmPKMatch(Structure): _pack_ = 1 _fields_ = [ ("Cmd", c_ubyte), ("SubCmd", c_ubyte), ("Type", c_ubyte), # 0-²éѯƥÅ䣻1-Ë¢ÐÂÆ¥Åä ] def __init__(self): self.Clear() self.Cmd = 0xC1 self.SubCmd = 0x01 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 = 0xC1 self.SubCmd = 0x01 self.Type = 0 return def GetLength(self): return sizeof(tagCMCrossRealmPKMatch) def GetBuffer(self): return string_at(addressof(self), self.GetLength()) def OutputString(self): DumpString = '''// C1 01 ¿ç·þPKÆ¥Åä //tagCMCrossRealmPKMatch: Cmd:%s, SubCmd:%s, Type:%d '''\ %( self.Cmd, self.SubCmd, self.Type ) return DumpString m_NAtagCMCrossRealmPKMatch=tagCMCrossRealmPKMatch() ChNetPackDict[eval("0x%02x%02x"%(m_NAtagCMCrossRealmPKMatch.Cmd,m_NAtagCMCrossRealmPKMatch.SubCmd))] = m_NAtagCMCrossRealmPKMatch #------------------------------------------------------ # C1 08 ¿ç·þPKÌôÕ½»úÆ÷È˽áËã #tagCMCrossRealmPKRobotOver class tagCMCrossRealmPKRobotOver(Structure): _pack_ = 1 _fields_ = [ ("Cmd", c_ubyte), ("SubCmd", c_ubyte), ("IsWin", c_ubyte), #ÊÇ·ñ»ñʤ ("TagPlayerID", c_int), #Ä¿±êÍæ¼ÒID ] def __init__(self): self.Clear() self.Cmd = 0xC1 self.SubCmd = 0x08 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 = 0xC1 self.SubCmd = 0x08 self.IsWin = 0 self.TagPlayerID = 0 return def GetLength(self): return sizeof(tagCMCrossRealmPKRobotOver) def GetBuffer(self): return string_at(addressof(self), self.GetLength()) def OutputString(self): DumpString = '''// C1 08 ¿ç·þPKÌôÕ½»úÆ÷È˽áËã //tagCMCrossRealmPKRobotOver: Cmd:%s, SubCmd:%s, IsWin:%d, TagPlayerID:%d '''\ %( self.Cmd, self.SubCmd, self.IsWin, self.TagPlayerID ) return DumpString m_NAtagCMCrossRealmPKRobotOver=tagCMCrossRealmPKRobotOver() ChNetPackDict[eval("0x%02x%02x"%(m_NAtagCMCrossRealmPKRobotOver.Cmd,m_NAtagCMCrossRealmPKRobotOver.SubCmd))] = m_NAtagCMCrossRealmPKRobotOver #------------------------------------------------------ # C1 05 ½øÈë¿ç·þµØÍ¼ #tagCMEnterCrossServer class tagCMEnterCrossServer(Structure): _pack_ = 1 _fields_ = [ ("Cmd", c_ubyte), ("SubCmd", c_ubyte), ("DataMapID", c_int), ("LineID", c_ushort), ] def __init__(self): self.Clear() self.Cmd = 0xC1 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 = 0xC1 self.SubCmd = 0x05 self.DataMapID = 0 self.LineID = 0 return def GetLength(self): return sizeof(tagCMEnterCrossServer) def GetBuffer(self): return string_at(addressof(self), self.GetLength()) def OutputString(self): DumpString = '''// C1 05 ½øÈë¿ç·þµØÍ¼ //tagCMEnterCrossServer: Cmd:%s, SubCmd:%s, DataMapID:%d, LineID:%d '''\ %( self.Cmd, self.SubCmd, self.DataMapID, self.LineID ) return DumpString m_NAtagCMEnterCrossServer=tagCMEnterCrossServer() ChNetPackDict[eval("0x%02x%02x"%(m_NAtagCMEnterCrossServer.Cmd,m_NAtagCMEnterCrossServer.SubCmd))] = m_NAtagCMEnterCrossServer #------------------------------------------------------ # C1 04 Ö÷¶¯Í˳ö¿ç·þ #tagCMExitCrossRealm class tagCMExitCrossRealm(Structure): _pack_ = 1 _fields_ = [ ("Cmd", c_ubyte), ("SubCmd", c_ubyte), ] def __init__(self): self.Clear() self.Cmd = 0xC1 self.SubCmd = 0x04 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 = 0xC1 self.SubCmd = 0x04 return def GetLength(self): return sizeof(tagCMExitCrossRealm) def GetBuffer(self): return string_at(addressof(self), self.GetLength()) def OutputString(self): DumpString = '''// C1 04 Ö÷¶¯Í˳ö¿ç·þ //tagCMExitCrossRealm: Cmd:%s, SubCmd:%s '''\ %( self.Cmd, self.SubCmd ) return DumpString m_NAtagCMExitCrossRealm=tagCMExitCrossRealm() ChNetPackDict[eval("0x%02x%02x"%(m_NAtagCMExitCrossRealm.Cmd,m_NAtagCMExitCrossRealm.SubCmd))] = m_NAtagCMExitCrossRealm #------------------------------------------------------ # C1 10 ÐÒÔËÔÆ¹º¹ºÂò #tagCMLuckyCloudBuy class tagCMLuckyCloudBuy(Structure): _pack_ = 1 _fields_ = [ ("Cmd", c_ubyte), ("SubCmd", c_ubyte), ("BuyCount", c_ushort), # ¹ºÂò·ÝÊý ] def __init__(self): self.Clear() self.Cmd = 0xC1 self.SubCmd = 0x10 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 = 0xC1 self.SubCmd = 0x10 self.BuyCount = 0 return def GetLength(self): return sizeof(tagCMLuckyCloudBuy) def GetBuffer(self): return string_at(addressof(self), self.GetLength()) def OutputString(self): DumpString = '''// C1 10 ÐÒÔËÔÆ¹º¹ºÂò //tagCMLuckyCloudBuy: Cmd:%s, SubCmd:%s, BuyCount:%d '''\ %( self.Cmd, self.SubCmd, self.BuyCount ) return DumpString m_NAtagCMLuckyCloudBuy=tagCMLuckyCloudBuy() ChNetPackDict[eval("0x%02x%02x"%(m_NAtagCMLuckyCloudBuy.Cmd,m_NAtagCMLuckyCloudBuy.SubCmd))] = m_NAtagCMLuckyCloudBuy