From 7b9354771ba6087012ca989f02d7bca345ed1764 Mon Sep 17 00:00:00 2001
From: hch <305670599@qq.com>
Date: 星期三, 26 十二月 2018 12:02:00 +0800
Subject: [PATCH] 860312 脱机工具封包补齐

---
 Tool/Robot/Protocol/PacketsReceived.py |  174 ++++++++++++++++++++++++++++++++++++++++++++++++++++++---
 1 files changed, 164 insertions(+), 10 deletions(-)

diff --git a/Tool/Robot/Protocol/PacketsReceived.py b/Tool/Robot/Protocol/PacketsReceived.py
index fe93a7f..d1edd16 100644
--- a/Tool/Robot/Protocol/PacketsReceived.py
+++ b/Tool/Robot/Protocol/PacketsReceived.py
@@ -983,7 +983,7 @@
     LV = 0    #(WORD LV)//等级
     LVEx = 0    #(WORD LVEx)//玩家等级副本,用于转生
     LV2 = 0    #(WORD LV2)//大师等级
-    ExpPoint = 0    #(WORD ExpPoint)//扩充经验点数
+    ExpPoint = 0    #(DWORD ExpPoint)//扩充经验点数
     TotalExp = 0    #(DWORD TotalExp)//总经验
     Family = 0    #(DWORD Family)//家族
     FamilyName = ""    #(char FamilyName[33])//家族名称
@@ -1062,6 +1062,12 @@
     OperateInfo = 0    #(DWORD OperateInfo)//玩家附加运营商信息
     Operate = ""    #(char Operate[15])//所属运营商平台名
     ServerID = 0    #(DWORD ServerID)//所属区服ID
+    ExAttr15 = 0    #(DWORD ExAttr15)//预留的扩展属性字段,用来存放项目特定的属性
+    ExAttr16 = 0    #(DWORD ExAttr16)//预留的扩展属性字段,用来存放项目特定的属性
+    ExAttr17 = 0    #(DWORD ExAttr17)//预留的扩展属性字段,用来存放项目特定的属性
+    ExAttr18 = 0    #(DWORD ExAttr18)//预留的扩展属性字段,用来存放项目特定的属性
+    ExAttr19 = 0    #(DWORD ExAttr19)//预留的扩展属性字段,用来存放项目特定的属性
+    ExAttr20 = 0    #(DWORD ExAttr20)//预留的扩展属性字段,用来存放项目特定的属性
     data = None
 
     def __init__(self):
@@ -1084,7 +1090,7 @@
         self.LV,_pos = CommFunc.ReadWORD(_lpData, _pos)
         self.LVEx,_pos = CommFunc.ReadWORD(_lpData, _pos)
         self.LV2,_pos = CommFunc.ReadWORD(_lpData, _pos)
-        self.ExpPoint,_pos = CommFunc.ReadWORD(_lpData, _pos)
+        self.ExpPoint,_pos = CommFunc.ReadDWORD(_lpData, _pos)
         self.TotalExp,_pos = CommFunc.ReadDWORD(_lpData, _pos)
         self.Family,_pos = CommFunc.ReadDWORD(_lpData, _pos)
         self.FamilyName,_pos = CommFunc.ReadString(_lpData, _pos,33)
@@ -1163,6 +1169,12 @@
         self.OperateInfo,_pos = CommFunc.ReadDWORD(_lpData, _pos)
         self.Operate,_pos = CommFunc.ReadString(_lpData, _pos,15)
         self.ServerID,_pos = CommFunc.ReadDWORD(_lpData, _pos)
+        self.ExAttr15,_pos = CommFunc.ReadDWORD(_lpData, _pos)
+        self.ExAttr16,_pos = CommFunc.ReadDWORD(_lpData, _pos)
+        self.ExAttr17,_pos = CommFunc.ReadDWORD(_lpData, _pos)
+        self.ExAttr18,_pos = CommFunc.ReadDWORD(_lpData, _pos)
+        self.ExAttr19,_pos = CommFunc.ReadDWORD(_lpData, _pos)
+        self.ExAttr20,_pos = CommFunc.ReadDWORD(_lpData, _pos)
         return _pos
 
     def Clear(self):
@@ -1260,6 +1272,12 @@
         self.OperateInfo = 0
         self.Operate = ""
         self.ServerID = 0
