From b6e2e296d9fd4fc7e503a852da6906a31f8e9088 Mon Sep 17 00:00:00 2001
From: hxp <ale99527@vip.qq.com>
Date: 星期三, 22 十月 2025 11:20:45 +0800
Subject: [PATCH] 16 卡牌服务端(删除开服活动)

---
 ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/ChPyNetSendPack.py |  921 ++++++---------------------------------------------------
 1 files changed, 104 insertions(+), 817 deletions(-)

diff --git a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/ChPyNetSendPack.py b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/ChPyNetSendPack.py
index 6366384..364c3dc 100644
--- a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/ChPyNetSendPack.py
+++ b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/ChPyNetSendPack.py
@@ -10631,208 +10631,6 @@
 
 
 #------------------------------------------------------
-# A4 06 家族仓库物品信息 #tagGCFamilyStoreItemInfo
-
-class  tagGCFamilyStoreItem(Structure):
-    Index = 0    #(BYTE Index)// 仓库格子索引,从0开始代表第一格
-    ItemID = 0    #(DWORD ItemID)// 物品ID
-    ItemDataLen = 0    #(WORD ItemDataLen)
-    ItemData = ""    #(String ItemData)//size = ItemDataLen
-    data = None
-
-    def __init__(self):
-        self.Clear()
-        return
-
-    def ReadData(self, _lpData, _pos=0, _Len=0):
-        self.Clear()
-        self.Index,_pos = CommFunc.ReadBYTE(_lpData, _pos)
-        self.ItemID,_pos = CommFunc.ReadDWORD(_lpData, _pos)
-        self.ItemDataLen,_pos = CommFunc.ReadWORD(_lpData, _pos)
-        self.ItemData,_pos = CommFunc.ReadString(_lpData, _pos,self.ItemDataLen)
-        return _pos
-
-    def Clear(self):
-        self.Index = 0
-        self.ItemID = 0
-        self.ItemDataLen = 0
-        self.ItemData = ""
-        return
-
-    def GetLength(self):
-        length = 0
-        length += 1
-        length += 4
-        length += 2
-        length += len(self.ItemData)
-
-        return length
-
-    def GetBuffer(self):
-        data = ''
-        data = CommFunc.WriteBYTE(data, self.Index)
-        data = CommFunc.WriteDWORD(data, self.ItemID)
-        data = CommFunc.WriteWORD(data, self.ItemDataLen)
-        data = CommFunc.WriteString(data, self.ItemDataLen, self.ItemData)
-        return data
-
-    def OutputString(self):
-        DumpString = '''
-                                Index:%d,
-                                ItemID:%d,
-                                ItemDataLen:%d,
-                                ItemData:%s
-                                '''\
-                                %(
-                                self.Index,
-                                self.ItemID,
-                                self.ItemDataLen,
-                                self.ItemData
-                                )
-        return DumpString
-
-
-class  tagGCFamilyStoreItemInfo(Structure):
-    Head = tagHead()
-    Count = 0    #(BYTE Count)//数量
-    StoreItemList = list()    #(vector<tagGCFamilyStoreItem> StoreItemList)//size = Count
-    data = None
-
-    def __init__(self):
-        self.Clear()
-        self.Head.Cmd = 0xA4
-        self.Head.SubCmd = 0x06
-        return
-
-    def ReadData(self, _lpData, _pos=0, _Len=0):
-        self.Clear()
-        _pos = self.Head.ReadData(_lpData, _pos)
-        self.Count,_pos = CommFunc.ReadBYTE(_lpData, _pos)
-        for i in range(self.Count):
-            temStoreItemList = tagGCFamilyStoreItem()
-            _pos = temStoreItemList.ReadData(_lpData, _pos)
-            self.StoreItemList.append(temStoreItemList)
-        return _pos
-
-    def Clear(self):
-        self.Head = tagHead()
-        self.Head.Clear()
-        self.Head.Cmd = 0xA4
-        self.Head.SubCmd = 0x06
-        self.Count = 0
-        self.StoreItemList = list()
-        return
-
-    def GetLength(self):
-        length = 0
-        length += self.Head.GetLength()
-        length += 1
-        for i in range(self.Count):
-            length += self.StoreItemList[i].GetLength()
-
-        return length
-
-    def GetBuffer(self):
-        data = ''
-        data = CommFunc.WriteString(data, self.Head.GetLength(), self.Head.GetBuffer())
-        data = CommFunc.WriteBYTE(data, self.Count)
-        for i in range(self.Count):
-            data = CommFunc.WriteString(data, self.StoreItemList[i].GetLength(), self.StoreItemList[i].GetBuffer())
-        return data
-
-    def OutputString(self):
-        DumpString = '''
-                                Head:%s,
-                                Count:%d,
-                                StoreItemList:%s
-                                '''\
-                                %(
-                                self.Head.OutputString(),
-                                self.Count,
-                                "..."
-                                )
-        return DumpString
-
-
-m_NAtagGCFamilyStoreItemInfo=tagGCFamilyStoreItemInfo()
-ChNetPackDict[eval("0x%02x%02x"%(m_NAtagGCFamilyStoreItemInfo.Head.Cmd,m_NAtagGCFamilyStoreItemInfo.Head.SubCmd))] = m_NAtagGCFamilyStoreItemInfo
-
-
-#------------------------------------------------------
-# A4 07 家族仓库物品清除 #tagGCFamilyStoreItemClear
-
-class  tagGCFamilyStoreItemClear(Structure):
-    Head = tagHead()
-    ClearType = 0    #(BYTE ClearType)//0-指定格子清除; 1-所有物品清除
-    IndexCount = 0    #(BYTE IndexCount)
-    IndexList = list()    #(vector<BYTE> IndexList)//清除的格子索引, 仅指定格子清除时有效,从0开始代表第一格
-    data = None
-
-    def __init__(self):
-        self.Clear()
-        self.Head.Cmd = 0xA4
-        self.Head.SubCmd = 0x07
-        return
-
-    def ReadData(self, _lpData, _pos=0, _Len=0):
-        self.Clear()
-        _pos = self.Head.ReadData(_lpData, _pos)
-        self.ClearType,_pos = CommFunc.ReadBYTE(_lpData, _pos)
-        self.IndexCount,_pos = CommFunc.ReadBYTE(_lpData, _pos)
-        for i in range(self.IndexCount):
-            value,_pos=CommFunc.ReadBYTE(_lpData,_pos)
-            self.IndexList.append(value)
-        return _pos
-
-    def Clear(self):
-        self.Head = tagHead()
-        self.Head.Clear()
-        self.Head.Cmd = 0xA4
-        self.Head.SubCmd = 0x07
-        self.ClearType = 0
-        self.IndexCount = 0
-        self.IndexList = list()
-        return
-
-    def GetLength(self):
-        length = 0
-        length += self.Head.GetLength()
-        length += 1
-        length += 1
-        length += 1 * self.IndexCount
-
-        return length
-
-    def GetBuffer(self):
-        data = ''
-        data = CommFunc.WriteString(data, self.Head.GetLength(), self.Head.GetBuffer())
-        data = CommFunc.WriteBYTE(data, self.ClearType)
-        data = CommFunc.WriteBYTE(data, self.IndexCount)
-        for i in range(self.IndexCount):
-            data = CommFunc.WriteBYTE(data, self.IndexList[i])
-        return data
-
-    def OutputString(self):
-        DumpString = '''
-                                Head:%s,
-                                ClearType:%d,
-                                IndexCount:%d,
-                                IndexList:%s
-                                '''\
-                                %(
-                                self.Head.OutputString(),
-                                self.ClearType,
-                                self.IndexCount,
-                                "..."
-                                )
-        return DumpString
-
-
-m_NAtagGCFamilyStoreItemClear=tagGCFamilyStoreItemClear()
-ChNetPackDict[eval("0x%02x%02x"%(m_NAtagGCFamilyStoreItemClear.Head.Cmd,m_NAtagGCFamilyStoreItemClear.Head.SubCmd))] = m_NAtagGCFamilyStoreItemClear
-
-
-#------------------------------------------------------
 # A4 09 家族守卫人皇信息通知 #tagGCFamilySWRHInfo
 
 class  tagGCFamilySWRHInfo(Structure):
