From 00f4a55d20b44485efb11172bf61263e8cfb57fa Mon Sep 17 00:00:00 2001
From: hxp <ale99527@vip.qq.com>
Date: 星期三, 12 三月 2025 15:09:14 +0800
Subject: [PATCH] 10416 【英文】【bt】【GM】【砍树】登录基金和幻境基金 完成后可以重置购买(重置关联的充值ID)
---
ServerPython/CoreServerGroup/GameServer/Script/ChPyNetPack.py | 176 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++-
1 files changed, 172 insertions(+), 4 deletions(-)
diff --git a/ServerPython/CoreServerGroup/GameServer/Script/ChPyNetPack.py b/ServerPython/CoreServerGroup/GameServer/Script/ChPyNetPack.py
index 6dc84f0..bba43a4 100644
--- a/ServerPython/CoreServerGroup/GameServer/Script/ChPyNetPack.py
+++ b/ServerPython/CoreServerGroup/GameServer/Script/ChPyNetPack.py
@@ -8193,6 +8193,62 @@
#------------------------------------------------------
+# A3 10 购买商城物品 #tagCMBuyItem
+
+class tagCMBuyItem(Structure):
+ _pack_ = 1
+ _fields_ = [
+ ("Cmd", c_ubyte),
+ ("SubCmd", c_ubyte),
+ ("BuyItemIndex", c_ushort), #购买的物品索引
+ ("BuyCount", c_int), #购买数量
+ ]
+
+ def __init__(self):
+ self.Clear()
+ self.Cmd = 0xA3
+ 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 = 0xA3
+ self.SubCmd = 0x10
+ self.BuyItemIndex = 0
+ self.BuyCount = 0
+ return
+
+ def GetLength(self):
+ return sizeof(tagCMBuyItem)
+
+ def GetBuffer(self):
+ return string_at(addressof(self), self.GetLength())
+
+ def OutputString(self):
+ DumpString = '''// A3 10 购买商城物品 //tagCMBuyItem:
+ Cmd:%s,
+ SubCmd:%s,
+ BuyItemIndex:%d,
+ BuyCount:%d
+ '''\
+ %(
+ self.Cmd,
+ self.SubCmd,
+ self.BuyItemIndex,
+ self.BuyCount
+ )
+ return DumpString
+
+
+m_NAtagCMBuyItem=tagCMBuyItem()
+ChNetPackDict[eval("0x%02x%02x"%(m_NAtagCMBuyItem.Cmd,m_NAtagCMBuyItem.SubCmd))] = m_NAtagCMBuyItem
+
+
+#------------------------------------------------------
# A3 07 过期物品续费 #tagCMItemRenew
class tagCMItemRenew(Structure):
@@ -16711,6 +16767,70 @@
#------------------------------------------------------
+# AA 25 炼器操作 #tagCMActLianqiOP
+
+class tagCMActLianqiOP(Structure):
+ _pack_ = 1
+ _fields_ = [
+ ("Cmd", c_ubyte),
+ ("SubCmd", c_ubyte),
+ ("OPType", c_ubyte), # 1-移动;2-使用道具;3-重新开始;4-领取等级奖励
+ ("OPValue", c_int), # 移动时-发1上2下3左4右;使用道具时-发使用个数*10+道具ID所在配置索引;等级奖励时-发领取的奖励等级
+ ("OPValue2", c_int), # 使用道具时-发选中格子A的行列值 行*10+列
+ ("OPValue3", c_int), # 使用道具时-发选中格子B的行列值 行*10+列
+ ]
+
+ def __init__(self):
+ self.Clear()
+ self.Cmd = 0xAA
+ self.SubCmd = 0x25
+ 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 = 0x25
+ self.OPType = 0
+ self.OPValue = 0
+ self.OPValue2 = 0
+ self.OPValue3 = 0
+ return
+
+ def GetLength(self):
+ return sizeof(tagCMActLianqiOP)
+
+ def GetBuffer(self):
+ return string_at(addressof(self), self.GetLength())
+
+ def OutputString(self):
+ DumpString = '''// AA 25 炼器操作 //tagCMActLianqiOP:
+ Cmd:%s,
+ SubCmd:%s,
+ OPType:%d,
+ OPValue:%d,
+ OPValue2:%d,
+ OPValue3:%d
+ '''\
+ %(
+ self.Cmd,
+ self.SubCmd,
+ self.OPType,
+ self.OPValue,
+ self.OPValue2,
+ self.OPValue3
+ )
+ return DumpString
+
+
+m_NAtagCMActLianqiOP=tagCMActLianqiOP()
+ChNetPackDict[eval("0x%02x%02x"%(m_NAtagCMActLianqiOP.Cmd,m_NAtagCMActLianqiOP.SubCmd))] = m_NAtagCMActLianqiOP
+
+
+#------------------------------------------------------
# AA 12 选择转盘活动物品 #tagCMActTurntableChooseItem
class tagCMActTurntableChooseItem(Structure):
@@ -18372,6 +18492,54 @@
#------------------------------------------------------
+# B0 35 福地管家免费试用 #tagCMMineHouseKeeperFreeUse
+
+class tagCMMineHouseKeeperFreeUse(Structure):
+ _pack_ = 1
+ _fields_ = [
+ ("Cmd", c_ubyte),
+ ("SubCmd", c_ubyte),
+ ]
+
+ def __init__(self):
+ self.Clear()
+ self.Cmd = 0xB0
+ self.SubCmd = 0x35
+ 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 = 0x35
+ return
+
+ def GetLength(self):
+ return sizeof(tagCMMineHouseKeeperFreeUse)
+
+ 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):
@@ -18443,7 +18611,7 @@
_fields_ = [
("Cmd", c_ubyte),
("SubCmd", c_ubyte),
- ("IsSuper", c_ubyte), # 是否超级刷新
+ ("RefreshType", c_ubyte), # 刷新类型:0-自己物品普通刷新;1-自己物品超级刷新;2-周围福地玩家列表刷新
]
def __init__(self):
@@ -18460,7 +18628,7 @@
def Clear(self):
self.Cmd = 0xB0
self.SubCmd = 0x31
- self.IsSuper = 0
+ self.RefreshType = 0
return
def GetLength(self):
@@ -18473,12 +18641,12 @@
DumpString = '''// B0 31 福地物品刷新 //tagCMMineItemRefresh:
Cmd:%s,
SubCmd:%s,
- IsSuper:%d
+ RefreshType:%d
'''\
%(
self.Cmd,
self.SubCmd,
- self.IsSuper
+ self.RefreshType
)
return DumpString
--
Gitblit v1.8.0