From ff3e540bb725cccaff39d0582b53a2070ad47436 Mon Sep 17 00:00:00 2001 From: hxp <ale99527@vip.qq.com> Date: 星期四, 12 一月 2023 17:08:27 +0800 Subject: [PATCH] 9762 【BT8】【后端】藏宝阁(删除激活古宝技能字段) --- ServerPython/CoreServerGroup/GameServer/Script/ChPyNetSendPack.py | 224 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 files changed, 224 insertions(+), 0 deletions(-) diff --git a/ServerPython/CoreServerGroup/GameServer/Script/ChPyNetSendPack.py b/ServerPython/CoreServerGroup/GameServer/Script/ChPyNetSendPack.py index dfb0bb3..c0c0ffb 100644 --- a/ServerPython/CoreServerGroup/GameServer/Script/ChPyNetSendPack.py +++ b/ServerPython/CoreServerGroup/GameServer/Script/ChPyNetSendPack.py @@ -15140,6 +15140,118 @@ #------------------------------------------------------ +# C0 11 跨服妖魔boss玩家伤害信息 #tagGCCrossYaomoBossPlayerHurtInfo + +class tagGCCrossYaomoBossPlayerHurtInfo(Structure): + _pack_ = 1 + _fields_ = [ + ("Cmd", c_ubyte), + ("SubCmd", c_ubyte), + ("HurtTotal", c_int), # 总伤害值,小于亿部分 + ("HurtTotalEx", c_int), # 总伤害值,整除亿部分 + ("AwardState", c_int), # 伤害目标值领奖状态,按奖励记录索引位运算判断是否已领取 + ] + + def __init__(self): + self.Clear() + self.Cmd = 0xC0 + self.SubCmd = 0x11 + 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 = 0xC0 + self.SubCmd = 0x11 + self.HurtTotal = 0 + self.HurtTotalEx = 0 + self.AwardState = 0 + return + + def GetLength(self): + return sizeof(tagGCCrossYaomoBossPlayerHurtInfo) + + def GetBuffer(self): + return string_at(addressof(self), self.GetLength()) + + def OutputString(self): + DumpString = '''// C0 11 跨服妖魔boss玩家伤害信息 //tagGCCrossYaomoBossPlayerHurtInfo: + Cmd:%s, + SubCmd:%s, + HurtTotal:%d, + HurtTotalEx:%d, + AwardState:%d + '''\ + %( + self.Cmd, + self.SubCmd, + self.HurtTotal, + self.HurtTotalEx, + self.AwardState + ) + return DumpString + + +m_NAtagGCCrossYaomoBossPlayerHurtInfo=tagGCCrossYaomoBossPlayerHurtInfo() +ChNetPackDict[eval("0x%02x%02x"%(m_NAtagGCCrossYaomoBossPlayerHurtInfo.Cmd,m_NAtagGCCrossYaomoBossPlayerHurtInfo.SubCmd))] = m_NAtagGCCrossYaomoBossPlayerHurtInfo + + +#------------------------------------------------------ +# C0 10 跨服所属分区信息 #tagGCCrossZoneInfo + +class tagGCCrossZoneInfo(Structure): + _pack_ = 1 + _fields_ = [ + ("Cmd", c_ubyte), + ("SubCmd", c_ubyte), + ("CommZoneID", c_ubyte), # 所属常规分区ID + ] + + def __init__(self): + self.Clear() + self.Cmd = 0xC0 + 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 = 0xC0 + self.SubCmd = 0x10 + self.CommZoneID = 0 + return + + def GetLength(self): + return sizeof(tagGCCrossZoneInfo) + + def GetBuffer(self): + return string_at(addressof(self), self.GetLength()) + + def OutputString(self): + DumpString = '''// C0 10 跨服所属分区信息 //tagGCCrossZoneInfo: + Cmd:%s, + SubCmd:%s, + CommZoneID:%d + '''\ + %( + self.Cmd, + self.SubCmd, + self.CommZoneID + ) + return DumpString + + +m_NAtagGCCrossZoneInfo=tagGCCrossZoneInfo() +ChNetPackDict[eval("0x%02x%02x"%(m_NAtagGCCrossZoneInfo.Cmd,m_NAtagGCCrossZoneInfo.SubCmd))] = m_NAtagGCCrossZoneInfo + + +#------------------------------------------------------ # C0 14 幸运云购开奖记录 #tagGCLuckyCloudBuyLotteryRecInfo class tagGCLuckyCloudBuyLotteryRec(Structure): @@ -20633,6 +20745,118 @@ #------------------------------------------------------ +# A3 C7 古宝信息 #tagMCGubaoInfo + +class tagMCGubao(Structure): + _pack_ = 1 + _fields_ = [ + ("GubaoID", c_ushort), + ("GubaoStar", c_ubyte), + ("GubaoLV", 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.GubaoID = 0 + self.GubaoStar = 0 + self.GubaoLV = 0 + return + + def GetLength(self): + return sizeof(tagMCGubao) + + def GetBuffer(self): + return string_at(addressof(self), self.GetLength()) + + def OutputString(self): + DumpString = '''// A3 C7 古宝信息 //tagMCGubaoInfo: + GubaoID:%d, + GubaoStar:%d, + GubaoLV:%d + '''\ + %( + self.GubaoID, + self.GubaoStar, + self.GubaoLV + ) + return DumpString + + +class tagMCGubaoInfo(Structure): + Head = tagHead() + Count = 0 #(BYTE Count) + GubaoInfoList = list() #(vector<tagMCGubao> GubaoInfoList) + data = None + + def __init__(self): + self.Clear() + self.Head.Cmd = 0xA3 + self.Head.SubCmd = 0xC7 + 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): + temGubaoInfoList = tagMCGubao() + _pos = temGubaoInfoList.ReadData(_lpData, _pos) + self.GubaoInfoList.append(temGubaoInfoList) + return _pos + + def Clear(self): + self.Head = tagHead() + self.Head.Clear() + self.Head.Cmd = 0xA3 + self.Head.SubCmd = 0xC7 + self.Count = 0 + self.GubaoInfoList = list() + return + + def GetLength(self): + length = 0 + length += self.Head.GetLength() + length += 1 + for i in range(self.Count): + length += self.GubaoInfoList[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.GubaoInfoList[i].GetLength(), self.GubaoInfoList[i].GetBuffer()) + return data + + def OutputString(self): + DumpString = ''' + Head:%s, + Count:%d, + GubaoInfoList:%s + '''\ + %( + self.Head.OutputString(), + self.Count, + "..." + ) + return DumpString + + +m_NAtagMCGubaoInfo=tagMCGubaoInfo() +ChNetPackDict[eval("0x%02x%02x"%(m_NAtagMCGubaoInfo.Head.Cmd,m_NAtagMCGubaoInfo.Head.SubCmd))] = m_NAtagMCGubaoInfo + + +#------------------------------------------------------ # A3 28 历史累积充值奖励领取记录 #tagMCHistoryReChargeAwardRecord class tagMCHistoryReChargeAwardRecord(Structure): -- Gitblit v1.8.0