| | |
| | |
|
| | |
|
| | | #------------------------------------------------------
|
| | | # 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 宠物激活 #tagCMActivatePet
|
| | |
|
| | | class tagCMActivatePet(Structure):
|
| | |
| | |
|
| | | m_NAtagCMActGodGiftReset=tagCMActGodGiftReset()
|
| | | ChNetPackDict[eval("0x%02x%02x"%(m_NAtagCMActGodGiftReset.Cmd,m_NAtagCMActGodGiftReset.SubCmd))] = m_NAtagCMActGodGiftReset
|
| | |
|
| | |
|
| | | #------------------------------------------------------
|
| | | # AA 25 炼器操作 #tagCMActLianqiOP
|
| | |
|
| | | class tagCMActLianqiOP(Structure):
|
| | | _pack_ = 1
|
| | | _fields_ = [
|
| | | ("Cmd", c_ubyte),
|
| | | ("SubCmd", c_ubyte),
|
| | | ("OPType", c_ubyte), # 1-移动;2-使用道具;3-重新开始;4-领取等级奖励
|
| | | ("OPValue", c_int), # 移动时-发1上2下3左4右;使用道具时-发使用个数*10+道具ID所在配置索引;等级奖励时-发领取的奖励等级
|
| | | ("OPValue2", c_int), # 使用道具时-发选中格子A的行列值 行*10+列
|
| | | ("OPValue3", c_int), # 使用道具时-发选中格子B的行列值 行*10+列
|
| | | ]
|
| | |
|
| | | def __init__(self):
|
| | | self.Clear()
|
| | | self.Cmd = 0xAA
|
| | | 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 = 0xAA
|
| | | self.SubCmd = 0x25
|
| | | self.OPType = 0
|
| | | self.OPValue = 0
|
| | | self.OPValue2 = 0
|
| | | self.OPValue3 = 0
|
| | | return
|
| | |
|
| | | def GetLength(self):
|
| | | return sizeof(tagCMActLianqiOP)
|
| | |
|
| | | def GetBuffer(self):
|
| | | return string_at(addressof(self), self.GetLength())
|
| | |
|
| | | def OutputString(self):
|
| | | DumpString = '''// AA 25 炼器操作 //tagCMActLianqiOP:
|
| | | Cmd:%s,
|
| | | SubCmd:%s,
|
| | | OPType:%d,
|
| | | OPValue:%d,
|
| | | OPValue2:%d,
|
| | | OPValue3:%d
|
| | | '''\
|
| | | %(
|
| | | self.Cmd,
|
| | | self.SubCmd,
|
| | | self.OPType,
|
| | | self.OPValue,
|
| | | self.OPValue2,
|
| | | self.OPValue3
|
| | | )
|
| | | return DumpString
|
| | |
|
| | |
|
| | | m_NAtagCMActLianqiOP=tagCMActLianqiOP()
|
| | | ChNetPackDict[eval("0x%02x%02x"%(m_NAtagCMActLianqiOP.Cmd,m_NAtagCMActLianqiOP.SubCmd))] = m_NAtagCMActLianqiOP
|
| | |
|
| | |
|
| | | #------------------------------------------------------
|
| | |
| | |
|
| | | 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
|
| | |
|
| | |
|
| | | #------------------------------------------------------
|
| | |
| | | _fields_ = [
|
| | | ("Cmd", c_ubyte),
|
| | | ("SubCmd", c_ubyte),
|
| | | ("Type", c_ubyte), # 0-取消匹配; 1-进行匹配
|
| | | ("Type", c_ubyte), # 0-查询匹配;1-刷新匹配
|
| | | ]
|
| | |
|
| | | def __init__(self):
|
| | |
| | | ("Cmd", c_ubyte),
|
| | | ("SubCmd", c_ubyte),
|
| | | ("IsWin", c_ubyte), #是否获胜
|
| | | ("TagPlayerID", c_int), #目标玩家ID
|
| | | ]
|
| | |
|
| | | def __init__(self):
|
| | |
| | | self.Cmd = 0xC1
|
| | | self.SubCmd = 0x08
|
| | | self.IsWin = 0
|
| | | self.TagPlayerID = 0
|
| | | return
|
| | |
|
| | | def GetLength(self):
|
| | |
| | | DumpString = '''// C1 08 跨服PK挑战机器人结算 //tagCMCrossRealmPKRobotOver:
|
| | | Cmd:%s,
|
| | | SubCmd:%s,
|
| | | IsWin:%d
|
| | | IsWin:%d,
|
| | | TagPlayerID:%d
|
| | | '''\
|
| | | %(
|
| | | self.Cmd,
|
| | | self.SubCmd,
|
| | | self.IsWin
|
| | | self.IsWin,
|
| | | self.TagPlayerID
|
| | | )
|
| | | return DumpString
|
| | |
|