| | |
| | |
|
| | |
|
| | | #------------------------------------------------------
|
| | | # 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
|
| | |
|
| | |
|
| | | #------------------------------------------------------
|
| | | # AA 12 选择转盘活动物品 #tagCMActTurntableChooseItem
|
| | |
|
| | | class tagCMActTurntableChooseItem(Structure):
|