From c80c8718c507a7e52f065eee9e35bb4f27573f48 Mon Sep 17 00:00:00 2001
From: hxp <ale99527@vip.qq.com>
Date: 星期五, 05 十二月 2025 11:07:07 +0800
Subject: [PATCH] 374 【活动内容】开服庆典-服务端
---
ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/ChPyNetSendPack.py | 535 +---------------------------------------------------------
1 files changed, 16 insertions(+), 519 deletions(-)
diff --git a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/ChPyNetSendPack.py b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/ChPyNetSendPack.py
index 502680d..94bbe03 100644
--- a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/ChPyNetSendPack.py
+++ b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/ChPyNetSendPack.py
@@ -28961,454 +28961,21 @@
#------------------------------------------------------
-# AB 01 Boss首杀玩家奖励信息 #tagMCBossFirstKillStateInfo
+# AB 05 开服庆典信息 #tagSCOSACelebrationInfo
-class tagMCBossFirstKillState(Structure):
- _pack_ = 1
- _fields_ = [
- ("NPCID", c_int),
- ("FKState", c_int), # 玩家该boss首杀相关状态,按位存:个位-玩家是否击杀过,十位-是否已领取首杀全服奖励,百位-是否已领取个人首杀奖励
- ]
-
- 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.NPCID = 0
- self.FKState = 0
- return
-
- def GetLength(self):
- return sizeof(tagMCBossFirstKillState)
-
- def GetBuffer(self):
- return string_at(addressof(self), self.GetLength())
-
- def OutputString(self):
- DumpString = '''// AB 01 Boss首杀玩家奖励信息 //tagMCBossFirstKillStateInfo:
- NPCID:%d,
- FKState:%d
- '''\
- %(
- self.NPCID,
- self.FKState
- )
- return DumpString
-
-
-class tagMCBossFirstKillStateInfo(Structure):
- Head = tagHead()
- BossCount = 0 #(BYTE BossCount)
- FirstKillStateList = list() #(vector<tagMCBossFirstKillState> FirstKillStateList)
- data = None
-
- def __init__(self):
- self.Clear()
- self.Head.Cmd = 0xAB
- self.Head.SubCmd = 0x01
- return
-
- def ReadData(self, _lpData, _pos=0, _Len=0):
- self.Clear()
- _pos = self.Head.ReadData(_lpData, _pos)
- self.BossCount,_pos = CommFunc.ReadBYTE(_lpData, _pos)
- for i in range(self.BossCount):
- temFirstKillStateList = tagMCBossFirstKillState()
- _pos = temFirstKillStateList.ReadData(_lpData, _pos)
- self.FirstKillStateList.append(temFirstKillStateList)
- return _pos
-
- def Clear(self):
- self.Head = tagHead()
- self.Head.Clear()
- self.Head.Cmd = 0xAB
- self.Head.SubCmd = 0x01
- self.BossCount = 0
- self.FirstKillStateList = list()
- return
-
- def GetLength(self):
- length = 0
- length += self.Head.GetLength()
- length += 1
- for i in range(self.BossCount):
- length += self.FirstKillStateList[i].GetLength()
-
- return length
-
- def GetBuffer(self):
- data = ''
- data = CommFunc.WriteString(data, self.Head.GetLength(), self.Head.GetBuffer())
- data = CommFunc.WriteBYTE(data, self.BossCount)
- for i in range(self.BossCount):
- data = CommFunc.WriteString(data, self.FirstKillStateList[i].GetLength(), self.FirstKillStateList[i].GetBuffer())
- return data
-
- def OutputString(self):
- DumpString = '''
- Head:%s,
- BossCount:%d,
- FirstKillStateList:%s
- '''\
- %(
- self.Head.OutputString(),
- self.BossCount,
- "..."
- )
- return DumpString
-
-
-m_NAtagMCBossFirstKillStateInfo=tagMCBossFirstKillStateInfo()
-ChNetPackDict[eval("0x%02x%02x"%(m_NAtagMCBossFirstKillStateInfo.Head.Cmd,m_NAtagMCBossFirstKillStateInfo.Head.SubCmd))] = m_NAtagMCBossFirstKillStateInfo
-
-
-#------------------------------------------------------
-# AB 03 Boss复活玩家活动信息 #tagMCBossRebornPlayerInfo
-
-class tagMCBossRebornData(Structure):
- _pack_ = 1
- _fields_ = [
- ("ActID", c_ubyte), #活动ID
- ("CurTimes", c_ushort), #已完成次数
- ("GotTimes", c_ushort), #已领取次数
- ]
-
- 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.ActID = 0
- self.CurTimes = 0
- self.GotTimes = 0
- return
-
- def GetLength(self):
- return sizeof(tagMCBossRebornData)
-
- def GetBuffer(self):
- return string_at(addressof(self), self.GetLength())
-
- def OutputString(self):
- DumpString = '''// AB 03 Boss复活玩家活动信息 //tagMCBossRebornPlayerInfo:
- ActID:%d,
- CurTimes:%d,
- GotTimes:%d
- '''\
- %(
- self.ActID,
- self.CurTimes,
- self.GotTimes
- )
- return DumpString
-
-
-class tagMCBossRebornPlayerInfo(Structure):
- Head = tagHead()
- Count = 0 #(BYTE Count)//活动个数
- DataList = list() #(vector<tagMCBossRebornData> DataList)
- data = None
-
- def __init__(self):
- self.Clear()
- self.Head.Cmd = 0xAB
- self.Head.SubCmd = 0x03
- return
-
- def ReadData(self, _lpData, _pos=0, _Len=0):
- self.Clear()
- _pos = self.Head.ReadData(_lpData, _pos)
- self.Count,_pos = CommFunc.ReadBYTE(_lpData, _pos)
- for i in range(self.Count):
- temDataList = tagMCBossRebornData()
- _pos = temDataList.ReadData(_lpData, _pos)
- self.DataList.append(temDataList)
- return _pos
-
- def Clear(self):
- self.Head = tagHead()
- self.Head.Clear()
- self.Head.Cmd = 0xAB
- self.Head.SubCmd = 0x03
- self.Count = 0
- self.DataList = list()
- return
-
- def GetLength(self):
- length = 0
- length += self.Head.GetLength()
- length += 1
- for i in range(self.Count):
- length += self.DataList[i].GetLength()
-
- return length
-
- def GetBuffer(self):
- data = ''
- 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.DataList[i].GetLength(), self.DataList[i].GetBuffer())
- return data
-
- def OutputString(self):
- DumpString = '''
- Head:%s,
- Count:%d,
- DataList:%s
- '''\
- %(
- self.Head.OutputString(),
- self.Count,
- "..."
- )
- return DumpString
-
-
-m_NAtagMCBossRebornPlayerInfo=tagMCBossRebornPlayerInfo()
-ChNetPackDict[eval("0x%02x%02x"%(m_NAtagMCBossRebornPlayerInfo.Head.Cmd,m_NAtagMCBossRebornPlayerInfo.Head.SubCmd))] = m_NAtagMCBossRebornPlayerInfo
-
-
-#------------------------------------------------------
-# AB 04 Boss复活活动信息 #tagMCBossRebornInfo
-
-class tagMCBossRebornAwardItem(Structure):
- _pack_ = 1
- _fields_ = [
- ("ItemID", c_int),
- ("ItemCount", c_ushort),
- ("IsBind", 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.ItemID = 0
- self.ItemCount = 0
- self.IsBind = 0
- return
-
- def GetLength(self):
- return sizeof(tagMCBossRebornAwardItem)
-
- def GetBuffer(self):
- return string_at(addressof(self), self.GetLength())
-
- def OutputString(self):
- DumpString = '''// AB 04 Boss复活活动信息 //tagMCBossRebornInfo:
- ItemID:%d,
- ItemCount:%d,
- IsBind:%d
- '''\
- %(
- self.ItemID,
- self.ItemCount,
- self.IsBind
- )
- return DumpString
-
-
-class tagMCBossRebornTaskInfo(Structure):
- TaskID = 0 #(BYTE TaskID)// id
- TotalTimes = 0 #(BYTE TotalTimes)// 可完成总次数,0表示不限次数
- SingleTimes = 0 #(BYTE SingleTimes)// 单次领奖需要次数
- AwardItemCount = 0 #(BYTE AwardItemCount)// 奖励物品数
- AwardItem = list() #(vector<tagMCBossRebornAwardItem> AwardItem)// 奖励物品信息
- data = None
-
- def __init__(self):
- self.Clear()
- return
-
- def ReadData(self, _lpData, _pos=0, _Len=0):
- self.Clear()
- self.TaskID,_pos = CommFunc.ReadBYTE(_lpData, _pos)
- self.TotalTimes,_pos = CommFunc.ReadBYTE(_lpData, _pos)
- self.SingleTimes,_pos = CommFunc.ReadBYTE(_lpData, _pos)
- self.AwardItemCount,_pos = CommFunc.ReadBYTE(_lpData, _pos)
- for i in range(self.AwardItemCount):
- temAwardItem = tagMCBossRebornAwardItem()
- _pos = temAwardItem.ReadData(_lpData, _pos)
- self.AwardItem.append(temAwardItem)
- return _pos
-
- def Clear(self):
- self.TaskID = 0
- self.TotalTimes = 0
- self.SingleTimes = 0
- self.AwardItemCount = 0
- self.AwardItem = list()
- return
-
- def GetLength(self):
- length = 0
- length += 1
- length += 1
- length += 1
- length += 1
- for i in range(self.AwardItemCount):
- length += self.AwardItem[i].GetLength()
-
- return length
-
- def GetBuffer(self):
- data = ''
- data = CommFunc.WriteBYTE(data, self.TaskID)
- data = CommFunc.WriteBYTE(data, self.TotalTimes)
- data = CommFunc.WriteBYTE(data, self.SingleTimes)
- data = CommFunc.WriteBYTE(data, self.AwardItemCount)
- for i in range(self.AwardItemCount):
- data = CommFunc.WriteString(data, self.AwardItem[i].GetLength(), self.AwardItem[i].GetBuffer())
- return data
-
- def OutputString(self):
- DumpString = '''
- TaskID:%d,
- TotalTimes:%d,
- SingleTimes:%d,
- AwardItemCount:%d,
- AwardItem:%s
- '''\
- %(
- self.TaskID,
- self.TotalTimes,
- self.SingleTimes,
- self.AwardItemCount,
- "..."
- )
- return DumpString
-
-
-class tagMCBossRebornInfo(Structure):
- Head = tagHead()
- StartDate = "" #(char StartDate[10])// 开始日期 y-m-d
- EndtDate = "" #(char EndtDate[10])// 结束日期 y-m-d
- ResetType = 0 #(BYTE ResetType)// 重置类型,0-0点重置;1-5点重置
- LimitLV = 0 #(WORD LimitLV)// 限制等级
- TaskCnt = 0 #(BYTE TaskCnt)
- TaskInfo = list() #(vector<tagMCBossRebornTaskInfo> TaskInfo)
- data = None
-
- def __init__(self):
- self.Clear()
- self.Head.Cmd = 0xAB
- self.Head.SubCmd = 0x04
- return
-
- def ReadData(self, _lpData, _pos=0, _Len=0):
- self.Clear()
- _pos = self.Head.ReadData(_lpData, _pos)
- self.StartDate,_pos = CommFunc.ReadString(_lpData, _pos,10)
- self.EndtDate,_pos = CommFunc.ReadString(_lpData, _pos,10)
- self.ResetType,_pos = CommFunc.ReadBYTE(_lpData, _pos)
- self.LimitLV,_pos = CommFunc.ReadWORD(_lpData, _pos)
- self.TaskCnt,_pos = CommFunc.ReadBYTE(_lpData, _pos)
- for i in range(self.TaskCnt):
- temTaskInfo = tagMCBossRebornTaskInfo()
- _pos = temTaskInfo.ReadData(_lpData, _pos)
- self.TaskInfo.append(temTaskInfo)
- return _pos
-
- def Clear(self):
- self.Head = tagHead()
- self.Head.Clear()
- self.Head.Cmd = 0xAB
- self.Head.SubCmd = 0x04
- self.StartDate = ""
- self.EndtDate = ""
- self.ResetType = 0
- self.LimitLV = 0
- self.TaskCnt = 0
- self.TaskInfo = list()
- return
-
- def GetLength(self):
- length = 0
- length += self.Head.GetLength()
- length += 10
- length += 10
- length += 1
- length += 2
- length += 1
- for i in range(self.TaskCnt):
- length += self.TaskInfo[i].GetLength()
-
- return length
-
- def GetBuffer(self):
- data = ''
- data = CommFunc.WriteString(data, self.Head.GetLength(), self.Head.GetBuffer())
- data = CommFunc.WriteString(data, 10, self.StartDate)
- data = CommFunc.WriteString(data, 10, self.EndtDate)
- data = CommFunc.WriteBYTE(data, self.ResetType)
- data = CommFunc.WriteWORD(data, self.LimitLV)
- data = CommFunc.WriteBYTE(data, self.TaskCnt)
- for i in range(self.TaskCnt):
- data = CommFunc.WriteString(data, self.TaskInfo[i].GetLength(), self.TaskInfo[i].GetBuffer())
- return data
-
- def OutputString(self):
- DumpString = '''
- Head:%s,
- StartDate:%s,
- EndtDate:%s,
- ResetType:%d,
- LimitLV:%d,
- TaskCnt:%d,
- TaskInfo:%s
- '''\
- %(
- self.Head.OutputString(),
- self.StartDate,
- self.EndtDate,
- self.ResetType,
- self.LimitLV,
- self.TaskCnt,
- "..."
- )
- return DumpString
-
-
-m_NAtagMCBossRebornInfo=tagMCBossRebornInfo()
-ChNetPackDict[eval("0x%02x%02x"%(m_NAtagMCBossRebornInfo.Head.Cmd,m_NAtagMCBossRebornInfo.Head.SubCmd))] = m_NAtagMCBossRebornInfo
-
-
-#------------------------------------------------------
-# AB 19 炼制奖励信息 #tagMCRefineGiftInfo
-
-class tagMCRefineGiftInfo(Structure):
+class tagSCOSACelebrationInfo(Structure):
_pack_ = 1
_fields_ = [
("Cmd", c_ubyte),
("SubCmd", c_ubyte),
- ("ExpRefineStartTime", c_int), # 经验炼制活动开始时间
- ("MoneyRefineStartTime", c_int), # 金币炼制活动开始时间
- ("ExpRefineCnt", c_ubyte), # 经验已炼制次数
- ("MoneyRefineCnt", c_ubyte), # 金币已炼制次数
+ ("PointTotal", c_int), # 累计庆典积分
+ ("PointAward", c_int), # 积分阶段奖励记录,按阶段积分排序后索引二进制存储是否已领取
]
def __init__(self):
self.Clear()
self.Cmd = 0xAB
- self.SubCmd = 0x19
+ self.SubCmd = 0x05
return
def ReadData(self, stringData, _pos=0, _len=0):
@@ -29418,105 +28985,35 @@
def Clear(self):
self.Cmd = 0xAB
- self.SubCmd = 0x19
- self.ExpRefineStartTime = 0
- self.MoneyRefineStartTime = 0
- self.ExpRefineCnt = 0
- self.MoneyRefineCnt = 0
+ self.SubCmd = 0x05
+ self.PointTotal = 0
+ self.PointAward = 0
return
def GetLength(self):
- return sizeof(tagMCRefineGiftInfo)
+ return sizeof(tagSCOSACelebrationInfo)
def GetBuffer(self):
return string_at(addressof(self), self.GetLength())
def OutputString(self):
- DumpString = '''// AB 19 炼制奖励信息 //tagMCRefineGiftInfo:
+ DumpString = '''// AB 05 开服庆典信息 //tagSCOSACelebrationInfo:
Cmd:%s,
SubCmd:%s,
- ExpRefineStartTime:%d,
- MoneyRefineStartTime:%d,
- ExpRefineCnt:%d,
- MoneyRefineCnt:%d
+ PointTotal:%d,
+ PointAward:%d
'''\
%(
self.Cmd,
self.SubCmd,
- self.ExpRefineStartTime,
- self.MoneyRefineStartTime,
- self.ExpRefineCnt,
- self.MoneyRefineCnt
+ self.PointTotal,
+ self.PointAward
)
return DumpString
-m_NAtagMCRefineGiftInfo=tagMCRefineGiftInfo()
-ChNetPackDict[eval("0x%02x%02x"%(m_NAtagMCRefineGiftInfo.Cmd,m_NAtagMCRefineGiftInfo.SubCmd))] = m_NAtagMCRefineGiftInfo
-
-
-#------------------------------------------------------
-# AC 08 boss复活点数通知 #tagGCBossRebornPoint
-
-class tagGCBossRebornPoint(Structure):
- _pack_ = 1
- _fields_ = [
- ("Cmd", c_ubyte),
- ("SubCmd", c_ubyte),
- ("Point", c_int), # 复活点数
- ("TotalPoint", c_int), # 复活总点数
- ("RebornCnt", c_ushort), # 今日已复活次数
- ("TotalRebornCnt", c_ushort), # 每日可复活总次数,0为不限制
- ]
-
- def __init__(self):
- self.Clear()
- self.Cmd = 0xAC
- self.SubCmd = 0x08
- 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 = 0xAC
- self.SubCmd = 0x08
- self.Point = 0
- self.TotalPoint = 0
- self.RebornCnt = 0
- self.TotalRebornCnt = 0
- return
-
- def GetLength(self):
- return sizeof(tagGCBossRebornPoint)
-
- def GetBuffer(self):
- return string_at(addressof(self), self.GetLength())
-
- def OutputString(self):
- DumpString = '''// AC 08 boss复活点数通知 //tagGCBossRebornPoint:
- Cmd:%s,
- SubCmd:%s,
- Point:%d,
- TotalPoint:%d,
- RebornCnt:%d,
- TotalRebornCnt:%d
- '''\
- %(
- self.Cmd,
- self.SubCmd,
- self.Point,
- self.TotalPoint,
- self.RebornCnt,
- self.TotalRebornCnt
- )
- return DumpString
-
-
-m_NAtagGCBossRebornPoint=tagGCBossRebornPoint()
-ChNetPackDict[eval("0x%02x%02x"%(m_NAtagGCBossRebornPoint.Cmd,m_NAtagGCBossRebornPoint.SubCmd))] = m_NAtagGCBossRebornPoint
+m_NAtagSCOSACelebrationInfo=tagSCOSACelebrationInfo()
+ChNetPackDict[eval("0x%02x%02x"%(m_NAtagSCOSACelebrationInfo.Cmd,m_NAtagSCOSACelebrationInfo.SubCmd))] = m_NAtagSCOSACelebrationInfo
#------------------------------------------------------
--
Gitblit v1.8.0