From 08931697f8fe02659302b2d6ac752a1cfc3a2c8e Mon Sep 17 00:00:00 2001
From: hxp <ale99527@vip.qq.com>
Date: 星期一, 28 九月 2020 16:25:27 +0800
Subject: [PATCH] Merge branch 'master' of http://192.168.1.20:10010/r/SnxxServerCode

---
 Tool/Robot/Protocol/PacketsReceived.py |   86 ++++++++++++++++++++++++++-----------------
 1 files changed, 52 insertions(+), 34 deletions(-)

diff --git a/Tool/Robot/Protocol/PacketsReceived.py b/Tool/Robot/Protocol/PacketsReceived.py
index 4a6de90..350658f 100644
--- a/Tool/Robot/Protocol/PacketsReceived.py
+++ b/Tool/Robot/Protocol/PacketsReceived.py
@@ -1028,7 +1028,7 @@
     BackpackLV = 0    #(BYTE BackpackLV)//背包等级
     WarehouseLV = 0    #(BYTE WarehouseLV)//仓库等级
     TeamID = 0    #(DWORD TeamID)//队伍ID
-    UseGoldType = 0    #(BYTE UseGoldType)//默认用金子/金票		类型为MoneyType
+    UseGoldType = 0    #(BYTE UseGoldType)//默认用金子/金票        类型为MoneyType
     UseSilverType = 0    #(BYTE UseSilverType)//默认用的银子/银票
     AttackMode = 0    #(BYTE AttackMode)//攻击模式
     LastWeekOnlineTime = 0    #(DWORD LastWeekOnlineTime)//上周在线时间
@@ -5889,7 +5889,7 @@
     _fields_ = [
                   ("Cmd", c_ubyte),
                   ("SubCmd", c_ubyte),
-                  ("StartYear", c_ushort),    #年,	如果填写0, 就隐藏此窗口
+                  ("StartYear", c_ushort),    #年,    如果填写0, 就隐藏此窗口
                   ("StartMonth", c_ushort),    #月
                   ("StartDate", c_ubyte),    #日
                   ("EndYear", c_ushort),    
@@ -6021,7 +6021,7 @@
     PlayerID = 0    #(DWORD PlayerID)
     FamilyNameLen = 0    #(BYTE FamilyNameLen)
     FamilyName = ""    #(String FamilyName)//size = FamilyNameLen
-    FamilyMemberLV = 0    #(BYTE FamilyMemberLV)//玩家在家族中的职位	
+    FamilyMemberLV = 0    #(BYTE FamilyMemberLV)//玩家在家族中的职位    
     data = None
 
     def __init__(self):
@@ -8023,7 +8023,7 @@
 class  tagFBEventList(Structure):
     Head = tagHead()
     EventCount = 0    #(BYTE EventCount)//副本活动数
-    EventList = list()    #(vector<tagFBEventDetail> EventList)//副本活动列表	
+    EventList = list()    #(vector<tagFBEventDetail> EventList)//副本活动列表    
     data = None
 
     def __init__(self):
@@ -8662,7 +8662,7 @@
     TeamID = 0    #(DWORD TeamID)//组队ID
     HP = 0    #(DWORD HP)
     MaxHP = 0    #(DWORD MaxHP)
-    PlayerState = 0    #(BYTE PlayerState)//TClientPlayerState	玩家状态 打坐/马上/人镖合一
+    PlayerState = 0    #(BYTE PlayerState)//TClientPlayerState    玩家状态 打坐/马上/人镖合一
     IsHideMask = 0    #(BYTE IsHideMask)
     Country = 0    #(BYTE Country)//玩家国家
     FamilyID = 0    #(DWORD FamilyID)//家族ID
@@ -9724,6 +9724,7 @@
                   ("PlayerID", c_int),    # 主人ID
                   ("PosX", c_int),    # X坐标
                   ("PosY", c_int),    # Y坐标
+                  ("Rank", c_ubyte),    #阶段
                   ]
 
     def __init__(self):
@@ -9745,6 +9746,7 @@
         self.PlayerID = 0
         self.PosX = 0
         self.PosY = 0
