From 14f52c46d49b1654c783c5fa5c1480a09de4432e Mon Sep 17 00:00:00 2001
From: hxp <ale99527@vip.qq.com>
Date: 星期日, 19 一月 2020 15:44:09 +0800
Subject: [PATCH] 8372 VIP特权修改(增加个人BOSS购买次数权限38、缥缈仙域购买次数权限39;日常活动支持VIP特权额外购买次数)
---
ServerPython/CoreServerGroup/GameServer/Script/ChPyNetPack.py | 366 ++++++++++++++++++++++++++++++++++++---------------
1 files changed, 256 insertions(+), 110 deletions(-)
diff --git a/ServerPython/CoreServerGroup/GameServer/Script/ChPyNetPack.py b/ServerPython/CoreServerGroup/GameServer/Script/ChPyNetPack.py
index c744f36..a044623 100644
--- a/ServerPython/CoreServerGroup/GameServer/Script/ChPyNetPack.py
+++ b/ServerPython/CoreServerGroup/GameServer/Script/ChPyNetPack.py
@@ -1964,7 +1964,7 @@
class tagCGCancelAssistBoss(Structure):
Head = tagHead()
- GUID = "" #(char GUID[40])
+ AssistGUID = "" #(char AssistGUID[40])//协助GUID
data = None
def __init__(self):
@@ -1976,7 +1976,7 @@
def ReadData(self, _lpData, _pos=0, _Len=0):
self.Clear()
_pos = self.Head.ReadData(_lpData, _pos)
- self.GUID,_pos = CommFunc.ReadString(_lpData, _pos,40)
+ self.AssistGUID,_pos = CommFunc.ReadString(_lpData, _pos,40)
return _pos
def Clear(self):
@@ -1984,7 +1984,7 @@
self.Head.Clear()
self.Head.Cmd = 0xB0
self.Head.SubCmd = 0x13
- self.GUID = ""
+ self.AssistGUID = ""
return
def GetLength(self):
@@ -1997,17 +1997,17 @@
def GetBuffer(self):
data = ''
data = CommFunc.WriteString(data, self.Head.GetLength(), self.Head.GetBuffer())
- data = CommFunc.WriteString(data, 40, self.GUID)
+ data = CommFunc.WriteString(data, 40, self.AssistGUID)
return data
def OutputString(self):
DumpString = '''
Head:%s,
- GUID:%s
+ AssistGUID:%s
'''\
%(
self.Head.OutputString(),
- self.GUID
+ self.AssistGUID
)
return DumpString
@@ -2017,60 +2017,55 @@
#------------------------------------------------------
-# B0 15 领取协助感谢礼物 #tagCGGetAssistGift
+# B0 15 接收协助感谢礼物 #tagCGGetAssistThanksGift
-class tagCGGetAssistGift(Structure):
- Head = tagHead()
- GUID = "" #(char GUID[40])
- data = None
+class tagCGGetAssistThanksGift(Structure):
+ _pack_ = 1
+ _fields_ = [
+ ("Cmd", c_ubyte),
+ ("SubCmd", c_ubyte),
+ ("IsPreview", c_ubyte), #是否预览,非预览即确认领取,无额外奖励确认时也需要回复领取包代表已读
+ ]
def __init__(self):
self.Clear()
- self.Head.Cmd = 0xB0
- self.Head.SubCmd = 0x15
+ self.Cmd = 0xB0
+ self.SubCmd = 0x15
return
- def ReadData(self, _lpData, _pos=0, _Len=0):
+ def ReadData(self, stringData, _pos=0, _len=0):
self.Clear()
- _pos = self.Head.ReadData(_lpData, _pos)
- self.GUID,_pos = CommFunc.ReadString(_lpData, _pos,40)
- return _pos
+ memmove(addressof(self), stringData[_pos:], self.GetLength())
+ return _pos + self.GetLength()
def Clear(self):
- self.Head = tagHead()
- self.Head.Clear()
- self.Head.Cmd = 0xB0
- self.Head.SubCmd = 0x15
- self.GUID = ""
+ self.Cmd = 0xB0
+ self.SubCmd = 0x15
+ self.IsPreview = 0
return
def GetLength(self):
- length = 0
- length += self.Head.GetLength()
- length += 40
-
- return length
+ return sizeof(tagCGGetAssistThanksGift)
def GetBuffer(self):
- data = ''
- data = CommFunc.WriteString(data, self.Head.GetLength(), self.Head.GetBuffer())
- data = CommFunc.WriteString(data, 40, self.GUID)
- return data
+ return string_at(addressof(self), self.GetLength())
def OutputString(self):
- DumpString = '''
- Head:%s,
- GUID:%s
+ DumpString = '''// B0 15 接收协助感谢礼物 //tagCGGetAssistThanksGift:
+ Cmd:%s,
+ SubCmd:%s,
+ IsPreview:%d
'''\
%(
- self.Head.OutputString(),
- self.GUID
+ self.Cmd,
+ self.SubCmd,
+ self.IsPreview
)
return DumpString
-m_NAtagCGGetAssistGift=tagCGGetAssistGift()
-ChNetPackDict[eval("0x%02x%02x"%(m_NAtagCGGetAssistGift.Head.Cmd,m_NAtagCGGetAssistGift.Head.SubCmd))] = m_NAtagCGGetAssistGift
+m_NAtagCGGetAssistThanksGift=tagCGGetAssistThanksGift()
+ChNetPackDict[eval("0x%02x%02x"%(m_NAtagCGGetAssistThanksGift.Cmd,m_NAtagCGGetAssistThanksGift.SubCmd))] = m_NAtagCGGetAssistThanksGift
#------------------------------------------------------
@@ -2122,68 +2117,11 @@
#------------------------------------------------------
-# B0 14 发送协助感谢礼物 #tagCGSendAssistGift
-
-class tagCGSendAssistGift(Structure):
- Head = tagHead()
- GUID = "" #(char GUID[40])
- data = None
-
- def __init__(self):
- self.Clear()
- self.Head.Cmd = 0xB0
- self.Head.SubCmd = 0x14
- return
-
- def ReadData(self, _lpData, _pos=0, _Len=0):
- self.Clear()
- _pos = self.Head.ReadData(_lpData, _pos)
- self.GUID,_pos = CommFunc.ReadString(_lpData, _pos,40)
- return _pos
-
- def Clear(self):
- self.Head = tagHead()
- self.Head.Clear()
- self.Head.Cmd = 0xB0
- self.Head.SubCmd = 0x14
- self.GUID = ""
- return
-
- def GetLength(self):
- length = 0
- length += self.Head.GetLength()
- length += 40
-
- return length
-
- def GetBuffer(self):
- data = ''
- data = CommFunc.WriteString(data, self.Head.GetLength(), self.Head.GetBuffer())
- data = CommFunc.WriteString(data, 40, self.GUID)
- return data
-
- def OutputString(self):
- DumpString = '''
- Head:%s,
- GUID:%s
- '''\
- %(
- self.Head.OutputString(),
- self.GUID
- )
- return DumpString
-
-
-m_NAtagCGSendAssistGift=tagCGSendAssistGift()
-ChNetPackDict[eval("0x%02x%02x"%(m_NAtagCGSendAssistGift.Head.Cmd,m_NAtagCGSendAssistGift.Head.SubCmd))] = m_NAtagCGSendAssistGift
-
-
-#------------------------------------------------------
# B0 12 开始协助Boss #tagCGStartAssistBoss
class tagCGStartAssistBoss(Structure):
Head = tagHead()
- GUID = "" #(char GUID[40])
+ AssistGUID = "" #(char AssistGUID[40])//协助GUID
data = None
def __init__(self):
@@ -2195,7 +2133,7 @@
def ReadData(self, _lpData, _pos=0, _Len=0):
self.Clear()
_pos = self.Head.ReadData(_lpData, _pos)
- self.GUID,_pos = CommFunc.ReadString(_lpData, _pos,40)
+ self.AssistGUID,_pos = CommFunc.ReadString(_lpData, _pos,40)
return _pos
def Clear(self):
@@ -2203,7 +2141,7 @@
self.Head.Clear()
self.Head.Cmd = 0xB0
self.Head.SubCmd = 0x12
- self.GUID = ""
+ self.AssistGUID = ""
return
def GetLength(self):
@@ -2216,23 +2154,79 @@
def GetBuffer(self):
data = ''
data = CommFunc.WriteString(data, self.Head.GetLength(), self.Head.GetBuffer())
- data = CommFunc.WriteString(data, 40, self.GUID)
+ data = CommFunc.WriteString(data, 40, self.AssistGUID)
return data
def OutputString(self):
DumpString = '''
Head:%s,
- GUID:%s
+ AssistGUID:%s
'''\
%(
self.Head.OutputString(),
- self.GUID
+ self.AssistGUID
)
return DumpString
m_NAtagCGStartAssistBoss=tagCGStartAssistBoss()
ChNetPackDict[eval("0x%02x%02x"%(m_NAtagCGStartAssistBoss.Head.Cmd,m_NAtagCGStartAssistBoss.Head.SubCmd))] = m_NAtagCGStartAssistBoss
+
+
+#------------------------------------------------------
+# B0 14 使用协助感谢礼盒 #tagCGUseAssistThanksGift
+
+class tagCGUseAssistThanksGift(Structure):
+ _pack_ = 1
+ _fields_ = [
+ ("Cmd", c_ubyte),
+ ("SubCmd", c_ubyte),
+ ("ItemID", c_int),
+ ("IsPreview", c_ubyte), #是否预览,非预览即确认使用
+ ]
+
+ def __init__(self):
+ self.Clear()
+ self.Cmd = 0xB0
+ self.SubCmd = 0x14
+ 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 = 0x14
+ self.ItemID = 0
+ self.IsPreview = 0
+ return
+
+ def GetLength(self):
+ return sizeof(tagCGUseAssistThanksGift)
+
+ def GetBuffer(self):
+ return string_at(addressof(self), self.GetLength())
+
+ def OutputString(self):
+ DumpString = '''// B0 14 使用协助感谢礼盒 //tagCGUseAssistThanksGift:
+ Cmd:%s,
+ SubCmd:%s,
+ ItemID:%d,
+ IsPreview:%d
+ '''\
+ %(
+ self.Cmd,
+ self.SubCmd,
+ self.ItemID,
+ self.IsPreview
+ )
+ return DumpString
+
+
+m_NAtagCGUseAssistThanksGift=tagCGUseAssistThanksGift()
+ChNetPackDict[eval("0x%02x%02x"%(m_NAtagCGUseAssistThanksGift.Cmd,m_NAtagCGUseAssistThanksGift.SubCmd))] = m_NAtagCGUseAssistThanksGift
#------------------------------------------------------
@@ -5943,6 +5937,58 @@
#------------------------------------------------------
+# A2 07 接受任务 #tagCMTakeTask
+
+class tagCMTakeTask(Structure):
+ _pack_ = 1
+ _fields_ = [
+ ("Cmd", c_ubyte),
+ ("SubCmd", c_ubyte),
+ ("TaskID", c_int),
+ ]
+
+ def __init__(self):
+ self.Clear()
+ self.Cmd = 0xA2
+ self.SubCmd = 0x07
+ 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 = 0xA2
+ self.SubCmd = 0x07
+ self.TaskID = 0
+ return
+
+ def GetLength(self):
+ return sizeof(tagCMTakeTask)
+
+ def GetBuffer(self):
+ return string_at(addressof(self), self.GetLength())
+
+ def OutputString(self):
+ DumpString = '''// A2 07 接受任务 //tagCMTakeTask:
+ Cmd:%s,
+ SubCmd:%s,
+ TaskID:%d
+ '''\
+ %(
+ self.Cmd,
+ self.SubCmd,
+ self.TaskID
+ )
+ return DumpString
+
+
+m_NAtagCMTakeTask=tagCMTakeTask()
+ChNetPackDict[eval("0x%02x%02x"%(m_NAtagCMTakeTask.Cmd,m_NAtagCMTakeTask.SubCmd))] = m_NAtagCMTakeTask
+
+
+#------------------------------------------------------
#A2 12 查看玩家详细信息#tagCMViewPlayerInfo
class tagCMViewPlayerInfo(Structure):
@@ -7911,7 +7957,7 @@
_fields_ = [
("Cmd", c_ubyte),
("SubCmd", c_ubyte),
- ("HorseID", c_int), #坐骑ID
+ ("HorseID", c_int), #坐骑幻化ID
]
def __init__(self):
@@ -10450,7 +10496,6 @@
_fields_ = [
("Cmd", c_ubyte),
("SubCmd", c_ubyte),
- ("HorseID", c_int), #坐骑ID
("UseItemCnt", c_ubyte), #消耗材料个数
("IsAutoBuy", c_ubyte), #是否自动购买
]
@@ -10469,7 +10514,6 @@
def Clear(self):
self.Cmd = 0xA5
self.SubCmd = 0x27
- self.HorseID = 0
self.UseItemCnt = 0
self.IsAutoBuy = 0
return
@@ -10484,14 +10528,12 @@
DumpString = '''// A5 27 坐骑提升 //tagCMHorseUp:
Cmd:%s,
SubCmd:%s,
- HorseID:%d,
UseItemCnt:%d,
IsAutoBuy:%d
'''\
%(
self.Cmd,
self.SubCmd,
- self.HorseID,
self.UseItemCnt,
self.IsAutoBuy
)
@@ -10662,7 +10704,8 @@
_fields_ = [
("Cmd", c_ubyte),
("SubCmd", c_ubyte),
- ("Index", c_int), #选择索引
+ ("ChooseType", c_ubyte), # 1-按等阶,2-按幻化
+ ("LVID", c_ubyte), # 阶等级或幻化ID
]
def __init__(self):
@@ -10679,7 +10722,8 @@
def Clear(self):
self.Cmd = 0xA5
self.SubCmd = 0x02
- self.Index = 0
+ self.ChooseType = 0
+ self.LVID = 0
return
def GetLength(self):
@@ -10692,12 +10736,14 @@
DumpString = '''//A5 02 坐骑选择 //tagPlayerChooseHorse:
Cmd:%s,
SubCmd:%s,
- Index:%d
+ ChooseType:%d,
+ LVID:%d
'''\
%(
self.Cmd,
self.SubCmd,
- self.Index
+ self.ChooseType,
+ self.LVID
)
return DumpString
@@ -14012,6 +14058,106 @@
#------------------------------------------------------
+# B0 28 活跃放置快速完成 #tagCMActivityPlaceQuickFinish
+
+class tagCMActivityPlaceQuickFinish(Structure):
+ _pack_ = 1
+ _fields_ = [
+ ("Cmd", c_ubyte),
+ ("SubCmd", c_ubyte),
+ ("FinishCount", c_ubyte), #完成次数
+ ]
+
+ def __init__(self):
+ self.Clear()
+ self.Cmd = 0xB0
+ self.SubCmd = 0x28
+ 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 = 0x28
+ self.FinishCount = 0
+ return
+
+ def GetLength(self):
+ return sizeof(tagCMActivityPlaceQuickFinish)
+
+ def GetBuffer(self):
+ return string_at(addressof(self), self.GetLength())
+
+ def OutputString(self):
+ DumpString = '''// B0 28 活跃放置快速完成 //tagCMActivityPlaceQuickFinish:
+ Cmd:%s,
+ SubCmd:%s,
+ FinishCount:%d
+ '''\
+ %(
+ self.Cmd,
+ self.SubCmd,
+ self.FinishCount
+ )
+ return DumpString
+
+
+m_NAtagCMActivityPlaceQuickFinish=tagCMActivityPlaceQuickFinish()
+ChNetPackDict[eval("0x%02x%02x"%(m_NAtagCMActivityPlaceQuickFinish.Cmd,m_NAtagCMActivityPlaceQuickFinish.SubCmd))] = m_NAtagCMActivityPlaceQuickFinish
+
+
+#------------------------------------------------------
+# B0 27 活跃放置启动 #tagCMActivityPlaceStart
+
+class tagCMActivityPlaceStart(Structure):
+ _pack_ = 1
+ _fields_ = [
+ ("Cmd", c_ubyte),
+ ("SubCmd", c_ubyte),
+ ]
+
+ def __init__(self):
+ self.Clear()
+ self.Cmd = 0xB0
+ self.SubCmd = 0x27
+ 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 = 0x27
+ return
+
+ def GetLength(self):
+ return sizeof(tagCMActivityPlaceStart)
+
+ def GetBuffer(self):
+ return string_at(addressof(self), self.GetLength())
+
+ def OutputString(self):
+ DumpString = '''// B0 27 活跃放置启动 //tagCMActivityPlaceStart:
+ Cmd:%s,
+ SubCmd:%s
+ '''\
+ %(
+ self.Cmd,
+ self.SubCmd
+ )
+ return DumpString
+
+
+m_NAtagCMActivityPlaceStart=tagCMActivityPlaceStart()
+ChNetPackDict[eval("0x%02x%02x"%(m_NAtagCMActivityPlaceStart.Cmd,m_NAtagCMActivityPlaceStart.SubCmd))] = m_NAtagCMActivityPlaceStart
+
+
+#------------------------------------------------------
# B0 50 钓鱼收杆 #tagCMDoFish
class tagCMDoFish(Structure):
--
Gitblit v1.8.0