From 388823edfe6308cba6f76ca6dc4f20022c5cb2be Mon Sep 17 00:00:00 2001
From: hxp <ale99527@vip.qq.com>
Date: 星期一, 30 六月 2025 19:03:50 +0800
Subject: [PATCH] 10431 【英文】看广告获得限时代金券

---
 ServerPython/CoreServerGroup/GameServer/Script/ChMapToGamePyPack.py |  800 ++++++++++++++++++++++++--------------------------------
 1 files changed, 345 insertions(+), 455 deletions(-)

diff --git a/ServerPython/CoreServerGroup/GameServer/Script/ChMapToGamePyPack.py b/ServerPython/CoreServerGroup/GameServer/Script/ChMapToGamePyPack.py
index 741718a..6c8e35a 100644
--- a/ServerPython/CoreServerGroup/GameServer/Script/ChMapToGamePyPack.py
+++ b/ServerPython/CoreServerGroup/GameServer/Script/ChMapToGamePyPack.py
@@ -612,6 +612,7 @@
                   ("SubCmd", c_ubyte),
                   ("PlayerID", c_int),    #玩家ID
                   ("FindPlayerID", c_int),    #要查询的玩家ID
+                  ("EquipClassLV", c_ubyte),    #大于0为查看指定境界阶装备信息,  0为查看默认信息
                   ]
 
     def __init__(self):
@@ -630,6 +631,7 @@
         self.SubCmd = 0x02
         self.PlayerID = 0
         self.FindPlayerID = 0
+        self.EquipClassLV = 0
         return
 
     def GetLength(self):
@@ -643,13 +645,15 @@
                                 Cmd:%s,
                                 SubCmd:%s,
                                 PlayerID:%d,