+        self.ExAttr15 = 0
+        self.ExAttr16 = 0
+        self.ExAttr17 = 0
+        self.ExAttr18 = 0
+        self.ExAttr19 = 0
+        self.ExAttr20 = 0
         return
 
     def GetLength(self):
@@ -1276,7 +1294,7 @@
         length += 2
         length += 2
         length += 2
-        length += 2
+        length += 4
         length += 4
         length += 4
         length += 33
@@ -1355,6 +1373,12 @@
         length += 4
         length += 15
         length += 4
+        length += 4
+        length += 4
+        length += 4
+        length += 4
+        length += 4
+        length += 4
 
         return length
 
@@ -1372,7 +1396,7 @@
         data = CommFunc.WriteWORD(data, self.LV)
         data = CommFunc.WriteWORD(data, self.LVEx)
         data = CommFunc.WriteWORD(data, self.LV2)
-        data = CommFunc.WriteWORD(data, self.ExpPoint)
+        data = CommFunc.WriteDWORD(data, self.ExpPoint)
         data = CommFunc.WriteDWORD(data, self.TotalExp)
         data = CommFunc.WriteDWORD(data, self.Family)
         data = CommFunc.WriteString(data, 33, self.FamilyName)
@@ -1451,6 +1475,12 @@
         data = CommFunc.WriteDWORD(data, self.OperateInfo)
         data = CommFunc.WriteString(data, 15, self.Operate)
         data = CommFunc.WriteDWORD(data, self.ServerID)
+        data = CommFunc.WriteDWORD(data, self.ExAttr15)
+        data = CommFunc.WriteDWORD(data, self.ExAttr16)
+        data = CommFunc.WriteDWORD(data, self.ExAttr17)
+        data = CommFunc.WriteDWORD(data, self.ExAttr18)
+        data = CommFunc.WriteDWORD(data, self.ExAttr19)
+        data = CommFunc.WriteDWORD(data, self.ExAttr20)
         return data
 
     def OutputString(self):
@@ -1545,7 +1575,13 @@
                                 ExAttr14:%d,
                                 OperateInfo:%d,
                                 Operate:%s,
