ServerPython/CoreServerGroup/GameServer/Script/ChPyNetPack.py
@@ -1785,58 +1785,6 @@
#------------------------------------------------------
# AD 01 查询特惠活动信息 #tagCGQueryTeHuiActivetyInfo
class  tagCGQueryTeHuiActivetyInfo(Structure):
    _pack_ = 1
    _fields_ = [
                  ("Cmd", c_ubyte),
                  ("SubCmd", c_ubyte),
                  ("ActivityType", c_ubyte),    # 活动类型
                  ]
    def __init__(self):
        self.Clear()
        self.Cmd = 0xAD
        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 = 0xAD
        self.SubCmd = 0x01
        self.ActivityType = 0
        return
    def GetLength(self):
        return sizeof(tagCGQueryTeHuiActivetyInfo)
    def GetBuffer(self):
        return string_at(addressof(self), self.GetLength())
    def OutputString(self):
        DumpString = '''// AD 01 查询特惠活动信息 //tagCGQueryTeHuiActivetyInfo:
                                Cmd:%s,
                                SubCmd:%s,
                                ActivityType:%d
                                '''\
                                %(
                                self.Cmd,
                                self.SubCmd,
                                self.ActivityType
                                )
        return DumpString
m_NAtagCGQueryTeHuiActivetyInfo=tagCGQueryTeHuiActivetyInfo()
ChNetPackDict[eval("0x%02x%02x"%(m_NAtagCGQueryTeHuiActivetyInfo.Cmd,m_NAtagCGQueryTeHuiActivetyInfo.SubCmd))] = m_NAtagCGQueryTeHuiActivetyInfo
#------------------------------------------------------
# AE 07 运镖时间倒计时结束 #tagCGTruckTimeEnd
class  tagCGTruckTimeEnd(Structure):
@@ -3999,66 +3947,6 @@
#------------------------------------------------------
# A2 08 购买自定义商店物品 #tagCMBuyShopItem
class  tagCMBuyShopItem(Structure):
    _pack_ = 1
    _fields_ = [
                  ("Cmd", c_ubyte),
                  ("SubCmd", c_ubyte),
                  ("ShopID", c_int),
                  ("ItemShopIndex", c_ushort),
                  ("BuyCount", c_ushort),    #购买数量
                  ]
    def __init__(self):
        self.Clear()
        self.Cmd = 0xA2
        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 = 0xA2
        self.SubCmd = 0x08
        self.ShopID = 0
        self.ItemShopIndex = 0
        self.BuyCount = 0
        return
    def GetLength(self):
        return sizeof(tagCMBuyShopItem)
    def GetBuffer(self):
        return string_at(addressof(self), self.GetLength())
    def OutputString(self):
        DumpString = '''// A2 08 购买自定义商店物品 //tagCMBuyShopItem:
                                Cmd:%s,
                                SubCmd:%s,
                                ShopID:%d,
                                ItemShopIndex:%d,
                                BuyCount:%d
                                '''\
                                %(
                                self.Cmd,
                                self.SubCmd,
                                self.ShopID,
                                self.ItemShopIndex,
                                self.BuyCount
                                )
        return DumpString