@@ -12798,125 +12596,6 @@
 
 m_NAtagMCFamilyZhenbaogeInfo=tagMCFamilyZhenbaogeInfo()
 ChNetPackDict[eval("0x%02x%02x"%(m_NAtagMCFamilyZhenbaogeInfo.Cmd,m_NAtagMCFamilyZhenbaogeInfo.SubCmd))] = m_NAtagMCFamilyZhenbaogeInfo
-
-
-#------------------------------------------------------
-# A5 09 仙盟阵法信息 #tagMCFamilyZhenfaInfo
-
-class  tagMCFamilyZhenfa(Structure):
-    _pack_ = 1
-    _fields_ = [
-                  ("ZhenfaType", c_ubyte),    # 阵法类型
-                  ("ZhenfaLV", c_ushort),    # 阵法等级
-                  ("ZhenfaExp", c_int),    # 阵法经验
-                  ]
-
-    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.ZhenfaType = 0
-        self.ZhenfaLV = 0
-        self.ZhenfaExp = 0
-        return
-
-    def GetLength(self):
-        return sizeof(tagMCFamilyZhenfa)
-
-    def GetBuffer(self):
-        return string_at(addressof(self), self.GetLength())
-
-    def OutputString(self):
-        DumpString = '''// A5 09 仙盟阵法信息 //tagMCFamilyZhenfaInfo:
-                                ZhenfaType:%d,
-                                ZhenfaLV:%d,
-                                ZhenfaExp:%d
-                                '''\
-                                %(
-                                self.ZhenfaType,
-                                self.ZhenfaLV,
-                                self.ZhenfaExp
-                                )
-        return DumpString
-
-
-class  tagMCFamilyZhenfaInfo(Structure):
-    Head = tagHead()
-    PlayerID = 0    #(DWORD PlayerID)// 当前培养阵法的玩家ID,如果有做自动捐献,需等收到的玩家ID为自己的时候才发送下一个捐献包
-    Count = 0    #(BYTE Count)
-    ZhenfaInfoList = list()    #(vector<tagMCFamilyZhenfa> ZhenfaInfoList)
-    data = None
-
-    def __init__(self):
-        self.Clear()
-        self.Head.Cmd = 0xA5
-        self.Head.SubCmd = 0x09
-        return
-
-    def ReadData(self, _lpData, _pos=0, _Len=0):
-        self.Clear()
-        _pos = self.Head.ReadData(_lpData, _pos)
-        self.PlayerID,_pos = CommFunc.ReadDWORD(_lpData, _pos)
-        self.Count,_pos = CommFunc.ReadBYTE(_lpData, _pos)
-        for i in range(self.Count):
-            temZhenfaInfoList = tagMCFamilyZhenfa()
-            _pos = temZhenfaInfoList.ReadData(_lpData, _pos)
-            self.ZhenfaInfoList.append(temZhenfaInfoList)
-        return _pos
-
-    def Clear(self):
-        self.Head = tagHead()
-        self.Head.Clear()
-        self.Head.Cmd = 0xA5
-        self.Head.SubCmd = 0x09
-        self.PlayerID = 0
-        self.Count = 0
-        self.ZhenfaInfoList = list()
-        return
-
-    def GetLength(self):
-        length = 0
-        length += self.Head.GetLength()
-        length += 4
-        length += 1
-        for i in range(self.Count):
-            length += self.ZhenfaInfoList[i].GetLength()
-
-        return length
-
-    def GetBuffer(self):
-        data = ''
-        data = CommFunc.WriteString(data, self.Head.GetLength(), self.Head.GetBuffer())
-        data = CommFunc.WriteDWORD(data, self.PlayerID)
-        data = CommFunc.WriteBYTE(data, self.Count)
-        for i in range(self.Count):
-            data = CommFunc.WriteString(data, self.ZhenfaInfoList[i].GetLength(), self.ZhenfaInfoList[i].GetBuffer())
-        return data
-
-    def OutputString(self):
-        DumpString = '''
-                                Head:%s,
-                                PlayerID:%d,
-                                Count:%d,
-                                ZhenfaInfoList:%s
-                                '''\
-                                %(
-                                self.Head.OutputString(),
-                                self.PlayerID,
-                                self.Count,
-                                "..."
-                                )
-        return DumpString
-
-
-m_NAtagMCFamilyZhenfaInfo=tagMCFamilyZhenfaInfo()
-ChNetPackDict[eval("0x%02x%02x"%(m_NAtagMCFamilyZhenfaInfo.Head.Cmd,m_NAtagMCFamilyZhenfaInfo.Head.SubCmd))] = m_NAtagMCFamilyZhenfaInfo
 
 
 #------------------------------------------------------
