| | |
| | | _fields_ = [
|
| | | ("Cmd", c_ubyte),
|
| | | ("SubCmd", c_ubyte),
|
| | | ("ObjType", c_ubyte), |
| | | ("ObjType", c_ubyte), #buff的受效果者
|
| | | ("ObjID", c_int),
|
| | | ("BuffType", c_ubyte), #Buff类型 TBuffType
|
| | | ("SkillID", c_ushort),
|
| | |
| | | ("Value1", c_int),
|
| | | ("Value2", c_int),
|
| | | ("Layer", c_ubyte), #层数,不需要默认0
|
| | | ("OwnerID", c_int), # buff来源者
|
| | | ("OwnerType", c_ubyte), |
| | | ]
|
| | |
|
| | | def __init__(self):
|
| | |
| | | self.Value1 = 0
|
| | | self.Value2 = 0
|
| | | self.Layer = 0
|
| | | self.OwnerID = 0
|
| | | self.OwnerType = 0
|
| | | return
|
| | |
|
| | | def GetLength(self):
|
| | |
| | | Value:%d,
|
| | | Value1:%d,
|
| | | Value2:%d,
|
| | | Layer:%d
|
| | | Layer:%d,
|
| | | OwnerID:%d,
|
| | | OwnerType:%d
|
| | | '''\
|
| | | %(
|
| | | self.Cmd,
|
| | |
| | | self.Value,
|
| | | self.Value1,
|
| | | self.Value2,
|
| | | self.Layer
|
| | | self.Layer,
|
| | | self.OwnerID,
|
| | | self.OwnerType
|
| | | )
|
| | | return DumpString
|
| | |
|
| | |
| | |
|
| | | m_NAtagPlayerReborn=tagPlayerReborn()
|
| | | ChNetPackDict[eval("0x%02x%02x"%(m_NAtagPlayerReborn.Cmd,m_NAtagPlayerReborn.SubCmd))] = m_NAtagPlayerReborn
|
| | |
|
| | | #04 18 周围对象刷新#tagObjInfoRefresh
|
| | |
|
| | | class tagObjInfoRefresh(Structure):
|
| | | _pack_ = 1
|
| | | _fields_ = [
|
| | | ("Cmd", c_ubyte),
|
| | | ("SubCmd", c_ubyte),
|
| | | ("ObjID", c_int), |
| | | ("ObjType", c_ubyte), |
| | | ("RefreshType", c_ubyte), |
| | | ("Value", c_int), |
| | | ]
|
| | |
|
| | | def __init__(self):
|
| | | self.Clear()
|
| | | self.Cmd = 0x04
|
| | | 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 = 0x04
|
| | | self.SubCmd = 0x18
|
| | | self.ObjID = 0
|
| | | self.ObjType = 0
|
| | | self.RefreshType = 0
|
| | | self.Value = 0
|
| | | return
|
| | |
|
| | | def GetLength(self):
|
| | | return sizeof(tagObjInfoRefresh)
|
| | |
|
| | | def GetBuffer(self):
|
| | | return string_at(addressof(self), self.GetLength())
|
| | |
|
| | | def OutputString(self):
|
| | | DumpString = '''//04 18 周围对象刷新//tagObjInfoRefresh:
|
| | | Cmd:%s,
|
| | | SubCmd:%s,
|
| | | ObjID:%d,
|
| | | ObjType:%d,
|
| | | RefreshType:%d,
|
| | | Value:%d
|
| | | '''\
|
| | | %(
|
| | | self.Cmd,
|
| | | self.SubCmd,
|
| | | self.ObjID,
|
| | | self.ObjType,
|
| | | self.RefreshType,
|
| | | self.Value
|
| | | )
|
| | | return DumpString
|
| | |
|
| | |
|
| | | m_NAtagObjInfoRefresh=tagObjInfoRefresh()
|
| | | ChNetPackDict[eval("0x%02x%02x"%(m_NAtagObjInfoRefresh.Cmd,m_NAtagObjInfoRefresh.SubCmd))] = m_NAtagObjInfoRefresh
|