m_NAtagCMBuyShopItem=tagCMBuyShopItem()
ChNetPackDict[eval("0x%02x%02x"%(m_NAtagCMBuyShopItem.Cmd,m_NAtagCMBuyShopItem.SubCmd))] = m_NAtagCMBuyShopItem
#------------------------------------------------------
# A2 10 清除副本CD#tagCMClearFBCD
class  tagCMClearFBCD(Structure):
@@ -5041,58 +4929,6 @@
#------------------------------------------------------
# A2 07 请求自定义商店物品信息 #tagCMQueryShopItem
class  tagCMQueryShopItem(Structure):
    _pack_ = 1
    _fields_ = [
                  ("Cmd", c_ubyte),
                  ("SubCmd", c_ubyte),
                  ("ShopID", 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.ShopID = 0
        return
    def GetLength(self):
        return sizeof(tagCMQueryShopItem)
    def GetBuffer(self):
        return string_at(addressof(self), self.GetLength())
    def OutputString(self):
        DumpString = '''// A2 07 请求自定义商店物品信息 //tagCMQueryShopItem:
                                Cmd:%s,
                                SubCmd:%s,
                                ShopID:%d
                                '''\
                                %(
                                self.Cmd,
                                self.SubCmd,
                                self.ShopID
                                )
        return DumpString
m_NAtagCMQueryShopItem=tagCMQueryShopItem()
ChNetPackDict[eval("0x%02x%02x"%(m_NAtagCMQueryShopItem.Cmd,m_NAtagCMQueryShopItem.SubCmd))] = m_NAtagCMQueryShopItem
#------------------------------------------------------
# A2 06 快速完成任务#tagCMQuickFinishMission
class  tagCMQuickFinishMission(Structure):
@@ -5194,58 +5030,6 @@
m_NAtagCMRefreshMysticalShop=tagCMRefreshMysticalShop()
ChNetPackDict[eval("0x%02x%02x"%(m_NAtagCMRefreshMysticalShop.Cmd,m_NAtagCMRefreshMysticalShop.SubCmd))] = m_NAtagCMRefreshMysticalShop
#------------------------------------------------------
# A2 14 刷新定时神秘商店物品#tagCMRefreshShopItem
class  tagCMRefreshShopItem(Structure):
    _pack_ = 1
    _fields_ = [
                  ("Cmd", c_ubyte),
                  ("SubCmd", c_ubyte),
                  ("ShopID", c_int),
                  ]
    def __init__(self):
        self.Clear()
        self.Cmd = 0xA2
        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 = 0xA2
        self.SubCmd = 0x14
        self.ShopID = 0
        return
    def GetLength(self):
        return sizeof(tagCMRefreshShopItem)
    def GetBuffer(self):
        return string_at(addressof(self), self.GetLength())
    def OutputString(self):
        DumpString = '''// A2 14 刷新定时神秘商店物品//tagCMRefreshShopItem:
                                Cmd:%s,
                                SubCmd:%s,
                                ShopID:%d
                                '''\
                                %(
                                self.Cmd,
                                self.SubCmd,
                                self.ShopID
                                )
        return DumpString
m_NAtagCMRefreshShopItem=tagCMRefreshShopItem()
ChNetPackDict[eval("0x%02x%02x"%(m_NAtagCMRefreshShopItem.Cmd,m_NAtagCMRefreshShopItem.SubCmd))] = m_NAtagCMRefreshShopItem
#------------------------------------------------------
@@ -6244,6 +6028,58 @@
#------------------------------------------------------
# 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 05 宝石摘取 #tagCMEquipStonePick
class  tagCMEquipStonePick(Structure):
@@ -6699,6 +6535,62 @@
#------------------------------------------------------
# A3 08 物品过期 #tagCMItemTimeout
class  tagCMItemTimeout(Structure):
    _pack_ = 1
    _fields_ = [
                  ("Cmd", c_ubyte),
                  ("SubCmd", c_ubyte),
                  ("PackType", c_ubyte),    #背包类型
                  ("ItemIndex", 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
        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
                                '''\
                                %(
                                self.Cmd,
                                self.SubCmd,
                                self.PackType,
                                self.ItemIndex
                                )
        return DumpString
m_NAtagCMItemTimeout=tagCMItemTimeout()
ChNetPackDict[eval("0x%02x%02x"%(m_NAtagCMItemTimeout.Cmd,m_NAtagCMItemTimeout.SubCmd))] = m_NAtagCMItemTimeout
#------------------------------------------------------
#A3 02 丢弃背包物品 #tagPlayerDropItem
class  tagPlayerDropItem(Structure):
@@ -6979,118 +6871,6 @@
m_NAtagCMItemCompound=tagCMItemCompound()
ChNetPackDict[eval("0x%02x%02x"%(m_NAtagCMItemCompound.Head.Cmd,m_NAtagCMItemCompound.Head.SubCmd))] = m_NAtagCMItemCompound
#------------------------------------------------------
#A3 17 套装合成#tagCMSuitCompose
class  tagCMSuitCompose(Structure):
    _pack_ = 1
    _fields_ = [
                  ("Cmd", c_ubyte),
                  ("SubCmd", c_ubyte),
                  ("SuiteType", c_ubyte),    # 套装类型 1普通 2强化
                  ("EquipPlace", c_ubyte),    # 装备位置
                  ]
    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.SuiteType = 0
        self.EquipPlace = 0
        return
    def GetLength(self):
        return sizeof(tagCMSuitCompose)
    def GetBuffer(self):
        return string_at(addressof(self), self.GetLength())
    def OutputString(self):
        DumpString = '''//A3 17 套装合成//tagCMSuitCompose:
                                Cmd:%s,
                                SubCmd:%s,
                                SuiteType:%d,
                                EquipPlace:%d
                                '''\
                                %(
                                self.Cmd,
                                self.SubCmd,
                                self.SuiteType,
                                self.EquipPlace
                                )
        return DumpString
m_NAtagCMSuitCompose=tagCMSuitCompose()
ChNetPackDict[eval("0x%02x%02x"%(m_NAtagCMSuitCompose.Cmd,m_NAtagCMSuitCompose.SubCmd))] = m_NAtagCMSuitCompose
#------------------------------------------------------
# A3 08 套装拆解 #tagCMSuiteDecompose
class  tagCMSuiteDecompose(Structure):
    _pack_ = 1
    _fields_ = [
                  ("Cmd", c_ubyte),
                  ("SubCmd", c_ubyte),
                  ("EquipPlace", c_ubyte),    #部位索引
                  ("SuiteType", c_ubyte),    #套装类型 0代表全部类型
                  ]
    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.EquipPlace = 0
        self.SuiteType = 0
        return
    def GetLength(self):
        return sizeof(tagCMSuiteDecompose)
    def GetBuffer(self):
        return string_at(addressof(self), self.GetLength())
    def OutputString(self):
        DumpString = '''// A3 08 套装拆解 //tagCMSuiteDecompose:
                                Cmd:%s,
                                SubCmd:%s,
                                EquipPlace:%d,
                                SuiteType:%d
                                '''\
                                %(
                                self.Cmd,
                                self.SubCmd,
                                self.EquipPlace,
                                self.SuiteType
                                )
        return DumpString
m_NAtagCMSuiteDecompose=tagCMSuiteDecompose()
ChNetPackDict[eval("0x%02x%02x"%(m_NAtagCMSuiteDecompose.Cmd,m_NAtagCMSuiteDecompose.SubCmd))] = m_NAtagCMSuiteDecompose
#------------------------------------------------------
@@ -7875,58 +7655,6 @@
#------------------------------------------------------
# A5 12 激活法宝之魂 #tagCMActiveMWSoul
class  tagCMActiveMWSoul(Structure):
    _pack_ = 1
    _fields_ = [
                  ("Cmd", c_ubyte),
                  ("SubCmd", c_ubyte),
                  ("ID", c_ubyte),    #编号
                  ]
    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.ID = 0
        return
    def GetLength(self):
        return sizeof(tagCMActiveMWSoul)
    def GetBuffer(self):
        return string_at(addressof(self), self.GetLength())
    def OutputString(self):
        DumpString = '''// A5 12 激活法宝之魂 //tagCMActiveMWSoul:
                                Cmd:%s,
                                SubCmd:%s,
                                ID:%d
                                '''\
                                %(
                                self.Cmd,
                                self.SubCmd,
                                self.ID
                                )
        return DumpString
m_NAtagCMActiveMWSoul=tagCMActiveMWSoul()
ChNetPackDict[eval("0x%02x%02x"%(m_NAtagCMActiveMWSoul.Cmd,m_NAtagCMActiveMWSoul.SubCmd))] = m_NAtagCMActiveMWSoul
#------------------------------------------------------
# A5 49 大师天赋技能加点 #tagCMAddMasterSkillPoint
class  tagCMMasterSkillPoint(Structure):
@@ -8543,106 +8271,6 @@
m_NAtagCMBuyKillBossCnt=tagCMBuyKillBossCnt()
ChNetPackDict[eval("0x%02x%02x"%(m_NAtagCMBuyKillBossCnt.Cmd,m_NAtagCMBuyKillBossCnt.SubCmd))] = m_NAtagCMBuyKillBossCnt
#------------------------------------------------------
#A5 36 天梯清除挑战CD#tagCMHighLadderClearCD
class  tagCMHighLadderClearCD(Structure):
    _pack_ = 1
    _fields_ = [
                  ("Cmd", c_ubyte),
                  ("SubCmd", c_ubyte),
                  ]
    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
        return
    def GetLength(self):
        return sizeof(tagCMHighLadderClearCD)
    def GetBuffer(self):
        return string_at(addressof(self), self.GetLength())
    def OutputString(self):
        DumpString = '''//A5 36 天梯清除挑战CD//tagCMHighLadderClearCD:
                                Cmd:%s,
                                SubCmd:%s
                                '''\
                                %(
                                self.Cmd,
                                self.SubCmd
                                )
        return DumpString
m_NAtagCMHighLadderClearCD=tagCMHighLadderClearCD()
ChNetPackDict[eval("0x%02x%02x"%(m_NAtagCMHighLadderClearCD.Cmd,m_NAtagCMHighLadderClearCD.SubCmd))] = m_NAtagCMHighLadderClearCD
#------------------------------------------------------
#A5 35 查询天梯竞技场奖励#tagCMQueryHighLadderReward
class  tagCMQueryHighLadderReward(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 = 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.Type = 0
        return
    def GetLength(self):
        return sizeof(tagCMQueryHighLadderReward)
    def GetBuffer(self):
        return string_at(addressof(self), self.GetLength())
    def OutputString(self):
        DumpString = '''//A5 35 查询天梯竞技场奖励//tagCMQueryHighLadderReward:
                                Cmd:%s,
                                SubCmd:%s,
                                Type:%d
                                '''\
                                %(
                                self.Cmd,
                                self.SubCmd,
                                self.Type
                                )
        return DumpString
m_NAtagCMQueryHighLadderReward=tagCMQueryHighLadderReward()
ChNetPackDict[eval("0x%02x%02x"%(m_NAtagCMQueryHighLadderReward.Cmd,m_NAtagCMQueryHighLadderReward.SubCmd))] = m_NAtagCMQueryHighLadderReward
#------------------------------------------------------
@@ -10211,54 +9839,6 @@
#------------------------------------------------------
#A5 37 天梯增加挑战次数#tagCMHighLadderAddCount
class  tagCMHighLadderAddCount(Structure):
    _pack_ = 1
    _fields_ = [
                  ("Cmd", c_ubyte),
                  ("SubCmd", c_ubyte),
                  ]
    def __init__(self):
        self.Clear()
        self.Cmd = 0xA5
        self.SubCmd = 0x37
        return
    def ReadData(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 = 0x37
        return
    def GetLength(self):
        return sizeof(tagCMHighLadderAddCount)
    def GetBuffer(self):
        return string_at(addressof(self), self.GetLength())
    def OutputString(self):
        DumpString = '''//A5 37 天梯增加挑战次数//tagCMHighLadderAddCount:
                                Cmd:%s,
                                SubCmd:%s
                                '''\
                                %(
                                self.Cmd,
                                self.SubCmd
                                )
        return DumpString
m_NAtagCMHighLadderAddCount=tagCMHighLadderAddCount()
ChNetPackDict[eval("0x%02x%02x"%(m_NAtagCMHighLadderAddCount.Cmd,m_NAtagCMHighLadderAddCount.SubCmd))] = m_NAtagCMHighLadderAddCount
#------------------------------------------------------
# A5 27 坐骑提升 #tagCMHorseUp
class  tagCMHorseUp(Structure):
@@ -10316,58 +9896,6 @@
m_NAtagCMHorseUp=tagCMHorseUp()
ChNetPackDict[eval("0x%02x%02x"%(m_NAtagCMHorseUp.Cmd,m_NAtagCMHorseUp.SubCmd))] = m_NAtagCMHorseUp
#------------------------------------------------------
# A5 16 法宝状态记录 #tagCMMagicWeaponState
class  tagCMMagicWeaponState(Structure):
    _pack_ = 1
    _fields_ = [
                  ("Cmd", c_ubyte),
                  ("SubCmd", c_ubyte),
                  ("MWID", c_int),    #法宝ID
                  ]
    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.MWID = 0
        return
    def GetLength(self):
        return sizeof(tagCMMagicWeaponState)
    def GetBuffer(self):
        return string_at(addressof(self), self.GetLength())
    def OutputString(self):
        DumpString = '''// A5 16 法宝状态记录 //tagCMMagicWeaponState:
                                Cmd:%s,
                                SubCmd:%s,
                                MWID:%d
                                '''\
                                %(
                                self.Cmd,
                                self.SubCmd,
                                self.MWID
                                )
        return DumpString
m_NAtagCMMagicWeaponState=tagCMMagicWeaponState()
ChNetPackDict[eval("0x%02x%02x"%(m_NAtagCMMagicWeaponState.Cmd,m_NAtagCMMagicWeaponState.SubCmd))] = m_NAtagCMMagicWeaponState
#------------------------------------------------------
@@ -10757,54 +10285,6 @@
#------------------------------------------------------
#A5 34 查询天梯竞技场状态#tagCMQueryHighLadderState
class  tagCMQueryHighLadderState(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(tagCMQueryHighLadderState)
    def GetBuffer(self):
        return string_at(addressof(self), self.GetLength())
    def OutputString(self):
        DumpString = '''//A5 34 查询天梯竞技场状态//tagCMQueryHighLadderState:
                                Cmd:%s,
                                SubCmd:%s
                                '''\
                                %(
                                self.Cmd,
                                self.SubCmd
                                )
        return DumpString
m_NAtagCMQueryHighLadderState=tagCMQueryHighLadderState()
ChNetPackDict[eval("0x%02x%02x"%(m_NAtagCMQueryHighLadderState.Cmd,m_NAtagCMQueryHighLadderState.SubCmd))] = m_NAtagCMQueryHighLadderState
#------------------------------------------------------
#A5 07 查询在线奖励 #tagCMQueryOnlinePrizeInfo
class  tagCMQueryOnlinePrizeInfo(Structure):
@@ -10982,58 +10462,6 @@
m_NAtagCMRecoverGain=tagCMRecoverGain()
ChNetPackDict[eval("0x%02x%02x"%(m_NAtagCMRecoverGain.Head.Cmd,m_NAtagCMRecoverGain.Head.SubCmd))] = m_NAtagCMRecoverGain
#------------------------------------------------------
# A5 0C 使用道具减少渡劫打坐时间 #tagCMReduceSitTime
class  tagCMReduceSitTime(Structure):
    _pack_ = 1
    _fields_ = [
                  ("Cmd", c_ubyte),
                  ("SubCmd", c_ubyte),
                  ("ItemCnt", c_ushort),    # 道具数量
                  ]
    def __init__(self):
        self.Clear()
        self.Cmd = 0xA5
        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 = 0xA5
        self.SubCmd = 0x0C
        self.ItemCnt = 0
        return
    def GetLength(self):
        return sizeof(tagCMReduceSitTime)
    def GetBuffer(self):
        return string_at(addressof(self), self.GetLength())
    def OutputString(self):
        DumpString = '''// A5 0C 使用道具减少渡劫打坐时间 //tagCMReduceSitTime:
                                Cmd:%s,
                                SubCmd:%s,
                                ItemCnt:%d
                                '''\
                                %(
                                self.Cmd,
                                self.SubCmd,
                                self.ItemCnt
                                )
        return DumpString
m_NAtagCMReduceSitTime=tagCMReduceSitTime()
ChNetPackDict[eval("0x%02x%02x"%(m_NAtagCMReduceSitTime.Cmd,m_NAtagCMReduceSitTime.SubCmd))] = m_NAtagCMReduceSitTime
#------------------------------------------------------
@@ -11607,6 +11035,54 @@
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
#------------------------------------------------------
@@ -12891,174 +12367,6 @@
#------------------------------------------------------
# AA 02 领取升阶功能特惠奖励 #tagCMGetClassUPDayAward
class  tagCMGetClassUPDayAward(Structure):
    _pack_ = 1
    _fields_ = [
                  ("Cmd", c_ubyte),
                  ("SubCmd", c_ubyte),
                  ("DayType", c_ubyte),    # 升阶日类型
                  ("ClassLV", c_ubyte),    # 阶级
                  ]
    def __init__(self):
        self.Clear()
        self.Cmd = 0xAA
        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 = 0xAA
        self.SubCmd = 0x02
        self.DayType = 0
        self.ClassLV = 0
        return
    def GetLength(self):
        return sizeof(tagCMGetClassUPDayAward)
    def GetBuffer(self):
        return string_at(addressof(self), self.GetLength())
    def OutputString(self):
        DumpString = '''// AA 02 领取升阶功能特惠奖励 //tagCMGetClassUPDayAward:
                                Cmd:%s,
                                SubCmd:%s,
                                DayType:%d,
                                ClassLV:%d
                                '''\
                                %(
                                self.Cmd,
                                self.SubCmd,
                                self.DayType,
                                self.ClassLV
                                )
        return DumpString
m_NAtagCMGetClassUPDayAward=tagCMGetClassUPDayAward()
ChNetPackDict[eval("0x%02x%02x"%(m_NAtagCMGetClassUPDayAward.Cmd,m_NAtagCMGetClassUPDayAward.SubCmd))] = m_NAtagCMGetClassUPDayAward
#------------------------------------------------------
# AA 04 领取消费奖励 #tagCMGetCostAward
class  tagCMGetCostAward(Structure):
    _pack_ = 1
    _fields_ = [
                  ("Cmd", c_ubyte),
                  ("SubCmd", c_ubyte),
                  ("ActionID", c_int),    # 活动ID
                  ("Index", c_ubyte),    # 索引
                  ]
    def __init__(self):
        self.Clear()
        self.Cmd = 0xAA
        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 = 0xAA
        self.SubCmd = 0x04
        self.ActionID = 0
        self.Index = 0
        return
    def GetLength(self):
        return sizeof(tagCMGetCostAward)
    def GetBuffer(self):
        return string_at(addressof(self), self.GetLength())
    def OutputString(self):
        DumpString = '''// AA 04 领取消费奖励 //tagCMGetCostAward:
                                Cmd:%s,
                                SubCmd:%s,
                                ActionID:%d,
                                Index:%d
                                '''\
                                %(
                                self.Cmd,
                                self.SubCmd,
                                self.ActionID,
                                self.Index
                                )
        return DumpString
m_NAtagCMGetCostAward=tagCMGetCostAward()
ChNetPackDict[eval("0x%02x%02x"%(m_NAtagCMGetCostAward.Cmd,m_NAtagCMGetCostAward.SubCmd))] = m_NAtagCMGetCostAward
#------------------------------------------------------
# AA 03 领取充值特惠奖励 #tagCMGetRechargeTeHuiAward
class  tagCMGetRechargeTeHuiAward(Structure):
    _pack_ = 1
    _fields_ = [
                  ("Cmd", c_ubyte),
                  ("SubCmd", c_ubyte),
                  ("ActionID", c_int),    # 活动ID
                  ("Index", c_ubyte),    # 规则索引
                  ]
    def __init__(self):
        self.Clear()
        self.Cmd = 0xAA
        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 = 0xAA
        self.SubCmd = 0x03
        self.ActionID = 0
        self.Index = 0
        return
    def GetLength(self):
        return sizeof(tagCMGetRechargeTeHuiAward)
    def GetBuffer(self):
        return string_at(addressof(self), self.GetLength())
    def OutputString(self):
        DumpString = '''// AA 03 领取充值特惠奖励 //tagCMGetRechargeTeHuiAward:
                                Cmd:%s,
                                SubCmd:%s,
                                ActionID:%d,
                                Index:%d
                                '''\
                                %(
                                self.Cmd,
                                self.SubCmd,
                                self.ActionID,
                                self.Index
                                )
        return DumpString
m_NAtagCMGetRechargeTeHuiAward=tagCMGetRechargeTeHuiAward()
ChNetPackDict[eval("0x%02x%02x"%(m_NAtagCMGetRechargeTeHuiAward.Cmd,m_NAtagCMGetRechargeTeHuiAward.SubCmd))] = m_NAtagCMGetRechargeTeHuiAward
#------------------------------------------------------
#AA 01 领取累计登陆礼 # tagCMGetTotalLoginDayAward
class  tagCMGetTotalLoginDayAward(Structure):
@@ -13371,84 +12679,6 @@
#------------------------------------------------------
# AB 06 活动物品兑换 #tagCMExchangeActionItem
class  tagCMExchangeActionItem(Structure):
    Head = tagHead()
    ActionKeyLen = 0    #(BYTE ActionKeyLen)
    ActionKey = ""    #(String ActionKey)
    ItemID = 0    #(DWORD ItemID)// 兑换的目标物品ID
    ExcCnt = 0    #(WORD ExcCnt)// 兑换个数,默认1个
    data = None
    def __init__(self):
        self.Clear()
        self.Head.Cmd = 0xAB
        self.Head.SubCmd = 0x06
        return
    def ReadData(self, _lpData, _pos=0, _Len=0):
        self.Clear()
        _pos = self.Head.ReadData(_lpData, _pos)
        self.ActionKeyLen,_pos = CommFunc.ReadBYTE(_lpData, _pos)
        self.ActionKey,_pos = CommFunc.ReadString(_lpData, _pos,self.ActionKeyLen)
        self.ItemID,_pos = CommFunc.ReadDWORD(_lpData, _pos)
        self.ExcCnt,_pos = CommFunc.ReadWORD(_lpData, _pos)
        return _pos
    def Clear(self):
        self.Head = tagHead()
        self.Head.Clear()
        self.Head.Cmd = 0xAB
        self.Head.SubCmd = 0x06
        self.ActionKeyLen = 0
        self.ActionKey = ""
        self.ItemID = 0
        self.ExcCnt = 0
        return
    def GetLength(self):
        length = 0
        length += self.Head.GetLength()
        length += 1
        length += len(self.ActionKey)
        length += 4
        length += 2
        return length
    def GetBuffer(self):
        data = ''
        data = CommFunc.WriteString(data, self.Head.GetLength(), self.Head.GetBuffer())
        data = CommFunc.WriteBYTE(data, self.ActionKeyLen)
        data = CommFunc.WriteString(data, self.ActionKeyLen, self.ActionKey)
        data = CommFunc.WriteDWORD(data, self.ItemID)
        data = CommFunc.WriteWORD(data, self.ExcCnt)
        return data
    def OutputString(self):
        DumpString = '''
                                Head:%s,
                                ActionKeyLen:%d,
                                ActionKey:%s,
                                ItemID:%d,
                                ExcCnt:%d
                                '''\
                                %(
                                self.Head.OutputString(),
                                self.ActionKeyLen,
                                self.ActionKey,
                                self.ItemID,
                                self.ExcCnt
                                )
        return DumpString
m_NAtagCMExchangeActionItem=tagCMExchangeActionItem()
ChNetPackDict[eval("0x%02x%02x"%(m_NAtagCMExchangeActionItem.Head.Cmd,m_NAtagCMExchangeActionItem.Head.SubCmd))] = m_NAtagCMExchangeActionItem
#------------------------------------------------------
# AB 07 领取节日登陆奖励 #tagCMGetFestivalLoginAward
class  tagCMGetFestivalLoginAward(Structure):
@@ -13502,106 +12732,6 @@
m_NAtagCMGetFestivalLoginAward=tagCMGetFestivalLoginAward()
ChNetPackDict[eval("0x%02x%02x"%(m_NAtagCMGetFestivalLoginAward.Cmd,m_NAtagCMGetFestivalLoginAward.SubCmd))] = m_NAtagCMGetFestivalLoginAward
#------------------------------------------------------
# AB 02 领取领地争夺战每日奖励 #tagCMGetManorWarDailyAward
class  tagCMGetManorWarDailyAward(Structure):
    _pack_ = 1
    _fields_ = [
                  ("Cmd", c_ubyte),
                  ("SubCmd", c_ubyte),
                  ("MapID", c_int),    # 领地id
                  ]
    def __init__(self):
        self.Clear()
        self.Cmd = 0xAB
        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 = 0xAB
        self.SubCmd = 0x02
        self.MapID = 0
        return
    def GetLength(self):
        return sizeof(tagCMGetManorWarDailyAward)
    def GetBuffer(self):
        return string_at(addressof(self), self.GetLength())
    def OutputString(self):
        DumpString = '''// AB 02 领取领地争夺战每日奖励 //tagCMGetManorWarDailyAward:
                                Cmd:%s,
                                SubCmd:%s,
                                MapID:%d
                                '''\
                                %(
                                self.Cmd,
                                self.SubCmd,
                                self.MapID
                                )
        return DumpString
m_NAtagCMGetManorWarDailyAward=tagCMGetManorWarDailyAward()
ChNetPackDict[eval("0x%02x%02x"%(m_NAtagCMGetManorWarDailyAward.Cmd,m_NAtagCMGetManorWarDailyAward.SubCmd))] = m_NAtagCMGetManorWarDailyAward
#------------------------------------------------------
# AB 01 领取领地争夺战参与奖 #tagCMGetManorWarJoinAward
class  tagCMGetManorWarJoinAward(Structure):
    _pack_ = 1
    _fields_ = [
                  ("Cmd", c_ubyte),
                  ("SubCmd", c_ubyte),
                  ]
    def __init__(self):
        self.Clear()
        self.Cmd = 0xAB
        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 = 0xAB
        self.SubCmd = 0x01
        return
    def GetLength(self):
        return sizeof(tagCMGetManorWarJoinAward)
    def GetBuffer(self):
        return string_at(addressof(self), self.GetLength())
    def OutputString(self):
        DumpString = '''// AB 01 领取领地争夺战参与奖 //tagCMGetManorWarJoinAward:
                                Cmd:%s,
                                SubCmd:%s
                                '''\
                                %(
                                self.Cmd,
                                self.SubCmd
                                )
        return DumpString
m_NAtagCMGetManorWarJoinAward=tagCMGetManorWarJoinAward()
ChNetPackDict[eval("0x%02x%02x"%(m_NAtagCMGetManorWarJoinAward.Cmd,m_NAtagCMGetManorWarJoinAward.SubCmd))] = m_NAtagCMGetManorWarJoinAward
#------------------------------------------------------
@@ -14749,6 +13879,83 @@
#------------------------------------------------------
# B2 06 玩家加点 #tagCMAddPoint
class  tagCMAddPoint(Structure):
    Head = tagHead()
    PointAttrIDCount = 0    #(BYTE PointAttrIDCount)// 加点属性ID个数
    PointAttrIDList = list()    #(vector<BYTE> PointAttrIDList)// 加点属性ID列表
    PointValueList = list()    #(vector<WORD> 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.ReadWORD(_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 += 2 * 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.WriteWORD(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 01 脱机挂状态 # tagCMLoginState
class  tagCMLoginState(Structure):