xdh
2019-04-13 6feb5f6c84521cab58c523d43ba8a8fc02a5029a
ServerPython/CoreServerGroup/GameServer/Script/ChPyNetSendPack.py
@@ -12389,6 +12389,7 @@
    _fields_ = [
                  ("ItemID", c_int),    #果实物品ID
                  ("EatCnt", c_ushort),    #已使用个数
                  ("AddItemCnt", c_int),    #增幅丹使用个数
                  ]
    def __init__(self):
@@ -12403,6 +12404,7 @@
    def Clear(self):
        self.ItemID = 0
        self.EatCnt = 0
        self.AddItemCnt = 0
        return
    def GetLength(self):
@@ -12414,11 +12416,13 @@
    def OutputString(self):
        DumpString = '''// A3 39 玩家属性果实已使用个数信息//tagMCAttrFruitEatCntList:
                                ItemID:%d,
                                EatCnt:%d
                                EatCnt:%d,
                                AddItemCnt:%d
                                '''\
                                %(
                                self.ItemID,
                                self.EatCnt
                                self.EatCnt,
                                self.AddItemCnt
                                )
        return DumpString
@@ -16160,20 +16164,15 @@
#------------------------------------------------------
# A3 BF 通知客户端炼丹炉信息 #tagMCPlayerStoveMsg
class  tagMCPlayerStoveMsg(Structure):
class  tagMCPlayerStoveInfo(Structure):
    _pack_ = 1
    _fields_ = [
                  ("Cmd", c_ubyte),
                  ("SubCmd", c_ubyte),
                  ("StoveLV", c_ubyte),    # 炼丹炉等级
                  ("StoveExp", c_int),    # 炼丹炉经验
                  ("ItemID", c_int),    # 合成物品id
                  ("AlchemyID", c_int),    # 丹 ID
                  ("StartTime", c_int),    # 开始炼的时间
                  ]
    def __init__(self):
        self.Clear()
        self.Cmd = 0xA3
        self.SubCmd = 0xBF
        return
    def ReadData(self, stringData, _pos=0, _len=0):
@@ -16182,39 +16181,120 @@
        return _pos + self.GetLength()
    def Clear(self):
        self.Cmd = 0xA3
        self.SubCmd = 0xBF
        self.StoveLV = 0
        self.StoveExp = 0
        self.ItemID = 0
        self.AlchemyID = 0
        self.StartTime = 0
        return
    def GetLength(self):
        return sizeof(tagMCPlayerStoveMsg)
        return sizeof(tagMCPlayerStoveInfo)
    def GetBuffer(self):
        return string_at(addressof(self), self.GetLength())
    def OutputString(self):
        DumpString = '''// A3 BF 通知客户端炼丹炉信息 //tagMCPlayerStoveMsg:
                                Cmd:%s,
                                SubCmd:%s,
                                StoveLV:%d,
                                StoveExp:%d,
                                ItemID:%d
                                AlchemyID:%d,
                                StartTime:%d
                                '''\
                                %(
                                self.Cmd,
                                self.SubCmd,
                                self.AlchemyID,
                                self.StartTime
                                )
        return DumpString
class  tagMCPlayerStoveMsg(Structure):
    Head = tagHead()
    StoveLV = 0    #(BYTE StoveLV)// 炼丹炉等级
    StoveExp = 0    #(DWORD StoveExp)// 炼丹炉经验
    ItemID = 0    #(DWORD ItemID)// 合成物品id
    ItemCnt = 0    #(BYTE ItemCnt)// 丹药数量
    StoveCnt = 0    #(WORD StoveCnt)// 丹药数量
    InfoList = list()    #(vector<tagMCPlayerStoveInfo> InfoList)
    data = None
    def __init__(self):
        self.Clear()
        self.Head.Cmd = 0xA3
        self.Head.SubCmd = 0xBF
        return
    def ReadData(self, _lpData, _pos=0, _Len=0):
        self.Clear()
        _pos = self.Head.ReadData(_lpData, _pos)
        self.StoveLV,_pos = CommFunc.ReadBYTE(_lpData, _pos)
        self.StoveExp,_pos = CommFunc.ReadDWORD(_lpData, _pos)
        self.ItemID,_pos = CommFunc.ReadDWORD(_lpData, _pos)
        self.ItemCnt,_pos = CommFunc.ReadBYTE(_lpData, _pos)
        self.StoveCnt,_pos = CommFunc.ReadWORD(_lpData, _pos)
        for i in range(self.StoveCnt):
            temInfoList = tagMCPlayerStoveInfo()
            _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 = 0xBF
        self.StoveLV = 0
        self.StoveExp = 0
        self.ItemID = 0
        self.ItemCnt = 0
        self.StoveCnt = 0
        self.InfoList = list()
        return
    def GetLength(self):
        length = 0
        length += self.Head.GetLength()
        length += 1
        length += 4
        length += 4
        length += 1
        length += 2
        for i in range(self.StoveCnt):
            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.StoveLV)
        data = CommFunc.WriteDWORD(data, self.StoveExp)
        data = CommFunc.WriteDWORD(data, self.ItemID)
        data = CommFunc.WriteBYTE(data, self.ItemCnt)
        data = CommFunc.WriteWORD(data, self.StoveCnt)
        for i in range(self.StoveCnt):
            data = CommFunc.WriteString(data, self.InfoList[i].GetLength(), self.InfoList[i].GetBuffer())
        return data
    def OutputString(self):
        DumpString = '''
                                Head:%s,
                                StoveLV:%d,
                                StoveExp:%d,
                                ItemID:%d,
                                ItemCnt:%d,
                                StoveCnt:%d,
                                InfoList:%s
                                '''\
                                %(
                                self.Head.OutputString(),
                                self.StoveLV,
                                self.StoveExp,
                                self.ItemID
                                self.ItemID,
                                self.ItemCnt,
                                self.StoveCnt,
                                "..."
                                )
        return DumpString
m_NAtagMCPlayerStoveMsg=tagMCPlayerStoveMsg()
ChNetPackDict[eval("0x%02x%02x"%(m_NAtagMCPlayerStoveMsg.Cmd,m_NAtagMCPlayerStoveMsg.SubCmd))] = m_NAtagMCPlayerStoveMsg
ChNetPackDict[eval("0x%02x%02x"%(m_NAtagMCPlayerStoveMsg.Head.Cmd,m_NAtagMCPlayerStoveMsg.Head.SubCmd))] = m_NAtagMCPlayerStoveMsg
#------------------------------------------------------