From 89cd1373014cea5337624c82d25fa6f84c7fe7c7 Mon Sep 17 00:00:00 2001
From: xdh <xiefantasy@qq.com>
Date: 星期四, 25 四月 2019 17:38:48 +0800
Subject: [PATCH] 6607 【2.0】【后端】技能升级功能改版
---
ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/ChMapToGamePyPack.py | 426 +----------------------------------------------------
1 files changed, 9 insertions(+), 417 deletions(-)
diff --git a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/ChMapToGamePyPack.py b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/ChMapToGamePyPack.py
index 7e666f7..2a4c50f 100644
--- a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/ChMapToGamePyPack.py
+++ b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/ChMapToGamePyPack.py
@@ -672,6 +672,7 @@
PlusDataSize = 0 #(DWORD PlusDataSize)
PlusData = "" #(String PlusData)//扩展记录
IsLogouting = 0 #(BYTE IsLogouting)//本次是否为下线同步
+ OffTime = 0 #(DWORD OffTime)// 下线时间戳
data = None
def __init__(self):
@@ -692,6 +693,7 @@
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)
return _pos
def Clear(self):
@@ -708,6 +710,7 @@
self.PlusDataSize = 0
self.PlusData = ""
self.IsLogouting = 0
+ self.OffTime = 0
return
def GetLength(self):
@@ -722,6 +725,7 @@
length += 4
length += len(self.PlusData)
length += 1
+ length += 4
return length
@@ -737,6 +741,7 @@
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)
return data
def OutputString(self):
@@ -750,7 +755,8 @@
ItemData:%s,
PlusDataSize:%d,
PlusData:%s,
- IsLogouting:%d
+ IsLogouting:%d,
+ OffTime:%d
'''\
%(
self.Head.OutputString(),
@@ -762,7 +768,8 @@
self.ItemData,
self.PlusDataSize,
self.PlusData,
- self.IsLogouting
+ self.IsLogouting,
+ self.OffTime
)
return DumpString
@@ -837,421 +844,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