-                                FindPlayerID:%d
+                                FindPlayerID:%d,
+                                EquipClassLV:%d
                                 '''\
                                 %(
                                 self.Cmd,
                                 self.SubCmd,
                                 self.PlayerID,
-                                self.FindPlayerID
+                                self.FindPlayerID,
+                                self.EquipClassLV
                                 )
         return DumpString
 
@@ -665,14 +669,57 @@
     Head = tagHead()
     PlayerID = 0    #(DWORD PlayerID)//玩家ID
     PlayerLV = 0    #(WORD PlayerLV)//玩家等级
-    PropDataSize = 0    #(DWORD PropDataSize)
-    PropData = ""    #(String PropData)//属性记录
-    ItemDataSize = 0    #(DWORD ItemDataSize)
-    ItemData = ""    #(String ItemData)//物品记录
-    PlusDataSize = 0    #(DWORD PlusDataSize)
-    PlusData = ""    #(String PlusData)//扩展记录
     IsLogouting = 0    #(BYTE IsLogouting)//本次是否为下线同步
     OffTime = 0    #(DWORD OffTime)// 下线时间戳
+    PropDataSize = 0    #(WORD PropDataSize)
+    PropData = ""    #(String PropData)//属性记录
+    PlusDataSize = 0    #(WORD PlusDataSize)
+    PlusData = ""    #(String PlusData)//扩展记录
+    ItemDataSize1 = 0    #(WORD ItemDataSize1)
+    ItemData1 = ""    #(String ItemData1)//1阶装备数据
+    ItemDataSize2 = 0    #(WORD ItemDataSize2)
+    ItemData2 = ""    #(String ItemData2)
+    ItemDataSize3 = 0    #(WORD ItemDataSize3)
+    ItemData3 = ""    #(String ItemData3)
+    ItemDataSize4 = 0    #(WORD ItemDataSize4)
+    ItemData4 = ""    #(String ItemData4)
+    ItemDataSize5 = 0    #(WORD ItemDataSize5)
+    ItemData5 = ""    #(String ItemData5)
+    ItemDataSize6 = 0    #(WORD ItemDataSize6)
+    ItemData6 = ""    #(String ItemData6)
+    ItemDataSize7 = 0    #(WORD ItemDataSize7)
+    ItemData7 = ""    #(String ItemData7)
+    ItemDataSize8 = 0    #(WORD ItemDataSize8)
+    ItemData8 = ""    #(String ItemData8)
+    ItemDataSize9 = 0    #(WORD ItemDataSize9)
+    ItemData9 = ""    #(String ItemData9)
+    ItemDataSize10 = 0    #(WORD ItemDataSize10)
+    ItemData10 = ""    #(String ItemData10)
+    ItemDataSize11 = 0    #(WORD ItemDataSize11)
+    ItemData11 = ""    #(String ItemData11)
+    ItemDataSize12 = 0    #(WORD ItemDataSize12)
+    ItemData12 = ""    #(String ItemData12)
+    ItemDataSize13 = 0    #(WORD ItemDataSize13)
+    ItemData13 = ""    #(String ItemData13)
+    ItemDataSize14 = 0    #(WORD ItemDataSize14)
+    ItemData14 = ""    #(String ItemData14)
+    ItemDataSize15 = 0    #(WORD ItemDataSize15)
+    ItemData15 = ""    #(String ItemData15)
+    ItemDataSize16 = 0    #(WORD ItemDataSize16)
+    ItemData16 = ""    #(String ItemData16)
+    ItemDataSize17 = 0    #(WORD ItemDataSize17)
+    ItemData17 = ""    #(String ItemData17)
+    ItemDataSize18 = 0    #(WORD ItemDataSize18)
+    ItemData18 = ""    #(String ItemData18)
+    ItemDataSize19 = 0    #(WORD ItemDataSize19)
+    ItemData19 = ""    #(String ItemData19)
+    ItemDataSize20 = 0    #(WORD ItemDataSize20)
+    ItemData20 = ""    #(String ItemData20)
+    PackDataSyncState = 0    #(BYTE PackDataSyncState)// 打包数据同步状态: 0-不同步;个位-是否同步本服;十位-是否同步跨服
+    PackDataLen = 0    #(DWORD PackDataLen)
+    PackData = ""    #(String PackData)
+    PackMsgLen = 0    #(WORD PackMsgLen)
+    PackMsg = ""    #(String PackMsg)
     data = None
 
     def __init__(self):
@@ -686,14 +733,57 @@
         _pos = self.Head.ReadData(_lpData, _pos)
         self.PlayerID,_pos = CommFunc.ReadDWORD(_lpData, _pos)
         self.PlayerLV,_pos = CommFunc.ReadWORD(_lpData, _pos)
-        self.PropDataSize,_pos = CommFunc.ReadDWORD(_lpData, _pos)
-        self.PropData,_pos = CommFunc.ReadString(_lpData, _pos,self.PropDataSize)
-        self.ItemDataSize,_pos = CommFunc.ReadDWORD(_lpData, _pos)
-        self.ItemData,_pos = CommFunc.ReadString(_lpData, _pos,self.ItemDataSize)
-        self.PlusDataSize,_pos = CommFunc.ReadDWORD(_lpData, _pos)
-        self.PlusData,_pos = CommFunc.ReadString(_lpData, _pos,self.PlusDataSize)
         self.IsLogouting,_pos = CommFunc.ReadBYTE(_lpData, _pos)
         self.OffTime,_pos = CommFunc.ReadDWORD(_lpData, _pos)
+        self.PropDataSize,_pos = CommFunc.ReadWORD(_lpData, _pos)
+        self.PropData,_pos = CommFunc.ReadString(_lpData, _pos,self.PropDataSize)
+        self.PlusDataSize,_pos = CommFunc.ReadWORD(_lpData, _pos)
+        self.PlusData,_pos = CommFunc.ReadString(_lpData, _pos,self.PlusDataSize)
+        self.ItemDataSize1,_pos = CommFunc.ReadWORD(_lpData, _pos)
+        self.ItemData1,_pos = CommFunc.ReadString(_lpData, _pos,self.ItemDataSize1)
+        self.ItemDataSize2,_pos = CommFunc.ReadWORD(_lpData, _pos)
+        self.ItemData2,_pos = CommFunc.ReadString(_lpData, _pos,self.ItemDataSize2)
+        self.ItemDataSize3,_pos = CommFunc.ReadWORD(_lpData, _pos)
+        self.ItemData3,_pos = CommFunc.ReadString(_lpData, _pos,self.ItemDataSize3)
+        self.ItemDataSize4,_pos = CommFunc.ReadWORD(_lpData, _pos)
+        self.ItemData4,_pos = CommFunc.ReadString(_lpData, _pos,self.ItemDataSize4)
+        self.ItemDataSize5,_pos = CommFunc.ReadWORD(_lpData, _pos)
+        self.ItemData5,_pos = CommFunc.ReadString(_lpData, _pos,self.ItemDataSize5)
+        self.ItemDataSize6,_pos = CommFunc.ReadWORD(_lpData, _pos)
+        self.ItemData6,_pos = CommFunc.ReadString(_lpData, _pos,self.ItemDataSize6)
+        self.ItemDataSize7,_pos = CommFunc.ReadWORD(_lpData, _pos)
+        self.ItemData7,_pos = CommFunc.ReadString(_lpData, _pos,self.ItemDataSize7)
+        self.ItemDataSize8,_pos = CommFunc.ReadWORD(_lpData, _pos)
+        self.ItemData8,_pos = CommFunc.ReadString(_lpData, _pos,self.ItemDataSize8)
+        self.ItemDataSize9,_pos = CommFunc.ReadWORD(_lpData, _pos)
+        self.ItemData9,_pos = CommFunc.ReadString(_lpData, _pos,self.ItemDataSize9)
+        self.ItemDataSize10,_pos = CommFunc.ReadWORD(_lpData, _pos)
+        self.ItemData10,_pos = CommFunc.ReadString(_lpData, _pos,self.ItemDataSize10)
+        self.ItemDataSize11,_pos = CommFunc.ReadWORD(_lpData, _pos)
+        self.ItemData11,_pos = CommFunc.ReadString(_lpData, _pos,self.ItemDataSize11)
+        self.ItemDataSize12,_pos = CommFunc.ReadWORD(_lpData, _pos)
+        self.ItemData12,_pos = CommFunc.ReadString(_lpData, _pos,self.ItemDataSize12)
+        self.ItemDataSize13,_pos = CommFunc.ReadWORD(_lpData, _pos)
+        self.ItemData13,_pos = CommFunc.ReadString(_lpData, _pos,self.ItemDataSize13)
+        self.ItemDataSize14,_pos = CommFunc.ReadWORD(_lpData, _pos)
+        self.ItemData14,_pos = CommFunc.ReadString(_lpData, _pos,self.ItemDataSize14)
+        self.ItemDataSize15,_pos = CommFunc.ReadWORD(_lpData, _pos)
+        self.ItemData15,_pos = CommFunc.ReadString(_lpData, _pos,self.ItemDataSize15)
+        self.ItemDataSize16,_pos = CommFunc.ReadWORD(_lpData, _pos)
+        self.ItemData16,_pos = CommFunc.ReadString(_lpData, _pos,self.ItemDataSize16)
+        self.ItemDataSize17,_pos = CommFunc.ReadWORD(_lpData, _pos)
+        self.ItemData17,_pos = CommFunc.ReadString(_lpData, _pos,self.ItemDataSize17)
+        self.ItemDataSize18,_pos = CommFunc.ReadWORD(_lpData, _pos)
+        self.ItemData18,_pos = CommFunc.ReadString(_lpData, _pos,self.ItemDataSize18)
+        self.ItemDataSize19,_pos = CommFunc.ReadWORD(_lpData, _pos)
+        self.ItemData19,_pos = CommFunc.ReadString(_lpData, _pos,self.ItemDataSize19)
+        self.ItemDataSize20,_pos = CommFunc.ReadWORD(_lpData, _pos)
+        self.ItemData20,_pos = CommFunc.ReadString(_lpData, _pos,self.ItemDataSize20)
+        self.PackDataSyncState,_pos = CommFunc.ReadBYTE(_lpData, _pos)
+        self.PackDataLen,_pos = CommFunc.ReadDWORD(_lpData, _pos)
+        self.PackData,_pos = CommFunc.ReadString(_lpData, _pos,self.PackDataLen)
+        self.PackMsgLen,_pos = CommFunc.ReadWORD(_lpData, _pos)
+        self.PackMsg,_pos = CommFunc.ReadString(_lpData, _pos,self.PackMsgLen)
         return _pos
 
     def Clear(self):
@@ -703,14 +793,57 @@
         self.Head.SubCmd = 0x01
         self.PlayerID = 0
         self.PlayerLV = 0
-        self.PropDataSize = 0
-        self.PropData = ""
-        self.ItemDataSize = 0
-        self.ItemData = ""
-        self.PlusDataSize = 0
-        self.PlusData = ""
         self.IsLogouting = 0
         self.OffTime = 0
+        self.PropDataSize = 0
+        self.PropData = ""
+        self.PlusDataSize = 0
+        self.PlusData = ""
+        self.ItemDataSize1 = 0
+        self.ItemData1 = ""
+        self.ItemDataSize2 = 0
+        self.ItemData2 = ""
+        self.ItemDataSize3 = 0
+        self.ItemData3 = ""
+        self.ItemDataSize4 = 0
+        self.ItemData4 = ""
+        self.ItemDataSize5 = 0
+        self.ItemData5 = ""
+        self.ItemDataSize6 = 0
+        self.ItemData6 = ""
+        self.ItemDataSize7 = 0
+        self.ItemData7 = ""
+        self.ItemDataSize8 = 0
+        self.ItemData8 = ""
+        self.ItemDataSize9 = 0
+        self.ItemData9 = ""
+        self.ItemDataSize10 = 0
+        self.ItemData10 = ""
+        self.ItemDataSize11 = 0
+        self.ItemData11 = ""
+        self.ItemDataSize12 = 0
+        self.ItemData12 = ""
+        self.ItemDataSize13 = 0
+        self.ItemData13 = ""
+        self.ItemDataSize14 = 0
+        self.ItemData14 = ""
+        self.ItemDataSize15 = 0
+        self.ItemData15 = ""
+        self.ItemDataSize16 = 0
+        self.ItemData16 = ""
+        self.ItemDataSize17 = 0
+        self.ItemData17 = ""
+        self.ItemDataSize18 = 0
+        self.ItemData18 = ""
+        self.ItemDataSize19 = 0
+        self.ItemData19 = ""
+        self.ItemDataSize20 = 0
+        self.ItemData20 = ""
+        self.PackDataSyncState = 0
+        self.PackDataLen = 0
+        self.PackData = ""
+        self.PackMsgLen = 0
+        self.PackMsg = ""
         return
 
     def GetLength(self):
@@ -718,14 +851,57 @@
         length += self.Head.GetLength()
         length += 4
         length += 2
-        length += 4
-        length += len(self.PropData)
-        length += 4
-        length += len(self.ItemData)
-        length += 4
-        length += len(self.PlusData)
         length += 1
         length += 4
+        length += 2
+        length += len(self.PropData)
+        length += 2
+        length += len(self.PlusData)
+        length += 2
+        length += len(self.ItemData1)
+        length += 2
+        length += len(self.ItemData2)
+        length += 2
+        length += len(self.ItemData3)
+        length += 2
+        length += len(self.ItemData4)
+        length += 2
+        length += len(self.ItemData5)
+        length += 2
+        length += len(self.ItemData6)
+        length += 2
+        length += len(self.ItemData7)
+        length += 2
+        length += len(self.ItemData8)
+        length += 2
+        length += len(self.ItemData9)
+        length += 2
+        length += len(self.ItemData10)
+        length += 2
+        length += len(self.ItemData11)
+        length += 2
+        length += len(self.ItemData12)
+        length += 2
+        length += len(self.ItemData13)
+        length += 2
+        length += len(self.ItemData14)
+        length += 2
+        length += len(self.ItemData15)
+        length += 2
+        length += len(self.ItemData16)
+        length += 2
+        length += len(self.ItemData17)
+        length += 2
+        length += len(self.ItemData18)
+        length += 2
+        length += len(self.ItemData19)
+        length += 2
+        length += len(self.ItemData20)
+        length += 1
+        length += 4
+        length += len(self.PackData)
+        length += 2
+        length += len(self.PackMsg)
 
         return length
 
@@ -734,14 +910,57 @@
         data = CommFunc.WriteString(data, self.Head.GetLength(), self.Head.GetBuffer())
         data = CommFunc.WriteDWORD(data, self.PlayerID)
         data = CommFunc.WriteWORD(data, self.PlayerLV)
-        data = CommFunc.WriteDWORD(data, self.PropDataSize)
-        data = CommFunc.WriteString(data, self.PropDataSize, self.PropData)
-        data = CommFunc.WriteDWORD(data, self.ItemDataSize)
-        data = CommFunc.WriteString(data, self.ItemDataSize, self.ItemData)
-        data = CommFunc.WriteDWORD(data, self.PlusDataSize)
-        data = CommFunc.WriteString(data, self.PlusDataSize, self.PlusData)
         data = CommFunc.WriteBYTE(data, self.IsLogouting)
         data = CommFunc.WriteDWORD(data, self.OffTime)
+        data = CommFunc.WriteWORD(data, self.PropDataSize)
+        data = CommFunc.WriteString(data, self.PropDataSize, self.PropData)
+        data = CommFunc.WriteWORD(data, self.PlusDataSize)
+        data = CommFunc.WriteString(data, self.PlusDataSize, self.PlusData)
+        data = CommFunc.WriteWORD(data, self.ItemDataSize1)
+        data = CommFunc.WriteString(data, self.ItemDataSize1, self.ItemData1)
+        data = CommFunc.WriteWORD(data, self.ItemDataSize2)
+        data = CommFunc.WriteString(data, self.ItemDataSize2, self.ItemData2)
+        data = CommFunc.WriteWORD(data, self.ItemDataSize3)
+        data = CommFunc.WriteString(data, self.ItemDataSize3, self.ItemData3)
+        data = CommFunc.WriteWORD(data, self.ItemDataSize4)
+        data = CommFunc.WriteString(data, self.ItemDataSize4, self.ItemData4)
+        data = CommFunc.WriteWORD(data, self.ItemDataSize5)
+        data = CommFunc.WriteString(data, self.ItemDataSize5, self.ItemData5)
+        data = CommFunc.WriteWORD(data, self.ItemDataSize6)
+        data = CommFunc.WriteString(data, self.ItemDataSize6, self.ItemData6)
+        data = CommFunc.WriteWORD(data, self.ItemDataSize7)
+        data = CommFunc.WriteString(data, self.ItemDataSize7, self.ItemData7)
+        data = CommFunc.WriteWORD(data, self.ItemDataSize8)
+        data = CommFunc.WriteString(data, self.ItemDataSize8, self.ItemData8)
+        data = CommFunc.WriteWORD(data, self.ItemDataSize9)
+        data = CommFunc.WriteString(data, self.ItemDataSize9, self.ItemData9)
+        data = CommFunc.WriteWORD(data, self.ItemDataSize10)
+        data = CommFunc.WriteString(data, self.ItemDataSize10, self.ItemData10)
+        data = CommFunc.WriteWORD(data, self.ItemDataSize11)
+        data = CommFunc.WriteString(data, self.ItemDataSize11, self.ItemData11)
+        data = CommFunc.WriteWORD(data, self.ItemDataSize12)
+        data = CommFunc.WriteString(data, self.ItemDataSize12, self.ItemData12)
+        data = CommFunc.WriteWORD(data, self.ItemDataSize13)
+        data = CommFunc.WriteString(data, self.ItemDataSize13, self.ItemData13)
+        data = CommFunc.WriteWORD(data, self.ItemDataSize14)
+        data = CommFunc.WriteString(data, self.ItemDataSize14, self.ItemData14)
+        data = CommFunc.WriteWORD(data, self.ItemDataSize15)
+        data = CommFunc.WriteString(data, self.ItemDataSize15, self.ItemData15)
+        data = CommFunc.WriteWORD(data, self.ItemDataSize16)
+        data = CommFunc.WriteString(data, self.ItemDataSize16, self.ItemData16)
+        data = CommFunc.WriteWORD(data, self.ItemDataSize17)
+        data = CommFunc.WriteString(data, self.ItemDataSize17, self.ItemData17)
+        data = CommFunc.WriteWORD(data, self.ItemDataSize18)
+        data = CommFunc.WriteString(data, self.ItemDataSize18, self.ItemData18)
+        data = CommFunc.WriteWORD(data, self.ItemDataSize19)
+        data = CommFunc.WriteString(data, self.ItemDataSize19, self.ItemData19)
+        data = CommFunc.WriteWORD(data, self.ItemDataSize20)
+        data = CommFunc.WriteString(data, self.ItemDataSize20, self.ItemData20)
+        data = CommFunc.WriteBYTE(data, self.PackDataSyncState)
+        data = CommFunc.WriteDWORD(data, self.PackDataLen)
+        data = CommFunc.WriteString(data, self.PackDataLen, self.PackData)
+        data = CommFunc.WriteWORD(data, self.PackMsgLen)
+        data = CommFunc.WriteString(data, self.PackMsgLen, self.PackMsg)
         return data
 
     def OutputString(self):
@@ -749,27 +968,113 @@
                                 Head:%s,
                                 PlayerID:%d,
                                 PlayerLV:%d,
+                                IsLogouting:%d,
+                                OffTime:%d,
                                 PropDataSize:%d,
                                 PropData:%s,
-                                ItemDataSize:%d,
-                                ItemData:%s,
                                 PlusDataSize:%d,
                                 PlusData:%s,
-                                IsLogouting:%d,
-                                OffTime:%d
+                                ItemDataSize1:%d,
+                                ItemData1:%s,
+                                ItemDataSize2:%d,
+                                ItemData2:%s,
+                                ItemDataSize3:%d,
+                                ItemData3:%s,
+                                ItemDataSize4:%d,
+                                ItemData4:%s,
+                                ItemDataSize5:%d,
+                                ItemData5:%s,
+                                ItemDataSize6:%d,
+                                ItemData6:%s,
+                                ItemDataSize7:%d,
+                                ItemData7:%s,
+                                ItemDataSize8:%d,
+                                ItemData8:%s,
+                                ItemDataSize9:%d,
+                                ItemData9:%s,
+                                ItemDataSize10:%d,
+                                ItemData10:%s,
+                                ItemDataSize11:%d,
+                                ItemData11:%s,
+                                ItemDataSize12:%d,
+                                ItemData12:%s,
+                                ItemDataSize13:%d,
+                                ItemData13:%s,
+                                ItemDataSize14:%d,
+                                ItemData14:%s,
+                                ItemDataSize15:%d,
+                                ItemData15:%s,
+                                ItemDataSize16:%d,
+                                ItemData16:%s,
+                                ItemDataSize17:%d,
+                                ItemData17:%s,
+                                ItemDataSize18:%d,
+                                ItemData18:%s,
+                                ItemDataSize19:%d,
+                                ItemData19:%s,
+                                ItemDataSize20:%d,
+                                ItemData20:%s,
+                                PackDataSyncState:%d,
+                                PackDataLen:%d,
+                                PackData:%s,
+                                PackMsgLen:%d,
+                                PackMsg:%s
                                 '''\
                                 %(
                                 self.Head.OutputString(),
                                 self.PlayerID,
                                 self.PlayerLV,
+                                self.IsLogouting,
+                                self.OffTime,
                                 self.PropDataSize,
                                 self.PropData,
-                                self.ItemDataSize,
-                                self.ItemData,
                                 self.PlusDataSize,
                                 self.PlusData,
-                                self.IsLogouting,
-                                self.OffTime
+                                self.ItemDataSize1,
+                                self.ItemData1,
+                                self.ItemDataSize2,
+                                self.ItemData2,
+                                self.ItemDataSize3,
+                                self.ItemData3,
+                                self.ItemDataSize4,
+                                self.ItemData4,
+                                self.ItemDataSize5,
+                                self.ItemData5,
+                                self.ItemDataSize6,
+                                self.ItemData6,
+                                self.ItemDataSize7,
+                                self.ItemData7,
+                                self.ItemDataSize8,
+                                self.ItemData8,
+                                self.ItemDataSize9,
+                                self.ItemData9,
+                                self.ItemDataSize10,
+                                self.ItemData10,
+                                self.ItemDataSize11,
+                                self.ItemData11,
+                                self.ItemDataSize12,
+                                self.ItemData12,
+                                self.ItemDataSize13,
+                                self.ItemData13,
+                                self.ItemDataSize14,
+                                self.ItemData14,
+                                self.ItemDataSize15,
+                                self.ItemData15,
+                                self.ItemDataSize16,
+                                self.ItemData16,
+                                self.ItemDataSize17,
+                                self.ItemData17,
+                                self.ItemDataSize18,
+                                self.ItemData18,
+                                self.ItemDataSize19,
+                                self.ItemData19,
+                                self.ItemDataSize20,
+                                self.ItemData20,
+                                self.PackDataSyncState,
+                                self.PackDataLen,
+                                self.PackData,
+                                self.PackMsgLen,
+                                self.PackMsg
                                 )
         return DumpString
 