+        self.Rank = 0
         return
 
     def GetLength(self):
@@ -9761,7 +9763,8 @@
                                 NPCID:%d,
                                 PlayerID:%d,
                                 PosX:%d,
-                                PosY:%d
+                                PosY:%d,
+                                Rank:%d
                                 '''\
                                 %(
                                 self.Cmd,
@@ -9770,7 +9773,8 @@
                                 self.NPCID,
                                 self.PlayerID,
                                 self.PosX,
-                                self.PosY
+                                self.PosY,
+                                self.Rank
                                 )
         return DumpString
 
@@ -10070,7 +10074,7 @@
                   ("Cmd", c_ubyte),
                   ("SubCmd", c_ubyte),
                   ("PlayerID", c_int),    
-                  ("FamilyMemberLV", c_ubyte),    #玩家在家族中的职位	
+                  ("FamilyMemberLV", c_ubyte),    #玩家在家族中的职位    
                   ]
 
     def __init__(self):
@@ -10118,7 +10122,7 @@
 
 
 #------------------------------------------------------
-#04 36	周围玩家家族名刷新#tagPlayerFamilyNameRefresh
+#04 36    周围玩家家族名刷新#tagPlayerFamilyNameRefresh
 
 class  tagPlayerFamilyNameRefresh(Structure):
     Head = tagHead()
@@ -10196,7 +10200,7 @@
     PlayerID = 0    #(DWORD PlayerID)
     FamilyNameLen = 0    #(BYTE FamilyNameLen)
     FamilyName = ""    #(String FamilyName)//size = FamilyNameLen
-    FamilyMemberLV = 0    #(BYTE FamilyMemberLV)//玩家在家族中的职位	
+    FamilyMemberLV = 0    #(BYTE FamilyMemberLV)//玩家在家族中的职位    
     data = None
 
     def __init__(self):
@@ -10826,7 +10830,7 @@
     MaxHP = 0    #(DWORD MaxHP)
     MaxHPEx = 0    #(DWORD MaxHPEx)
     Speed = 0    #(WORD Speed)
-    LV = 0    #(BYTE LV)
+    LV = 0    #(WORD LV)
     OwnerNameLen = 0    #(BYTE OwnerNameLen)
     OwnerName = ""    #(String OwnerName)//size = OwnerNameLen
     data = None
@@ -10851,7 +10855,7 @@
         self.MaxHP,_pos = CommFunc.ReadDWORD(_lpData, _pos)
         self.MaxHPEx,_pos = CommFunc.ReadDWORD(_lpData, _pos)
         self.Speed,_pos = CommFunc.ReadWORD(_lpData, _pos)
-        self.LV,_pos = CommFunc.ReadBYTE(_lpData, _pos)
+        self.LV,_pos = CommFunc.ReadWORD(_lpData, _pos)
         self.OwnerNameLen,_pos = CommFunc.ReadBYTE(_lpData, _pos)
         self.OwnerName,_pos = CommFunc.ReadString(_lpData, _pos,self.OwnerNameLen)
         return _pos
@@ -10891,7 +10895,7 @@
         length += 4
         length += 4
         length += 2
-        length += 1
+        length += 2
         length += 1
         length += len(self.OwnerName)
 
@@ -10911,7 +10915,7 @@
         data = CommFunc.WriteDWORD(data, self.MaxHP)
         data = CommFunc.WriteDWORD(data, self.MaxHPEx)
         data = CommFunc.WriteWORD(data, self.Speed)
-        data = CommFunc.WriteBYTE(data, self.LV)
+        data = CommFunc.WriteWORD(data, self.LV)
         data = CommFunc.WriteBYTE(data, self.OwnerNameLen)
         data = CommFunc.WriteString(data, self.OwnerNameLen, self.OwnerName)
         return data
@@ -12943,10 +12947,12 @@
     ObjType = 0    #(BYTE ObjType)
     BattleType = 0    #(BYTE BattleType)//物理/魔法
     SkillID = 0    #(WORD SkillID)
+    SkillIDEx = 0    #(WORD SkillIDEx)
     PosX = 0    #(WORD PosX)
     PosY = 0    #(WORD PosY)
     HurtCount = 0    #(WORD HurtCount)//伤害数目
     HurtList = list()    #(vector<tagSkillPosHurtObj> HurtList)//size = HurtCount
+    SkillElementID = 0    #(WORD SkillElementID)//专精技能ID    
     data = None
 
     def __init__(self):
@@ -12962,6 +12968,7 @@
         self.ObjType,_pos = CommFunc.ReadBYTE(_lpData, _pos)
         self.BattleType,_pos = CommFunc.ReadBYTE(_lpData, _pos)
         self.SkillID,_pos = CommFunc.ReadWORD(_lpData, _pos)
+        self.SkillIDEx,_pos = CommFunc.ReadWORD(_lpData, _pos)
         self.PosX,_pos = CommFunc.ReadWORD(_lpData, _pos)
         self.PosY,_pos = CommFunc.ReadWORD(_lpData, _pos)
         self.HurtCount,_pos = CommFunc.ReadWORD(_lpData, _pos)
@@ -12969,6 +12976,7 @@
             temHurtList = tagSkillPosHurtObj()
             _pos = temHurtList.ReadData(_lpData, _pos)
             self.HurtList.append(temHurtList)
+        self.SkillElementID,_pos = CommFunc.ReadWORD(_lpData, _pos)
         return _pos
 
     def Clear(self):
@@ -12980,10 +12988,12 @@
         self.ObjType = 0
         self.BattleType = 0
         self.SkillID = 0
+        self.SkillIDEx = 0
         self.PosX = 0
         self.PosY = 0
         self.HurtCount = 0
         self.HurtList = list()
+        self.SkillElementID = 0
         return
 
     def GetLength(self):
@@ -12996,8 +13006,10 @@
         length += 2
         length += 2
         length += 2
+        length += 2
         for i in range(self.HurtCount):
             length += self.HurtList[i].GetLength()
+        length += 2
 
         return length
 
@@ -13008,11 +13020,13 @@
         data = CommFunc.WriteBYTE(data, self.ObjType)
         data = CommFunc.WriteBYTE(data, self.BattleType)
         data = CommFunc.WriteWORD(data, self.SkillID)
+        data = CommFunc.WriteWORD(data, self.SkillIDEx)
         data = CommFunc.WriteWORD(data, self.PosX)
         data = CommFunc.WriteWORD(data, self.PosY)
         data = CommFunc.WriteWORD(data, self.HurtCount)
         for i in range(self.HurtCount):
             data = CommFunc.WriteString(data, self.HurtList[i].GetLength(), self.HurtList[i].GetBuffer())
+        data = CommFunc.WriteWORD(data, self.SkillElementID)
         return data
 
     def OutputString(self):
@@ -13022,10 +13036,12 @@
                                 ObjType:%d,
                                 BattleType:%d,
                                 SkillID:%d,
+                                SkillIDEx:%d,
                                 PosX:%d,
                                 PosY:%d,
                                 HurtCount:%d,
-                                HurtList:%s
+                                HurtList:%s,
+                                SkillElementID:%d
                                 '''\
                                 %(
                                 self.Head.OutputString(),
@@ -13033,10 +13049,12 @@
                                 self.ObjType,
                                 self.BattleType,
                                 self.SkillID,
+                                self.SkillIDEx,
                                 self.PosX,
                                 self.PosY,
                                 self.HurtCount,
-                                "..."
+                                "...",
+                                self.SkillElementID
                                 )
         return DumpString
 
