From 26958aff1b844a743a805b4f9075bee800b72a46 Mon Sep 17 00:00:00 2001
From: hxp <ale99527@vip.qq.com>
Date: 星期二, 04 十一月 2025 14:35:37 +0800
Subject: [PATCH] 332 【主界面】座骑系统-服务端

---
 ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/ChPyNetSendPack.py |  665 +++++--------------------------------------------------
 1 files changed, 64 insertions(+), 601 deletions(-)

diff --git a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/ChPyNetSendPack.py b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/ChPyNetSendPack.py
index be577ed..2b16e24 100644
--- a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/ChPyNetSendPack.py
+++ b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/ChPyNetSendPack.py
@@ -5117,129 +5117,6 @@
 
 
 #------------------------------------------------------
-#A3 04 玩家扫荡信息 #tagMCFBWipeOutData
-
-class  tagMCFBData(Structure):
-    _pack_ = 1
-    _fields_ = [
-                  ("FBID", c_int),    #fbId
-                  ("LineIndex", c_ubyte),    #副本通关场次
-                  ("WipeOutCnt", c_ubyte),    #扫荡次数
-                  ("passGrade", 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.FBID = 0
-        self.LineIndex = 0
-        self.WipeOutCnt = 0
-        self.passGrade = 0
-        return
-
-    def GetLength(self):
-        return sizeof(tagMCFBData)
-
-    def GetBuffer(self):
-        return string_at(addressof(self), self.GetLength())
-
-    def OutputString(self):
-        DumpString = '''//A3 04 玩家扫荡信息 //tagMCFBWipeOutData:
-                                FBID:%d,
-                                LineIndex:%d,
-                                WipeOutCnt:%d,
-                                passGrade:%d
-                                '''\
-                                %(
-                                self.FBID,
-                                self.LineIndex,
-                                self.WipeOutCnt,
-                                self.passGrade
-                                )
-        return DumpString
-
-
-class  tagMCFBWipeOutData(Structure):
-    Head = tagHead()
-    WipeOutFBID = 0    #(DWORD WipeOutFBID)//当前扫荡的副本id
-    FBDataCnt = 0    #(BYTE FBDataCnt)//
-    FBDataList = list()    #(vector<tagMCFBData> FBDataList)//
-    data = None
-
-    def __init__(self):
-        self.Clear()
-        self.Head.Cmd = 0xA3
-        self.Head.SubCmd = 0x04
-        return
-
-    def ReadData(self, _lpData, _pos=0, _Len=0):
-        self.Clear()
-        _pos = self.Head.ReadData(_lpData, _pos)
-        self.WipeOutFBID,_pos = CommFunc.ReadDWORD(_lpData, _pos)
-        self.FBDataCnt,_pos = CommFunc.ReadBYTE(_lpData, _pos)
-        for i in range(self.FBDataCnt):
-            temFBDataList = tagMCFBData()
-            _pos = temFBDataList.ReadData(_lpData, _pos)
-            self.FBDataList.append(temFBDataList)
-        return _pos
-
-    def Clear(self):
-        self.Head = tagHead()
-        self.Head.Clear()
-        self.Head.Cmd = 0xA3
-        self.Head.SubCmd = 0x04
-        self.WipeOutFBID = 0
-        self.FBDataCnt = 0
-        self.FBDataList = list()
-        return
-
-    def GetLength(self):
-        length = 0
-        length += self.Head.GetLength()
-        length += 4
-        length += 1
-        for i in range(self.FBDataCnt):
-            length += self.FBDataList[i].GetLength()
-
-        return length
-
-    def GetBuffer(self):
-        data = ''
-        data = CommFunc.WriteString(data, self.Head.GetLength(), self.Head.GetBuffer())
-        data = CommFunc.WriteDWORD(data, self.WipeOutFBID)
-        data = CommFunc.WriteBYTE(data, self.FBDataCnt)
-        for i in range(self.FBDataCnt):
-            data = CommFunc.WriteString(data, self.FBDataList[i].GetLength(), self.FBDataList[i].GetBuffer())
-        return data
-
-    def OutputString(self):
-        DumpString = '''
-                                Head:%s,
-                                WipeOutFBID:%d,
-                                FBDataCnt:%d,
-                                FBDataList:%s
-                                '''\
-                                %(
-                                self.Head.OutputString(),
-                                self.WipeOutFBID,
-                                self.FBDataCnt,
-                                "..."
-                                )
-        return DumpString
-
-
-m_NAtagMCFBWipeOutData=tagMCFBWipeOutData()
-ChNetPackDict[eval("0x%02x%02x"%(m_NAtagMCFBWipeOutData.Head.Cmd,m_NAtagMCFBWipeOutData.Head.SubCmd))] = m_NAtagMCFBWipeOutData
-
-
-#------------------------------------------------------
 # A3 18 极品白拿信息 #tagMCFreeGoodsInfo
 
 class  tagMCFreeGoods(Structure):
@@ -5824,20 +5701,22 @@
 
 
 #------------------------------------------------------
-# A3 12 通知骑宠觉醒信息 #tagMCHorsePetSkinData
+# A3 03 坐骑阶级信息 #tagSCHorseClassInfo
 
-class  tagMCHorsePetSkinInfo(Structure):
+class  tagSCHorseClassInfo(Structure):
     _pack_ = 1
     _fields_ = [
-                  ("Type", c_ubyte),    # 1-坐骑 2-灵宠
-                  ("ID", c_int),    # 对应坐骑表灵宠表ID
-                  ("Exp", c_int),    #经验
-                  ("SkinLV", c_ubyte),    #觉醒等级
-                  ("SkinIndex", c_ubyte),    #当前选择外观
+                  ("Cmd", c_ubyte),
+                  ("SubCmd", c_ubyte),
+                  ("ClassLV", c_ubyte),    #当前阶级,从0开始
+                  ("HorseLV", c_ushort),    #当前阶等级,从1开始
+                  ("Exp", c_ushort),    #当前阶等级经验,每级从0开始
                   ]
 
     def __init__(self):
         self.Clear()
+        self.Cmd = 0xA3
+        self.SubCmd = 0x03
         return
 
     def ReadData(self, stringData, _pos=0, _len=0):
@@ -5846,111 +5725,51 @@
         return _pos + self.GetLength()
 
     def Clear(self):
-        self.Type = 0
-        self.ID = 0
+        self.Cmd = 0xA3
+        self.SubCmd = 0x03
+        self.ClassLV = 0
+        self.HorseLV = 0
         self.Exp = 0
-        self.SkinLV = 0
-        self.SkinIndex = 0
         return
 
     def GetLength(self):
-        return sizeof(tagMCHorsePetSkinInfo)
+        return sizeof(tagSCHorseClassInfo)
 
     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
+        DumpString = '''// A3 03 坐骑阶级信息 //tagSCHorseClassInfo:
+                                Cmd:%s,
+                                SubCmd:%s,
+                                ClassLV:%d,
+                                HorseLV:%d,
+                                Exp:%d
                                 '''\
                                 %(
-                                self.Type,
-                                self.ID,
-                                self.Exp,
-                                self.SkinLV,
-                                self.SkinIndex
+                                self.Cmd,
+                                self.SubCmd,
+                                self.ClassLV,
+                                self.HorseLV,
+                                self.Exp
                                 )
         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
+m_NAtagSCHorseClassInfo=tagSCHorseClassInfo()
+ChNetPackDict[eval("0x%02x%02x"%(m_NAtagSCHorseClassInfo.Cmd,m_NAtagSCHorseClassInfo.SubCmd))] = m_NAtagSCHorseClassInfo
 
 
 #------------------------------------------------------
-# A3 10 通知坐骑幻化时效信息 #tagMCHorseSkinTimeInfoList
+# A3 04 坐骑外观信息 #tagSCHorseSkinInfo
 
-class  tagMCHorseSkinTimeInfo(Structure):
+class  tagSCHorseSkin(Structure):
     _pack_ = 1
     _fields_ = [
-                  ("ID", c_int),    # 对应坐骑幻化表ID
-                  ("InvalidTime", c_int),    # 失效时间戳
+                  ("HorseSkinID", c_ubyte),    #坐骑外观ID
+                  ("State", c_ubyte),    #是否已激活
+                  ("EndTime", c_int),    #到期时间戳,0为永久
+                  ("Star", c_ubyte),    #星级
                   ]
 
     def __init__(self):
@@ -5963,146 +5782,44 @@
         return _pos + self.GetLength()
 
     def Clear(self):
-        self.ID = 0
-        self.InvalidTime = 0
-        return
-
-    def GetLength(self):
-        return sizeof(tagMCHorseSkinTimeInfo)
-
-    def GetBuffer(self):
-        return string_at(addressof(self), self.GetLength())
-
-    def OutputString(self):
-        DumpString = '''// A3 10 通知坐骑幻化时效信息 //tagMCHorseSkinTimeInfoList:
-                                ID:%d,
-                                InvalidTime:%d
-                                '''\
-                                %(
-                                self.ID,
-                                self.InvalidTime
-                                )
-        return DumpString
-
-
-class  tagMCHorseSkinTimeInfoList(Structure):
-    Head = tagHead()
-    TimeCnt = 0    #(BYTE TimeCnt)//个数
-    TimeInfoList = list()    #(vector<tagMCHorseSkinTimeInfo> TimeInfoList)// 数据列表
-    data = None
-
-    def __init__(self):
-        self.Clear()
-        self.Head.Cmd = 0xA3
-        self.Head.SubCmd = 0x10
-        return
-
-    def ReadData(self, _lpData, _pos=0, _Len=0):
-        self.Clear()
-        _pos = self.Head.ReadData(_lpData, _pos)
-        self.TimeCnt,_pos = CommFunc.ReadBYTE(_lpData, _pos)
-        for i in range(self.TimeCnt):
-            temTimeInfoList = tagMCHorseSkinTimeInfo()
-            _pos = temTimeInfoList.ReadData(_lpData, _pos)
-            self.TimeInfoList.append(temTimeInfoList)
-        return _pos
-
-    def Clear(self):
-        self.Head = tagHead()
-        self.Head.Clear()
-        self.Head.Cmd = 0xA3
-        self.Head.SubCmd = 0x10
-        self.TimeCnt = 0
-        self.TimeInfoList = list()
-        return
-
-    def GetLength(self):
-        length = 0
-        length += self.Head.GetLength()
-        length += 1
-        for i in range(self.TimeCnt):
-            length += self.TimeInfoList[i].GetLength()
-
-        return length
-
-    def GetBuffer(self):
-        data = ''
-        data = CommFunc.WriteString(data, self.Head.GetLength(), self.Head.GetBuffer())
-        data = CommFunc.WriteBYTE(data, self.TimeCnt)
-        for i in range(self.TimeCnt):
-            data = CommFunc.WriteString(data, self.TimeInfoList[i].GetLength(), self.TimeInfoList[i].GetBuffer())
-        return data
-
-    def OutputString(self):
-        DumpString = '''
-                                Head:%s,
-                                TimeCnt:%d,
-                                TimeInfoList:%s
-                                '''\
-                                %(
-                                self.Head.OutputString(),
-                                self.TimeCnt,
-                                "..."
-                                )
-        return DumpString
-
-
-m_NAtagMCHorseSkinTimeInfoList=tagMCHorseSkinTimeInfoList()
-ChNetPackDict[eval("0x%02x%02x"%(m_NAtagMCHorseSkinTimeInfoList.Head.Cmd,m_NAtagMCHorseSkinTimeInfoList.Head.SubCmd))] = m_NAtagMCHorseSkinTimeInfoList
-
-
-#------------------------------------------------------
-# A3 CD 坐骑星级信息 #tagMCHorseStarInfo
-
-class  tagMCHorseStar(Structure):
-    _pack_ = 1
-    _fields_ = [
-                  ("HorseID", c_int),    # 坐骑表ID
-                  ("Star", 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.HorseID = 0
+        self.HorseSkinID = 0
+        self.State = 0
+        self.EndTime = 0
         self.Star = 0
         return
 
     def GetLength(self):
-        return sizeof(tagMCHorseStar)
+        return sizeof(tagSCHorseSkin)
 
     def GetBuffer(self):
         return string_at(addressof(self), self.GetLength())
 
     def OutputString(self):
-        DumpString = '''// A3 CD 坐骑星级信息 //tagMCHorseStarInfo:
-                                HorseID:%d,
+        DumpString = '''// A3 04 坐骑外观信息 //tagSCHorseSkinInfo:
+                                HorseSkinID:%d,
+                                State:%d,
+                                EndTime:%d,
                                 Star:%d
                                 '''\
                                 %(
-                                self.HorseID,
+                                self.HorseSkinID,
+                                self.State,
+                                self.EndTime,
                                 self.Star
                                 )
         return DumpString
 
 
-class  tagMCHorseStarInfo(Structure):
+class  tagSCHorseSkinInfo(Structure):
     Head = tagHead()
     Count = 0    #(BYTE Count)
-    HorseStarList = list()    #(vector<tagMCHorseStar> HorseStarList)
+    HorseSkinList = list()    #(vector<tagSCHorseSkin> HorseSkinList)
     data = None
 
     def __init__(self):
         self.Clear()
         self.Head.Cmd = 0xA3
-        self.Head.SubCmd = 0xCD
+        self.Head.SubCmd = 0x04
         return
 
     def ReadData(self, _lpData, _pos=0, _Len=0):
@@ -6110,18 +5827,18 @@
         _pos = self.Head.ReadData(_lpData, _pos)
         self.Count,_pos = CommFunc.ReadBYTE(_lpData, _pos)
         for i in range(self.Count):
-            temHorseStarList = tagMCHorseStar()
-            _pos = temHorseStarList.ReadData(_lpData, _pos)
-            self.HorseStarList.append(temHorseStarList)
+            temHorseSkinList = tagSCHorseSkin()
+            _pos = temHorseSkinList.ReadData(_lpData, _pos)
+            self.HorseSkinList.append(temHorseSkinList)
         return _pos
 
     def Clear(self):
         self.Head = tagHead()
         self.Head.Clear()
         self.Head.Cmd = 0xA3
-        self.Head.SubCmd = 0xCD
+        self.Head.SubCmd = 0x04
         self.Count = 0
-        self.HorseStarList = list()
+        self.HorseSkinList = list()
         return
 
     def GetLength(self):
@@ -6129,7 +5846,7 @@
         length += self.Head.GetLength()
         length += 1
         for i in range(self.Count):
-            length += self.HorseStarList[i].GetLength()
+            length += self.HorseSkinList[i].GetLength()
 
         return length
 
@@ -6138,14 +5855,14 @@
         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.HorseStarList[i].GetLength(), self.HorseStarList[i].GetBuffer())
+            data = CommFunc.WriteString(data, self.HorseSkinList[i].GetLength(), self.HorseSkinList[i].GetBuffer())
         return data
 
     def OutputString(self):
         DumpString = '''
                                 Head:%s,
                                 Count:%d,
-                                HorseStarList:%s
+                                HorseSkinList:%s
                                 '''\
                                 %(
                                 self.Head.OutputString(),
@@ -6155,8 +5872,8 @@
         return DumpString
 
 
-m_NAtagMCHorseStarInfo=tagMCHorseStarInfo()
-ChNetPackDict[eval("0x%02x%02x"%(m_NAtagMCHorseStarInfo.Head.Cmd,m_NAtagMCHorseStarInfo.Head.SubCmd))] = m_NAtagMCHorseStarInfo
+m_NAtagSCHorseSkinInfo=tagSCHorseSkinInfo()
+ChNetPackDict[eval("0x%02x%02x"%(m_NAtagSCHorseSkinInfo.Head.Cmd,m_NAtagSCHorseSkinInfo.Head.SubCmd))] = m_NAtagSCHorseSkinInfo
 
 
 #------------------------------------------------------
@@ -9241,121 +8958,6 @@
 
 
 #------------------------------------------------------
-#A3 01 坐骑培养信息 #tagTrainHorseData
-
-class  tagTrainHorseData(Structure):
-    Head = tagHead()
-    LV = 0    #(BYTE LV)//等阶
-    EatItemCount = 0    #(DWORD EatItemCount)//当前阶已吃丹个数
-    SkinPlusState = 0    #(DWORD SkinPlusState)//幻化激活状态,按位存储是否激活,幻化编号ID对应位,废弃,使用 SkinPlusStateList
-    TrainTypes = 0    #(BYTE TrainTypes)//培养类型数
-    TrainLVList = list()    #(vector<DWORD> TrainLVList)//培养等阶列表,索引为培养类型减1
-    TrainItemCountList = list()    #(vector<DWORD> TrainItemCountList)//培养当前阶已吃培养丹个数列表,索引为培养类型减1
-    SkinPlusStateCount = 0    #(BYTE SkinPlusStateCount)//幻化激活状态值数
-    SkinPlusStateList = list()    #(vector<DWORD> SkinPlusStateList)//幻化激活状态值列表,按位存储是否激活,幻化编号ID对应位
-    data = None
-
-    def __init__(self):
-        self.Clear()
-        self.Head.Cmd = 0xA3
-        self.Head.SubCmd = 0x01
-        return
-
-    def ReadData(self, _lpData, _pos=0, _Len=0):
-        self.Clear()
-        _pos = self.Head.ReadData(_lpData, _pos)
-        self.LV,_pos = CommFunc.ReadBYTE(_lpData, _pos)
-        self.EatItemCount,_pos = CommFunc.ReadDWORD(_lpData, _pos)
-        self.SkinPlusState,_pos = CommFunc.ReadDWORD(_lpData, _pos)
-        self.TrainTypes,_pos = CommFunc.ReadBYTE(_lpData, _pos)
-        for i in range(self.TrainTypes):
-            value,_pos=CommFunc.ReadDWORD(_lpData,_pos)
-            self.TrainLVList.append(value)
-        for i in range(self.TrainTypes):
-            value,_pos=CommFunc.ReadDWORD(_lpData,_pos)
-            self.TrainItemCountList.append(value)
-        self.SkinPlusStateCount,_pos = CommFunc.ReadBYTE(_lpData, _pos)
-        for i in range(self.SkinPlusStateCount):
-            value,_pos=CommFunc.ReadDWORD(_lpData,_pos)
-            self.SkinPlusStateList.append(value)
-        return _pos
-
-    def Clear(self):
-        self.Head = tagHead()
-        self.Head.Clear()
-        self.Head.Cmd = 0xA3
-        self.Head.SubCmd = 0x01
-        self.LV = 0
-        self.EatItemCount = 0
-        self.SkinPlusState = 0
-        self.TrainTypes = 0
-        self.TrainLVList = list()
-        self.TrainItemCountList = list()
-        self.SkinPlusStateCount = 0
-        self.SkinPlusStateList = list()
-        return
-
-    def GetLength(self):
-        length = 0
-        length += self.Head.GetLength()
-        length += 1
-        length += 4
-        length += 4
-        length += 1
-        length += 4 * self.TrainTypes
-        length += 4 * self.TrainTypes
-        length += 1
-        length += 4 * self.SkinPlusStateCount
-
-        return length
-
-    def GetBuffer(self):
-        data = ''
-        data = CommFunc.WriteString(data, self.Head.GetLength(), self.Head.GetBuffer())
-        data = CommFunc.WriteBYTE(data, self.LV)
-        data = CommFunc.WriteDWORD(data, self.EatItemCount)
-        data = CommFunc.WriteDWORD(data, self.SkinPlusState)
-        data = CommFunc.WriteBYTE(data, self.TrainTypes)
-        for i in range(self.TrainTypes):
-            data = CommFunc.WriteDWORD(data, self.TrainLVList[i])
-        for i in range(self.TrainTypes):
-            data = CommFunc.WriteDWORD(data, self.TrainItemCountList[i])
-        data = CommFunc.WriteBYTE(data, self.SkinPlusStateCount)
-        for i in range(self.SkinPlusStateCount):
-            data = CommFunc.WriteDWORD(data, self.SkinPlusStateList[i])
-        return data
-
-    def OutputString(self):
-        DumpString = '''
-                                Head:%s,
-                                LV:%d,
-                                EatItemCount:%d,
-                                SkinPlusState:%d,
-                                TrainTypes:%d,
-                                TrainLVList:%s,
-                                TrainItemCountList:%s,
-                                SkinPlusStateCount:%d,
-                                SkinPlusStateList:%s
-                                '''\
-                                %(
-                                self.Head.OutputString(),
-                                self.LV,
-                                self.EatItemCount,
-                                self.SkinPlusState,
-                                self.TrainTypes,
-                                "...",
-                                "...",
-                                self.SkinPlusStateCount,
-                                "..."
-                                )
-        return DumpString
-
-
-m_NAtagTrainHorseData=tagTrainHorseData()
-ChNetPackDict[eval("0x%02x%02x"%(m_NAtagTrainHorseData.Head.Cmd,m_NAtagTrainHorseData.Head.SubCmd))] = m_NAtagTrainHorseData
-
-
-#------------------------------------------------------
 # A3 51 寻宝功能信息 #tagMCTreasureInfo
 
 class  tagMCTreasureGridLimit(Structure):
@@ -9638,152 +9240,6 @@
 
 m_NAtagMCTreasureResult=tagMCTreasureResult()
 ChNetPackDict[eval("0x%02x%02x"%(m_NAtagMCTreasureResult.Head.Cmd,m_NAtagMCTreasureResult.Head.SubCmd))] = m_NAtagMCTreasureResult
-
-
-#------------------------------------------------------
-#A3 05 扫荡奖励信息 #tagMCWipeOutPrize
-
-class  tagMCPrizeItemInfo(Structure):
-    _pack_ = 1
-    _fields_ = [
-                  ("Cmd", c_ubyte),
-                  ("SubCmd", c_ubyte),
-                  ("ItemID", c_int),    #物品id
-                  ("ItemCnt", c_ubyte),    #物品数量
-                  ]
-
-    def __init__(self):
-        self.Clear()
-        self.Cmd = 0xA3
-        self.SubCmd = 0x05
-        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 = 0xA3
-        self.SubCmd = 0x05
-        self.ItemID = 0
-        self.ItemCnt = 0
-        return
-
-    def GetLength(self):
-        return sizeof(tagMCPrizeItemInfo)
-
-    def GetBuffer(self):
-        return string_at(addressof(self), self.GetLength())
-
-    def OutputString(self):
-        DumpString = '''//A3 05 扫荡奖励信息 //tagMCWipeOutPrize:
-                                Cmd:%s,
-                                SubCmd:%s,
-                                ItemID:%d,
-                                ItemCnt:%d
-                                '''\
-                                %(
-                                self.Cmd,
-                                self.SubCmd,
-                                self.ItemID,
-                                self.ItemCnt
-                                )
-        return DumpString
-
-
-class  tagMCWipeOutPrize(Structure):
-    Head = tagHead()
-    FBID = 0    #(DWORD FBID)//副本id
-    WipeOutCnt = 0    #(DWORD WipeOutCnt)//扫荡次数
-    GiveExp = 0    #(DWORD GiveExp)//给予经验
-    SilverCnt = 0    #(DWORD SilverCnt)//给予金币
-    PrizeCnt = 0    #(BYTE PrizeCnt)//状态
-    PrizeInfo = list()    #(vector<tagMCPrizeItemInfo> PrizeInfo)//状态
-    data = None
-
-    def __init__(self):
-        self.Clear()
-        self.Head.Cmd = 0xA3
-        self.Head.SubCmd = 0x05
-        return
-
-    def ReadData(self, _lpData, _pos=0, _Len=0):
-        self.Clear()
-        _pos = self.Head.ReadData(_lpData, _pos)
-        self.FBID,_pos = CommFunc.ReadDWORD(_lpData, _pos)
-        self.WipeOutCnt,_pos = CommFunc.ReadDWORD(_lpData, _pos)
-        self.GiveExp,_pos = CommFunc.ReadDWORD(_lpData, _pos)
-        self.SilverCnt,_pos = CommFunc.ReadDWORD(_lpData, _pos)
-        self.PrizeCnt,_pos = CommFunc.ReadBYTE(_lpData, _pos)
-        for i in range(self.PrizeCnt):
-            temPrizeInfo = tagMCPrizeItemInfo()
-            _pos = temPrizeInfo.ReadData(_lpData, _pos)
-            self.PrizeInfo.append(temPrizeInfo)
-        return _pos
-
-    def Clear(self):
-        self.Head = tagHead()
-        self.Head.Clear()
-        self.Head.Cmd = 0xA3
-        self.Head.SubCmd = 0x05
-        self.FBID = 0
-        self.WipeOutCnt = 0
-        self.GiveExp = 0
-        self.SilverCnt = 0
-        self.PrizeCnt = 0
-        self.PrizeInfo = list()
-        return
-
-    def GetLength(self):
-        length = 0
-        length += self.Head.GetLength()
-        length += 4
-        length += 4
-        length += 4
-        length += 4
-        length += 1
-        for i in range(self.PrizeCnt):
-            length += self.PrizeInfo[i].GetLength()
-
-        return length
-
-    def GetBuffer(self):
-        data = ''
-        data = CommFunc.WriteString(data, self.Head.GetLength(), self.Head.GetBuffer())
-        data = CommFunc.WriteDWORD(data, self.FBID)
-        data = CommFunc.WriteDWORD(data, self.WipeOutCnt)
-        data = CommFunc.WriteDWORD(data, self.GiveExp)
-        data = CommFunc.WriteDWORD(data, self.SilverCnt)
-        data = CommFunc.WriteBYTE(data, self.PrizeCnt)
-        for i in range(self.PrizeCnt):
-            data = CommFunc.WriteString(data, self.PrizeInfo[i].GetLength(), self.PrizeInfo[i].GetBuffer())
-        return data
-
-    def OutputString(self):
-        DumpString = '''
-                                Head:%s,
-                                FBID:%d,
-                                WipeOutCnt:%d,
-                                GiveExp:%d,
-                                SilverCnt:%d,
-                                PrizeCnt:%d,
-                                PrizeInfo:%s
-                                '''\
-                                %(
-                                self.Head.OutputString(),
-                                self.FBID,
-                                self.WipeOutCnt,
-                                self.GiveExp,
-                                self.SilverCnt,
-                                self.PrizeCnt,
-                                "..."
-                                )
-        return DumpString
-
-
-m_NAtagMCWipeOutPrize=tagMCWipeOutPrize()
-ChNetPackDict[eval("0x%02x%02x"%(m_NAtagMCWipeOutPrize.Head.Cmd,m_NAtagMCWipeOutPrize.Head.SubCmd))] = m_NAtagMCWipeOutPrize
 
 
 #------------------------------------------------------
@@ -14491,6 +13947,7 @@
     Face = 0    #(DWORD Face)
     FacePic = 0    #(DWORD FacePic)
     ModelMark = 0    #(DWORD ModelMark)//变形模型mark
+    EquipShowSwitch = 0    #(DWORD EquipShowSwitch)//其他外观信息
     TitleID = 0    #(DWORD TitleID)//佩戴的称号
     ServerID = 0    #(DWORD ServerID)
     FightPower = 0    #(DWORD FightPower)
@@ -14520,6 +13977,7 @@
         self.Face,_pos = CommFunc.ReadDWORD(_lpData, _pos)
         self.FacePic,_pos = CommFunc.ReadDWORD(_lpData, _pos)
         self.ModelMark,_pos = CommFunc.ReadDWORD(_lpData, _pos)
+        self.EquipShowSwitch,_pos = CommFunc.ReadDWORD(_lpData, _pos)
         self.TitleID,_pos = CommFunc.ReadDWORD(_lpData, _pos)
         self.ServerID,_pos = CommFunc.ReadDWORD(_lpData, _pos)
         self.FightPower,_pos = CommFunc.ReadDWORD(_lpData, _pos)
@@ -14545,6 +14003,7 @@
         self.Face = 0
         self.FacePic = 0
         self.ModelMark = 0
+        self.EquipShowSwitch = 0
         self.TitleID = 0
         self.ServerID = 0
         self.FightPower = 0
@@ -14573,6 +14032,7 @@
         length += 4
         length += 4
         length += 4
+        length += 4
         length += 33
         length += 4
         length += 3
@@ -14592,6 +14052,7 @@
         data = CommFunc.WriteDWORD(data, self.Face)
         data = CommFunc.WriteDWORD(data, self.FacePic)
         data = CommFunc.WriteDWORD(data, self.ModelMark)
+        data = CommFunc.WriteDWORD(data, self.EquipShowSwitch)
         data = CommFunc.WriteDWORD(data, self.TitleID)
         data = CommFunc.WriteDWORD(data, self.ServerID)
         data = CommFunc.WriteDWORD(data, self.FightPower)
@@ -14615,6 +14076,7 @@
                                 Face:%d,
                                 FacePic:%d,
                                 ModelMark:%d,
+                                EquipShowSwitch:%d,
                                 TitleID:%d,
                                 ServerID:%d,
                                 FightPower:%d,
@@ -14636,6 +14098,7 @@
                                 self.Face,
                                 self.FacePic,
                                 self.ModelMark,
+                                self.EquipShowSwitch,
                                 self.TitleID,
                                 self.ServerID,
                                 self.FightPower,

--
Gitblit v1.8.0