@@ -16001,281 +15680,6 @@
 
 
 #------------------------------------------------------
-# A8 11 商店购买结果 #tagMCShoppingResult
-
-class  tagMCShoppingResult(Structure):
-    _pack_ = 1
-    _fields_ = [
-                  ("Cmd", c_ubyte),
-                  ("SubCmd", c_ubyte),
-                  ("ItemIndex", c_int),    
-                  ("ItemCnt", c_int),    #购买数量
-                  ]
-
-    def __init__(self):
-        self.Clear()
-        self.Cmd = 0xA8
-        self.SubCmd = 0x11
-        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 = 0xA8
-        self.SubCmd = 0x11
-        self.ItemIndex = 0
-        self.ItemCnt = 0
-        return
-
-    def GetLength(self):
-        return sizeof(tagMCShoppingResult)
-
-    def GetBuffer(self):
-        return string_at(addressof(self), self.GetLength())
-
-    def OutputString(self):
-        DumpString = '''// A8 11 商店购买结果 //tagMCShoppingResult:
-                                Cmd:%s,
-                                SubCmd:%s,
-                                ItemIndex:%d,
-                                ItemCnt:%d
-                                '''\
-                                %(
-                                self.Cmd,
-                                self.SubCmd,
-                                self.ItemIndex,
-                                self.ItemCnt
-                                )
-        return DumpString
-
-
-m_NAtagMCShoppingResult=tagMCShoppingResult()
-ChNetPackDict[eval("0x%02x%02x"%(m_NAtagMCShoppingResult.Cmd,m_NAtagMCShoppingResult.SubCmd))] = m_NAtagMCShoppingResult
-
-
-#------------------------------------------------------
-# A8 16 神秘商店商品信息 #tagMCMysticalShopInfo
-
-class  tagMCMysticalShopGoods(Structure):
-    _pack_ = 1
-    _fields_ = [
-                  ("GoodsID", c_int),    # 商品ID
-                  ]
-
-    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.GoodsID = 0
-        return
-
-    def GetLength(self):
-        return sizeof(tagMCMysticalShopGoods)
-
-    def GetBuffer(self):
-        return string_at(addressof(self), self.GetLength())
-
-    def OutputString(self):
-        DumpString = '''// A8 16 神秘商店商品信息 //tagMCMysticalShopInfo:
-                                GoodsID:%d
-                                '''\
-                                %(
-                                self.GoodsID
-                                )
-        return DumpString
-
-
-class  tagMCMysticalShopInfo(Structure):
-    Head = tagHead()
-    RefreshCnt = 0    #(WORD RefreshCnt)// 刷新次数
-    Count = 0    #(BYTE Count)// 商品数
-    GoodsList = list()    #(vector<tagMCMysticalShopGoods> GoodsList)// 商品信息
-    data = None
-
-    def __init__(self):
-        self.Clear()
-        self.Head.Cmd = 0xA8
-        self.Head.SubCmd = 0x16
-        return
-
-    def ReadData(self, _lpData, _pos=0, _Len=0):
-        self.Clear()
-        _pos = self.Head.ReadData(_lpData, _pos)
-        self.RefreshCnt,_pos = CommFunc.ReadWORD(_lpData, _pos)
-        self.Count,_pos = CommFunc.ReadBYTE(_lpData, _pos)
-        for i in range(self.Count):
-            temGoodsList = tagMCMysticalShopGoods()
-            _pos = temGoodsList.ReadData(_lpData, _pos)
-            self.GoodsList.append(temGoodsList)
-        return _pos
-
-    def Clear(self):
-        self.Head = tagHead()
-        self.Head.Clear()
-        self.Head.Cmd = 0xA8
-        self.Head.SubCmd = 0x16
-        self.RefreshCnt = 0
-        self.Count = 0
-        self.GoodsList = list()
-        return
-
-    def GetLength(self):
-        length = 0
-        length += self.Head.GetLength()
-        length += 2
-        length += 1
-        for i in range(self.Count):
-            length += self.GoodsList[i].GetLength()
-
-        return length
-
-    def GetBuffer(self):
-        data = ''
-        data = CommFunc.WriteString(data, self.Head.GetLength(), self.Head.GetBuffer())
-        data = CommFunc.WriteWORD(data, self.RefreshCnt)
-        data = CommFunc.WriteBYTE(data, self.Count)
-        for i in range(self.Count):
-            data = CommFunc.WriteString(data, self.GoodsList[i].GetLength(), self.GoodsList[i].GetBuffer())
-        return data
-
-    def OutputString(self):
-        DumpString = '''
-                                Head:%s,
-                                RefreshCnt:%d,
-                                Count:%d,
-                                GoodsList:%s
-                                '''\
-                                %(
-                                self.Head.OutputString(),
-                                self.RefreshCnt,
-                                self.Count,
-                                "..."
-                                )
-        return DumpString
-
-
-m_NAtagMCMysticalShopInfo=tagMCMysticalShopInfo()
-ChNetPackDict[eval("0x%02x%02x"%(m_NAtagMCMysticalShopInfo.Head.Cmd,m_NAtagMCMysticalShopInfo.Head.SubCmd))] = m_NAtagMCMysticalShopInfo
-
-
-#------------------------------------------------------
-# A8 06 通知神秘限购商品时间 #tagMCMysticalShopTimeInfo
-
-class  tagMCMysticalShopTime(Structure):
-    _pack_ = 1
-    _fields_ = [
-                  ("GoodsID", c_int),    # 商品ID
-                  ("StartTime", c_int),    # 开卖时间
-                  ]
-
-    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.GoodsID = 0
-        self.StartTime = 0
-        return
-
-    def GetLength(self):
-        return sizeof(tagMCMysticalShopTime)
-
-    def GetBuffer(self):
-        return string_at(addressof(self), self.GetLength())
-
-    def OutputString(self):
-        DumpString = '''// A8 06 通知神秘限购商品时间 //tagMCMysticalShopTimeInfo:
-                                GoodsID:%d,
-                                StartTime:%d
-                                '''\
-                                %(
-                                self.GoodsID,
-                                self.StartTime
-                                )
-        return DumpString
-
-
-class  tagMCMysticalShopTimeInfo(Structure):
-    Head = tagHead()
-    Count = 0    #(WORD Count)// 商品数
-    ShopTimeList = list()    #(vector<tagMCMysticalShopTime> ShopTimeList)// 商品开卖信息
-    data = None
-
-    def __init__(self):
-        self.Clear()
-        self.Head.Cmd = 0xA8
-        self.Head.SubCmd = 0x06
-        return
-
-    def ReadData(self, _lpData, _pos=0, _Len=0):
-        self.Clear()
-        _pos = self.Head.ReadData(_lpData, _pos)
-        self.Count,_pos = CommFunc.ReadWORD(_lpData, _pos)
-        for i in range(self.Count):
-            temShopTimeList = tagMCMysticalShopTime()
-            _pos = temShopTimeList.ReadData(_lpData, _pos)
-            self.ShopTimeList.append(temShopTimeList)
-        return _pos
-
-    def Clear(self):
-        self.Head = tagHead()
-        self.Head.Clear()
-        self.Head.Cmd = 0xA8
-        self.Head.SubCmd = 0x06
-        self.Count = 0
-        self.ShopTimeList = list()
-        return
-
-    def GetLength(self):
-        length = 0
-        length += self.Head.GetLength()
-        length += 2
-        for i in range(self.Count):
-            length += self.ShopTimeList[i].GetLength()
-
-        return length
-
-    def GetBuffer(self):
-        data = ''
-        data = CommFunc.WriteString(data, self.Head.GetLength(), self.Head.GetBuffer())
-        data = CommFunc.WriteWORD(data, self.Count)
-        for i in range(self.Count):
-            data = CommFunc.WriteString(data, self.ShopTimeList[i].GetLength(), self.ShopTimeList[i].GetBuffer())
-        return data
-
-    def OutputString(self):
-        DumpString = '''
-                                Head:%s,
-                                Count:%d,
-                                ShopTimeList:%s
-                                '''\
-                                %(
-                                self.Head.OutputString(),
-                                self.Count,
-                                "..."
-                                )
-        return DumpString
-
-
-m_NAtagMCMysticalShopTimeInfo=tagMCMysticalShopTimeInfo()
-ChNetPackDict[eval("0x%02x%02x"%(m_NAtagMCMysticalShopTimeInfo.Head.Cmd,m_NAtagMCMysticalShopTimeInfo.Head.SubCmd))] = m_NAtagMCMysticalShopTimeInfo
-
-
-#------------------------------------------------------
 # A8 10 通知获得物品 #tagMCNotifyUseItemGetItem
 
 class  tagMCNotifyUseItemGetItem(Structure):