@@ -13540,7 +13558,7 @@
     ByObjID = 0    #(DWORD ByObjID)//物品原本在哪个对象身上
     DropTick = 0    #(DWORD DropTick)//物品掉落Tick
     UserDataLen = 0    #(WORD UserDataLen)//附加属性长度
-    UserData = ""    #(String UserData)//附加属性  size = UserDataLen	
+    UserData = ""    #(String UserData)//附加属性  size = UserDataLen    
     data = None
 
     def __init__(self):
@@ -13958,7 +13976,7 @@
     _fields_ = [
                   ("Cmd", c_ubyte),
                   ("SubCmd", c_ubyte),
-                  ("MakeType", c_ubyte),    #类型		TMakeItemType
+                  ("MakeType", c_ubyte),    #类型        TMakeItemType
                   ("Result", c_ubyte),    #是否成功
                   ]
 
@@ -15046,7 +15064,7 @@
                   ("Cmd", c_ubyte),
                   ("SubCmd", c_ubyte),
                   ("PlayerID", c_int),    
-                  ("PrepareState", c_ubyte),    #准备类型,	TPreparingState
+                  ("PrepareState", c_ubyte),    #准备类型,    TPreparingState
                   ("MaxTime", c_int),    #最大时间
                   ("PrepareID", c_int),    #准备ID, 如果是技能, 则是技能ID
                   ]
