From e7e1e93c2d2237f5fdcb94e4053e7c7584dbc7bf Mon Sep 17 00:00:00 2001
From: xdh <xiefantasy@qq.com>
Date: 星期一, 14 一月 2019 20:12:02 +0800
Subject: [PATCH] 768 【后端】【1.5】新增8-14天活动功能(提前显示)
---
Tool/Robot/Protocol/PacketsReceived.py | 280 ++++++++++++++++++++++++++++++++++++++++++++++++++++---
1 files changed, 262 insertions(+), 18 deletions(-)
diff --git a/Tool/Robot/Protocol/PacketsReceived.py b/Tool/Robot/Protocol/PacketsReceived.py
index c927066..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
@@ -2549,6 +2591,70 @@
m_NAtagCheckSecurityCardResult=tagCheckSecurityCardResult()
ChNetPackDict[eval("0x%02x%02x"%(m_NAtagCheckSecurityCardResult.Cmd,m_NAtagCheckSecurityCardResult.SubCmd))] = m_NAtagCheckSecurityCardResult
+
+
+#------------------------------------------------------
+#01 32 创角成功 #tagCreateRoleSucess
+
+class tagCreateRoleSucess(Structure):
+ Head = tagHead()
+ PlayerID = 0 #(DWORD PlayerID)
+ PlayerName = "" #(char PlayerName[33])
+ data = None
+
+ def __init__(self):
+ self.Clear()
+ self.Head.Cmd = 0x01
+ self.Head.SubCmd = 0x32
+ 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)
+ return _pos
+
+ def Clear(self):
+ self.Head = tagHead()
+ self.Head.Clear()
+ self.Head.Cmd = 0x01
+ self.Head.SubCmd = 0x32
+ self.PlayerID = 0
+ self.PlayerName = ""
+ return
+
+ def GetLength(self):
+ length = 0
+ length += self.Head.GetLength()
+ length += 4
+ length += 33
+
+ 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)
+ return data
+
+ def OutputString(self):
+ DumpString = '''
+ Head:%s,
+ PlayerID:%d,
+ PlayerName:%s
+ '''\
+ %(
+ self.Head.OutputString(),
+ self.PlayerID,
+ self.PlayerName
+ )
+ return DumpString
+
+
+m_NAtagCreateRoleSucess=tagCreateRoleSucess()
+ChNetPackDict[eval("0x%02x%02x"%(m_NAtagCreateRoleSucess.Head.Cmd,m_NAtagCreateRoleSucess.Head.SubCmd))] = m_NAtagCreateRoleSucess
#------------------------------------------------------
@@ -6543,6 +6649,7 @@
GradID = 0 #(DWORD GradID)//头衔ID
State = 0 #(BYTE State)//装备和使用状态 按位判定,第一位0未装备1已装备 第二位0未使用 1使用
CreateTime = "" #(char CreateTime[30])//获得时间
+ ExpireTime = 0 #(DWORD ExpireTime)// 持续时间,0为配表固定时间
data = None
def __init__(self):
@@ -6554,12 +6661,14 @@
self.GradID,_pos = CommFunc.ReadDWORD(_lpData, _pos)
self.State,_pos = CommFunc.ReadBYTE(_lpData, _pos)
self.CreateTime,_pos = CommFunc.ReadString(_lpData, _pos,30)
+ self.ExpireTime,_pos = CommFunc.ReadDWORD(_lpData, _pos)
return _pos
def Clear(self):
self.GradID = 0
self.State = 0
self.CreateTime = ""
+ self.ExpireTime = 0
return
def GetLength(self):
@@ -6567,6 +6676,7 @@
length += 4
length += 1
length += 30
+ length += 4
return length
@@ -6575,18 +6685,21 @@
data = CommFunc.WriteDWORD(data, self.GradID)
data = CommFunc.WriteBYTE(data, self.State)
data = CommFunc.WriteString(data, 30, self.CreateTime)
+ data = CommFunc.WriteDWORD(data, self.ExpireTime)
return data
def OutputString(self):
DumpString = '''
GradID:%d,
State:%d,
- CreateTime:%s
+ CreateTime:%s,
+ ExpireTime:%d
'''\
%(
self.GradID,
self.State,
- self.CreateTime
+ self.CreateTime,
+ self.ExpireTime
)
return DumpString
@@ -6664,6 +6777,7 @@
Head = tagHead()
GradID = 0 #(DWORD GradID)//头衔ID
CreateTime = "" #(char CreateTime[30])//获得时间
+ ExpireTime = 0 #(DWORD ExpireTime)// 持续时间,0为配表固定时间
data = None
def __init__(self):
@@ -6677,6 +6791,7 @@
_pos = self.Head.ReadData(_lpData, _pos)
self.GradID,_pos = CommFunc.ReadDWORD(_lpData, _pos)
self.CreateTime,_pos = CommFunc.ReadString(_lpData, _pos,30)
+ self.ExpireTime,_pos = CommFunc.ReadDWORD(_lpData, _pos)
return _pos
def Clear(self):
@@ -6686,6 +6801,7 @@
self.Head.SubCmd = 0x36
self.GradID = 0
self.CreateTime = ""
+ self.ExpireTime = 0
return
def GetLength(self):
@@ -6693,6 +6809,7 @@
length += self.Head.GetLength()
length += 4
length += 30
+ length += 4
return length
@@ -6701,18 +6818,21 @@
data = CommFunc.WriteString(data, self.Head.GetLength(), self.Head.GetBuffer())
data = CommFunc.WriteDWORD(data, self.GradID)
data = CommFunc.WriteString(data, 30, self.CreateTime)
+ data = CommFunc.WriteDWORD(data, self.ExpireTime)
return data
def OutputString(self):
DumpString = '''
Head:%s,
GradID:%d,
- CreateTime:%s
+ CreateTime:%s,
+ ExpireTime:%d
'''\
%(
self.Head.OutputString(),
self.GradID,
- self.CreateTime
+ self.CreateTime,
+ self.ExpireTime
)
return DumpString
@@ -7017,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):
@@ -7040,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):
@@ -7056,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):
@@ -7071,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
@@ -7087,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):
@@ -7100,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(),
@@ -7112,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
@@ -8561,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):
@@ -8618,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):
@@ -8665,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):
@@ -8712,6 +8920,12 @@
length += 4
length += 4
length += 1
+ length += 4
+ length += 4
+ length += 4
+ length += 4
+ length += 4
+ length += 4
return length
@@ -8760,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):
@@ -8804,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(),
@@ -8847,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
@@ -9485,6 +9717,7 @@
("ObjType", c_ubyte), #对象类型
("PosX", c_ushort),
("PosY", c_ushort),
+ ("Reason", c_int), # 0为游戏通用,其他未决定的为技能ID
]
def __init__(self):
@@ -9505,6 +9738,7 @@
self.ObjType = 0
self.PosX = 0
self.PosY = 0
+ self.Reason = 0
return
def GetLength(self):
@@ -9520,7 +9754,8 @@
ObjID:%d,
ObjType:%d,
PosX:%d,
- PosY:%d
+ PosY:%d,
+ Reason:%d
'''\
%(
self.Cmd,
@@ -9528,7 +9763,8 @@
self.ObjID,
self.ObjType,
self.PosX,
- self.PosY
+ self.PosY,
+ self.Reason
)
return DumpString
@@ -12424,6 +12660,8 @@
("Cmd", c_ubyte),
("SubCmd", c_ubyte),
("PlayerID", c_int),
+ ("KillerID", c_int),
+ ("KillerType", c_ubyte),
]
def __init__(self):
@@ -12441,6 +12679,8 @@
self.Cmd = 0x06
self.SubCmd = 0x09
self.PlayerID = 0
+ self.KillerID = 0
+ self.KillerType = 0
return
def GetLength(self):
@@ -12453,12 +12693,16 @@
DumpString = '''//06 09 玩家死亡//tagPlayerDie:
Cmd:%s,
SubCmd:%s,
- PlayerID:%d
+ PlayerID:%d,
+ KillerID:%d,
+ KillerType:%d
'''\
%(
self.Cmd,
self.SubCmd,
- self.PlayerID
+ self.PlayerID,
+ self.KillerID,
+ self.KillerType
)
return DumpString
--
Gitblit v1.8.0