ServerPython/CoreServerGroup/GameServer/Script/ChPyNetPack.py
@@ -706,58 +706,6 @@
#------------------------------------------------------
# A4 05 开启家族boss副本 #tagCGOpenFamilyBossFB
class  tagCGOpenFamilyBossFB(Structure):
    _pack_ = 1
    _fields_ = [
                  ("Cmd", c_ubyte),
                  ("SubCmd", c_ubyte),
                  ("MapID", c_int),    # 开启的副本地图ID
                  ]
    def __init__(self):
        self.Clear()
        self.Cmd = 0xA4
        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 = 0xA4
        self.SubCmd = 0x05
        self.MapID = 0
        return
    def GetLength(self):
        return sizeof(tagCGOpenFamilyBossFB)
    def GetBuffer(self):
        return string_at(addressof(self), self.GetLength())
    def OutputString(self):
        DumpString = '''// A4 05 开启家族boss副本 //tagCGOpenFamilyBossFB:
                                Cmd:%s,
                                SubCmd:%s,
                                MapID:%d
                                '''\
                                %(
                                self.Cmd,
                                self.SubCmd,
                                self.MapID
                                )
        return DumpString
m_NAtagCGOpenFamilyBossFB=tagCGOpenFamilyBossFB()
ChNetPackDict[eval("0x%02x%02x"%(m_NAtagCGOpenFamilyBossFB.Cmd,m_NAtagCGOpenFamilyBossFB.SubCmd))] = m_NAtagCGOpenFamilyBossFB
#------------------------------------------------------
# A4 04 创建家族 #tagCGPyCreatFamily
class  tagCGPyCreatFamily(Structure):
@@ -4772,6 +4720,144 @@
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
#------------------------------------------------------
@@ -11946,6 +12032,58 @@
#------------------------------------------------------
# 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):
@@ -13417,6 +13555,58 @@
#------------------------------------------------------
# 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):
@@ -13741,6 +13931,66 @@
#------------------------------------------------------
# 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):
@@ -13889,19 +14139,21 @@
#------------------------------------------------------
# A6 05  家族捐献兽粮 #tagCMFamilyDonate
# A6 13 家族事务操作 #tagCMFamilyAffairOP
class  tagCMFamilyDonate(Structure):
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 = 0x05
        self.SubCmd = 0x13
        return
    def ReadData(self, stringData, _pos=0, _len=0):
@@ -13911,29 +14163,87 @@
    def Clear(self):
        self.Cmd = 0xA6
        self.SubCmd = 0x05
        self.SubCmd = 0x13
        self.OPType = 0
        self.AffairID = 0
        return
    def GetLength(self):
        return sizeof(tagCMFamilyDonate)
        return sizeof(tagCMFamilyAffairOP)
    def GetBuffer(self):
        return string_at(addressof(self), self.GetLength())
    def OutputString(self):
        DumpString = '''// A6 05  家族捐献兽粮 //tagCMFamilyDonate:
        DumpString = '''// A6 13 家族事务操作 //tagCMFamilyAffairOP:
                                Cmd:%s,
                                SubCmd:%s
                                SubCmd:%s,
                                OPType:%d,
                                AffairID:%d
                                '''\
                                %(
                                self.Cmd,
                                self.SubCmd
                                self.SubCmd,
                                self.OPType,
                                self.AffairID
                                )
        return DumpString
m_NAtagCMFamilyDonate=tagCMFamilyDonate()
ChNetPackDict[eval("0x%02x%02x"%(m_NAtagCMFamilyDonate.Cmd,m_NAtagCMFamilyDonate.SubCmd))] = m_NAtagCMFamilyDonate
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
#------------------------------------------------------
@@ -14046,6 +14356,66 @@
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
#------------------------------------------------------
@@ -14406,6 +14776,58 @@
#------------------------------------------------------
# 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):
@@ -14718,6 +15140,118 @@
#------------------------------------------------------
# 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):