@@ -16445,14 +15849,13 @@
 
 
 #------------------------------------------------------
-# A8 02 通知NPC商店物品今日已购买次数 #tagMCShopItemDayBuyCntInfo
+# A8 02 商店物品已购买次数 #tagSCShopItemBuyCntInfo
 
-class  tagMCShopItemDayBuyCnt(Structure):
+class  tagSCShopItemBuyCnt(Structure):
     _pack_ = 1
     _fields_ = [
-                  ("ItemIndex", c_int),    
-                  ("BuyCnt", c_int),    # 今日已购买次数
-                  ("IsReset", c_ubyte),    #是否重置
+                  ("ShopID", c_int),    # 商品ID
+                  ("BuyCnt", c_int),    # 已购买次数
                   ]
 
     def __init__(self):
@@ -16465,35 +15868,32 @@
         return _pos + self.GetLength()
 
     def Clear(self):
-        self.ItemIndex = 0
+        self.ShopID = 0
         self.BuyCnt = 0
-        self.IsReset = 0
         return
 
     def GetLength(self):
-        return sizeof(tagMCShopItemDayBuyCnt)
+        return sizeof(tagSCShopItemBuyCnt)
 
     def GetBuffer(self):
         return string_at(addressof(self), self.GetLength())
 
     def OutputString(self):
