hxp
2019-07-10 f5d7e43bb1a29abf17f8d371f66262c4e3de2b01
ServerPython/CoreServerGroup/GameServer/Script/ChPyNetSendPack.py
@@ -10529,6 +10529,7 @@
    _fields_ = [
                  ("Cmd", c_ubyte),
                  ("SubCmd", c_ubyte),
                  ("IsRobot", c_ubyte),    # 是否匹配机器人
                  ]
    def __init__(self):
@@ -10545,6 +10546,7 @@
    def Clear(self):
        self.Cmd = 0xC0
        self.SubCmd = 0x02
        self.IsRobot = 0
        return
    def GetLength(self):
@@ -10556,11 +10558,13 @@
    def OutputString(self):
        DumpString = '''// C0 02 跨服PK开始匹配 //tagGCCrossRealmPKStartMatch:
                                Cmd:%s,
                                SubCmd:%s
                                SubCmd:%s,
                                IsRobot:%d
                                '''\
                                %(
                                self.Cmd,
                                self.SubCmd
                                self.SubCmd,
                                self.IsRobot
                                )
        return DumpString
@@ -12850,6 +12854,7 @@
                  ("BossType", c_ubyte),    #编号类型0-世界boss 1-boss之家
                  ("KillCnt", c_int),    #击杀次数
                  ("ItemAddCnt", c_int),    #物品增加次数
                  ("BuyCnt", c_ubyte),    #购买次数
                  ]
    def __init__(self):
@@ -12865,6 +12870,7 @@
        self.BossType = 0
        self.KillCnt = 0
        self.ItemAddCnt = 0
        self.BuyCnt = 0
        return
    def GetLength(self):
@@ -12877,12 +12883,14 @@
        DumpString = '''//A3 B7 当日累计攻击boss次数 //tagMCBOSSAttactCnt:
                                BossType:%d,
                                KillCnt:%d,
                                ItemAddCnt:%d
                                ItemAddCnt:%d,
                                BuyCnt:%d
                                '''\
                                %(
                                self.BossType,
                                self.KillCnt,
                                self.ItemAddCnt
                                self.ItemAddCnt,
                                self.BuyCnt
                                )
        return DumpString
@@ -15285,6 +15293,126 @@
#------------------------------------------------------
# A3 12 通知骑宠觉醒信息 #tagMCHorsePetSkinData
class  tagMCHorsePetSkinInfo(Structure):
    _pack_ = 1
    _fields_ = [
                  ("Type", c_ubyte),    # 1-坐骑 2-灵宠
                  ("ID", c_int),    # 对应坐骑表灵宠表ID
                  ("Exp", c_int),    #经验
                  ("SkinLV", c_ubyte),    #觉醒等级
                  ("SkinIndex", c_ubyte),    #当前选择外观
                  ]
    def __init__(self):
        self.Clear()
        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.Type = 0
        self.ID = 0
        self.Exp = 0
        self.SkinLV = 0
        self.SkinIndex = 0
        return
    def GetLength(self):
        return sizeof(tagMCHorsePetSkinInfo)
    def GetBuffer(self):
        return string_at(addressof(self), self.GetLength())
    def OutputString(self):
        DumpString = '''// A3 12 通知骑宠觉醒信息 //tagMCHorsePetSkinData:
                                Type:%d,
                                ID:%d,
                                Exp:%d,
                                SkinLV:%d,
                                SkinIndex:%d
                                '''\
                                %(
                                self.Type,
                                self.ID,
                                self.Exp,
                                self.SkinLV,
                                self.SkinIndex
                                )
        return DumpString
class  tagMCHorsePetSkinData(Structure):
    Head = tagHead()
    Num = 0    #(BYTE Num)//个数
    InfoList = list()    #(vector<tagMCHorsePetSkinInfo> InfoList)// 数据列表
    data = None
    def __init__(self):
        self.Clear()
        self.Head.Cmd = 0xA3
        self.Head.SubCmd = 0x12
        return
    def ReadData(self, _lpData, _pos=0, _Len=0):
        self.Clear()
        _pos = self.Head.ReadData(_lpData, _pos)
        self.Num,_pos = CommFunc.ReadBYTE(_lpData, _pos)
        for i in range(self.Num):
            temInfoList = tagMCHorsePetSkinInfo()
            _pos = temInfoList.ReadData(_lpData, _pos)
            self.InfoList.append(temInfoList)
        return _pos
    def Clear(self):
        self.Head = tagHead()
        self.Head.Clear()
        self.Head.Cmd = 0xA3
        self.Head.SubCmd = 0x12
        self.Num = 0
        self.InfoList = list()
        return
    def GetLength(self):
        length = 0
        length += self.Head.GetLength()
        length += 1
        for i in range(self.Num):
            length += self.InfoList[i].GetLength()
        return length
    def GetBuffer(self):
        data = ''
        data = CommFunc.WriteString(data, self.Head.GetLength(), self.Head.GetBuffer())
        data = CommFunc.WriteBYTE(data, self.Num)
        for i in range(self.Num):
            data = CommFunc.WriteString(data, self.InfoList[i].GetLength(), self.InfoList[i].GetBuffer())
        return data
    def OutputString(self):
        DumpString = '''
                                Head:%s,
                                Num:%d,
                                InfoList:%s
                                '''\
                                %(
                                self.Head.OutputString(),
                                self.Num,
                                "..."
                                )
        return DumpString
m_NAtagMCHorsePetSkinData=tagMCHorsePetSkinData()
ChNetPackDict[eval("0x%02x%02x"%(m_NAtagMCHorsePetSkinData.Head.Cmd,m_NAtagMCHorsePetSkinData.Head.SubCmd))] = m_NAtagMCHorsePetSkinData
#------------------------------------------------------
# A3 52 法宝等级信息 #tagMCMagicWeaponLVInfo
class  tagMCMagicWeaponInfo(Structure):