From cc207773cbedb51c20300a87c62529ace416b086 Mon Sep 17 00:00:00 2001
From: hxp <ale99527@vip.qq.com>
Date: 星期五, 19 九月 2025 19:23:35 +0800
Subject: [PATCH] 129 【战斗】战斗系统-服务端(无敌支持,免疫伤害、dot、控制;小怪技能;)
---
ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/ChPyNetPack.py | 811 ++++++---------------------------------------------------
1 files changed, 86 insertions(+), 725 deletions(-)
diff --git a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/ChPyNetPack.py b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/ChPyNetPack.py
index 82a2cc6..9a3f902 100644
--- a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/ChPyNetPack.py
+++ b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/ChPyNetPack.py
@@ -275,20 +275,21 @@
#------------------------------------------------------
-#A0 01 查看玩家信息通用记录 #tagViewUniversalGameRec
+# A0 08 查看通用记录 #tagCSViewGameRec
-class tagViewUniversalGameRec(Structure):
+class tagCSViewGameRec(Structure):
_pack_ = 1
_fields_ = [
("Cmd", c_ubyte),
("SubCmd", c_ubyte),
- ("ViewType", c_ubyte), #查看记录的类型
+ ("RecType", c_ushort), #记录类型
+ ("RecID", c_int), #自定义记录ID
]
def __init__(self):
self.Clear()
self.Cmd = 0xA0
- self.SubCmd = 0x01
+ self.SubCmd = 0x08
return
def ReadData(self, stringData, _pos=0, _len=0):
@@ -298,32 +299,35 @@
def Clear(self):
self.Cmd = 0xA0
- self.SubCmd = 0x01
- self.ViewType = 0
+ self.SubCmd = 0x08
+ self.RecType = 0
+ self.RecID = 0
return
def GetLength(self):
- return sizeof(tagViewUniversalGameRec)
+ return sizeof(tagCSViewGameRec)
def GetBuffer(self):
return string_at(addressof(self), self.GetLength())
def OutputString(self):
- DumpString = '''//A0 01 查看玩家信息通用记录 //tagViewUniversalGameRec:
+ DumpString = '''// A0 08 查看通用记录 //tagCSViewGameRec:
Cmd:%s,
SubCmd:%s,
- ViewType:%d
+ RecType:%d,
+ RecID:%d
'''\
%(
self.Cmd,
self.SubCmd,
- self.ViewType
+ self.RecType,
+ self.RecID
)
return DumpString
-m_NAtagViewUniversalGameRec=tagViewUniversalGameRec()
-ChNetPackDict[eval("0x%02x%02x"%(m_NAtagViewUniversalGameRec.Cmd,m_NAtagViewUniversalGameRec.SubCmd))] = m_NAtagViewUniversalGameRec
+m_NAtagCSViewGameRec=tagCSViewGameRec()
+ChNetPackDict[eval("0x%02x%02x"%(m_NAtagCSViewGameRec.Cmd,m_NAtagCSViewGameRec.SubCmd))] = m_NAtagCSViewGameRec
#------------------------------------------------------
@@ -11555,118 +11559,6 @@
#------------------------------------------------------
-# AA 24 Boss历练领奖 #tagCMActBossTrialGetAward
-
-class tagCMActBossTrialGetAward(Structure):
- _pack_ = 1
- _fields_ = [
- ("Cmd", c_ubyte),
- ("SubCmd", c_ubyte),
- ("ActNum", c_ubyte), #活动编号
- ("SubmitCount", c_ushort), #领取凭证个数对应奖励
- ]
-
- def __init__(self):
- self.Clear()
- self.Cmd = 0xAA
- self.SubCmd = 0x24
- 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 = 0xAA
- self.SubCmd = 0x24
- self.ActNum = 0
- self.SubmitCount = 0
- return
-
- def GetLength(self):
- return sizeof(tagCMActBossTrialGetAward)
-
- def GetBuffer(self):
- return string_at(addressof(self), self.GetLength())
-
- def OutputString(self):
- DumpString = '''// AA 24 Boss历练领奖 //tagCMActBossTrialGetAward:
- Cmd:%s,
- SubCmd:%s,
- ActNum:%d,
- SubmitCount:%d
- '''\
- %(
- self.Cmd,
- self.SubCmd,
- self.ActNum,
- self.SubmitCount
- )
- return DumpString
-
-
-m_NAtagCMActBossTrialGetAward=tagCMActBossTrialGetAward()
-ChNetPackDict[eval("0x%02x%02x"%(m_NAtagCMActBossTrialGetAward.Cmd,m_NAtagCMActBossTrialGetAward.SubCmd))] = m_NAtagCMActBossTrialGetAward
-
-
-#------------------------------------------------------
-# AA 23 Boss历练提交凭证 #tagCMActBossTrialSubmit
-
-class tagCMActBossTrialSubmit(Structure):
- _pack_ = 1
- _fields_ = [
- ("Cmd", c_ubyte),
- ("SubCmd", c_ubyte),
- ("ActNum", c_ubyte), #活动编号
- ("SubmitCount", c_ushort), #提交凭证个数
- ]
-
- def __init__(self):
- self.Clear()
- self.Cmd = 0xAA
- self.SubCmd = 0x23
- 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 = 0xAA
- self.SubCmd = 0x23
- self.ActNum = 0
- self.SubmitCount = 0
- return
-
- def GetLength(self):
- return sizeof(tagCMActBossTrialSubmit)
-
- def GetBuffer(self):
- return string_at(addressof(self), self.GetLength())
-
- def OutputString(self):
- DumpString = '''// AA 23 Boss历练提交凭证 //tagCMActBossTrialSubmit:
- Cmd:%s,
- SubCmd:%s,
- ActNum:%d,
- SubmitCount:%d
- '''\
- %(
- self.Cmd,
- self.SubCmd,
- self.ActNum,
- self.SubmitCount
- )
- return DumpString
-
-
-m_NAtagCMActBossTrialSubmit=tagCMActBossTrialSubmit()
-ChNetPackDict[eval("0x%02x%02x"%(m_NAtagCMActBossTrialSubmit.Cmd,m_NAtagCMActBossTrialSubmit.SubCmd))] = m_NAtagCMActBossTrialSubmit
-
-
-#------------------------------------------------------
# AA 09 集字活动兑换 #tagCMActCollectWordsExchange
class tagCMActCollectWordsExchange(Structure):
@@ -11720,143 +11612,6 @@
m_NAtagCMActCollectWordsExchange=tagCMActCollectWordsExchange()
ChNetPackDict[eval("0x%02x%02x"%(m_NAtagCMActCollectWordsExchange.Cmd,m_NAtagCMActCollectWordsExchange.SubCmd))] = m_NAtagCMActCollectWordsExchange
-
-
-#------------------------------------------------------
-# AA 15 垃圾分类活动收集已完成的任务垃圾 #tagCMActGarbageGetTaskAward
-
-class tagCMActGarbageGetTaskAward(Structure):
- _pack_ = 1
- _fields_ = [
- ("Cmd", c_ubyte),
- ("SubCmd", c_ubyte),
- ("ActNum", c_ubyte), #活动编号
- ("GarbageTaskID", c_ubyte), #垃圾任务ID
- ]
-
- def __init__(self):
- self.Clear()
- self.Cmd = 0xAA
- self.SubCmd = 0x15
- 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 = 0xAA
- self.SubCmd = 0x15
- self.ActNum = 0
- self.GarbageTaskID = 0
- return
-
- def GetLength(self):
- return sizeof(tagCMActGarbageGetTaskAward)
-
- def GetBuffer(self):
- return string_at(addressof(self), self.GetLength())
-
- def OutputString(self):
- DumpString = '''// AA 15 垃圾分类活动收集已完成的任务垃圾 //tagCMActGarbageGetTaskAward:
- Cmd:%s,
- SubCmd:%s,
- ActNum:%d,
- GarbageTaskID:%d
- '''\
- %(
- self.Cmd,
- self.SubCmd,
- self.ActNum,
- self.GarbageTaskID
- )
- return DumpString
-
-
-m_NAtagCMActGarbageGetTaskAward=tagCMActGarbageGetTaskAward()
-ChNetPackDict[eval("0x%02x%02x"%(m_NAtagCMActGarbageGetTaskAward.Cmd,m_NAtagCMActGarbageGetTaskAward.SubCmd))] = m_NAtagCMActGarbageGetTaskAward
-
-
-#------------------------------------------------------
-# AA 14 垃圾分类活动分类垃圾 #tagCMActGarbageSorting
-
-class tagCMActGarbageSorting(Structure):
- Head = tagHead()
- ActNum = 0 #(BYTE ActNum)//活动编号
- GarbageSortingType = 0 #(BYTE GarbageSortingType)//垃圾分类类型,即属于哪种垃圾
- ItemIndexCount = 0 #(BYTE ItemIndexCount)//垃圾背包中的物品索引数
- ItemIndexList = list() #(vector<BYTE> ItemIndexList)//垃圾背包中的物品索引列表
- data = None
-
- def __init__(self):
- self.Clear()
- self.Head.Cmd = 0xAA
- self.Head.SubCmd = 0x14
- return
-
- def ReadData(self, _lpData, _pos=0, _Len=0):
- self.Clear()
- _pos = self.Head.ReadData(_lpData, _pos)
- self.ActNum,_pos = CommFunc.ReadBYTE(_lpData, _pos)
- self.GarbageSortingType,_pos = CommFunc.ReadBYTE(_lpData, _pos)
- self.ItemIndexCount,_pos = CommFunc.ReadBYTE(_lpData, _pos)
- for i in range(self.ItemIndexCount):
- value,_pos=CommFunc.ReadBYTE(_lpData,_pos)
- self.ItemIndexList.append(value)
- return _pos
-
- def Clear(self):
- self.Head = tagHead()
- self.Head.Clear()
- self.Head.Cmd = 0xAA
- self.Head.SubCmd = 0x14
- self.ActNum = 0
- self.GarbageSortingType = 0
- self.ItemIndexCount = 0
- self.ItemIndexList = list()
- return
-
- def GetLength(self):
- length = 0
- length += self.Head.GetLength()
- length += 1
- length += 1
- length += 1
- length += 1 * self.ItemIndexCount
-
- return length
-
- def GetBuffer(self):
- data = ''
- data = CommFunc.WriteString(data, self.Head.GetLength(), self.Head.GetBuffer())
- data = CommFunc.WriteBYTE(data, self.ActNum)
- data = CommFunc.WriteBYTE(data, self.GarbageSortingType)
- data = CommFunc.WriteBYTE(data, self.ItemIndexCount)
- for i in range(self.ItemIndexCount):
- data = CommFunc.WriteBYTE(data, self.ItemIndexList[i])
- return data
-
- def OutputString(self):
- DumpString = '''
- Head:%s,
- ActNum:%d,
- GarbageSortingType:%d,
- ItemIndexCount:%d,
- ItemIndexList:%s
- '''\
- %(
- self.Head.OutputString(),
- self.ActNum,
- self.GarbageSortingType,
- self.ItemIndexCount,
- "..."
- )
- return DumpString
-
-
-m_NAtagCMActGarbageSorting=tagCMActGarbageSorting()
-ChNetPackDict[eval("0x%02x%02x"%(m_NAtagCMActGarbageSorting.Head.Cmd,m_NAtagCMActGarbageSorting.Head.SubCmd))] = m_NAtagCMActGarbageSorting
#------------------------------------------------------
@@ -12351,188 +12106,6 @@
m_NAtagCMActWishingRefresh=tagCMActWishingRefresh()
ChNetPackDict[eval("0x%02x%02x"%(m_NAtagCMActWishingRefresh.Cmd,m_NAtagCMActWishingRefresh.SubCmd))] = m_NAtagCMActWishingRefresh
-
-
-#------------------------------------------------------
-# AA 18 仙匣秘境活动奖池刷新 #tagCMActXianXiaMJAwardPoolRefresh
-
-class tagCMActXianXiaMJAwardPoolRefresh(Structure):
- _pack_ = 1
- _fields_ = [
- ("Cmd", c_ubyte),
- ("SubCmd", c_ubyte),
- ("ActNum", c_ubyte), #活动编号
- ]
-
- def __init__(self):
- self.Clear()
- self.Cmd = 0xAA
- self.SubCmd = 0x18
- 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 = 0xAA
- self.SubCmd = 0x18
- self.ActNum = 0
- return
-
- def GetLength(self):
- return sizeof(tagCMActXianXiaMJAwardPoolRefresh)
-
- def GetBuffer(self):
- return string_at(addressof(self), self.GetLength())
-
- def OutputString(self):
- DumpString = '''// AA 18 仙匣秘境活动奖池刷新 //tagCMActXianXiaMJAwardPoolRefresh:
- Cmd:%s,
- SubCmd:%s,
- ActNum:%d
- '''\
- %(
- self.Cmd,
- self.SubCmd,
- self.ActNum
- )
- return DumpString
-
-
-m_NAtagCMActXianXiaMJAwardPoolRefresh=tagCMActXianXiaMJAwardPoolRefresh()
-ChNetPackDict[eval("0x%02x%02x"%(m_NAtagCMActXianXiaMJAwardPoolRefresh.Cmd,m_NAtagCMActXianXiaMJAwardPoolRefresh.SubCmd))] = m_NAtagCMActXianXiaMJAwardPoolRefresh
-
-
-#------------------------------------------------------
-# AA 17 仙匣秘境活动抽奖 #tagCMActXianXiaMJLottery
-
-class tagCMActXianXiaMJLottery(Structure):
- _pack_ = 1
- _fields_ = [
- ("Cmd", c_ubyte),
- ("SubCmd", c_ubyte),
- ("ActNum", c_ubyte), #活动编号
- ("PosNum", c_ubyte), #玩家点击的奖励位置编号,从1开始
- ]
-
- def __init__(self):
- self.Clear()
- self.Cmd = 0xAA
- self.SubCmd = 0x17
- 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 = 0xAA
- self.SubCmd = 0x17
- self.ActNum = 0
- self.PosNum = 0
- return
-
- def GetLength(self):
- return sizeof(tagCMActXianXiaMJLottery)
-
- def GetBuffer(self):
- return string_at(addressof(self), self.GetLength())
-
- def OutputString(self):
- DumpString = '''// AA 17 仙匣秘境活动抽奖 //tagCMActXianXiaMJLottery:
- Cmd:%s,
- SubCmd:%s,
- ActNum:%d,
- PosNum:%d
- '''\
- %(
- self.Cmd,
- self.SubCmd,
- self.ActNum,
- self.PosNum
- )
- return DumpString
-
-
-m_NAtagCMActXianXiaMJLottery=tagCMActXianXiaMJLottery()
-ChNetPackDict[eval("0x%02x%02x"%(m_NAtagCMActXianXiaMJLottery.Cmd,m_NAtagCMActXianXiaMJLottery.SubCmd))] = m_NAtagCMActXianXiaMJLottery
-
-
-#------------------------------------------------------
-# AA 16 仙匣秘境活动选择大奖 #tagCMActXianXiaMJSuperItem
-
-class tagCMActXianXiaMJSuperItem(Structure):
- Head = tagHead()
- ActNum = 0 #(BYTE ActNum)//活动编号
- SuperItemCount = 0 #(BYTE SuperItemCount)//选择物品数量
- SuperItemIDList = list() #(vector<DWORD> SuperItemIDList)//选择的大奖库物品ID列表,每次重新选择需要发送全部已选择的大奖物品ID,不能只发单个物品ID;
- data = None
-
- def __init__(self):
- self.Clear()
- self.Head.Cmd = 0xAA
- self.Head.SubCmd = 0x16
- return
-
- def ReadData(self, _lpData, _pos=0, _Len=0):
- self.Clear()
- _pos = self.Head.ReadData(_lpData, _pos)
- self.ActNum,_pos = CommFunc.ReadBYTE(_lpData, _pos)
- self.SuperItemCount,_pos = CommFunc.ReadBYTE(_lpData, _pos)
- for i in range(self.SuperItemCount):
- value,_pos=CommFunc.ReadDWORD(_lpData,_pos)
- self.SuperItemIDList.append(value)
- return _pos
-
- def Clear(self):
- self.Head = tagHead()
- self.Head.Clear()
- self.Head.Cmd = 0xAA
- self.Head.SubCmd = 0x16
- self.ActNum = 0
- self.SuperItemCount = 0
- self.SuperItemIDList = list()
- return
-
- def GetLength(self):
- length = 0
- length += self.Head.GetLength()
- length += 1
- length += 1
- length += 4 * self.SuperItemCount
-
- return length
-
- def GetBuffer(self):
- data = ''
- data = CommFunc.WriteString(data, self.Head.GetLength(), self.Head.GetBuffer())
- data = CommFunc.WriteBYTE(data, self.ActNum)
- data = CommFunc.WriteBYTE(data, self.SuperItemCount)
- for i in range(self.SuperItemCount):
- data = CommFunc.WriteDWORD(data, self.SuperItemIDList[i])
- return data
-
- def OutputString(self):
- DumpString = '''
- Head:%s,
- ActNum:%d,
- SuperItemCount:%d,
- SuperItemIDList:%s
- '''\
- %(
- self.Head.OutputString(),
- self.ActNum,
- self.SuperItemCount,
- "..."
- )
- return DumpString
-
-
-m_NAtagCMActXianXiaMJSuperItem=tagCMActXianXiaMJSuperItem()
-ChNetPackDict[eval("0x%02x%02x"%(m_NAtagCMActXianXiaMJSuperItem.Head.Cmd,m_NAtagCMActXianXiaMJSuperItem.Head.SubCmd))] = m_NAtagCMActXianXiaMJSuperItem
#------------------------------------------------------
@@ -13353,62 +12926,6 @@
#------------------------------------------------------
-# B0 50 钓鱼收杆 #tagCMDoFish
-
-class tagCMDoFish(Structure):
- _pack_ = 1
- _fields_ = [
- ("Cmd", c_ubyte),
- ("SubCmd", c_ubyte),
- ("FishNum", c_ubyte), # 钓鱼编号1~N
- ("PosIndex", c_ubyte), # 停留位置1~N
- ]
-
- def __init__(self):
- self.Clear()
- self.Cmd = 0xB0
- self.SubCmd = 0x50
- 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 = 0xB0
- self.SubCmd = 0x50
- self.FishNum = 0
- self.PosIndex = 0
- return
-
- def GetLength(self):
- return sizeof(tagCMDoFish)
-
- def GetBuffer(self):
- return string_at(addressof(self), self.GetLength())
-
- def OutputString(self):
- DumpString = '''// B0 50 钓鱼收杆 //tagCMDoFish:
- Cmd:%s,
- SubCmd:%s,
- FishNum:%d,
- PosIndex:%d
- '''\
- %(
- self.Cmd,
- self.SubCmd,
- self.FishNum,
- self.PosIndex
- )
- return DumpString
-
-
-m_NAtagCMDoFish=tagCMDoFish()
-ChNetPackDict[eval("0x%02x%02x"%(m_NAtagCMDoFish.Cmd,m_NAtagCMDoFish.SubCmd))] = m_NAtagCMDoFish
-
-
-#------------------------------------------------------
# B0 15 接收协助感谢礼物 #tagCGGetAssistThanksGift
class tagCGGetAssistThanksGift(Structure):
@@ -13461,9 +12978,9 @@
#------------------------------------------------------
-# B0 34 福地请求结算奖励 #tagCGMineAreaAwardGet
+# B0 39 自动淘金免费使用 #tagCSGoldRushAutoFreeUse
-class tagCGMineAreaAwardGet(Structure):
+class tagCSGoldRushAutoFreeUse(Structure):
_pack_ = 1
_fields_ = [
("Cmd", c_ubyte),
@@ -13473,7 +12990,7 @@
def __init__(self):
self.Clear()
self.Cmd = 0xB0
- self.SubCmd = 0x34
+ self.SubCmd = 0x39
return
def ReadData(self, stringData, _pos=0, _len=0):
@@ -13483,17 +13000,17 @@
def Clear(self):
self.Cmd = 0xB0
- self.SubCmd = 0x34
+ self.SubCmd = 0x39
return
def GetLength(self):
- return sizeof(tagCGMineAreaAwardGet)
+ return sizeof(tagCSGoldRushAutoFreeUse)
def GetBuffer(self):
return string_at(addressof(self), self.GetLength())
def OutputString(self):
- DumpString = '''// B0 34 福地请求结算奖励 //tagCGMineAreaAwardGet:
+ DumpString = '''// B0 39 自动淘金免费使用 //tagCSGoldRushAutoFreeUse:
Cmd:%s,
SubCmd:%s
'''\
@@ -13504,26 +13021,27 @@
return DumpString
-m_NAtagCGMineAreaAwardGet=tagCGMineAreaAwardGet()
-ChNetPackDict[eval("0x%02x%02x"%(m_NAtagCGMineAreaAwardGet.Cmd,m_NAtagCGMineAreaAwardGet.SubCmd))] = m_NAtagCGMineAreaAwardGet
+m_NAtagCSGoldRushAutoFreeUse=tagCSGoldRushAutoFreeUse()
+ChNetPackDict[eval("0x%02x%02x"%(m_NAtagCSGoldRushAutoFreeUse.Cmd,m_NAtagCSGoldRushAutoFreeUse.SubCmd))] = m_NAtagCSGoldRushAutoFreeUse
#------------------------------------------------------
-# B0 33 福地查看 #tagCGMineAreaView
+# B0 36 淘金操作 #tagCSGoldRushOP
-class tagCGMineAreaView(Structure):
+class tagCSGoldRushOP(Structure):
_pack_ = 1
_fields_ = [
("Cmd", c_ubyte),
("SubCmd", c_ubyte),
- ("QueryType", c_ubyte), # 查询同步类型:0-后端主动同步;1-查看指定福地;2-查看道友福地列表;3-查看周围随机福地列表;4-退出他人福地;5-查看记录
- ("QueryValue", c_int), # 查询值,类型1时-发送目标玩家ID;3时-发送是否重新随机
+ ("OPType", c_ubyte), # 0-接受淘金;1-刷新淘金;2-开始淘金或调整监工数;3-取消淘金
+ ("CampID", c_ubyte), # 营地ID
+ ("WorkerCnt", c_ubyte), # 派遣监工数,仅类型2有效
]
def __init__(self):
self.Clear()
self.Cmd = 0xB0
- self.SubCmd = 0x33
+ self.SubCmd = 0x36
return
def ReadData(self, stringData, _pos=0, _len=0):
@@ -13533,51 +13051,56 @@
def Clear(self):
self.Cmd = 0xB0
- self.SubCmd = 0x33
- self.QueryType = 0
- self.QueryValue = 0
+ self.SubCmd = 0x36
+ self.OPType = 0
+ self.CampID = 0
+ self.WorkerCnt = 0
return
def GetLength(self):
- return sizeof(tagCGMineAreaView)
+ return sizeof(tagCSGoldRushOP)
def GetBuffer(self):
return string_at(addressof(self), self.GetLength())
def OutputString(self):
- DumpString = '''// B0 33 福地查看 //tagCGMineAreaView:
+ DumpString = '''// B0 36 淘金操作 //tagCSGoldRushOP:
Cmd:%s,
SubCmd:%s,
- QueryType:%d,
- QueryValue:%d
+ OPType:%d,
+ CampID:%d,
+ WorkerCnt:%d
'''\
%(
self.Cmd,
self.SubCmd,
- self.QueryType,
- self.QueryValue
+ self.OPType,
+ self.CampID,
+ self.WorkerCnt
)
return DumpString
-m_NAtagCGMineAreaView=tagCGMineAreaView()
-ChNetPackDict[eval("0x%02x%02x"%(m_NAtagCGMineAreaView.Cmd,m_NAtagCGMineAreaView.SubCmd))] = m_NAtagCGMineAreaView
+m_NAtagCSGoldRushOP=tagCSGoldRushOP()
+ChNetPackDict[eval("0x%02x%02x"%(m_NAtagCSGoldRushOP.Cmd,m_NAtagCSGoldRushOP.SubCmd))] = m_NAtagCSGoldRushOP
#------------------------------------------------------
-# B0 35 福地管家免费试用 #tagCMMineHouseKeeperFreeUse
+# B0 37 淘金解锁 #tagCSGoldRushUnlock
-class tagCMMineHouseKeeperFreeUse(Structure):
+class tagCSGoldRushUnlock(Structure):
_pack_ = 1
_fields_ = [
("Cmd", c_ubyte),
("SubCmd", c_ubyte),
+ ("UnlockType", c_ubyte), # 0-营地;1-监工
+ ("UnlockID", c_ubyte), # 解锁类型对应的ID
]
def __init__(self):
self.Clear()
self.Cmd = 0xB0
- self.SubCmd = 0x35
+ self.SubCmd = 0x37
return
def ReadData(self, stringData, _pos=0, _len=0):
@@ -13587,110 +13110,53 @@
def Clear(self):
self.Cmd = 0xB0
- self.SubCmd = 0x35
+ self.SubCmd = 0x37
+ self.UnlockType = 0
+ self.UnlockID = 0
return
def GetLength(self):
- return sizeof(tagCMMineHouseKeeperFreeUse)
+ return sizeof(tagCSGoldRushUnlock)
def GetBuffer(self):
return string_at(addressof(self), self.GetLength())
def OutputString(self):
- DumpString = '''// B0 35 福地管家免费试用 //tagCMMineHouseKeeperFreeUse:
- Cmd:%s,
- SubCmd:%s
- '''\
- %(
- self.Cmd,
- self.SubCmd
- )
- return DumpString
-
-
-m_NAtagCMMineHouseKeeperFreeUse=tagCMMineHouseKeeperFreeUse()
-ChNetPackDict[eval("0x%02x%02x"%(m_NAtagCMMineHouseKeeperFreeUse.Cmd,m_NAtagCMMineHouseKeeperFreeUse.SubCmd))] = m_NAtagCMMineHouseKeeperFreeUse
-
-
-#------------------------------------------------------
-# B0 30 福地物品拉 #tagCMMineItemPull
-
-class tagCMMineItemPull(Structure):
- _pack_ = 1
- _fields_ = [
- ("Cmd", c_ubyte),
- ("SubCmd", c_ubyte),
- ("PlayerID", c_int), # 福地所属玩家ID,0默认自己
- ("ItemIndex", c_ubyte), # 物品所在位置索引0~n
- ("WorkerCount", c_ubyte), # 上工人人数
- ("IsPreview", c_ubyte), # 是否预览;0-直接拉,1-预览大概时间
- ]
-
- def __init__(self):
- self.Clear()
- self.Cmd = 0xB0
- self.SubCmd = 0x30
- 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 = 0xB0
- self.SubCmd = 0x30
- self.PlayerID = 0
- self.ItemIndex = 0
- self.WorkerCount = 0
- self.IsPreview = 0
- return
-
- def GetLength(self):
- return sizeof(tagCMMineItemPull)
-
- def GetBuffer(self):
- return string_at(addressof(self), self.GetLength())
-
- def OutputString(self):
- DumpString = '''// B0 30 福地物品拉 //tagCMMineItemPull:
+ DumpString = '''// B0 37 淘金解锁 //tagCSGoldRushUnlock:
Cmd:%s,
SubCmd:%s,
- PlayerID:%d,
- ItemIndex:%d,
- WorkerCount:%d,
- IsPreview:%d
+ UnlockType:%d,
+ UnlockID:%d
'''\
%(
self.Cmd,
self.SubCmd,
- self.PlayerID,
- self.ItemIndex,
- self.WorkerCount,
- self.IsPreview
+ self.UnlockType,
+ self.UnlockID
)
return DumpString
-m_NAtagCMMineItemPull=tagCMMineItemPull()
-ChNetPackDict[eval("0x%02x%02x"%(m_NAtagCMMineItemPull.Cmd,m_NAtagCMMineItemPull.SubCmd))] = m_NAtagCMMineItemPull
+m_NAtagCSGoldRushUnlock=tagCSGoldRushUnlock()
+ChNetPackDict[eval("0x%02x%02x"%(m_NAtagCSGoldRushUnlock.Cmd,m_NAtagCSGoldRushUnlock.SubCmd))] = m_NAtagCSGoldRushUnlock
#------------------------------------------------------
-# B0 31 福地物品刷新 #tagCMMineItemRefresh
+# B0 38 淘金仓库领奖 #tagCSGoldRushWarehouseAward
-class tagCMMineItemRefresh(Structure):
+class tagCSGoldRushWarehouseAward(Structure):
_pack_ = 1
_fields_ = [
("Cmd", c_ubyte),
("SubCmd", c_ubyte),
- ("RefreshType", c_ubyte), # 刷新类型:0-自己物品普通刷新;1-自己物品超级刷新;2-周围福地玩家列表刷新
+ ("AwardIndex", c_ubyte), # 领奖位置索引,从0开始
+ ("IsAll", c_ubyte), # 是否领取所有
]
def __init__(self):
self.Clear()
self.Cmd = 0xB0
- self.SubCmd = 0x31
+ self.SubCmd = 0x38
return
def ReadData(self, stringData, _pos=0, _len=0):
@@ -13700,80 +13166,35 @@
def Clear(self):
self.Cmd = 0xB0
- self.SubCmd = 0x31
- self.RefreshType = 0
+ self.SubCmd = 0x38
+ self.AwardIndex = 0
+ self.IsAll = 0
return
def GetLength(self):
- return sizeof(tagCMMineItemRefresh)
+ return sizeof(tagCSGoldRushWarehouseAward)
def GetBuffer(self):
return string_at(addressof(self), self.GetLength())
def OutputString(self):
- DumpString = '''// B0 31 福地物品刷新 //tagCMMineItemRefresh:
+ DumpString = '''// B0 38 淘金仓库领奖 //tagCSGoldRushWarehouseAward:
Cmd:%s,
SubCmd:%s,
- RefreshType:%d
+ AwardIndex:%d,
+ IsAll:%d
'''\
%(
self.Cmd,
self.SubCmd,
- self.RefreshType
+ self.AwardIndex,
+ self.IsAll
)
return DumpString
-m_NAtagCMMineItemRefresh=tagCMMineItemRefresh()
-ChNetPackDict[eval("0x%02x%02x"%(m_NAtagCMMineItemRefresh.Cmd,m_NAtagCMMineItemRefresh.SubCmd))] = m_NAtagCMMineItemRefresh
-
-
-#------------------------------------------------------
-# B0 32 福地工人雇佣 #tagCMMineWorkerEmploy
-
-class tagCMMineWorkerEmploy(Structure):
- _pack_ = 1
- _fields_ = [
- ("Cmd", c_ubyte),
- ("SubCmd", c_ubyte),
- ]
-
- def __init__(self):
- self.Clear()
- self.Cmd = 0xB0
- self.SubCmd = 0x32
- 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 = 0xB0
- self.SubCmd = 0x32
- return
-
- def GetLength(self):
- return sizeof(tagCMMineWorkerEmploy)
-
- def GetBuffer(self):
- return string_at(addressof(self), self.GetLength())
-
- def OutputString(self):
- DumpString = '''// B0 32 福地工人雇佣 //tagCMMineWorkerEmploy:
- Cmd:%s,
- SubCmd:%s
- '''\
- %(
- self.Cmd,
- self.SubCmd
- )
- return DumpString
-
-
-m_NAtagCMMineWorkerEmploy=tagCMMineWorkerEmploy()
-ChNetPackDict[eval("0x%02x%02x"%(m_NAtagCMMineWorkerEmploy.Cmd,m_NAtagCMMineWorkerEmploy.SubCmd))] = m_NAtagCMMineWorkerEmploy
+m_NAtagCSGoldRushWarehouseAward=tagCSGoldRushWarehouseAward()
+ChNetPackDict[eval("0x%02x%02x"%(m_NAtagCSGoldRushWarehouseAward.Cmd,m_NAtagCSGoldRushWarehouseAward.SubCmd))] = m_NAtagCSGoldRushWarehouseAward
#------------------------------------------------------
@@ -14598,70 +14019,14 @@
#------------------------------------------------------
-# B2 10 竞技场挑战玩家 #tagCMArenaBattle
+# B2 09 演武场匹配玩家 #tagCSArenaMatch
-class tagCMArenaBattle(Structure):
+class tagCSArenaMatch(Structure):
_pack_ = 1
_fields_ = [
("Cmd", c_ubyte),
("SubCmd", c_ubyte),
- ("TagPlayerID", c_int), # 目标玩家ID或机器人ID
- ("Result", c_ubyte), # 0-进入自定义场景发送通知后端;1-胜利(后端处理,暂时不需要发送此状态);2-失败(前端被对手击杀需要发送此状态)
- ]
-
- def __init__(self):
- self.Clear()
- self.Cmd = 0xB2
- self.SubCmd = 0x10
- 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 = 0xB2
- self.SubCmd = 0x10
- self.TagPlayerID = 0
- self.Result = 0
- return
-
- def GetLength(self):
- return sizeof(tagCMArenaBattle)
-
- def GetBuffer(self):
- return string_at(addressof(self), self.GetLength())
-
- def OutputString(self):
- DumpString = '''// B2 10 竞技场挑战玩家 //tagCMArenaBattle:
- Cmd:%s,
- SubCmd:%s,
- TagPlayerID:%d,
- Result:%d
- '''\
- %(
- self.Cmd,
- self.SubCmd,
- self.TagPlayerID,
- self.Result
- )
- return DumpString
-
-
-m_NAtagCMArenaBattle=tagCMArenaBattle()
-ChNetPackDict[eval("0x%02x%02x"%(m_NAtagCMArenaBattle.Cmd,m_NAtagCMArenaBattle.SubCmd))] = m_NAtagCMArenaBattle
-
-
-#------------------------------------------------------
-# B2 09 竞技场匹配玩家 #tagCMArenaMatch
-
-class tagCMArenaMatch(Structure):
- _pack_ = 1
- _fields_ = [
- ("Cmd", c_ubyte),
- ("SubCmd", c_ubyte),
- ("IsRefresh", c_ubyte), # 0-打开界面无匹配数据时时查询,1-强制刷新匹配列表
+ ("IsRefresh", c_ubyte), # 0-打开界面无匹配数据时查询,1-强制刷新匹配列表
]
def __init__(self):
@@ -14682,13 +14047,13 @@
return
def GetLength(self):
- return sizeof(tagCMArenaMatch)
+ return sizeof(tagCSArenaMatch)
def GetBuffer(self):
return string_at(addressof(self), self.GetLength())
def OutputString(self):
- DumpString = '''// B2 09 竞技场匹配玩家 //tagCMArenaMatch:
+ DumpString = '''// B2 09 演武场匹配玩家 //tagCSArenaMatch:
Cmd:%s,
SubCmd:%s,
IsRefresh:%d
@@ -14701,8 +14066,8 @@
return DumpString
-m_NAtagCMArenaMatch=tagCMArenaMatch()
-ChNetPackDict[eval("0x%02x%02x"%(m_NAtagCMArenaMatch.Cmd,m_NAtagCMArenaMatch.SubCmd))] = m_NAtagCMArenaMatch
+m_NAtagCSArenaMatch=tagCSArenaMatch()
+ChNetPackDict[eval("0x%02x%02x"%(m_NAtagCSArenaMatch.Cmd,m_NAtagCSArenaMatch.SubCmd))] = m_NAtagCSArenaMatch
#------------------------------------------------------
@@ -15305,7 +14670,6 @@
("Cmd", c_ubyte),
("SubCmd", c_ubyte),
("HeroID", c_int), #武将ID
- ("ItemIndex", c_ushort), #关联武将物品所在武将背包索引,激活时可不用发
("BookType", c_ubyte), #图鉴激活类型: 0-初始激活;1-星级升级;2-突破等级升级
]
@@ -15324,7 +14688,6 @@
self.Cmd = 0xB2
self.SubCmd = 0x37
self.HeroID = 0
- self.ItemIndex = 0
self.BookType = 0
return
@@ -15339,14 +14702,12 @@
Cmd:%s,
SubCmd:%s,
HeroID:%d,
- ItemIndex:%d,
BookType:%d
'''\
%(
self.Cmd,
self.SubCmd,
self.HeroID,
- self.ItemIndex,
self.BookType
)
return DumpString
@@ -17310,7 +16671,7 @@
_fields_ = [
("Cmd", c_ubyte),
("SubCmd", c_ubyte),
- ("ReqType", c_ubyte), # 0-停止战斗回城;1-设置消耗倍值;2-挑战关卡小怪;3-挑战关卡boss;4-继续战斗;
+ ("ReqType", c_ubyte), # 0-停止战斗回城;1-设置消耗倍值;2-挑战关卡小怪;4-继续战斗;
("ReqValue", c_int), # 请求值,ReqType为1时发送消耗倍值
]
@@ -18391,10 +17752,10 @@
class tagCMTurnFight(Structure):
Head = tagHead()
- MapID = 0 #(DWORD MapID)// 自定义地图ID,可用于绑定战斗地图场景功能(如主线关卡、主线boss、爬塔、竞技场等)
+ MapID = 0 #(DWORD MapID)// 自定义地图ID,可用于绑定战斗地图场景功能(如主线boss、爬塔、竞技场等)
FuncLineID = 0 #(DWORD FuncLineID)// MapID对应的扩展值,如具体某个关卡等
TagType = 0 #(BYTE TagType)// 目标类型,0-NPC阵容,1-玩家
- TagID = 0 #(DWORD TagID)// 目标类型对应的ID,如阵容ID或玩家ID
+ TagID = 0 #(DWORD TagID)// 目标类型对应的ID,如玩家ID
ValueCount = 0 #(BYTE ValueCount)
ValueList = list() #(vector<DWORD> ValueList)// 附加值列表,可选,具体含义由MapID决定
data = None
--
Gitblit v1.8.0