From 9df206d38b22ea21cb7b8ed6ec39593424c70fb6 Mon Sep 17 00:00:00 2001 From: hxp <ale99527@vip.qq.com> Date: 星期四, 11 三月 2021 11:47:13 +0800 Subject: [PATCH] 4984 【主干】【BT2】boss投资击杀跨服boss同步异常(跨服boss投资击杀支持;boss投资改为归属击杀可领奖) --- ServerPython/CoreServerGroup/GameServer/Script/ChPyNetPack.py | 296 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++- 1 files changed, 290 insertions(+), 6 deletions(-) diff --git a/ServerPython/CoreServerGroup/GameServer/Script/ChPyNetPack.py b/ServerPython/CoreServerGroup/GameServer/Script/ChPyNetPack.py index c76019e..34e45fe 100644 --- a/ServerPython/CoreServerGroup/GameServer/Script/ChPyNetPack.py +++ b/ServerPython/CoreServerGroup/GameServer/Script/ChPyNetPack.py @@ -3767,6 +3767,66 @@ #------------------------------------------------------ +# C0 04 查看跨服排行榜 #tagCGViewCrossBillboard + +class tagCGViewCrossBillboard(Structure): + _pack_ = 1 + _fields_ = [ + ("Cmd", c_ubyte), + ("SubCmd", c_ubyte), + ("Type", c_ubyte), #榜单类型 + ("GroupValue1", c_ubyte), # 分组值1 + ("GroupValue2", c_ubyte), # 分组值2,与分组值1组合归为同组榜单数据 + ] + + def __init__(self): + self.Clear() + self.Cmd = 0xC0 + self.SubCmd = 0x04 + 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 = 0x04 + self.Type = 0 + self.GroupValue1 = 0 + self.GroupValue2 = 0 + return + + def GetLength(self): + return sizeof(tagCGViewCrossBillboard) + + def GetBuffer(self): + return string_at(addressof(self), self.GetLength()) + + def OutputString(self): + DumpString = '''// C0 04 查看跨服排行榜 //tagCGViewCrossBillboard: + Cmd:%s, + SubCmd:%s, + Type:%d, + GroupValue1:%d, + GroupValue2:%d + '''\ + %( + self.Cmd, + self.SubCmd, + self.Type, + self.GroupValue1, + self.GroupValue2 + ) + return DumpString + + +m_NAtagCGViewCrossBillboard=tagCGViewCrossBillboard() +ChNetPackDict[eval("0x%02x%02x"%(m_NAtagCGViewCrossBillboard.Cmd,m_NAtagCGViewCrossBillboard.SubCmd))] = m_NAtagCGViewCrossBillboard + + +#------------------------------------------------------ # C0 01 查看跨服竞技场赛季排行榜 #tagCGViewCrossPKBillboard class tagCGViewCrossPKBillboard(Structure): @@ -3996,6 +4056,58 @@ m_NAtagCMPCInfo=tagCMPCInfo() ChNetPackDict[eval("0x%02x%02x"%(m_NAtagCMPCInfo.Head.Cmd,m_NAtagCMPCInfo.Head.SubCmd))] = m_NAtagCMPCInfo + + +#------------------------------------------------------ +# A1 23 查询充值次数 #tagCMQueryCoinToGoldCount + +class tagCMQueryCoinToGoldCount(Structure): + _pack_ = 1 + _fields_ = [ + ("Cmd", c_ubyte), + ("SubCmd", c_ubyte), + ("RecordID", c_ubyte), #充值记录ID,也就是充值ID,发0则查全部 + ] + + def __init__(self): + self.Clear() + self.Cmd = 0xA1 + self.SubCmd = 0x23 + 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 = 0xA1 + self.SubCmd = 0x23 + self.RecordID = 0 + return + + def GetLength(self): + return sizeof(tagCMQueryCoinToGoldCount) + + def GetBuffer(self): + return string_at(addressof(self), self.GetLength()) + + def OutputString(self): + DumpString = '''// A1 23 查询充值次数 //tagCMQueryCoinToGoldCount: + Cmd:%s, + SubCmd:%s, + RecordID:%d + '''\ + %( + self.Cmd, + self.SubCmd, + self.RecordID + ) + return DumpString + + +m_NAtagCMQueryCoinToGoldCount=tagCMQueryCoinToGoldCount() +ChNetPackDict[eval("0x%02x%02x"%(m_NAtagCMQueryCoinToGoldCount.Cmd,m_NAtagCMQueryCoinToGoldCount.SubCmd))] = m_NAtagCMQueryCoinToGoldCount #------------------------------------------------------ @@ -13146,6 +13258,62 @@ #------------------------------------------------------ +# AA 09 集字活动兑换 #tagCMActCollectWordsExchange + +class tagCMActCollectWordsExchange(Structure): + _pack_ = 1 + _fields_ = [ + ("Cmd", c_ubyte), + ("SubCmd", c_ubyte), + ("ActNum", c_ubyte), #活动编号,1 或 2,相互独立的活动,可同时开启 + ("ExchangeNum", c_ubyte), #兑换编号 + ] + + def __init__(self): + self.Clear() + self.Cmd = 0xAA + self.SubCmd = 0x09 + 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 = 0x09 + self.ActNum = 0 + self.ExchangeNum = 0 + return + + def GetLength(self): + return sizeof(tagCMActCollectWordsExchange) + + def GetBuffer(self): + return string_at(addressof(self), self.GetLength()) + + def OutputString(self): + DumpString = '''// AA 09 集字活动兑换 //tagCMActCollectWordsExchange: + Cmd:%s, + SubCmd:%s, + ActNum:%d, + ExchangeNum:%d + '''\ + %( + self.Cmd, + self.SubCmd, + self.ActNum, + self.ExchangeNum + ) + return DumpString + + +m_NAtagCMActCollectWordsExchange=tagCMActCollectWordsExchange() +ChNetPackDict[eval("0x%02x%02x"%(m_NAtagCMActCollectWordsExchange.Cmd,m_NAtagCMActCollectWordsExchange.SubCmd))] = m_NAtagCMActCollectWordsExchange + + +#------------------------------------------------------ # AA 07 许愿池活动刷新奖池 #tagCMActWishingRefresh class tagCMActWishingRefresh(Structure): @@ -13262,6 +13430,114 @@ #------------------------------------------------------ +# AA 10 节日祝福瓶选择奖励物品 #tagCMFeastWishBottleChooseItem + +class tagCMFeastWishBottleChooseItem(Structure): + _pack_ = 1 + _fields_ = [ + ("Cmd", c_ubyte), + ("SubCmd", c_ubyte), + ("BottleNum", c_ubyte), #瓶子编号 + ("RecordIndex", c_ubyte), #物品索引,用于选择及记录是否已选择 + ] + + def __init__(self): + self.Clear() + self.Cmd = 0xAA + 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 = 0xAA + self.SubCmd = 0x10 + self.BottleNum = 0 + self.RecordIndex = 0 + return + + def GetLength(self): + return sizeof(tagCMFeastWishBottleChooseItem) + + def GetBuffer(self): + return string_at(addressof(self), self.GetLength()) + + def OutputString(self): + DumpString = '''// AA 10 节日祝福瓶选择奖励物品 //tagCMFeastWishBottleChooseItem: + Cmd:%s, + SubCmd:%s, + BottleNum:%d, + RecordIndex:%d + '''\ + %( + self.Cmd, + self.SubCmd, + self.BottleNum, + self.RecordIndex + ) + return DumpString + + +m_NAtagCMFeastWishBottleChooseItem=tagCMFeastWishBottleChooseItem() +ChNetPackDict[eval("0x%02x%02x"%(m_NAtagCMFeastWishBottleChooseItem.Cmd,m_NAtagCMFeastWishBottleChooseItem.SubCmd))] = m_NAtagCMFeastWishBottleChooseItem + + +#------------------------------------------------------ +# AA 11 节日祝福池祝福 #tagCMFeastWishPoolWish + +class tagCMFeastWishPoolWish(Structure): + _pack_ = 1 + _fields_ = [ + ("Cmd", c_ubyte), + ("SubCmd", c_ubyte), + ("WishCount", c_ubyte), #祝福次数 + ] + + def __init__(self): + self.Clear() + self.Cmd = 0xAA + 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 = 0xAA + self.SubCmd = 0x11 + self.WishCount = 0 + return + + def GetLength(self): + return sizeof(tagCMFeastWishPoolWish) + + def GetBuffer(self): + return string_at(addressof(self), self.GetLength()) + + def OutputString(self): + DumpString = '''// AA 11 节日祝福池祝福 //tagCMFeastWishPoolWish: + Cmd:%s, + SubCmd:%s, + WishCount:%d + '''\ + %( + self.Cmd, + self.SubCmd, + self.WishCount + ) + return DumpString + + +m_NAtagCMFeastWishPoolWish=tagCMFeastWishPoolWish() +ChNetPackDict[eval("0x%02x%02x"%(m_NAtagCMFeastWishPoolWish.Cmd,m_NAtagCMFeastWishPoolWish.SubCmd))] = m_NAtagCMFeastWishPoolWish + + +#------------------------------------------------------ # AA 05 限时抢购预约 #tagCMFlashSaleAppointment class tagCMFlashSaleAppointment(Structure): @@ -13269,6 +13545,7 @@ _fields_ = [ ("Cmd", c_ubyte), ("SubCmd", c_ubyte), + ("ActNum", c_ubyte), #活动编号 ("GoodsID", c_int), # 抢购商品标识 ("State", c_ubyte), # 1-预约 0-取消 ] @@ -13287,6 +13564,7 @@ def Clear(self): self.Cmd = 0xAA self.SubCmd = 0x05 + self.ActNum = 0 self.GoodsID = 0 self.State = 0 return @@ -13301,12 +13579,14 @@ DumpString = '''// AA 05 限时抢购预约 //tagCMFlashSaleAppointment: Cmd:%s, SubCmd:%s, + ActNum:%d, GoodsID:%d, State:%d '''\ %( self.Cmd, self.SubCmd, + self.ActNum, self.GoodsID, self.State ) @@ -16679,7 +16959,7 @@ class tagCMBiddingAuctionItem(Structure): Head = tagHead() ItemGUID = "" #(char ItemGUID[40]) - BiddingPrice = 0 #(WORD BiddingPrice)//竞价价格 + BiddingPrice = 0 #(DWORD BiddingPrice)//竞价价格 data = None def __init__(self): @@ -16692,7 +16972,7 @@ self.Clear() _pos = self.Head.ReadData(_lpData, _pos) self.ItemGUID,_pos = CommFunc.ReadString(_lpData, _pos,40) - self.BiddingPrice,_pos = CommFunc.ReadWORD(_lpData, _pos) + self.BiddingPrice,_pos = CommFunc.ReadDWORD(_lpData, _pos) return _pos def Clear(self): @@ -16708,7 +16988,7 @@ length = 0 length += self.Head.GetLength() length += 40 - length += 2 + length += 4 return length @@ -16716,7 +16996,7 @@ data = '' data = CommFunc.WriteString(data, self.Head.GetLength(), self.Head.GetBuffer()) data = CommFunc.WriteString(data, 40, self.ItemGUID) - data = CommFunc.WriteWORD(data, self.BiddingPrice) + data = CommFunc.WriteDWORD(data, self.BiddingPrice) return data def OutputString(self): @@ -16895,6 +17175,7 @@ ("Cmd", c_ubyte), ("SubCmd", c_ubyte), ("ItemIndex", c_ubyte), #物品在背包中索引 + ("SellCount", c_ushort), #上架个数,0代表全部上架 ] def __init__(self): @@ -16912,6 +17193,7 @@ self.Cmd = 0xB5 self.SubCmd = 0x13 self.ItemIndex = 0 + self.SellCount = 0 return def GetLength(self): @@ -16924,12 +17206,14 @@ DumpString = '''// B5 13 拍卖行上架拍品 //tagCMSellAuctionItem: Cmd:%s, SubCmd:%s, - ItemIndex:%d + ItemIndex:%d, + SellCount:%d '''\ %( self.Cmd, self.SubCmd, - self.ItemIndex + self.ItemIndex, + self.SellCount ) return DumpString -- Gitblit v1.8.0