From b7df31c585b6d3be25aa618c682996427ce7a40b Mon Sep 17 00:00:00 2001 From: hxp <ale99527@vip.qq.com> Date: 星期五, 12 四月 2019 17:13:12 +0800 Subject: [PATCH] 6459 【后端】【2.0】缥缈仙域开发单(增加自定义副本相关封包) --- ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/ChPyNetSendPack.py | 149 +++++++++++++++++++++++++++++++++++++++++++++++++ 1 files changed, 149 insertions(+), 0 deletions(-) diff --git a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/ChPyNetSendPack.py b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/ChPyNetSendPack.py index 27ae39f..8f93338 100644 --- a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/ChPyNetSendPack.py +++ b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/ChPyNetSendPack.py @@ -27745,6 +27745,155 @@ #------------------------------------------------------ +# B2 14 自定义副本奖励信息 #tagMCCuntomFBPrizeInfo + +class tagMCCuntomFBPrizeItem(Structure): + ItemID = 0 #(DWORD ItemID) + Count = 0 #(WORD Count) + IsAuctionItem = 0 #(BYTE IsAuctionItem)//是否拍品 + UserDataLen = 0 #(WORD UserDataLen)//附加属性长度 + UserData = "" #(String UserData)//附加属性 size = UserDataLen + data = None + + def __init__(self): + self.Clear() + return + + def ReadData(self, _lpData, _pos=0, _Len=0): + self.Clear() + self.ItemID,_pos = CommFunc.ReadDWORD(_lpData, _pos) + self.Count,_pos = CommFunc.ReadWORD(_lpData, _pos) + self.IsAuctionItem,_pos = CommFunc.ReadBYTE(_lpData, _pos) + self.UserDataLen,_pos = CommFunc.ReadWORD(_lpData, _pos) + self.UserData,_pos = CommFunc.ReadString(_lpData, _pos,self.UserDataLen) + return _pos + + def Clear(self): + self.ItemID = 0 + self.Count = 0 + self.IsAuctionItem = 0 + self.UserDataLen = 0 + self.UserData = "" + return + + def GetLength(self): + length = 0 + length += 4 + length += 2 + length += 1 + length += 2 + length += len(self.UserData) + + return length + + def GetBuffer(self): + data = '' + data = CommFunc.WriteDWORD(data, self.ItemID) + data = CommFunc.WriteWORD(data, self.Count) + data = CommFunc.WriteBYTE(data, self.IsAuctionItem) + data = CommFunc.WriteWORD(data, self.UserDataLen) + data = CommFunc.WriteString(data, self.UserDataLen, self.UserData) + return data + + def OutputString(self): + DumpString = ''' + ItemID:%d, + Count:%d, + IsAuctionItem:%d, + UserDataLen:%d, + UserData:%s + '''\ + %( + self.ItemID, + self.Count, + self.IsAuctionItem, + self.UserDataLen, + self.UserData + ) + return DumpString + + +class tagMCCuntomFBPrizeInfo(Structure): + Head = tagHead() + MapID = 0 #(DWORD MapID) + FuncLineID = 0 #(WORD FuncLineID) + PrizeItemCount = 0 #(BYTE PrizeItemCount) + PrizeItemList = list() #(vector<tagMCCuntomFBPrizeItem> PrizeItemList) + data = None + + def __init__(self): + self.Clear() + self.Head.Cmd = 0xB2 + self.Head.SubCmd = 0x14 + return + + def ReadData(self, _lpData, _pos=0, _Len=0): + self.Clear() + _pos = self.Head.ReadData(_lpData, _pos) + self.MapID,_pos = CommFunc.ReadDWORD(_lpData, _pos) + self.FuncLineID,_pos = CommFunc.ReadWORD(_lpData, _pos) + self.PrizeItemCount,_pos = CommFunc.ReadBYTE(_lpData, _pos) + for i in range(self.PrizeItemCount): + temPrizeItemList = tagMCCuntomFBPrizeItem() + _pos = temPrizeItemList.ReadData(_lpData, _pos) + self.PrizeItemList.append(temPrizeItemList) + return _pos + + def Clear(self): + self.Head = tagHead() + self.Head.Clear() + self.Head.Cmd = 0xB2 + self.Head.SubCmd = 0x14 + self.MapID = 0 + self.FuncLineID = 0 + self.PrizeItemCount = 0 + self.PrizeItemList = list() + return + + def GetLength(self): + length = 0 + length += self.Head.GetLength() + length += 4 + length += 2 + length += 1 + for i in range(self.PrizeItemCount): + length += self.PrizeItemList[i].GetLength() + + return length + + def GetBuffer(self): + data = '' + data = CommFunc.WriteString(data, self.Head.GetLength(), self.Head.GetBuffer()) + data = CommFunc.WriteDWORD(data, self.MapID) + data = CommFunc.WriteWORD(data, self.FuncLineID) + data = CommFunc.WriteBYTE(data, self.PrizeItemCount) + for i in range(self.PrizeItemCount): + data = CommFunc.WriteString(data, self.PrizeItemList[i].GetLength(), self.PrizeItemList[i].GetBuffer()) + return data + + def OutputString(self): + DumpString = ''' + Head:%s, + MapID:%d, + FuncLineID:%d, + PrizeItemCount:%d, + PrizeItemList:%s + '''\ + %( + self.Head.OutputString(), + self.MapID, + self.FuncLineID, + self.PrizeItemCount, + "..." + ) + return DumpString + + +m_NAtagMCCuntomFBPrizeInfo=tagMCCuntomFBPrizeInfo() +ChNetPackDict[eval("0x%02x%02x"%(m_NAtagMCCuntomFBPrizeInfo.Head.Cmd,m_NAtagMCCuntomFBPrizeInfo.Head.SubCmd))] = m_NAtagMCCuntomFBPrizeInfo + + +#------------------------------------------------------ # B2 10 仙盟联赛玩家排名信息 #tagMCFamilyWarBillboard class tagMCFamilyWarPlayer(Structure): -- Gitblit v1.8.0