ServerPython/CoreServerGroup/GameServer/Script/ChPyNetSendPack.py
@@ -16446,6 +16446,9 @@
    OrderLen = 0    #(BYTE OrderLen)
    OrderID = ""    #(String OrderID)// 订单id
    Coin = 0    #(DWORD Coin)// 充值的点卷
    RecordID = 0    #(BYTE RecordID)// ctgID
    OrderInfoLen = 0    #(BYTE OrderInfoLen)
    OrderInfo = ""    #(String OrderInfo)
    data = None
    def __init__(self):
@@ -16460,6 +16463,9 @@
        self.OrderLen,_pos = CommFunc.ReadBYTE(_lpData, _pos)
        self.OrderID,_pos = CommFunc.ReadString(_lpData, _pos,self.OrderLen)
        self.Coin,_pos = CommFunc.ReadDWORD(_lpData, _pos)
        self.RecordID,_pos = CommFunc.ReadBYTE(_lpData, _pos)
        self.OrderInfoLen,_pos = CommFunc.ReadBYTE(_lpData, _pos)
        self.OrderInfo,_pos = CommFunc.ReadString(_lpData, _pos,self.OrderInfoLen)
        return _pos
    def Clear(self):
@@ -16470,6 +16476,9 @@
        self.OrderLen = 0
        self.OrderID = ""
        self.Coin = 0
        self.RecordID = 0
        self.OrderInfoLen = 0
        self.OrderInfo = ""
        return
    def GetLength(self):
@@ -16478,6 +16487,9 @@
        length += 1
        length += len(self.OrderID)
        length += 4
        length += 1
        length += 1
        length += len(self.OrderInfo)
        return length
@@ -16487,6 +16499,9 @@
        data = CommFunc.WriteBYTE(data, self.OrderLen)
        data = CommFunc.WriteString(data, self.OrderLen, self.OrderID)
        data = CommFunc.WriteDWORD(data, self.Coin)
        data = CommFunc.WriteBYTE(data, self.RecordID)
        data = CommFunc.WriteBYTE(data, self.OrderInfoLen)
        data = CommFunc.WriteString(data, self.OrderInfoLen, self.OrderInfo)
        return data
    def OutputString(self):
