hxp
2018-11-24 df7b5d2bb012129b7cf50ffc687a333c8401733c
ServerPython/CoreServerGroup/GameServer/Script/ChPyNetSendPack.py
@@ -24640,60 +24640,92 @@
# B2 08 获得仙缘币信息 #tagMCAddXianyuanCoinMsg
class  tagMCAddXianyuanCoinMsg(Structure):
    _pack_ = 1
    _fields_ = [
                  ("Cmd", c_ubyte),
                  ("SubCmd", c_ubyte),
                  ("MapID", c_int),
                  ("FuncLineID", c_ubyte),
                  ("XianyuanCoinAdd", c_ushort),    # 增加的仙缘币,0代表已达上限
                  ]
    Head = tagHead()
    MapID = 0    #(DWORD MapID)
    FuncLineID = 0    #(BYTE FuncLineID)
    XianyuanCoinAdd = 0    #(WORD XianyuanCoinAdd)// 增加的仙缘币,0代表已达上限
    CallPlayerID = 0    #(DWORD CallPlayerID)// 助战的玩家ID,有值时代表真实助战,没有值时为自己打的
    NameLen = 0    #(BYTE NameLen)
    CallPlayerName = ""    #(String CallPlayerName)// 助战的玩家名,size = NameLen
    data = None
    def __init__(self):
        self.Clear()
        self.Cmd = 0xB2
        self.SubCmd = 0x08
        self.Head.Cmd = 0xB2
        self.Head.SubCmd = 0x08
        return
    def ReadData(self, stringData, _pos=0, _len=0):
    def ReadData(self, _lpData, _pos=0, _Len=0):
        self.Clear()
        memmove(addressof(self), stringData[_pos:], self.GetLength())
        return _pos + self.GetLength()
        _pos = self.Head.ReadData(_lpData, _pos)
        self.MapID,_pos = CommFunc.ReadDWORD(_lpData, _pos)
        self.FuncLineID,_pos = CommFunc.ReadBYTE(_lpData, _pos)
        self.XianyuanCoinAdd,_pos = CommFunc.ReadWORD(_lpData, _pos)
        self.CallPlayerID,_pos = CommFunc.ReadDWORD(_lpData, _pos)
        self.NameLen,_pos = CommFunc.ReadBYTE(_lpData, _pos)
        self.CallPlayerName,_pos = CommFunc.ReadString(_lpData, _pos,self.NameLen)
        return _pos
    def Clear(self):
        self.Cmd = 0xB2
        self.SubCmd = 0x08
        self.Head = tagHead()
        self.Head.Clear()
        self.Head.Cmd = 0xB2
        self.Head.SubCmd = 0x08
        self.MapID = 0
        self.FuncLineID = 0
        self.XianyuanCoinAdd = 0
        self.CallPlayerID = 0
        self.NameLen = 0
        self.CallPlayerName = ""
        return
    def GetLength(self):
        return sizeof(tagMCAddXianyuanCoinMsg)
        length = 0
        length += self.Head.GetLength()
        length += 4
        length += 1
        length += 2
        length += 4
        length += 1
        length += len(self.CallPlayerName)
        return length
    def GetBuffer(self):
        return string_at(addressof(self), self.GetLength())
        data = ''
        data = CommFunc.WriteString(data, self.Head.GetLength(), self.Head.GetBuffer())
        data = CommFunc.WriteDWORD(data, self.MapID)
        data = CommFunc.WriteBYTE(data, self.FuncLineID)
        data = CommFunc.WriteWORD(data, self.XianyuanCoinAdd)
        data = CommFunc.WriteDWORD(data, self.CallPlayerID)
        data = CommFunc.WriteBYTE(data, self.NameLen)
        data = CommFunc.WriteString(data, self.NameLen, self.CallPlayerName)
        return data
    def OutputString(self):
        DumpString = '''// B2 08 获得仙缘币信息 //tagMCAddXianyuanCoinMsg:
                                Cmd:%s,
                                SubCmd:%s,
        DumpString = '''
                                Head:%s,
                                MapID:%d,
                                FuncLineID:%d,
                                XianyuanCoinAdd:%d
                                XianyuanCoinAdd:%d,
                                CallPlayerID:%d,
                                NameLen:%d,
                                CallPlayerName:%s
                                '''\
                                %(
                                self.Cmd,
                                self.SubCmd,
                                self.Head.OutputString(),
                                self.MapID,
                                self.FuncLineID,
                                self.XianyuanCoinAdd
                                self.XianyuanCoinAdd,
                                self.CallPlayerID,
                                self.NameLen,
                                self.CallPlayerName
                                )
        return DumpString
m_NAtagMCAddXianyuanCoinMsg=tagMCAddXianyuanCoinMsg()
ChNetPackDict[eval("0x%02x%02x"%(m_NAtagMCAddXianyuanCoinMsg.Cmd,m_NAtagMCAddXianyuanCoinMsg.SubCmd))] = m_NAtagMCAddXianyuanCoinMsg
ChNetPackDict[eval("0x%02x%02x"%(m_NAtagMCAddXianyuanCoinMsg.Head.Cmd,m_NAtagMCAddXianyuanCoinMsg.Head.SubCmd))] = m_NAtagMCAddXianyuanCoinMsg
#------------------------------------------------------