-                                ServerID:%d
+                                ServerID:%d,
+                                ExAttr15:%d,
+                                ExAttr16:%d,
+                                ExAttr17:%d,
+                                ExAttr18:%d,
+                                ExAttr19:%d,
+                                ExAttr20:%d
                                 '''\
                                 %(
                                 self.Head.OutputString(),
@@ -1638,7 +1674,13 @@
                                 self.ExAttr14,
                                 self.OperateInfo,
                                 self.Operate,
-                                self.ServerID
+                                self.ServerID,
+                                self.ExAttr15,
+                                self.ExAttr16,
+                                self.ExAttr17,
+                                self.ExAttr18,
+                                self.ExAttr19,
+                                self.ExAttr20
                                 )
         return DumpString
 
@@ -7095,6 +7137,16 @@
     EquipCount = 0    #(BYTE EquipCount)
     EquipInfo = list()    #(vector<tagLoginInfoEquip> EquipInfo)//size = EquipCount
     EquipShowSwitch = 0    #(DWORD EquipShowSwitch)//玩家装备显示开关
+    ExAttr15 = 0    #(DWORD ExAttr15)//预留的扩展属性字段,用来存放项目特定的属性
+    ExAttr16 = 0    #(DWORD ExAttr16)//预留的扩展属性字段,用来存放项目特定的属性
+    ExAttr17 = 0    #(DWORD ExAttr17)//预留的扩展属性字段,用来存放项目特定的属性
+    ExAttr18 = 0    #(DWORD ExAttr18)//预留的扩展属性字段,用来存放项目特定的属性
+    ExAttr19 = 0    #(DWORD ExAttr19)//预留的扩展属性字段,用来存放项目特定的属性
+    ExAttr20 = 0    #(DWORD ExAttr20)//预留的扩展属性字段,用来存放项目特定的属性
+    IPLen = 0    #(BYTE IPLen)
+    IP = ""    #(String IP)// 跨服IP
+    Port = 0    #(WORD Port)// 跨服端口
+    CrossState = 0    #(BYTE CrossState)// 跨服状态0-非跨服状态,1-跨服状态,2-跨服状态异常
     data = None
 
     def __init__(self):
@@ -7118,6 +7170,16 @@
             _pos = temEquipInfo.ReadData(_lpData, _pos)
             self.EquipInfo.append(temEquipInfo)
         self.EquipShowSwitch,_pos = CommFunc.ReadDWORD(_lpData, _pos)
+        self.ExAttr15,_pos = CommFunc.ReadDWORD(_lpData, _pos)
+        self.ExAttr16,_pos = CommFunc.ReadDWORD(_lpData, _pos)
+        self.ExAttr17,_pos = CommFunc.ReadDWORD(_lpData, _pos)
+        self.ExAttr18,_pos = CommFunc.ReadDWORD(_lpData, _pos)
+        self.ExAttr19,_pos = CommFunc.ReadDWORD(_lpData, _pos)
+        self.ExAttr20,_pos = CommFunc.ReadDWORD(_lpData, _pos)
+        self.IPLen,_pos = CommFunc.ReadBYTE(_lpData, _pos)
+        self.IP,_pos = CommFunc.ReadString(_lpData, _pos,self.IPLen)
+        self.Port,_pos = CommFunc.ReadWORD(_lpData, _pos)
+        self.CrossState,_pos = CommFunc.ReadBYTE(_lpData, _pos)
         return _pos
 
     def Clear(self):
@@ -7134,6 +7196,16 @@
         self.EquipCount = 0
         self.EquipInfo = list()
         self.EquipShowSwitch = 0
+        self.ExAttr15 = 0
+        self.ExAttr16 = 0
+        self.ExAttr17 = 0
+        self.ExAttr18 = 0
+        self.ExAttr19 = 0
+        self.ExAttr20 = 0
+        self.IPLen = 0
+        self.IP = ""
+        self.Port = 0
+        self.CrossState = 0
         return
 
     def GetLength(self):
@@ -7149,6 +7221,16 @@
         for i in range(self.EquipCount):
             length += self.EquipInfo[i].GetLength()
         length += 4
+        length += 4
+        length += 4
+        length += 4
+        length += 4
+        length += 4
+        length += 4
+        length += 1
+        length += len(self.IP)
+        length += 2
+        length += 1
 
         return length
 
@@ -7165,6 +7247,16 @@
         for i in range(self.EquipCount):
             data = CommFunc.WriteString(data, self.EquipInfo[i].GetLength(), self.EquipInfo[i].GetBuffer())
         data = CommFunc.WriteDWORD(data, self.EquipShowSwitch)
+        data = CommFunc.WriteDWORD(data, self.ExAttr15)
+        data = CommFunc.WriteDWORD(data, self.ExAttr16)
+        data = CommFunc.WriteDWORD(data, self.ExAttr17)
+        data = CommFunc.WriteDWORD(data, self.ExAttr18)
+        data = CommFunc.WriteDWORD(data, self.ExAttr19)
+        data = CommFunc.WriteDWORD(data, self.ExAttr20)
+        data = CommFunc.WriteBYTE(data, self.IPLen)
+        data = CommFunc.WriteString(data, self.IPLen, self.IP)
+        data = CommFunc.WriteWORD(data, self.Port)
+        data = CommFunc.WriteBYTE(data, self.CrossState)
         return data
 
     def OutputString(self):
@@ -7178,7 +7270,17 @@
                                 HavePswLV2:%d,
                                 EquipCount:%d,
                                 EquipInfo:%s,
-                                EquipShowSwitch:%d
+                                EquipShowSwitch:%d,
+                                ExAttr15:%d,
+                                ExAttr16:%d,
+                                ExAttr17:%d,
+                                ExAttr18:%d,
+                                ExAttr19:%d,
+                                ExAttr20:%d,
+                                IPLen:%d,
+                                IP:%s,
+                                Port:%d,
+                                CrossState:%d
                                 '''\
                                 %(
                                 self.Head.OutputString(),
@@ -7190,7 +7292,17 @@
                                 self.HavePswLV2,
                                 self.EquipCount,
                                 "...",
-                                self.EquipShowSwitch
+                                self.EquipShowSwitch,
+                                self.ExAttr15,
+                                self.ExAttr16,
+                                self.ExAttr17,
+                                self.ExAttr18,
+                                self.ExAttr19,
+                                self.ExAttr20,
+                                self.IPLen,
+                                self.IP,
+                                self.Port,
+                                self.CrossState
                                 )
         return DumpString
 
