From 19e0109ec1e936204cb85362d2e3f705b8b9554c Mon Sep 17 00:00:00 2001
From: hxp <ale99527@vip.qq.com>
Date: 星期四, 03 十二月 2020 11:19:38 +0800
Subject: [PATCH] 8585 【主干】【BT】【长尾】【后端】竞技场(封包)
---
ServerPython/CoreServerGroup/GameServer/Script/ChMapToGamePyPack.py | 695 ++++++++++++++++++++-------------------------------------
1 files changed, 240 insertions(+), 455 deletions(-)
diff --git a/ServerPython/CoreServerGroup/GameServer/Script/ChMapToGamePyPack.py b/ServerPython/CoreServerGroup/GameServer/Script/ChMapToGamePyPack.py
index 741718a..a6c89e4 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,42 @@
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)
data = None
def __init__(self):
@@ -686,14 +718,42 @@
_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)
return _pos
def Clear(self):
@@ -703,14 +763,42 @@
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 = ""
return
def GetLength(self):
@@ -718,14 +806,42 @@
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)
return length
@@ -734,14 +850,42 @@
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)
return data
def OutputString(self):
@@ -749,27 +893,83 @@
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
'''\
%(
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
)
return DumpString
@@ -844,421 +1044,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