-        DumpString = '''// A8 02 通知NPC商店物品今日已购买次数 //tagMCShopItemDayBuyCntInfo:
-                                ItemIndex:%d,
-                                BuyCnt:%d,
-                                IsReset:%d
+        DumpString = '''// A8 02 商店物品已购买次数 //tagSCShopItemBuyCntInfo:
+                                ShopID:%d,
+                                BuyCnt:%d
                                 '''\
                                 %(
-                                self.ItemIndex,
-                                self.BuyCnt,
-                                self.IsReset
+                                self.ShopID,
+                                self.BuyCnt
                                 )
         return DumpString
 
 
-class  tagMCShopItemDayBuyCntInfo(Structure):
+class  tagSCShopItemBuyCntInfo(Structure):
     Head = tagHead()
-    Count = 0    #(WORD Count)//通知个数,注意不限制每日购买次数的默认不通知
-    DayBuyCntList = list()    #(vector<tagMCShopItemDayBuyCnt> DayBuyCntList)
+    Count = 0    #(WORD Count)
+    BuyCntList = list()    #(vector<tagSCShopItemBuyCnt> BuyCntList)//仅通知有限购次数的商品
     data = None
 
     def __init__(self):
@@ -16507,9 +15907,9 @@
         _pos = self.Head.ReadData(_lpData, _pos)
         self.Count,_pos = CommFunc.ReadWORD(_lpData, _pos)
         for i in range(self.Count):
-            temDayBuyCntList = tagMCShopItemDayBuyCnt()
-            _pos = temDayBuyCntList.ReadData(_lpData, _pos)
-            self.DayBuyCntList.append(temDayBuyCntList)
+            temBuyCntList = tagSCShopItemBuyCnt()
+            _pos = temBuyCntList.ReadData(_lpData, _pos)
+            self.BuyCntList.append(temBuyCntList)
         return _pos
 
     def Clear(self):
@@ -16518,7 +15918,7 @@
         self.Head.Cmd = 0xA8
         self.Head.SubCmd = 0x02
         self.Count = 0
-        self.DayBuyCntList = list()
+        self.BuyCntList = list()
         return
 
     def GetLength(self):
@@ -16526,7 +15926,7 @@
         length += self.Head.GetLength()
         length += 2
         for i in range(self.Count):
-            length += self.DayBuyCntList[i].GetLength()
+            length += self.BuyCntList[i].GetLength()
 
         return length
 
@@ -16535,14 +15935,14 @@
         data = CommFunc.WriteString(data, self.Head.GetLength(), self.Head.GetBuffer())
         data = CommFunc.WriteWORD(data, self.Count)
         for i in range(self.Count):
-            data = CommFunc.WriteString(data, self.DayBuyCntList[i].GetLength(), self.DayBuyCntList[i].GetBuffer())
+            data = CommFunc.WriteString(data, self.BuyCntList[i].GetLength(), self.BuyCntList[i].GetBuffer())
         return data
 
     def OutputString(self):
         DumpString = '''
                                 Head:%s,
                                 Count:%d,