@@ -844,421 +1149,6 @@
 
 m_NAtagMGAddFamilyDetail=tagMGAddFamilyDetail()
 ChNetPackDict[eval("0x%02x%02x"%(m_NAtagMGAddFamilyDetail.Cmd,m_NAtagMGAddFamilyDetail.SubCmd))] = m_NAtagMGAddFamilyDetail
-
-
-#------------------------------------------------------
-#03 02 天梯竞技场玩家发起挑战#tagMGHighLadderChallenge
-
-class  tagHightLadderItemInfo(Structure):
-    ItemTypeID = 0    #(DWORD ItemTypeID)//物品ID
-    ItemPlaceType = 0    #(BYTE ItemPlaceType)//物品位置的背包类型
-    ItemPlaceIndex = 0    #(BYTE ItemPlaceIndex)//物品所在的索引
-    Count = 0    #(WORD Count)//单组数量
-    ItemStarLV = 0    #(BYTE ItemStarLV)//装备星级
-    IdentifyPar = 0    #(BYTE IdentifyPar)//鉴定参数
-    CurDurg = 0    #(DWORD CurDurg)//当前耐久
-    MaxDurg = 0    #(DWORD MaxDurg)//最大耐久
-    CanPlaceStoneCount = 0    #(BYTE CanPlaceStoneCount)//可镶嵌宝石数0表示不可以镶嵌宝石
-    ItemProperty = 0    #(BYTE ItemProperty)//装备五行
-    SoulProperty = 0    #(WORD SoulProperty)//灵魂属性属性
-    Maker = 0    #(DWORD Maker)//制作者ID
-    MakerName = ""    #(char MakerName[33])//制造者名字
-    Stone1 = 0    #(DWORD Stone1)//镶嵌宝石1
-    Stone2 = 0    #(DWORD Stone2)//镶嵌宝石
-    Stone3 = 0    #(DWORD Stone3)//镶嵌宝石
-    Stone4 = 0    #(DWORD Stone4)//镶嵌宝石
-    Stone5 = 0    #(DWORD Stone5)//镶嵌宝石
-    Stone6 = 0    #(DWORD Stone6)//镶嵌宝石
-    Stone7 = 0    #(DWORD Stone7)//镶嵌宝石
-    Stone8 = 0    #(DWORD Stone8)//镶嵌宝石
-    Stone9 = 0    #(DWORD Stone9)//镶嵌宝石
-    IsRenZhu = 0    #(BYTE IsRenZhu)//是否认主
-    EquipDefenseValue = 0    #(DWORD EquipDefenseValue)//用于记录装备的防御值
-    EquipMinAtkValue = 0    #(DWORD EquipMinAtkValue)//用于记录装备的最小伤害值
-    EquipMaxAtkValue = 0    #(DWORD EquipMaxAtkValue)//用于记录装备的最大伤害值
-    UserDataLen = 0    #(DWORD UserDataLen)
-    UserData = ""    #(String UserData)//自定义数据
-    FitLV = 0    #(BYTE FitLV)//物品契合等级
-    Proficiency = 0    #(DWORD Proficiency)//熟练度
-    IsSuite = 0    #(BYTE IsSuite)//是否已经套装化
-    BaseHP = 0    #(DWORD BaseHP)// HP基础值
-    BaseMagicDef = 0    #(DWORD BaseMagicDef)//内防基础值
-    MaxAddSkillCnt = 0    #(BYTE MaxAddSkillCnt)// 最大附魔次数
-    PetID = 0    #(DWORD PetID)//装备该装备的宠物ID,为0则未装备
-    EquipMagicDefValue = 0    #(DWORD EquipMagicDefValue)//装备内防值
-    EquipMinMagicAtkValue = 0    #(DWORD EquipMinMagicAtkValue)//装备最小内攻
-    EquipMaxMagicAtkValue = 0    #(DWORD EquipMaxMagicAtkValue)//装备最大内攻
-    data = None
-
-    def __init__(self):
-        self.Clear()
-        return
-
-    def ReadData(self, _lpData, _pos=0, _Len=0):
-        self.Clear()
-        self.ItemTypeID,_pos = CommFunc.ReadDWORD(_lpData, _pos)
-        self.ItemPlaceType,_pos = CommFunc.ReadBYTE(_lpData, _pos)
-        self.ItemPlaceIndex,_pos = CommFunc.ReadBYTE(_lpData, _pos)
-        self.Count,_pos = CommFunc.ReadWORD(_lpData, _pos)
-        self.ItemStarLV,_pos = CommFunc.ReadBYTE(_lpData, _pos)
-        self.IdentifyPar,_pos = CommFunc.ReadBYTE(_lpData, _pos)
-        self.CurDurg,_pos = CommFunc.ReadDWORD(_lpData, _pos)
-        self.MaxDurg,_pos = CommFunc.ReadDWORD(_lpData, _pos)
-        self.CanPlaceStoneCount,_pos = CommFunc.ReadBYTE(_lpData, _pos)
-        self.ItemProperty,_pos = CommFunc.ReadBYTE(_lpData, _pos)
-        self.SoulProperty,_pos = CommFunc.ReadWORD(_lpData, _pos)
-        self.Maker,_pos = CommFunc.ReadDWORD(_lpData, _pos)
-        self.MakerName,_pos = CommFunc.ReadString(_lpData, _pos,33)
-        self.Stone1,_pos = CommFunc.ReadDWORD(_lpData, _pos)
-        self.Stone2,_pos = CommFunc.ReadDWORD(_lpData, _pos)
-        self.Stone3,_pos = CommFunc.ReadDWORD(_lpData, _pos)
-        self.Stone4,_pos = CommFunc.ReadDWORD(_lpData, _pos)
-        self.Stone5,_pos = CommFunc.ReadDWORD(_lpData, _pos)
-        self.Stone6,_pos = CommFunc.ReadDWORD(_lpData, _pos)
-        self.Stone7,_pos = CommFunc.ReadDWORD(_lpData, _pos)
-        self.Stone8,_pos = CommFunc.ReadDWORD(_lpData, _pos)
-        self.Stone9,_pos = CommFunc.ReadDWORD(_lpData, _pos)
-        self.IsRenZhu,_pos = CommFunc.ReadBYTE(_lpData, _pos)
-        self.EquipDefenseValue,_pos = CommFunc.ReadDWORD(_lpData, _pos)
-        self.EquipMinAtkValue,_pos = CommFunc.ReadDWORD(_lpData, _pos)
-        self.EquipMaxAtkValue,_pos = CommFunc.ReadDWORD(_lpData, _pos)
-        self.UserDataLen,_pos = CommFunc.ReadDWORD(_lpData, _pos)
-        self.UserData,_pos = CommFunc.ReadString(_lpData, _pos,self.UserDataLen)
-        self.FitLV,_pos = CommFunc.ReadBYTE(_lpData, _pos)
-        self.Proficiency,_pos = CommFunc.ReadDWORD(_lpData, _pos)
-        self.IsSuite,_pos = CommFunc.ReadBYTE(_lpData, _pos)
-        self.BaseHP,_pos = CommFunc.ReadDWORD(_lpData, _pos)
-        self.BaseMagicDef,_pos = CommFunc.ReadDWORD(_lpData, _pos)
-        self.MaxAddSkillCnt,_pos = CommFunc.ReadBYTE(_lpData, _pos)
-        self.PetID,_pos = CommFunc.ReadDWORD(_lpData, _pos)
-        self.EquipMagicDefValue,_pos = CommFunc.ReadDWORD(_lpData, _pos)
-        self.EquipMinMagicAtkValue,_pos = CommFunc.ReadDWORD(_lpData, _pos)
-        self.EquipMaxMagicAtkValue,_pos = CommFunc.ReadDWORD(_lpData, _pos)
-        return _pos
-
-    def Clear(self):
-        self.ItemTypeID = 0
-        self.ItemPlaceType = 0
-        self.ItemPlaceIndex = 0
-        self.Count = 0
-        self.ItemStarLV = 0
-        self.IdentifyPar = 0
-        self.CurDurg = 0
-        self.MaxDurg = 0
-        self.CanPlaceStoneCount = 0
-        self.ItemProperty = 0
-        self.SoulProperty = 0
-        self.Maker = 0
-        self.MakerName = ""
-        self.Stone1 = 0
-        self.Stone2 = 0
-        self.Stone3 = 0
-        self.Stone4 = 0
-        self.Stone5 = 0
-        self.Stone6 = 0
-        self.Stone7 = 0
-        self.Stone8 = 0
-        self.Stone9 = 0
-        self.IsRenZhu = 0
-        self.EquipDefenseValue = 0
-        self.EquipMinAtkValue = 0
-        self.EquipMaxAtkValue = 0
-        self.UserDataLen = 0
-        self.UserData = ""
-        self.FitLV = 0
-        self.Proficiency = 0
-        self.IsSuite = 0
-        self.BaseHP = 0
-        self.BaseMagicDef = 0
-        self.MaxAddSkillCnt = 0
-        self.PetID = 0
-        self.EquipMagicDefValue = 0
-        self.EquipMinMagicAtkValue = 0
-        self.EquipMaxMagicAtkValue = 0
-        return
-
-    def GetLength(self):
-        length = 0
-        length += 4
-        length += 1
-        length += 1
-        length += 2
-        length += 1
-        length += 1
-        length += 4
-        length += 4
-        length += 1
-        length += 1
-        length += 2
-        length += 4
-        length += 33
-        length += 4
-        length += 4
-        length += 4
-        length += 4
-        length += 4
-        length += 4
-        length += 4
-        length += 4
-        length += 4
-        length += 1
-        length += 4
-        length += 4
-        length += 4
-        length += 4
-        length += len(self.UserData)
-        length += 1
-        length += 4
-        length += 1
-        length += 4
-        length += 4
-        length += 1
-        length += 4
-        length += 4
-        length += 4
-        length += 4
-
-        return length
-
-    def GetBuffer(self):
-        data = ''
-        data = CommFunc.WriteDWORD(data, self.ItemTypeID)
-        data = CommFunc.WriteBYTE(data, self.ItemPlaceType)
-        data = CommFunc.WriteBYTE(data, self.ItemPlaceIndex)
-        data = CommFunc.WriteWORD(data, self.Count)
-        data = CommFunc.WriteBYTE(data, self.ItemStarLV)
-        data = CommFunc.WriteBYTE(data, self.IdentifyPar)
-        data = CommFunc.WriteDWORD(data, self.CurDurg)
-        data = CommFunc.WriteDWORD(data, self.MaxDurg)
-        data = CommFunc.WriteBYTE(data, self.CanPlaceStoneCount)
-        data = CommFunc.WriteBYTE(data, self.ItemProperty)
-        data = CommFunc.WriteWORD(data, self.SoulProperty)
-        data = CommFunc.WriteDWORD(data, self.Maker)
-        data = CommFunc.WriteString(data, 33, self.MakerName)
-        data = CommFunc.WriteDWORD(data, self.Stone1)
-        data = CommFunc.WriteDWORD(data, self.Stone2)
-        data = CommFunc.WriteDWORD(data, self.Stone3)
-        data = CommFunc.WriteDWORD(data, self.Stone4)
-        data = CommFunc.WriteDWORD(data, self.Stone5)
-        data = CommFunc.WriteDWORD(data, self.Stone6)
-        data = CommFunc.WriteDWORD(data, self.Stone7)
-        data = CommFunc.WriteDWORD(data, self.Stone8)
-        data = CommFunc.WriteDWORD(data, self.Stone9)
-        data = CommFunc.WriteBYTE(data, self.IsRenZhu)
-        data = CommFunc.WriteDWORD(data, self.EquipDefenseValue)
-        data = CommFunc.WriteDWORD(data, self.EquipMinAtkValue)
-        data = CommFunc.WriteDWORD(data, self.EquipMaxAtkValue)
-        data = CommFunc.WriteDWORD(data, self.UserDataLen)
-        data = CommFunc.WriteString(data, self.UserDataLen, self.UserData)
-        data = CommFunc.WriteBYTE(data, self.FitLV)
-        data = CommFunc.WriteDWORD(data, self.Proficiency)
-        data = CommFunc.WriteBYTE(data, self.IsSuite)
-        data = CommFunc.WriteDWORD(data, self.BaseHP)
-        data = CommFunc.WriteDWORD(data, self.BaseMagicDef)
-        data = CommFunc.WriteBYTE(data, self.MaxAddSkillCnt)
-        data = CommFunc.WriteDWORD(data, self.PetID)
-        data = CommFunc.WriteDWORD(data, self.EquipMagicDefValue)
-        data = CommFunc.WriteDWORD(data, self.EquipMinMagicAtkValue)
-        data = CommFunc.WriteDWORD(data, self.EquipMaxMagicAtkValue)
-        return data
-
-    def OutputString(self):
-        DumpString = '''
-                                ItemTypeID:%d,
-                                ItemPlaceType:%d,
-                                ItemPlaceIndex:%d,
-                                Count:%d,
-                                ItemStarLV:%d,
-                                IdentifyPar:%d,
-                                CurDurg:%d,
-                                MaxDurg:%d,
-                                CanPlaceStoneCount:%d,
-                                ItemProperty:%d,
-                                SoulProperty:%d,
-                                Maker:%d,
-                                MakerName:%s,
-                                Stone1:%d,
-                                Stone2:%d,
-                                Stone3:%d,
-                                Stone4:%d,
-                                Stone5:%d,
-                                Stone6:%d,
-                                Stone7:%d,
-                                Stone8:%d,
-                                Stone9:%d,
-                                IsRenZhu:%d,
-                                EquipDefenseValue:%d,
-                                EquipMinAtkValue:%d,
-                                EquipMaxAtkValue:%d,
-                                UserDataLen:%d,
-                                UserData:%s,
-                                FitLV:%d,
-                                Proficiency:%d,
-                                IsSuite:%d,
-                                BaseHP:%d,
-                                BaseMagicDef:%d,
-                                MaxAddSkillCnt:%d,
-                                PetID:%d,
-                                EquipMagicDefValue:%d,
-                                EquipMinMagicAtkValue:%d,
-                                EquipMaxMagicAtkValue:%d
-                                '''\
-                                %(
-                                self.ItemTypeID,
-                                self.ItemPlaceType,
-                                self.ItemPlaceIndex,
-                                self.Count,
-                                self.ItemStarLV,
-                                self.IdentifyPar,
-                                self.CurDurg,
-                                self.MaxDurg,
-                                self.CanPlaceStoneCount,
-                                self.ItemProperty,
-                                self.SoulProperty,
-                                self.Maker,
-                                self.MakerName,
-                                self.Stone1,
-                                self.Stone2,
-                                self.Stone3,
-                                self.Stone4,
-                                self.Stone5,
-                                self.Stone6,
-                                self.Stone7,
-                                self.Stone8,
-                                self.Stone9,
-                                self.IsRenZhu,
-                                self.EquipDefenseValue,
-                                self.EquipMinAtkValue,
-                                self.EquipMaxAtkValue,
-                                self.UserDataLen,
-                                self.UserData,
-                                self.FitLV,
-                                self.Proficiency,
-                                self.IsSuite,
-                                self.BaseHP,
-                                self.BaseMagicDef,
-                                self.MaxAddSkillCnt,
-                                self.PetID,
-                                self.EquipMagicDefValue,
-                                self.EquipMinMagicAtkValue,
-                                self.EquipMaxMagicAtkValue
-                                )
-        return DumpString
-
-
-class  tagMGHighLadderChallenge(Structure):
-    Head = tagHead()
-    PlayerID = 0    #(DWORD PlayerID)//玩家ID
-    PlayerName = ""    #(char PlayerName[33])
-    PlayerLV = 0    #(WORD PlayerLV)
-    FightPower = 0    #(DWORD FightPower)
-    FightPropertyDataLen = 0    #(DWORD FightPropertyDataLen)
-    FightPropertyData = ""    #(String FightPropertyData)//Python自定义数据
-    EquipCount = 0    #(BYTE EquipCount)
-    EquipList = list()    #(vector<tagHightLadderItemInfo> EquipList)//装备信息列表
-    VSOrder = 0    #(WORD VSOrder)//要挑战的排位
-    data = None
-
-    def __init__(self):
-        self.Clear()
-        self.Head.Cmd = 0x03
-        self.Head.SubCmd = 0x02
-        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.PlayerName,_pos = CommFunc.ReadString(_lpData, _pos,33)
-        self.PlayerLV,_pos = CommFunc.ReadWORD(_lpData, _pos)
-        self.FightPower,_pos = CommFunc.ReadDWORD(_lpData, _pos)
-        self.FightPropertyDataLen,_pos = CommFunc.ReadDWORD(_lpData, _pos)
-        self.FightPropertyData,_pos = CommFunc.ReadString(_lpData, _pos,self.FightPropertyDataLen)
-        self.EquipCount,_pos = CommFunc.ReadBYTE(_lpData, _pos)
-        for i in range(self.EquipCount):
-            temEquipList = tagHightLadderItemInfo()
-            _pos = temEquipList.ReadData(_lpData, _pos)
-            self.EquipList.append(temEquipList)
-        self.VSOrder,_pos = CommFunc.ReadWORD(_lpData, _pos)
-        return _pos
-
-    def Clear(self):
-        self.Head = tagHead()
-        self.Head.Clear()
-        self.Head.Cmd = 0x03
-        self.Head.SubCmd = 0x02
-        self.PlayerID = 0
-        self.PlayerName = ""
-        self.PlayerLV = 0
-        self.FightPower = 0
-        self.FightPropertyDataLen = 0
-        self.FightPropertyData = ""
-        self.EquipCount = 0
-        self.EquipList = list()
-        self.VSOrder = 0
-        return
-
-    def GetLength(self):
-        length = 0
-        length += self.Head.GetLength()
-        length += 4
-        length += 33
-        length += 2
-        length += 4
-        length += 4
-        length += len(self.FightPropertyData)
-        length += 1
-        for i in range(self.EquipCount):
-            length += self.EquipList[i].GetLength()
-        length += 2
-
-        return length
-
-    def GetBuffer(self):
-        data = ''
-        data = CommFunc.WriteString(data, self.Head.GetLength(), self.Head.GetBuffer())
-        data = CommFunc.WriteDWORD(data, self.PlayerID)
-        data = CommFunc.WriteString(data, 33, self.PlayerName)
-        data = CommFunc.WriteWORD(data, self.PlayerLV)
-        data = CommFunc.WriteDWORD(data, self.FightPower)
-        data = CommFunc.WriteDWORD(data, self.FightPropertyDataLen)
-        data = CommFunc.WriteString(data, self.FightPropertyDataLen, self.FightPropertyData)
-        data = CommFunc.WriteBYTE(data, self.EquipCount)
-        for i in range(self.EquipCount):
-            data = CommFunc.WriteString(data, self.EquipList[i].GetLength(), self.EquipList[i].GetBuffer())
-        data = CommFunc.WriteWORD(data, self.VSOrder)
-        return data
-
-    def OutputString(self):
-        DumpString = '''
-                                Head:%s,
-                                PlayerID:%d,
-                                PlayerName:%s,
-                                PlayerLV:%d,
-                                FightPower:%d,
-                                FightPropertyDataLen:%d,
-                                FightPropertyData:%s,
-                                EquipCount:%d,
-                                EquipList:%s,
-                                VSOrder:%d
-                                '''\
-                                %(
-                                self.Head.OutputString(),
-                                self.PlayerID,
-                                self.PlayerName,
-                                self.PlayerLV,
-                                self.FightPower,
-                                self.FightPropertyDataLen,
-                                self.FightPropertyData,
-                                self.EquipCount,
-                                "...",
-                                self.VSOrder
-                                )
-        return DumpString
-
-
-m_NAtagMGHighLadderChallenge=tagMGHighLadderChallenge()
-ChNetPackDict[eval("0x%02x%02x"%(m_NAtagMGHighLadderChallenge.Head.Cmd,m_NAtagMGHighLadderChallenge.Head.SubCmd))] = m_NAtagMGHighLadderChallenge
 
 
 #------------------------------------------------------

--
Gitblit v1.8.0