@@ -20565,7 +20583,7 @@
     FamilyName = ""    #(String FamilyName)//size = FamilyNameLen
     Job = 0    #(BYTE Job)//职业
     FamilyActiveValue = 0    #(DWORD FamilyActiveValue)//本周家族活跃度
-    LastWeekFamilyActiveValue = 0    #(DWORD LastWeekFamilyActiveValue)//上周家族活跃度	
+    LastWeekFamilyActiveValue = 0    #(DWORD LastWeekFamilyActiveValue)//上周家族活跃度    
     OfficialRank = 0    #(BYTE OfficialRank)//境界
     Exattr1 = 0    #(DWORD Exattr1)//扩展属性
     Exattr2 = 0    #(DWORD Exattr2)//扩展属性
@@ -20729,7 +20747,7 @@
     Point = 0    #(DWORD Point)//家族战积分
     Broadcast = ""    #(String Broadcast)//size = BroadcastLen
     FamilyActiveValue = 0    #(DWORD FamilyActiveValue)//本周家族活跃度
-    LastWeekFamilyActiveValue = 0    #(DWORD LastWeekFamilyActiveValue)//上周家族活跃度	
+    LastWeekFamilyActiveValue = 0    #(DWORD LastWeekFamilyActiveValue)//上周家族活跃度    
     Member = list()    #(vector<tagRoleFamilyMember> Member)//size = MemberCount
     Extra1 = 0    #(DWORD Extra1)//附加字段1
     Extra2 = 0    #(DWORD Extra2)//附加字段2
@@ -21906,7 +21924,7 @@
 class  tagFamilyTechInfo(Structure):
     Head = tagHead()
     TechCount = 0    #(WORD TechCount)//帮会科技数量 
-    TechInfoList = list()    #(vector<tagTechInfo> TechInfoList)//科技信息列表 	
+    TechInfoList = list()    #(vector<tagTechInfo> TechInfoList)//科技信息列表     
     data = None
 
     def __init__(self):
@@ -22237,7 +22255,7 @@
 #10 01 排行榜信息#tagBillboard 对性能影响比较大, 需要限制tick
 
 class  tagBillboardList(Structure):
-    ID = 0    #(DWORD ID)// 不一定都能用上,目前用于保存宠物NPCID	
+    ID = 0    #(DWORD ID)// 不一定都能用上,目前用于保存宠物NPCID    
     Name1 = ""    #(char Name1[33])//名字1,用来显示排序对象名字 
     Name2 = ""    #(char Name2[33])//名字2
     Type2 = 0    #(BYTE Type2)//附加类型,用来表示排序对象的类型,比如,玩家所属职业门派,宠物类型等
@@ -23703,7 +23721,7 @@
     MakerNameLen = 0    #(BYTE MakerNameLen)//制造者名字
     MakerName = ""    #(String MakerName)//size = MakerNameLen
     UserDataLen = 0    #(DWORD UserDataLen)
-    UserData = ""    #(String UserData)//自定义数据	
+    UserData = ""    #(String UserData)//自定义数据    
     data = None
 
     def __init__(self):
@@ -24303,7 +24321,7 @@
                   ("SubCmd", c_ubyte),
                   ("Type", c_ubyte),    #答题类型
                   ("QuestionNO", c_ushort),    # 答题号