-                                DayBuyCntList:%s
+                                BuyCntList:%s
                                 '''\
                                 %(
                                 self.Head.OutputString(),
@@ -16552,8 +15952,89 @@
         return DumpString
 
 
-m_NAtagMCShopItemDayBuyCntInfo=tagMCShopItemDayBuyCntInfo()
-ChNetPackDict[eval("0x%02x%02x"%(m_NAtagMCShopItemDayBuyCntInfo.Head.Cmd,m_NAtagMCShopItemDayBuyCntInfo.Head.SubCmd))] = m_NAtagMCShopItemDayBuyCntInfo
+m_NAtagSCShopItemBuyCntInfo=tagSCShopItemBuyCntInfo()
+ChNetPackDict[eval("0x%02x%02x"%(m_NAtagSCShopItemBuyCntInfo.Head.Cmd,m_NAtagSCShopItemBuyCntInfo.Head.SubCmd))] = m_NAtagSCShopItemBuyCntInfo
+
+
+#------------------------------------------------------
+# A8 03 商店刷新解锁的商品信息 #tagSCShopRefreshItemInfo
+
+class  tagSCShopRefreshItemInfo(Structure):
+    Head = tagHead()
+    ShopType = 0    #(WORD ShopType)// 商店类型
+    RefreshCnt = 0    #(BYTE RefreshCnt)// 今日已刷新次数
+    Count = 0    #(BYTE Count)
+    ShopIDList = list()    #(vector<DWORD> ShopIDList)// 对应刷新出来的商店表商品ID列表
+    data = None
+
+    def __init__(self):
+        self.Clear()
+        self.Head.Cmd = 0xA8
+        self.Head.SubCmd = 0x03
+        return
+
+    def ReadData(self, _lpData, _pos=0, _Len=0):
+        self.Clear()
+        _pos = self.Head.ReadData(_lpData, _pos)
+        self.ShopType,_pos = CommFunc.ReadWORD(_lpData, _pos)
+        self.RefreshCnt,_pos = CommFunc.ReadBYTE(_lpData, _pos)
+        self.Count,_pos = CommFunc.ReadBYTE(_lpData, _pos)
+        for i in range(self.Count):
+            value,_pos=CommFunc.ReadDWORD(_lpData,_pos)
+            self.ShopIDList.append(value)
+        return _pos
+
+    def Clear(self):
+        self.Head = tagHead()
+        self.Head.Clear()
+        self.Head.Cmd = 0xA8
+        self.Head.SubCmd = 0x03
+        self.ShopType = 0
+        self.RefreshCnt = 0
+        self.Count = 0
+        self.ShopIDList = list()
+        return
+
+    def GetLength(self):
+        length = 0
+        length += self.Head.GetLength()
+        length += 2
+        length += 1
+        length += 1
+        length += 4 * self.Count
+
+        return length
+
+    def GetBuffer(self):
+        data = ''
+        data = CommFunc.WriteString(data, self.Head.GetLength(), self.Head.GetBuffer())
+        data = CommFunc.WriteWORD(data, self.ShopType)
+        data = CommFunc.WriteBYTE(data, self.RefreshCnt)
+        data = CommFunc.WriteBYTE(data, self.Count)
+        for i in range(self.Count):
+            data = CommFunc.WriteDWORD(data, self.ShopIDList[i])
+        return data
+
+    def OutputString(self):
+        DumpString = '''
+                                Head:%s,
+                                ShopType:%d,
+                                RefreshCnt:%d,
+                                Count:%d,
+                                ShopIDList:%s
+                                '''\
+                                %(
+                                self.Head.OutputString(),
+                                self.ShopType,
+                                self.RefreshCnt,
+                                self.Count,
+                                "..."
+                                )
+        return DumpString
+
+
+m_NAtagSCShopRefreshItemInfo=tagSCShopRefreshItemInfo()
+ChNetPackDict[eval("0x%02x%02x"%(m_NAtagSCShopRefreshItemInfo.Head.Cmd,m_NAtagSCShopRefreshItemInfo.Head.SubCmd))] = m_NAtagSCShopRefreshItemInfo
 
 
 #------------------------------------------------------
@@ -17969,80 +17450,6 @@
 
 m_NAtagGCNotifyEquipDetailInfo=tagGCNotifyEquipDetailInfo()
 ChNetPackDict[eval("0x%02x%02x"%(m_NAtagGCNotifyEquipDetailInfo.Head.Cmd,m_NAtagGCNotifyEquipDetailInfo.Head.SubCmd))] = m_NAtagGCNotifyEquipDetailInfo
-
-
-#------------------------------------------------------
-#A9 03 开服活动奖励数量刷新#tagGCOpenServerCampaignAwardCount
-
-class  tagGCOpenServerCampaignAwardCount(Structure):
-    Head = tagHead()
-    CampaignType = 0    #(BYTE CampaignType)//奖励类型
-    AwardTypeCount = 0    #(BYTE AwardTypeCount)//奖品种类数量
-    GotCountList = list()    #(vector<DWORD> GotCountList)//奖品已领取数量列表,根据种类索引依次
-    data = None
-
-    def __init__(self):
-        self.Clear()
-        self.Head.Cmd = 0xA9
-        self.Head.SubCmd = 0x03
-        return
-
-    def ReadData(self, _lpData, _pos=0, _Len=0):
-        self.Clear()
-        _pos = self.Head.ReadData(_lpData, _pos)
-        self.CampaignType,_pos = CommFunc.ReadBYTE(_lpData, _pos)
-        self.AwardTypeCount,_pos = CommFunc.ReadBYTE(_lpData, _pos)
-        for i in range(self.AwardTypeCount):
-            value,_pos=CommFunc.ReadDWORD(_lpData,_pos)
-            self.GotCountList.append(value)
-        return _pos
-
-    def Clear(self):
-        self.Head = tagHead()
-        self.Head.Clear()
-        self.Head.Cmd = 0xA9
-        self.Head.SubCmd = 0x03
-        self.CampaignType = 0
-        self.AwardTypeCount = 0
-        self.GotCountList = list()
-        return
-
-    def GetLength(self):
-        length = 0
-        length += self.Head.GetLength()
-        length += 1
-        length += 1
-        length += 4 * self.AwardTypeCount
-
-        return length
-
-    def GetBuffer(self):
-        data = ''
-        data = CommFunc.WriteString(data, self.Head.GetLength(), self.Head.GetBuffer())
-        data = CommFunc.WriteBYTE(data, self.CampaignType)
-        data = CommFunc.WriteBYTE(data, self.AwardTypeCount)
-        for i in range(self.AwardTypeCount):
-            data = CommFunc.WriteDWORD(data, self.GotCountList[i])
-        return data
-
-    def OutputString(self):
-        DumpString = '''
-                                Head:%s,
-                                CampaignType:%d,
-                                AwardTypeCount:%d,
-                                GotCountList:%s
-                                '''\
-                                %(
-                                self.Head.OutputString(),
-                                self.CampaignType,
-                                self.AwardTypeCount,
-                                "..."
-                                )
-        return DumpString
-
-
-m_NAtagGCOpenServerCampaignAwardCount=tagGCOpenServerCampaignAwardCount()
-ChNetPackDict[eval("0x%02x%02x"%(m_NAtagGCOpenServerCampaignAwardCount.Head.Cmd,m_NAtagGCOpenServerCampaignAwardCount.Head.SubCmd))] = m_NAtagGCOpenServerCampaignAwardCount
 
 
 #------------------------------------------------------
@@ -31883,126 +31290,6 @@
 
 m_NAtagMCBossRebornInfo=tagMCBossRebornInfo()
 ChNetPackDict[eval("0x%02x%02x"%(m_NAtagMCBossRebornInfo.Head.Cmd,m_NAtagMCBossRebornInfo.Head.SubCmd))] = m_NAtagMCBossRebornInfo
-
-
-#------------------------------------------------------
-# AB 17 开服活动奖励状态 #tagMCOpenServerCampaignAwardList
-
-class  tagMCOpenServerCampaignAward(Structure):
-    _pack_ = 1
-    _fields_ = [
-                  ("CampaignType", c_ubyte),    #奖励类型
-                  ("BillAwardRecord", c_ubyte),    #排行奖励是否已领取
-                  ("TagAwardRecord", c_int),    #目标奖励索引位领取记录:0-未领;1-已领
-                  ("RecordData", c_int),    #活动时的记录值,求余亿部分,为了统一逻辑,其他非战力榜的也使用此规则
-                  ("RecordDataEx", c_int),    #活动时的记录值,整除亿部分,1代表1亿
-                  ]
-
-    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.CampaignType = 0
-        self.BillAwardRecord = 0
-        self.TagAwardRecord = 0
-        self.RecordData = 0
-        self.RecordDataEx = 0
-        return
-
-    def GetLength(self):
-        return sizeof(tagMCOpenServerCampaignAward)
-
-    def GetBuffer(self):
-        return string_at(addressof(self), self.GetLength())
-
-    def OutputString(self):
-        DumpString = '''// AB 17 开服活动奖励状态 //tagMCOpenServerCampaignAwardList:
-                                CampaignType:%d,
-                                BillAwardRecord:%d,
-                                TagAwardRecord:%d,
-                                RecordData:%d,
-                                RecordDataEx:%d
-                                '''\
-                                %(
-                                self.CampaignType,
-                                self.BillAwardRecord,
-                                self.TagAwardRecord,
-                                self.RecordData,
-                                self.RecordDataEx
-                                )
-        return DumpString
-
-
-class  tagMCOpenServerCampaignAwardList(Structure):
-    Head = tagHead()
-    OSCAwardCnt = 0    #(BYTE OSCAwardCnt)//奖励类型数
-    OSCAwardList = list()    #(vector<tagMCOpenServerCampaignAward> OSCAwardList)// 奖励状态列表
-    data = None
-
-    def __init__(self):
-        self.Clear()
-        self.Head.Cmd = 0xAB
-        self.Head.SubCmd = 0x17
-        return
-
-    def ReadData(self, _lpData, _pos=0, _Len=0):
-        self.Clear()
-        _pos = self.Head.ReadData(_lpData, _pos)
-        self.OSCAwardCnt,_pos = CommFunc.ReadBYTE(_lpData, _pos)
-        for i in range(self.OSCAwardCnt):
-            temOSCAwardList = tagMCOpenServerCampaignAward()
-            _pos = temOSCAwardList.ReadData(_lpData, _pos)
-            self.OSCAwardList.append(temOSCAwardList)
-        return _pos
-
-    def Clear(self):
-        self.Head = tagHead()
-        self.Head.Clear()
-        self.Head.Cmd = 0xAB
-        self.Head.SubCmd = 0x17
-        self.OSCAwardCnt = 0
-        self.OSCAwardList = list()
-        return
-
-    def GetLength(self):
-        length = 0
-        length += self.Head.GetLength()
-        length += 1
-        for i in range(self.OSCAwardCnt):
-            length += self.OSCAwardList[i].GetLength()
-
-        return length
-
-    def GetBuffer(self):
-        data = ''
-        data = CommFunc.WriteString(data, self.Head.GetLength(), self.Head.GetBuffer())
-        data = CommFunc.WriteBYTE(data, self.OSCAwardCnt)
-        for i in range(self.OSCAwardCnt):
-            data = CommFunc.WriteString(data, self.OSCAwardList[i].GetLength(), self.OSCAwardList[i].GetBuffer())
-        return data
-
-    def OutputString(self):
-        DumpString = '''
-                                Head:%s,
-                                OSCAwardCnt:%d,
-                                OSCAwardList:%s
-                                '''\
-                                %(
-                                self.Head.OutputString(),
-                                self.OSCAwardCnt,
-                                "..."
-                                )
-        return DumpString
-
-
-m_NAtagMCOpenServerCampaignAwardList=tagMCOpenServerCampaignAwardList()
-ChNetPackDict[eval("0x%02x%02x"%(m_NAtagMCOpenServerCampaignAwardList.Head.Cmd,m_NAtagMCOpenServerCampaignAwardList.Head.SubCmd))] = m_NAtagMCOpenServerCampaignAwardList
 
 
 #------------------------------------------------------

--
Gitblit v1.8.0