@@ -16494,13 +16509,19 @@
                                Head:%s,
                                OrderLen:%d,
                                OrderID:%s,
                                Coin:%d
                                Coin:%d,
                                RecordID:%d,
                                OrderInfoLen:%d,
                                OrderInfo:%s
                                '''\
                                %(
                                self.Head.OutputString(),
                                self.OrderLen,
                                self.OrderID,
                                self.Coin
                                self.Coin,
                                self.RecordID,
                                self.OrderInfoLen,
                                self.OrderInfo
                                )
        return DumpString
@@ -37048,6 +37069,66 @@
#------------------------------------------------------
# AA 03 每日打包直购礼包 #tagMCDailyPackBuyGiftInfo
class  tagMCDailyPackBuyGiftInfo(Structure):
    _pack_ = 1
    _fields_ = [
                  ("Cmd", c_ubyte),
                  ("SubCmd", c_ubyte),
                  ("PackBuyTime", c_int),    # 打包购买的时间戳,如果有该值,代表已经一次性打包购买了,可根据次时间戳算出当前是第几天
                  ("BuyStateToday", c_int),    # 今日礼包购买状态,按礼包索引二进制位计算代表是否已购买,仅非打包购买状态下有用
                  ("AwardState", c_int),    # 今日礼包领奖状态,按礼包索引二进制位计算代表是否已领取
                  ]
    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.PackBuyTime = 0
        self.BuyStateToday = 0
        self.AwardState = 0
        return
    def GetLength(self):
        return sizeof(tagMCDailyPackBuyGiftInfo)
    def GetBuffer(self):
        return string_at(addressof(self), self.GetLength())
    def OutputString(self):
        DumpString = '''// AA 03 每日打包直购礼包 //tagMCDailyPackBuyGiftInfo:
                                Cmd:%s,
                                SubCmd:%s,
                                PackBuyTime:%d,
                                BuyStateToday:%d,
                                AwardState:%d
                                '''\
                                %(
                                self.Cmd,
                                self.SubCmd,
                                self.PackBuyTime,
                                self.BuyStateToday,
                                self.AwardState
                                )
        return DumpString
m_NAtagMCDailyPackBuyGiftInfo=tagMCDailyPackBuyGiftInfo()
ChNetPackDict[eval("0x%02x%02x"%(m_NAtagMCDailyPackBuyGiftInfo.Cmd,m_NAtagMCDailyPackBuyGiftInfo.SubCmd))] = m_NAtagMCDailyPackBuyGiftInfo
#------------------------------------------------------
# AA 24 每日免费直购礼包信息 #tagMCDayFreeGoldGiftState
class  tagMCDayFreeGoldGiftState(Structure):
@@ -37629,7 +37710,7 @@
    _pack_ = 1
    _fields_ = [
                  ("AwardIndex", c_ubyte),    #游历奖励索引
                  ("GetAwardCount", c_ubyte),    #已领取次数;前端判断是否可领取: 总游历值 >=  (已领取次数 + 1)  * 单次所需游历值
                  ("GetAwardCount", c_int),    #已领取次数;前端判断是否可领取: 总游历值 >=  (已领取次数 + 1)  * 单次所需游历值
                  ]
    def __init__(self):
@@ -43744,6 +43825,132 @@
#------------------------------------------------------
# B1 20 战令信息 #tagMCZhanlingInfo
class  tagMCZhanling(Structure):
    _pack_ = 1
    _fields_ = [
                  ("NeedValue", c_int),    # 奖励所需值
                  ("FreeRewardState", c_ubyte),    # 免费奖励是否已领取
                  ("ZLRewardState", 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.NeedValue = 0
        self.FreeRewardState = 0
        self.ZLRewardState = 0
        return
    def GetLength(self):
        return sizeof(tagMCZhanling)
    def GetBuffer(self):
        return string_at(addressof(self), self.GetLength())
    def OutputString(self):
        DumpString = '''// B1 20 战令信息 //tagMCZhanlingInfo:
                                NeedValue:%d,
                                FreeRewardState:%d,
                                ZLRewardState:%d
                                '''\
                                %(
                                self.NeedValue,
                                self.FreeRewardState,
                                self.ZLRewardState
                                )
        return DumpString
class  tagMCZhanlingInfo(Structure):
    Head = tagHead()
    ZhanlingType = 0    #(BYTE ZhanlingType)// 战令类型
    IsActivite = 0    #(BYTE IsActivite)// 是否已激活
    RewardCount = 0    #(WORD RewardCount)
    RewardList = list()    #(vector<tagMCZhanling> RewardList)
    data = None
    def __init__(self):
        self.Clear()
        self.Head.Cmd = 0xB1
        self.Head.SubCmd = 0x20
        return
    def ReadData(self, _lpData, _pos=0, _Len=0):
        self.Clear()
        _pos = self.Head.ReadData(_lpData, _pos)
        self.ZhanlingType,_pos = CommFunc.ReadBYTE(_lpData, _pos)
        self.IsActivite,_pos = CommFunc.ReadBYTE(_lpData, _pos)
        self.RewardCount,_pos = CommFunc.ReadWORD(_lpData, _pos)
        for i in range(self.RewardCount):
            temRewardList = tagMCZhanling()
            _pos = temRewardList.ReadData(_lpData, _pos)
            self.RewardList.append(temRewardList)
        return _pos
    def Clear(self):
        self.Head = tagHead()
        self.Head.Clear()
        self.Head.Cmd = 0xB1
        self.Head.SubCmd = 0x20
        self.ZhanlingType = 0
        self.IsActivite = 0
        self.RewardCount = 0
        self.RewardList = list()
        return
    def GetLength(self):
        length = 0
        length += self.Head.GetLength()
        length += 1
        length += 1
        length += 2
        for i in range(self.RewardCount):
            length += self.RewardList[i].GetLength()
        return length
    def GetBuffer(self):
        data = ''
        data = CommFunc.WriteString(data, self.Head.GetLength(), self.Head.GetBuffer())
        data = CommFunc.WriteBYTE(data, self.ZhanlingType)
        data = CommFunc.WriteBYTE(data, self.IsActivite)
        data = CommFunc.WriteWORD(data, self.RewardCount)
        for i in range(self.RewardCount):
            data = CommFunc.WriteString(data, self.RewardList[i].GetLength(), self.RewardList[i].GetBuffer())
        return data
    def OutputString(self):
        DumpString = '''
                                Head:%s,
                                ZhanlingType:%d,
                                IsActivite:%d,
                                RewardCount:%d,
                                RewardList:%s
                                '''\
                                %(
                                self.Head.OutputString(),
                                self.ZhanlingType,
                                self.IsActivite,
                                self.RewardCount,
                                "..."
                                )
        return DumpString
m_NAtagMCZhanlingInfo=tagMCZhanlingInfo()
ChNetPackDict[eval("0x%02x%02x"%(m_NAtagMCZhanlingInfo.Head.Cmd,m_NAtagMCZhanlingInfo.Head.SubCmd))] = m_NAtagMCZhanlingInfo
#------------------------------------------------------
# B2 08 获得仙缘币信息 #tagMCAddXianyuanCoinMsg
class  tagMCAddXianyuanCoinMsg(Structure):