-                  ("FunctionNO", c_ubyte),    # 功能号	
+                  ("FunctionNO", c_ubyte),    # 功能号    
                   ("FunctionOpt1", c_ubyte),    #功能选项1
                   ("FunctionOpt2", c_ubyte),    #功能选项2
                   ("FunctionOpt3", c_ubyte),    #功能选项3
@@ -26992,8 +27010,8 @@
                   ("PlayerID", c_int),    #挂单玩家的id
                   ("FormID", c_int),    # 挂单ID
                   ("UnitPrice", c_int),    #该单购买元宝的银两单价(每组)
-                  ("LefGold", c_int),    #该单的剩余购买元宝组数	
-                  ("LeftTime", c_ushort),    #该单的剩余在架时间	
+                  ("LefGold", c_int),    #该单的剩余购买元宝组数    
+                  ("LeftTime", c_ushort),    #该单的剩余在架时间    
                   ]
 
     def __init__(self):
@@ -27127,7 +27145,7 @@
                   ("SubCmd", c_ubyte),
                   ("FormID", c_int),    # 挂单ID
                   ("UnitPrice", c_int),    #该单购买元宝的银两单价(每组)
-                  ("LefGold", c_int),    #该单的剩余购买元宝组数	
+                  ("LefGold", c_int),    #该单的剩余购买元宝组数    
                   ("LeftTime", c_ushort),    #该单的剩余在架时间
                   ]
 
@@ -27416,7 +27434,7 @@
     _fields_ = [
                   ("Cmd", c_ubyte),
                   ("SubCmd", c_ubyte),
-                  ("LabelID", c_int),    # 删除标签	
+                  ("LabelID", c_int),    # 删除标签    
                   ]
 
     def __init__(self):
@@ -28657,7 +28675,7 @@
 class  tagHightLadderTopPlayerList(Structure):
     Head = tagHead()
     Size = 0    #(BYTE Size)
-    PlayerList = list()    #(vector<tagHightLadderPlayerInfo> PlayerList)//玩家信息列表	
+    PlayerList = list()    #(vector<tagHightLadderPlayerInfo> PlayerList)//玩家信息列表    
     data = None
 
     def __init__(self):
@@ -28919,7 +28937,7 @@
 class  tagVsTeam(Structure):
     TeamIndex = 0    #(BYTE TeamIndex)// 竞技队Index
     MemberCount = 0    #(WORD MemberCount)// 成员人数
-    Members = list()    #(vector<tagVsMemberInfo> Members)// 成员列表	
+    Members = list()    #(vector<tagVsMemberInfo> Members)// 成员列表    
     data = None
 
     def __init__(self):
@@ -29046,7 +29064,7 @@
     Head = tagHead()
     MyOrder = 0    #(WORD MyOrder)//自身排名
     Size = 0    #(BYTE Size)
-    PlayerList = list()    #(vector<tagHightLadderPlayerInfo> PlayerList)//玩家信息列表	
+    PlayerList = list()    #(vector<tagHightLadderPlayerInfo> PlayerList)//玩家信息列表    
     data = None
 
     def __init__(self):
@@ -29219,7 +29237,7 @@
 
 class  tagBourseItem(Structure):
     ItemGUID = ""    #(char ItemGUID[40])
-    PlayerID = 0    #(DWORD PlayerID)//挂单玩家ID	
+    PlayerID = 0    #(DWORD PlayerID)//挂单玩家ID    
     ItemTypeID = 0    #(DWORD ItemTypeID)//物品ID
     PriceType = 0    #(BYTE PriceType)//出售价格类型
     PriceCount = 0    #(DWORD PriceCount)//出售价格
@@ -29606,4 +29624,4 @@
 
 
 m_NAtagGMCmdAnswer=tagGMCmdAnswer()
-ChNetPackDict[eval("0x%02x%02x"%(m_NAtagGMCmdAnswer.Head.Cmd,m_NAtagGMCmdAnswer.Head.SubCmd))] = m_NAtagGMCmdAnswer
+ChNetPackDict[eval("0x%02x%02x"%(m_NAtagGMCmdAnswer.Head.Cmd,m_NAtagGMCmdAnswer.Head.SubCmd))] = m_NAtagGMCmdAnswer
\ No newline at end of file

--
Gitblit v1.8.0