From 4e3d1ff7e0b98fc18b0b6e63e449f3d7577c0ba6 Mon Sep 17 00:00:00 2001
From: hxp <ale99527@vip.qq.com>
Date: 星期三, 05 十一月 2025 11:16:31 +0800
Subject: [PATCH] 16 卡牌服务端(功能开启增加开服天条件支持;)
---
ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/ChPyNetSendPack.py | 665 +++++--------------------------------------------------
1 files changed, 64 insertions(+), 601 deletions(-)
diff --git a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/ChPyNetSendPack.py b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/ChPyNetSendPack.py
index be577ed..2b16e24 100644
--- a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/ChPyNetSendPack.py
+++ b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/ChPyNetSendPack.py
@@ -5117,129 +5117,6 @@
#------------------------------------------------------
-#A3 04 玩家扫荡信息 #tagMCFBWipeOutData
-
-class tagMCFBData(Structure):
- _pack_ = 1
- _fields_ = [
- ("FBID", c_int), #fbId
- ("LineIndex", c_ubyte), #副本通关场次
- ("WipeOutCnt", c_ubyte), #扫荡次数
- ("passGrade", c_ubyte), #通关评级
- ]
-
- def __init__(self):
- self.Clear()
- return
-
- def ReadData(self, stringData, _pos=0, _len=0):
- self.Clear()
- memmove(addressof(self), stringData[_pos:], self.GetLength())
- return _pos + self.GetLength()
-
- def Clear(self):
- self.FBID = 0
- self.LineIndex = 0
- self.WipeOutCnt = 0
- self.passGrade = 0
- return
-
- def GetLength(self):
- return sizeof(tagMCFBData)
-
- def GetBuffer(self):
- return string_at(addressof(self), self.GetLength())
-
- def OutputString(self):
- DumpString = '''//A3 04 玩家扫荡信息 //tagMCFBWipeOutData:
- FBID:%d,
- LineIndex:%d,
- WipeOutCnt:%d,
- passGrade:%d
- '''\
- %(
- self.FBID,
- self.LineIndex,
- self.WipeOutCnt,
- self.passGrade
- )
- return DumpString
-
-
-class tagMCFBWipeOutData(Structure):
- Head = tagHead()
- WipeOutFBID = 0 #(DWORD WipeOutFBID)//当前扫荡的副本id
- FBDataCnt = 0 #(BYTE FBDataCnt)//
- FBDataList = list() #(vector<tagMCFBData> FBDataList)//
- data = None
-
- def __init__(self):
- self.Clear()
- self.Head.Cmd = 0xA3
- self.Head.SubCmd = 0x04
- return
-
- def ReadData(self, _lpData, _pos=0, _Len=0):
- self.Clear()
- _pos = self.Head.ReadData(_lpData, _pos)
- self.WipeOutFBID,_pos = CommFunc.ReadDWORD(_lpData, _pos)
- self.FBDataCnt,_pos = CommFunc.ReadBYTE(_lpData, _pos)
- for i in range(self.FBDataCnt):
- temFBDataList = tagMCFBData()
- _pos = temFBDataList.ReadData(_lpData, _pos)
- self.FBDataList.append(temFBDataList)
- return _pos
-
- def Clear(self):
- self.Head = tagHead()
- self.Head.Clear()
- self.Head.Cmd = 0xA3
- self.Head.SubCmd = 0x04
- self.WipeOutFBID = 0
- self.FBDataCnt = 0
- self.FBDataList = list()
- return
-
- def GetLength(self):
- length = 0
- length += self.Head.GetLength()
- length += 4
- length += 1
- for i in range(self.FBDataCnt):
- length += self.FBDataList[i].GetLength()
-
- return length
-
- def GetBuffer(self):
- data = ''
- data = CommFunc.WriteString(data, self.Head.GetLength(), self.Head.GetBuffer())
- data = CommFunc.WriteDWORD(data, self.WipeOutFBID)
- data = CommFunc.WriteBYTE(data, self.FBDataCnt)
- for i in range(self.FBDataCnt):
- data = CommFunc.WriteString(data, self.FBDataList[i].GetLength(), self.FBDataList[i].GetBuffer())
- return data
-
- def OutputString(self):
- DumpString = '''
- Head:%s,
- WipeOutFBID:%d,
- FBDataCnt:%d,
- FBDataList:%s
- '''\
- %(
- self.Head.OutputString(),
- self.WipeOutFBID,
- self.FBDataCnt,
- "..."
- )
- return DumpString
-
-
-m_NAtagMCFBWipeOutData=tagMCFBWipeOutData()
-ChNetPackDict[eval("0x%02x%02x"%(m_NAtagMCFBWipeOutData.Head.Cmd,m_NAtagMCFBWipeOutData.Head.SubCmd))] = m_NAtagMCFBWipeOutData
-
-
-#------------------------------------------------------
# A3 18 极品白拿信息 #tagMCFreeGoodsInfo
class tagMCFreeGoods(Structure):
@@ -5824,20 +5701,22 @@
#------------------------------------------------------
-# A3 12 通知骑宠觉醒信息 #tagMCHorsePetSkinData
+# A3 03 坐骑阶级信息 #tagSCHorseClassInfo
-class tagMCHorsePetSkinInfo(Structure):
+class tagSCHorseClassInfo(Structure):
_pack_ = 1
_fields_ = [
- ("Type", c_ubyte), # 1-坐骑 2-灵宠
- ("ID", c_int), # 对应坐骑表灵宠表ID
- ("Exp", c_int), #经验
- ("SkinLV", c_ubyte), #觉醒等级
- ("SkinIndex", c_ubyte), #当前选择外观
+ ("Cmd", c_ubyte),
+ ("SubCmd", c_ubyte),
+ ("ClassLV", c_ubyte), #当前阶级,从0开始
+ ("HorseLV", c_ushort), #当前阶等级,从1开始
+ ("Exp", c_ushort), #当前阶等级经验,每级从0开始
]
def __init__(self):
self.Clear()
+ self.Cmd = 0xA3
+ self.SubCmd = 0x03
return
def ReadData(self, stringData, _pos=0, _len=0):
@@ -5846,111 +5725,51 @@
return _pos + self.GetLength()
def Clear(self):
- self.Type = 0
- self.ID = 0
+ self.Cmd = 0xA3
+ self.SubCmd = 0x03
+ self.ClassLV = 0
+ self.HorseLV = 0
self.Exp = 0
- self.SkinLV = 0
- self.SkinIndex = 0
return
def GetLength(self):
- return sizeof(tagMCHorsePetSkinInfo)
+ return sizeof(tagSCHorseClassInfo)
def GetBuffer(self):
return string_at(addressof(self), self.GetLength())
def OutputString(self):
- DumpString = '''// A3 12 通知骑宠觉醒信息 //tagMCHorsePetSkinData:
- Type:%d,
- ID:%d,
- Exp:%d,
- SkinLV:%d,
- SkinIndex:%d
+ DumpString = '''// A3 03 坐骑阶级信息 //tagSCHorseClassInfo:
+ Cmd:%s,
+ SubCmd:%s,
+ ClassLV:%d,
+ HorseLV:%d,
+ Exp:%d
'''\
%(
- self.Type,
- self.ID,
- self.Exp,
- self.SkinLV,
- self.SkinIndex
+ self.Cmd,
+ self.SubCmd,
+ self.ClassLV,
+ self.HorseLV,
+ self.Exp
)
return DumpString
-class tagMCHorsePetSkinData(Structure):
- Head = tagHead()
- Num = 0 #(BYTE Num)//个数
- InfoList = list() #(vector<tagMCHorsePetSkinInfo> InfoList)// 数据列表
- data = None
-
- def __init__(self):
- self.Clear()
- self.Head.Cmd = 0xA3
- self.Head.SubCmd = 0x12
- return
-
- def ReadData(self, _lpData, _pos=0, _Len=0):
- self.Clear()
- _pos = self.Head.ReadData(_lpData, _pos)
- self.Num,_pos = CommFunc.ReadBYTE(_lpData, _pos)
- for i in range(self.Num):
- temInfoList = tagMCHorsePetSkinInfo()
- _pos = temInfoList.ReadData(_lpData, _pos)
- self.InfoList.append(temInfoList)
- return _pos
-
- def Clear(self):
- self.Head = tagHead()
- self.Head.Clear()
- self.Head.Cmd = 0xA3
- self.Head.SubCmd = 0x12
- self.Num = 0
- self.InfoList = list()
- return
-
- def GetLength(self):
- length = 0
- length += self.Head.GetLength()
- length += 1
- for i in range(self.Num):
- length += self.InfoList[i].GetLength()
-
- return length
-
- def GetBuffer(self):
- data = ''
- data = CommFunc.WriteString(data, self.Head.GetLength(), self.Head.GetBuffer())
- data = CommFunc.WriteBYTE(data, self.Num)
- for i in range(self.Num):
- data = CommFunc.WriteString(data, self.InfoList[i].GetLength(), self.InfoList[i].GetBuffer())
- return data
-
- def OutputString(self):
- DumpString = '''
- Head:%s,
- Num:%d,
- InfoList:%s
- '''\
- %(
- self.Head.OutputString(),
- self.Num,
- "..."
- )
- return DumpString
-
-
-m_NAtagMCHorsePetSkinData=tagMCHorsePetSkinData()
-ChNetPackDict[eval("0x%02x%02x"%(m_NAtagMCHorsePetSkinData.Head.Cmd,m_NAtagMCHorsePetSkinData.Head.SubCmd))] = m_NAtagMCHorsePetSkinData
+m_NAtagSCHorseClassInfo=tagSCHorseClassInfo()
+ChNetPackDict[eval("0x%02x%02x"%(m_NAtagSCHorseClassInfo.Cmd,m_NAtagSCHorseClassInfo.SubCmd))] = m_NAtagSCHorseClassInfo
#------------------------------------------------------
-# A3 10 通知坐骑幻化时效信息 #tagMCHorseSkinTimeInfoList
+# A3 04 坐骑外观信息 #tagSCHorseSkinInfo
-class tagMCHorseSkinTimeInfo(Structure):
+class tagSCHorseSkin(Structure):
_pack_ = 1
_fields_ = [
- ("ID", c_int), # 对应坐骑幻化表ID
- ("InvalidTime", c_int), # 失效时间戳
+ ("HorseSkinID", c_ubyte), #坐骑外观ID
+ ("State", c_ubyte), #是否已激活
+ ("EndTime", c_int), #到期时间戳,0为永久
+ ("Star", c_ubyte), #星级
]
def __init__(self):
@@ -5963,146 +5782,44 @@
return _pos + self.GetLength()
def Clear(self):
- self.ID = 0
- self.InvalidTime = 0
- return
-
- def GetLength(self):
- return sizeof(tagMCHorseSkinTimeInfo)
-
- def GetBuffer(self):
- return string_at(addressof(self), self.GetLength())
-
- def OutputString(self):
- DumpString = '''// A3 10 通知坐骑幻化时效信息 //tagMCHorseSkinTimeInfoList:
- ID:%d,
- InvalidTime:%d
- '''\
- %(
- self.ID,
- self.InvalidTime
- )
- return DumpString
-
-
-class tagMCHorseSkinTimeInfoList(Structure):
- Head = tagHead()
- TimeCnt = 0 #(BYTE TimeCnt)//个数
- TimeInfoList = list() #(vector<tagMCHorseSkinTimeInfo> TimeInfoList)// 数据列表
- data = None
-
- def __init__(self):
- self.Clear()
- self.Head.Cmd = 0xA3
- self.Head.SubCmd = 0x10
- return
-
- def ReadData(self, _lpData, _pos=0, _Len=0):
- self.Clear()
- _pos = self.Head.ReadData(_lpData, _pos)
- self.TimeCnt,_pos = CommFunc.ReadBYTE(_lpData, _pos)
- for i in range(self.TimeCnt):
- temTimeInfoList = tagMCHorseSkinTimeInfo()
- _pos = temTimeInfoList.ReadData(_lpData, _pos)
- self.TimeInfoList.append(temTimeInfoList)
- return _pos
-
- def Clear(self):
- self.Head = tagHead()
- self.Head.Clear()
- self.Head.Cmd = 0xA3
- self.Head.SubCmd = 0x10
- self.TimeCnt = 0
- self.TimeInfoList = list()
- return
-
- def GetLength(self):
- length = 0
- length += self.Head.GetLength()
- length += 1
- for i in range(self.TimeCnt):
- length += self.TimeInfoList[i].GetLength()
-
- return length
-
- def GetBuffer(self):
- data = ''
- data = CommFunc.WriteString(data, self.Head.GetLength(), self.Head.GetBuffer())
- data = CommFunc.WriteBYTE(data, self.TimeCnt)
- for i in range(self.TimeCnt):
- data = CommFunc.WriteString(data, self.TimeInfoList[i].GetLength(), self.TimeInfoList[i].GetBuffer())
- return data
-
- def OutputString(self):
- DumpString = '''
- Head:%s,
- TimeCnt:%d,
- TimeInfoList:%s
- '''\
- %(
- self.Head.OutputString(),
- self.TimeCnt,
- "..."
- )
- return DumpString
-
-
-m_NAtagMCHorseSkinTimeInfoList=tagMCHorseSkinTimeInfoList()
-ChNetPackDict[eval("0x%02x%02x"%(m_NAtagMCHorseSkinTimeInfoList.Head.Cmd,m_NAtagMCHorseSkinTimeInfoList.Head.SubCmd))] = m_NAtagMCHorseSkinTimeInfoList
-
-
-#------------------------------------------------------
-# A3 CD 坐骑星级信息 #tagMCHorseStarInfo
-
-class tagMCHorseStar(Structure):
- _pack_ = 1
- _fields_ = [
- ("HorseID", c_int), # 坐骑表ID
- ("Star", c_ubyte), # 星级
- ]
-
- def __init__(self):
- self.Clear()
- return
-
- def ReadData(self, stringData, _pos=0, _len=0):
- self.Clear()
- memmove(addressof(self), stringData[_pos:], self.GetLength())
- return _pos + self.GetLength()
-
- def Clear(self):
- self.HorseID = 0
+ self.HorseSkinID = 0
+ self.State = 0
+ self.EndTime = 0
self.Star = 0
return
def GetLength(self):
- return sizeof(tagMCHorseStar)
+ return sizeof(tagSCHorseSkin)
def GetBuffer(self):
return string_at(addressof(self), self.GetLength())
def OutputString(self):
- DumpString = '''// A3 CD 坐骑星级信息 //tagMCHorseStarInfo:
- HorseID:%d,
+ DumpString = '''// A3 04 坐骑外观信息 //tagSCHorseSkinInfo:
+ HorseSkinID:%d,
+ State:%d,
+ EndTime:%d,
Star:%d
'''\
%(
- self.HorseID,
+ self.HorseSkinID,
+ self.State,
+ self.EndTime,
self.Star
)
return DumpString
-class tagMCHorseStarInfo(Structure):
+class tagSCHorseSkinInfo(Structure):
Head = tagHead()
Count = 0 #(BYTE Count)
- HorseStarList = list() #(vector<tagMCHorseStar> HorseStarList)
+ HorseSkinList = list() #(vector<tagSCHorseSkin> HorseSkinList)
data = None
def __init__(self):
self.Clear()
self.Head.Cmd = 0xA3
- self.Head.SubCmd = 0xCD
+ self.Head.SubCmd = 0x04
return
def ReadData(self, _lpData, _pos=0, _Len=0):
@@ -6110,18 +5827,18 @@
_pos = self.Head.ReadData(_lpData, _pos)
self.Count,_pos = CommFunc.ReadBYTE(_lpData, _pos)
for i in range(self.Count):
- temHorseStarList = tagMCHorseStar()
- _pos = temHorseStarList.ReadData(_lpData, _pos)
- self.HorseStarList.append(temHorseStarList)
+ temHorseSkinList = tagSCHorseSkin()
+ _pos = temHorseSkinList.ReadData(_lpData, _pos)
+ self.HorseSkinList.append(temHorseSkinList)
return _pos
def Clear(self):
self.Head = tagHead()
self.Head.Clear()
self.Head.Cmd = 0xA3
- self.Head.SubCmd = 0xCD
+ self.Head.SubCmd = 0x04
self.Count = 0
- self.HorseStarList = list()
+ self.HorseSkinList = list()
return
def GetLength(self):
@@ -6129,7 +5846,7 @@
length += self.Head.GetLength()
length += 1
for i in range(self.Count):
- length += self.HorseStarList[i].GetLength()
+ length += self.HorseSkinList[i].GetLength()
return length
@@ -6138,14 +5855,14 @@
data = CommFunc.WriteString(data, self.Head.GetLength(), self.Head.GetBuffer())
data = CommFunc.WriteBYTE(data, self.Count)
for i in range(self.Count):
- data = CommFunc.WriteString(data, self.HorseStarList[i].GetLength(), self.HorseStarList[i].GetBuffer())
+ data = CommFunc.WriteString(data, self.HorseSkinList[i].GetLength(), self.HorseSkinList[i].GetBuffer())
return data
def OutputString(self):
DumpString = '''
Head:%s,
Count:%d,
- HorseStarList:%s
+ HorseSkinList:%s
'''\
%(
self.Head.OutputString(),
@@ -6155,8 +5872,8 @@
return DumpString
-m_NAtagMCHorseStarInfo=tagMCHorseStarInfo()
-ChNetPackDict[eval("0x%02x%02x"%(m_NAtagMCHorseStarInfo.Head.Cmd,m_NAtagMCHorseStarInfo.Head.SubCmd))] = m_NAtagMCHorseStarInfo
+m_NAtagSCHorseSkinInfo=tagSCHorseSkinInfo()
+ChNetPackDict[eval("0x%02x%02x"%(m_NAtagSCHorseSkinInfo.Head.Cmd,m_NAtagSCHorseSkinInfo.Head.SubCmd))] = m_NAtagSCHorseSkinInfo
#------------------------------------------------------
@@ -9241,121 +8958,6 @@
#------------------------------------------------------
-#A3 01 坐骑培养信息 #tagTrainHorseData
-
-class tagTrainHorseData(Structure):
- Head = tagHead()
- LV = 0 #(BYTE LV)//等阶
- EatItemCount = 0 #(DWORD EatItemCount)//当前阶已吃丹个数
- SkinPlusState = 0 #(DWORD SkinPlusState)//幻化激活状态,按位存储是否激活,幻化编号ID对应位,废弃,使用 SkinPlusStateList
- TrainTypes = 0 #(BYTE TrainTypes)//培养类型数
- TrainLVList = list() #(vector<DWORD> TrainLVList)//培养等阶列表,索引为培养类型减1
- TrainItemCountList = list() #(vector<DWORD> TrainItemCountList)//培养当前阶已吃培养丹个数列表,索引为培养类型减1
- SkinPlusStateCount = 0 #(BYTE SkinPlusStateCount)//幻化激活状态值数
- SkinPlusStateList = list() #(vector<DWORD> SkinPlusStateList)//幻化激活状态值列表,按位存储是否激活,幻化编号ID对应位
- data = None
-
- def __init__(self):
- self.Clear()
- self.Head.Cmd = 0xA3
- self.Head.SubCmd = 0x01
- return
-
- def ReadData(self, _lpData, _pos=0, _Len=0):
- self.Clear()
- _pos = self.Head.ReadData(_lpData, _pos)
- self.LV,_pos = CommFunc.ReadBYTE(_lpData, _pos)
- self.EatItemCount,_pos = CommFunc.ReadDWORD(_lpData, _pos)
- self.SkinPlusState,_pos = CommFunc.ReadDWORD(_lpData, _pos)
- self.TrainTypes,_pos = CommFunc.ReadBYTE(_lpData, _pos)
- for i in range(self.TrainTypes):
- value,_pos=CommFunc.ReadDWORD(_lpData,_pos)
- self.TrainLVList.append(value)
- for i in range(self.TrainTypes):
- value,_pos=CommFunc.ReadDWORD(_lpData,_pos)
- self.TrainItemCountList.append(value)
- self.SkinPlusStateCount,_pos = CommFunc.ReadBYTE(_lpData, _pos)
- for i in range(self.SkinPlusStateCount):
- value,_pos=CommFunc.ReadDWORD(_lpData,_pos)
- self.SkinPlusStateList.append(value)
- return _pos
-
- def Clear(self):
- self.Head = tagHead()
- self.Head.Clear()
- self.Head.Cmd = 0xA3
- self.Head.SubCmd = 0x01
- self.LV = 0
- self.EatItemCount = 0
- self.SkinPlusState = 0
- self.TrainTypes = 0
- self.TrainLVList = list()
- self.TrainItemCountList = list()
- self.SkinPlusStateCount = 0
- self.SkinPlusStateList = list()
- return
-
- def GetLength(self):
- length = 0
- length += self.Head.GetLength()
- length += 1
- length += 4
- length += 4
- length += 1
- length += 4 * self.TrainTypes
- length += 4 * self.TrainTypes
- length += 1
- length += 4 * self.SkinPlusStateCount
-
- return length
-
- def GetBuffer(self):
- data = ''
- data = CommFunc.WriteString(data, self.Head.GetLength(), self.Head.GetBuffer())
- data = CommFunc.WriteBYTE(data, self.LV)
- data = CommFunc.WriteDWORD(data, self.EatItemCount)
- data = CommFunc.WriteDWORD(data, self.SkinPlusState)
- data = CommFunc.WriteBYTE(data, self.TrainTypes)
- for i in range(self.TrainTypes):
- data = CommFunc.WriteDWORD(data, self.TrainLVList[i])
- for i in range(self.TrainTypes):
- data = CommFunc.WriteDWORD(data, self.TrainItemCountList[i])
- data = CommFunc.WriteBYTE(data, self.SkinPlusStateCount)
- for i in range(self.SkinPlusStateCount):
- data = CommFunc.WriteDWORD(data, self.SkinPlusStateList[i])
- return data
-
- def OutputString(self):
- DumpString = '''
- Head:%s,
- LV:%d,
- EatItemCount:%d,
- SkinPlusState:%d,
- TrainTypes:%d,
- TrainLVList:%s,
- TrainItemCountList:%s,
- SkinPlusStateCount:%d,
- SkinPlusStateList:%s
- '''\
- %(
- self.Head.OutputString(),
- self.LV,
- self.EatItemCount,
- self.SkinPlusState,
- self.TrainTypes,
- "...",
- "...",
- self.SkinPlusStateCount,
- "..."
- )
- return DumpString
-
-
-m_NAtagTrainHorseData=tagTrainHorseData()
-ChNetPackDict[eval("0x%02x%02x"%(m_NAtagTrainHorseData.Head.Cmd,m_NAtagTrainHorseData.Head.SubCmd))] = m_NAtagTrainHorseData
-
-
-#------------------------------------------------------
# A3 51 寻宝功能信息 #tagMCTreasureInfo
class tagMCTreasureGridLimit(Structure):
@@ -9638,152 +9240,6 @@
m_NAtagMCTreasureResult=tagMCTreasureResult()
ChNetPackDict[eval("0x%02x%02x"%(m_NAtagMCTreasureResult.Head.Cmd,m_NAtagMCTreasureResult.Head.SubCmd))] = m_NAtagMCTreasureResult
-
-
-#------------------------------------------------------
-#A3 05 扫荡奖励信息 #tagMCWipeOutPrize
-
-class tagMCPrizeItemInfo(Structure):
- _pack_ = 1
- _fields_ = [
- ("Cmd", c_ubyte),
- ("SubCmd", c_ubyte),
- ("ItemID", c_int), #物品id
- ("ItemCnt", c_ubyte), #物品数量
- ]
-
- def __init__(self):
- self.Clear()
- self.Cmd = 0xA3
- self.SubCmd = 0x05
- return
-
- def ReadData(self, stringData, _pos=0, _len=0):
- self.Clear()
- memmove(addressof(self), stringData[_pos:], self.GetLength())
- return _pos + self.GetLength()
-
- def Clear(self):
- self.Cmd = 0xA3
- self.SubCmd = 0x05
- self.ItemID = 0
- self.ItemCnt = 0
- return
-
- def GetLength(self):
- return sizeof(tagMCPrizeItemInfo)
-
- def GetBuffer(self):
- return string_at(addressof(self), self.GetLength())
-
- def OutputString(self):
- DumpString = '''//A3 05 扫荡奖励信息 //tagMCWipeOutPrize:
- Cmd:%s,
- SubCmd:%s,
- ItemID:%d,
- ItemCnt:%d
- '''\
- %(
- self.Cmd,
- self.SubCmd,
- self.ItemID,
- self.ItemCnt
- )
- return DumpString
-
-
-class tagMCWipeOutPrize(Structure):
- Head = tagHead()
- FBID = 0 #(DWORD FBID)//副本id
- WipeOutCnt = 0 #(DWORD WipeOutCnt)//扫荡次数
- GiveExp = 0 #(DWORD GiveExp)//给予经验
- SilverCnt = 0 #(DWORD SilverCnt)//给予金币
- PrizeCnt = 0 #(BYTE PrizeCnt)//状态
- PrizeInfo = list() #(vector<tagMCPrizeItemInfo> PrizeInfo)//状态
- data = None
-
- def __init__(self):
- self.Clear()
- self.Head.Cmd = 0xA3
- self.Head.SubCmd = 0x05
- return
-
- def ReadData(self, _lpData, _pos=0, _Len=0):
- self.Clear()
- _pos = self.Head.ReadData(_lpData, _pos)
- self.FBID,_pos = CommFunc.ReadDWORD(_lpData, _pos)
- self.WipeOutCnt,_pos = CommFunc.ReadDWORD(_lpData, _pos)
- self.GiveExp,_pos = CommFunc.ReadDWORD(_lpData, _pos)
- self.SilverCnt,_pos = CommFunc.ReadDWORD(_lpData, _pos)
- self.PrizeCnt,_pos = CommFunc.ReadBYTE(_lpData, _pos)
- for i in range(self.PrizeCnt):
- temPrizeInfo = tagMCPrizeItemInfo()
- _pos = temPrizeInfo.ReadData(_lpData, _pos)
- self.PrizeInfo.append(temPrizeInfo)
- return _pos
-
- def Clear(self):
- self.Head = tagHead()
- self.Head.Clear()
- self.Head.Cmd = 0xA3
- self.Head.SubCmd = 0x05
- self.FBID = 0
- self.WipeOutCnt = 0
- self.GiveExp = 0
- self.SilverCnt = 0
- self.PrizeCnt = 0
- self.PrizeInfo = list()
- return
-
- def GetLength(self):
- length = 0
- length += self.Head.GetLength()
- length += 4
- length += 4
- length += 4
- length += 4
- length += 1
- for i in range(self.PrizeCnt):
- length += self.PrizeInfo[i].GetLength()
-
- return length
-
- def GetBuffer(self):
- data = ''
- data = CommFunc.WriteString(data, self.Head.GetLength(), self.Head.GetBuffer())
- data = CommFunc.WriteDWORD(data, self.FBID)
- data = CommFunc.WriteDWORD(data, self.WipeOutCnt)
- data = CommFunc.WriteDWORD(data, self.GiveExp)
- data = CommFunc.WriteDWORD(data, self.SilverCnt)
- data = CommFunc.WriteBYTE(data, self.PrizeCnt)
- for i in range(self.PrizeCnt):
- data = CommFunc.WriteString(data, self.PrizeInfo[i].GetLength(), self.PrizeInfo[i].GetBuffer())
- return data
-
- def OutputString(self):
- DumpString = '''
- Head:%s,
- FBID:%d,
- WipeOutCnt:%d,
- GiveExp:%d,
- SilverCnt:%d,
- PrizeCnt:%d,
- PrizeInfo:%s
- '''\
- %(
- self.Head.OutputString(),
- self.FBID,
- self.WipeOutCnt,
- self.GiveExp,
- self.SilverCnt,
- self.PrizeCnt,
- "..."
- )
- return DumpString
-
-
-m_NAtagMCWipeOutPrize=tagMCWipeOutPrize()
-ChNetPackDict[eval("0x%02x%02x"%(m_NAtagMCWipeOutPrize.Head.Cmd,m_NAtagMCWipeOutPrize.Head.SubCmd))] = m_NAtagMCWipeOutPrize
#------------------------------------------------------
@@ -14491,6 +13947,7 @@
Face = 0 #(DWORD Face)
FacePic = 0 #(DWORD FacePic)
ModelMark = 0 #(DWORD ModelMark)//变形模型mark
+ EquipShowSwitch = 0 #(DWORD EquipShowSwitch)//其他外观信息
TitleID = 0 #(DWORD TitleID)//佩戴的称号
ServerID = 0 #(DWORD ServerID)
FightPower = 0 #(DWORD FightPower)
@@ -14520,6 +13977,7 @@
self.Face,_pos = CommFunc.ReadDWORD(_lpData, _pos)
self.FacePic,_pos = CommFunc.ReadDWORD(_lpData, _pos)
self.ModelMark,_pos = CommFunc.ReadDWORD(_lpData, _pos)
+ self.EquipShowSwitch,_pos = CommFunc.ReadDWORD(_lpData, _pos)
self.TitleID,_pos = CommFunc.ReadDWORD(_lpData, _pos)
self.ServerID,_pos = CommFunc.ReadDWORD(_lpData, _pos)
self.FightPower,_pos = CommFunc.ReadDWORD(_lpData, _pos)
@@ -14545,6 +14003,7 @@
self.Face = 0
self.FacePic = 0
self.ModelMark = 0
+ self.EquipShowSwitch = 0
self.TitleID = 0
self.ServerID = 0
self.FightPower = 0
@@ -14573,6 +14032,7 @@
length += 4
length += 4
length += 4
+ length += 4
length += 33
length += 4
length += 3
@@ -14592,6 +14052,7 @@
data = CommFunc.WriteDWORD(data, self.Face)
data = CommFunc.WriteDWORD(data, self.FacePic)
data = CommFunc.WriteDWORD(data, self.ModelMark)
+ data = CommFunc.WriteDWORD(data, self.EquipShowSwitch)
data = CommFunc.WriteDWORD(data, self.TitleID)
data = CommFunc.WriteDWORD(data, self.ServerID)
data = CommFunc.WriteDWORD(data, self.FightPower)
@@ -14615,6 +14076,7 @@
Face:%d,
FacePic:%d,
ModelMark:%d,
+ EquipShowSwitch:%d,
TitleID:%d,
ServerID:%d,
FightPower:%d,
@@ -14636,6 +14098,7 @@
self.Face,
self.FacePic,
self.ModelMark,
+ self.EquipShowSwitch,
self.TitleID,
self.ServerID,
self.FightPower,
--
Gitblit v1.8.0