From e5353bd8a09e4a134ad18f0a8855770669cf43bb Mon Sep 17 00:00:00 2001
From: hxp <ale99527@vip.qq.com>
Date: 星期三, 03 九月 2025 15:22:55 +0800
Subject: [PATCH] 198 【内政】淘金系统-服务端
---
ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/ChPyNetPack.py | 278 ++++++++++++-------------------------------------------
1 files changed, 63 insertions(+), 215 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..75cb095 100644
--- a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/ChPyNetPack.py
+++ b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/ChPyNetPack.py
@@ -13353,62 +13353,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 +13405,9 @@
#------------------------------------------------------
-# B0 34 福地请求结算奖励 #tagCGMineAreaAwardGet
+# B0 39 自动淘金免费使用 #tagCSGoldRushAutoFreeUse
-class tagCGMineAreaAwardGet(Structure):
+class tagCSGoldRushAutoFreeUse(Structure):
_pack_ = 1
_fields_ = [
("Cmd", c_ubyte),
@@ -13473,7 +13417,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 +13427,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 +13448,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 +13478,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 +13537,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 +13593,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
#------------------------------------------------------
@@ -17310,7 +17158,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 +18239,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