@@ -8639,6 +8751,12 @@
     ExAttr5 = 0    #(DWORD ExAttr5)//预留的扩展属性字段,用来存放项目特定的属性
     ServerID = 0    #(DWORD ServerID)//所属区服ID
     State = 0    #(BYTE State)// 0.正常在线1.脱机挂在线 2脱机挂死亡
+    ExAttr15 = 0    #(DWORD ExAttr15)//预留的扩展属性字段,用来存放项目特定的属性
+    ExAttr16 = 0    #(DWORD ExAttr16)//预留的扩展属性字段,用来存放项目特定的属性
+    ExAttr17 = 0    #(DWORD ExAttr17)//预留的扩展属性字段,用来存放项目特定的属性
+    ExAttr18 = 0    #(DWORD ExAttr18)//预留的扩展属性字段,用来存放项目特定的属性
+    ExAttr19 = 0    #(DWORD ExAttr19)//预留的扩展属性字段,用来存放项目特定的属性
+    ExAttr20 = 0    #(DWORD ExAttr20)//预留的扩展属性字段,用来存放项目特定的属性
     data = None
 
     def __init__(self):
@@ -8696,6 +8814,12 @@
         self.ExAttr5,_pos = CommFunc.ReadDWORD(_lpData, _pos)
         self.ServerID,_pos = CommFunc.ReadDWORD(_lpData, _pos)
         self.State,_pos = CommFunc.ReadBYTE(_lpData, _pos)
+        self.ExAttr15,_pos = CommFunc.ReadDWORD(_lpData, _pos)
+        self.ExAttr16,_pos = CommFunc.ReadDWORD(_lpData, _pos)
+        self.ExAttr17,_pos = CommFunc.ReadDWORD(_lpData, _pos)
+        self.ExAttr18,_pos = CommFunc.ReadDWORD(_lpData, _pos)
+        self.ExAttr19,_pos = CommFunc.ReadDWORD(_lpData, _pos)
+        self.ExAttr20,_pos = CommFunc.ReadDWORD(_lpData, _pos)
         return _pos
 
     def Clear(self):
@@ -8743,6 +8867,12 @@
         self.ExAttr5 = 0
         self.ServerID = 0
         self.State = 0
+        self.ExAttr15 = 0
+        self.ExAttr16 = 0
+        self.ExAttr17 = 0
+        self.ExAttr18 = 0
+        self.ExAttr19 = 0
+        self.ExAttr20 = 0
         return
 
     def GetLength(self):
@@ -8790,6 +8920,12 @@
         length += 4
         length += 4
         length += 1
+        length += 4
+        length += 4
+        length += 4
+        length += 4
+        length += 4
+        length += 4
 
         return length
 
@@ -8838,6 +8974,12 @@
         data = CommFunc.WriteDWORD(data, self.ExAttr5)
         data = CommFunc.WriteDWORD(data, self.ServerID)
         data = CommFunc.WriteBYTE(data, self.State)
+        data = CommFunc.WriteDWORD(data, self.ExAttr15)
+        data = CommFunc.WriteDWORD(data, self.ExAttr16)
+        data = CommFunc.WriteDWORD(data, self.ExAttr17)
+        data = CommFunc.WriteDWORD(data, self.ExAttr18)
+        data = CommFunc.WriteDWORD(data, self.ExAttr19)
+        data = CommFunc.WriteDWORD(data, self.ExAttr20)
         return data
 
     def OutputString(self):
@@ -8882,7 +9024,13 @@
                                 ExAttr4:%d,
                                 ExAttr5:%d,
                                 ServerID:%d,
-                                State:%d
+                                State:%d,
+                                ExAttr15:%d,
+                                ExAttr16:%d,
+                                ExAttr17:%d,
+                                ExAttr18:%d,
+                                ExAttr19:%d,
+                                ExAttr20:%d
                                 '''\
                                 %(
                                 self.Head.OutputString(),
@@ -8925,7 +9073,13 @@
                                 self.ExAttr4,
                                 self.ExAttr5,
                                 self.ServerID,
-                                self.State
+                                self.State,
+                                self.ExAttr15,
+                                self.ExAttr16,
+                                self.ExAttr17,
+                                self.ExAttr18,
+                                self.ExAttr19,
+                                self.ExAttr20
                                 )
         return DumpString
 

--
Gitblit v1.8.0