From f59c80a64aa99e451082cce8d338ce1faa53b00a Mon Sep 17 00:00:00 2001 From: xdh <xiefantasy@qq.com> Date: 星期二, 26 三月 2019 20:05:58 +0800 Subject: [PATCH] 6374 新版无绑玉,原先绑玉再仙玉的扣法改成 扣仙玉 --- ServerPython/CoreServerGroup/GameServer/Script/ChPyNetSendPack.py | 1722 ++++++++++------------------------------------------------- 1 files changed, 295 insertions(+), 1,427 deletions(-) diff --git a/ServerPython/CoreServerGroup/GameServer/Script/ChPyNetSendPack.py b/ServerPython/CoreServerGroup/GameServer/Script/ChPyNetSendPack.py index 2e830ca..3be2ddf 100644 --- a/ServerPython/CoreServerGroup/GameServer/Script/ChPyNetSendPack.py +++ b/ServerPython/CoreServerGroup/GameServer/Script/ChPyNetSendPack.py @@ -899,6 +899,58 @@ #------------------------------------------------------ +# A4 0C 多仙盟boss活动信息 #tagGCAllFamilyBossInfo + +class tagGCAllFamilyBossInfo(Structure): + _pack_ = 1 + _fields_ = [ + ("Cmd", c_ubyte), + ("SubCmd", c_ubyte), + ("IsEnd", c_ubyte), # 是否已结束 + ] + + def __init__(self): + self.Clear() + self.Cmd = 0xA4 + self.SubCmd = 0x0C + 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 = 0xA4 + self.SubCmd = 0x0C + self.IsEnd = 0 + return + + def GetLength(self): + return sizeof(tagGCAllFamilyBossInfo) + + def GetBuffer(self): + return string_at(addressof(self), self.GetLength()) + + def OutputString(self): + DumpString = '''// A4 0C 多仙盟boss活动信息 //tagGCAllFamilyBossInfo: + Cmd:%s, + SubCmd:%s, + IsEnd:%d + '''\ + %( + self.Cmd, + self.SubCmd, + self.IsEnd + ) + return DumpString + + +m_NAtagGCAllFamilyBossInfo=tagGCAllFamilyBossInfo() +ChNetPackDict[eval("0x%02x%02x"%(m_NAtagGCAllFamilyBossInfo.Cmd,m_NAtagGCAllFamilyBossInfo.SubCmd))] = m_NAtagGCAllFamilyBossInfo + + +#------------------------------------------------------ # A4 0A 假仙盟信息 #tagGCFakeFamilyInfo class tagGCFakeFamilyInfo(Structure): @@ -3319,62 +3371,6 @@ #------------------------------------------------------ -#A9 05 天梯竞技场每日奖励信息#tagGCHighLadderRewardInfo - -class tagGCHighLadderRewardInfo(Structure): - _pack_ = 1 - _fields_ = [ - ("Cmd", c_ubyte), - ("SubCmd", c_ubyte), - ("hadGot", c_ubyte), #是否已领取 - ("Order", c_ushort), #奖励排名 - ] - - def __init__(self): - self.Clear() - self.Cmd = 0xA9 - self.SubCmd = 0x05 - 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 = 0xA9 - self.SubCmd = 0x05 - self.hadGot = 0 - self.Order = 0 - return - - def GetLength(self): - return sizeof(tagGCHighLadderRewardInfo) - - def GetBuffer(self): - return string_at(addressof(self), self.GetLength()) - - def OutputString(self): - DumpString = '''//A9 05 天梯竞技场每日奖励信息//tagGCHighLadderRewardInfo: - Cmd:%s, - SubCmd:%s, - hadGot:%d, - Order:%d - '''\ - %( - self.Cmd, - self.SubCmd, - self.hadGot, - self.Order - ) - return DumpString - - -m_NAtagGCHighLadderRewardInfo=tagGCHighLadderRewardInfo() -ChNetPackDict[eval("0x%02x%02x"%(m_NAtagGCHighLadderRewardInfo.Cmd,m_NAtagGCHighLadderRewardInfo.SubCmd))] = m_NAtagGCHighLadderRewardInfo - - -#------------------------------------------------------ #A9 03 开服活动奖励数量刷新#tagGCOpenServerCampaignAwardCount class tagGCOpenServerCampaignAwardCount(Structure): @@ -4133,124 +4129,6 @@ m_NAtagGCRecommendFriendsInfo=tagGCRecommendFriendsInfo() ChNetPackDict[eval("0x%02x%02x"%(m_NAtagGCRecommendFriendsInfo.Head.Cmd,m_NAtagGCRecommendFriendsInfo.Head.SubCmd))] = m_NAtagGCRecommendFriendsInfo - - -#------------------------------------------------------ -# A9 07 定时商店刷新倒计时 #tagGCShopRefreshTimeList - -class tagGCShopRefreshTime(Structure): - _pack_ = 1 - _fields_ = [ - ("Cmd", c_ubyte), - ("SubCmd", c_ubyte), - ("ShopID", c_int), # 商店ID - ("RemainSecond", c_int), # 多少秒后刷新 - ] - - def __init__(self): - self.Clear() - self.Cmd = 0xA9 - 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 = 0xA9 - self.SubCmd = 0x07 - self.ShopID = 0 - self.RemainSecond = 0 - return - - def GetLength(self): - return sizeof(tagGCShopRefreshTime) - - def GetBuffer(self): - return string_at(addressof(self), self.GetLength()) - - def OutputString(self): - DumpString = '''// A9 07 定时商店刷新倒计时 //tagGCShopRefreshTimeList: - Cmd:%s, - SubCmd:%s, - ShopID:%d, - RemainSecond:%d - '''\ - %( - self.Cmd, - self.SubCmd, - self.ShopID, - self.RemainSecond - ) - return DumpString - - -class tagGCShopRefreshTimeList(Structure): - Head = tagHead() - ShopCnt = 0 #(BYTE ShopCnt)//商店信息个数 - ShopTimeInfoList = list() #(vector<tagGCShopRefreshTime> ShopTimeInfoList)//商店信息列表 - data = None - - def __init__(self): - self.Clear() - self.Head.Cmd = 0xA9 - self.Head.SubCmd = 0x07 - return - - def ReadData(self, _lpData, _pos=0, _Len=0): - self.Clear() - _pos = self.Head.ReadData(_lpData, _pos) - self.ShopCnt,_pos = CommFunc.ReadBYTE(_lpData, _pos) - for i in range(self.ShopCnt): - temShopTimeInfoList = tagGCShopRefreshTime() - _pos = temShopTimeInfoList.ReadData(_lpData, _pos) - self.ShopTimeInfoList.append(temShopTimeInfoList) - return _pos - - def Clear(self): - self.Head = tagHead() - self.Head.Clear() - self.Head.Cmd = 0xA9 - self.Head.SubCmd = 0x07 - self.ShopCnt = 0 - self.ShopTimeInfoList = list() - return - - def GetLength(self): - length = 0 - length += self.Head.GetLength() - length += 1 - for i in range(self.ShopCnt): - length += self.ShopTimeInfoList[i].GetLength() - - return length - - def GetBuffer(self): - data = '' - data = CommFunc.WriteString(data, self.Head.GetLength(), self.Head.GetBuffer()) - data = CommFunc.WriteBYTE(data, self.ShopCnt) - for i in range(self.ShopCnt): - data = CommFunc.WriteString(data, self.ShopTimeInfoList[i].GetLength(), self.ShopTimeInfoList[i].GetBuffer()) - return data - - def OutputString(self): - DumpString = ''' - Head:%s, - ShopCnt:%d, - ShopTimeInfoList:%s - '''\ - %( - self.Head.OutputString(), - self.ShopCnt, - "..." - ) - return DumpString - - -m_NAtagGCShopRefreshTimeList=tagGCShopRefreshTimeList() -ChNetPackDict[eval("0x%02x%02x"%(m_NAtagGCShopRefreshTimeList.Head.Cmd,m_NAtagGCShopRefreshTimeList.Head.SubCmd))] = m_NAtagGCShopRefreshTimeList #------------------------------------------------------ @@ -5044,6 +4922,58 @@ #------------------------------------------------------ +# AC 07 骑宠Boss信息 #tagGCHorsePetBossInfo + +class tagGCHorsePetBossInfo(Structure): + _pack_ = 1 + _fields_ = [ + ("Cmd", c_ubyte), + ("SubCmd", c_ubyte), + ("IsEnd", c_int), # 是否已结束(按位代表对应线路是否结束) + ] + + def __init__(self): + self.Clear() + self.Cmd = 0xAC + 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 = 0xAC + self.SubCmd = 0x07 + self.IsEnd = 0 + return + + def GetLength(self): + return sizeof(tagGCHorsePetBossInfo) + + def GetBuffer(self): + return string_at(addressof(self), self.GetLength()) + + def OutputString(self): + DumpString = '''// AC 07 骑宠Boss信息 //tagGCHorsePetBossInfo: + Cmd:%s, + SubCmd:%s, + IsEnd:%d + '''\ + %( + self.Cmd, + self.SubCmd, + self.IsEnd + ) + return DumpString + + +m_NAtagGCHorsePetBossInfo=tagGCHorsePetBossInfo() +ChNetPackDict[eval("0x%02x%02x"%(m_NAtagGCHorsePetBossInfo.Cmd,m_NAtagGCHorsePetBossInfo.SubCmd))] = m_NAtagGCHorsePetBossInfo + + +#------------------------------------------------------ # AC 01 通知领地争夺占领情况 #tagGCManorWarInfo class tagGCManorInfo(Structure): @@ -5673,132 +5603,6 @@ m_NAtagGCXMZZFightInfo=tagGCXMZZFightInfo() ChNetPackDict[eval("0x%02x%02x"%(m_NAtagGCXMZZFightInfo.Head.Cmd,m_NAtagGCXMZZFightInfo.Head.SubCmd))] = m_NAtagGCXMZZFightInfo - - -#------------------------------------------------------ -# AD 01 特惠活动信息 #tagGCTeHuiActivityInfoList - -class tagGCTeHuiActivityInfo(Structure): - _pack_ = 1 - _fields_ = [ - ("Cmd", c_ubyte), - ("SubCmd", c_ubyte), - ("ActivityType", c_ubyte), # 活动类型 - ("ActivityValue", c_int), # 活动值 - ("StartDate", c_int), # 开始时间time - ("EndDate", c_int), # 结束时间time - ] - - def __init__(self): - self.Clear() - self.Cmd = 0xAD - self.SubCmd = 0x01 - 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 = 0xAD - self.SubCmd = 0x01 - self.ActivityType = 0 - self.ActivityValue = 0 - self.StartDate = 0 - self.EndDate = 0 - return - - def GetLength(self): - return sizeof(tagGCTeHuiActivityInfo) - - def GetBuffer(self): - return string_at(addressof(self), self.GetLength()) - - def OutputString(self): - DumpString = '''// AD 01 特惠活动信息 //tagGCTeHuiActivityInfoList: - Cmd:%s, - SubCmd:%s, - ActivityType:%d, - ActivityValue:%d, - StartDate:%d, - EndDate:%d - '''\ - %( - self.Cmd, - self.SubCmd, - self.ActivityType, - self.ActivityValue, - self.StartDate, - self.EndDate - ) - return DumpString - - -class tagGCTeHuiActivityInfoList(Structure): - Head = tagHead() - ActivityCount = 0 #(BYTE ActivityCount)//活动信息个数 - ActivityInfoList = list() #(vector<tagGCTeHuiActivityInfo> ActivityInfoList)//活动信息列表 - data = None - - def __init__(self): - self.Clear() - self.Head.Cmd = 0xAD - self.Head.SubCmd = 0x01 - return - - def ReadData(self, _lpData, _pos=0, _Len=0): - self.Clear() - _pos = self.Head.ReadData(_lpData, _pos) - self.ActivityCount,_pos = CommFunc.ReadBYTE(_lpData, _pos) - for i in range(self.ActivityCount): - temActivityInfoList = tagGCTeHuiActivityInfo() - _pos = temActivityInfoList.ReadData(_lpData, _pos) - self.ActivityInfoList.append(temActivityInfoList) - return _pos - - def Clear(self): - self.Head = tagHead() - self.Head.Clear() - self.Head.Cmd = 0xAD - self.Head.SubCmd = 0x01 - self.ActivityCount = 0 - self.ActivityInfoList = list() - return - - def GetLength(self): - length = 0 - length += self.Head.GetLength() - length += 1 - for i in range(self.ActivityCount): - length += self.ActivityInfoList[i].GetLength() - - return length - - def GetBuffer(self): - data = '' - data = CommFunc.WriteString(data, self.Head.GetLength(), self.Head.GetBuffer()) - data = CommFunc.WriteBYTE(data, self.ActivityCount) - for i in range(self.ActivityCount): - data = CommFunc.WriteString(data, self.ActivityInfoList[i].GetLength(), self.ActivityInfoList[i].GetBuffer()) - return data - - def OutputString(self): - DumpString = ''' - Head:%s, - ActivityCount:%d, - ActivityInfoList:%s - '''\ - %( - self.Head.OutputString(), - self.ActivityCount, - "..." - ) - return DumpString - - -m_NAtagGCTeHuiActivityInfoList=tagGCTeHuiActivityInfoList() -ChNetPackDict[eval("0x%02x%02x"%(m_NAtagGCTeHuiActivityInfoList.Head.Cmd,m_NAtagGCTeHuiActivityInfoList.Head.SubCmd))] = m_NAtagGCTeHuiActivityInfoList #------------------------------------------------------ @@ -7039,6 +6843,7 @@ ItemCount = 0 #(WORD ItemCount) AddTime = "" #(char AddTime[19])//上架时间 yyyy-MM-dd hh:mm:ss BidderPrice = 0 #(WORD BidderPrice)//竞拍玩家出价 + BiddingTime = "" #(char BiddingTime[19])//竞价时间 yyyy-MM-dd hh:mm:ss UserDataLen = 0 #(WORD UserDataLen) UserData = "" #(String UserData)//自定义数据 data = None @@ -7055,6 +6860,7 @@ self.ItemCount,_pos = CommFunc.ReadWORD(_lpData, _pos) self.AddTime,_pos = CommFunc.ReadString(_lpData, _pos,19) self.BidderPrice,_pos = CommFunc.ReadWORD(_lpData, _pos) + self.BiddingTime,_pos = CommFunc.ReadString(_lpData, _pos,19) self.UserDataLen,_pos = CommFunc.ReadWORD(_lpData, _pos) self.UserData,_pos = CommFunc.ReadString(_lpData, _pos,self.UserDataLen) return _pos @@ -7066,6 +6872,7 @@ self.ItemCount = 0 self.AddTime = "" self.BidderPrice = 0 + self.BiddingTime = "" self.UserDataLen = 0 self.UserData = "" return @@ -7078,6 +6885,7 @@ length += 2 length += 19 length += 2 + length += 19 length += 2 length += len(self.UserData) @@ -7091,6 +6899,7 @@ data = CommFunc.WriteWORD(data, self.ItemCount) data = CommFunc.WriteString(data, 19, self.AddTime) data = CommFunc.WriteWORD(data, self.BidderPrice) + data = CommFunc.WriteString(data, 19, self.BiddingTime) data = CommFunc.WriteWORD(data, self.UserDataLen) data = CommFunc.WriteString(data, self.UserDataLen, self.UserData) return data @@ -7103,6 +6912,7 @@ ItemCount:%d, AddTime:%s, BidderPrice:%d, + BiddingTime:%s, UserDataLen:%d, UserData:%s '''\ @@ -7113,6 +6923,7 @@ self.ItemCount, self.AddTime, self.BidderPrice, + self.BiddingTime, self.UserDataLen, self.UserData ) @@ -7195,6 +7006,7 @@ ItemCount = 0 #(WORD ItemCount) AddTime = "" #(char AddTime[19])//上架时间 yyyy-MM-dd hh:mm:ss BidderPrice = 0 #(WORD BidderPrice)//竞拍玩家出价 + BiddingTime = "" #(char BiddingTime[19])//竞价时间 yyyy-MM-dd hh:mm:ss UserDataLen = 0 #(WORD UserDataLen) UserData = "" #(String UserData)//自定义数据 data = None @@ -7211,6 +7023,7 @@ self.ItemCount,_pos = CommFunc.ReadWORD(_lpData, _pos) self.AddTime,_pos = CommFunc.ReadString(_lpData, _pos,19) self.BidderPrice,_pos = CommFunc.ReadWORD(_lpData, _pos) + self.BiddingTime,_pos = CommFunc.ReadString(_lpData, _pos,19) self.UserDataLen,_pos = CommFunc.ReadWORD(_lpData, _pos) self.UserData,_pos = CommFunc.ReadString(_lpData, _pos,self.UserDataLen) return _pos @@ -7222,6 +7035,7 @@ self.ItemCount = 0 self.AddTime = "" self.BidderPrice = 0 + self.BiddingTime = "" self.UserDataLen = 0 self.UserData = "" return @@ -7234,6 +7048,7 @@ length += 2 length += 19 length += 2 + length += 19 length += 2 length += len(self.UserData) @@ -7247,6 +7062,7 @@ data = CommFunc.WriteWORD(data, self.ItemCount) data = CommFunc.WriteString(data, 19, self.AddTime) data = CommFunc.WriteWORD(data, self.BidderPrice) + data = CommFunc.WriteString(data, 19, self.BiddingTime) data = CommFunc.WriteWORD(data, self.UserDataLen) data = CommFunc.WriteString(data, self.UserDataLen, self.UserData) return data @@ -7259,6 +7075,7 @@ ItemCount:%d, AddTime:%s, BidderPrice:%d, + BiddingTime:%s, UserDataLen:%d, UserData:%s '''\ @@ -7269,6 +7086,7 @@ self.ItemCount, self.AddTime, self.BidderPrice, + self.BiddingTime, self.UserDataLen, self.UserData ) @@ -7428,6 +7246,7 @@ AddTime = "" #(char AddTime[19])//上架时间 yyyy-MM-dd hh:mm:ss BidderID = 0 #(DWORD BidderID)//竞拍玩家ID,也就是当前最高竞价玩家ID BidderPrice = 0 #(WORD BidderPrice)//竞拍玩家出价 + BiddingTime = "" #(char BiddingTime[19])//竞价时间 yyyy-MM-dd hh:mm:ss UserDataLen = 0 #(WORD UserDataLen) UserData = "" #(String UserData)//自定义数据 data = None @@ -7445,6 +7264,7 @@ self.AddTime,_pos = CommFunc.ReadString(_lpData, _pos,19) self.BidderID,_pos = CommFunc.ReadDWORD(_lpData, _pos) self.BidderPrice,_pos = CommFunc.ReadWORD(_lpData, _pos) + self.BiddingTime,_pos = CommFunc.ReadString(_lpData, _pos,19) self.UserDataLen,_pos = CommFunc.ReadWORD(_lpData, _pos) self.UserData,_pos = CommFunc.ReadString(_lpData, _pos,self.UserDataLen) return _pos @@ -7457,6 +7277,7 @@ self.AddTime = "" self.BidderID = 0 self.BidderPrice = 0 + self.BiddingTime = "" self.UserDataLen = 0 self.UserData = "" return @@ -7470,6 +7291,7 @@ length += 19 length += 4 length += 2 + length += 19 length += 2 length += len(self.UserData) @@ -7484,6 +7306,7 @@ data = CommFunc.WriteString(data, 19, self.AddTime) data = CommFunc.WriteDWORD(data, self.BidderID) data = CommFunc.WriteWORD(data, self.BidderPrice) + data = CommFunc.WriteString(data, 19, self.BiddingTime) data = CommFunc.WriteWORD(data, self.UserDataLen) data = CommFunc.WriteString(data, self.UserDataLen, self.UserData) return data @@ -7497,6 +7320,7 @@ AddTime:%s, BidderID:%d, BidderPrice:%d, + BiddingTime:%s, UserDataLen:%d, UserData:%s '''\ @@ -7508,6 +7332,7 @@ self.AddTime, self.BidderID, self.BidderPrice, + self.BiddingTime, self.UserDataLen, self.UserData ) @@ -7697,6 +7522,7 @@ ItemCount = 0 #(WORD ItemCount) AddTime = "" #(char AddTime[19])//上架时间 yyyy-MM-dd hh:mm:ss BidderPrice = 0 #(WORD BidderPrice)//竞拍玩家出价 + BiddingTime = "" #(char BiddingTime[19])//竞价时间 yyyy-MM-dd hh:mm:ss UserDataLen = 0 #(WORD UserDataLen) UserData = "" #(String UserData)//自定义数据 FamilyPlayerIDLen = 0 #(WORD FamilyPlayerIDLen) @@ -7716,6 +7542,7 @@ self.ItemCount,_pos = CommFunc.ReadWORD(_lpData, _pos) self.AddTime,_pos = CommFunc.ReadString(_lpData, _pos,19) self.BidderPrice,_pos = CommFunc.ReadWORD(_lpData, _pos) + self.BiddingTime,_pos = CommFunc.ReadString(_lpData, _pos,19) self.UserDataLen,_pos = CommFunc.ReadWORD(_lpData, _pos) self.UserData,_pos = CommFunc.ReadString(_lpData, _pos,self.UserDataLen) self.FamilyPlayerIDLen,_pos = CommFunc.ReadWORD(_lpData, _pos) @@ -7730,6 +7557,7 @@ self.ItemCount = 0 self.AddTime = "" self.BidderPrice = 0 + self.BiddingTime = "" self.UserDataLen = 0 self.UserData = "" self.FamilyPlayerIDLen = 0 @@ -7745,6 +7573,7 @@ length += 2 length += 19 length += 2 + length += 19 length += 2 length += len(self.UserData) length += 2 @@ -7761,6 +7590,7 @@ data = CommFunc.WriteWORD(data, self.ItemCount) data = CommFunc.WriteString(data, 19, self.AddTime) data = CommFunc.WriteWORD(data, self.BidderPrice) + data = CommFunc.WriteString(data, 19, self.BiddingTime) data = CommFunc.WriteWORD(data, self.UserDataLen) data = CommFunc.WriteString(data, self.UserDataLen, self.UserData) data = CommFunc.WriteWORD(data, self.FamilyPlayerIDLen) @@ -7776,6 +7606,7 @@ ItemCount:%d, AddTime:%s, BidderPrice:%d, + BiddingTime:%s, UserDataLen:%d, UserData:%s, FamilyPlayerIDLen:%d, @@ -7789,6 +7620,7 @@ self.ItemCount, self.AddTime, self.BidderPrice, + self.BiddingTime, self.UserDataLen, self.UserData, self.FamilyPlayerIDLen, @@ -7874,6 +7706,7 @@ ItemCount = 0 #(WORD ItemCount) AddTime = "" #(char AddTime[19])//上架时间 yyyy-MM-dd hh:mm:ss BidderPrice = 0 #(WORD BidderPrice)//竞拍玩家出价 + BiddingTime = "" #(char BiddingTime[19])//竞价时间 yyyy-MM-dd hh:mm:ss UserDataLen = 0 #(WORD UserDataLen) UserData = "" #(String UserData)//自定义数据 data = None @@ -7890,6 +7723,7 @@ self.ItemCount,_pos = CommFunc.ReadWORD(_lpData, _pos) self.AddTime,_pos = CommFunc.ReadString(_lpData, _pos,19) self.BidderPrice,_pos = CommFunc.ReadWORD(_lpData, _pos) + self.BiddingTime,_pos = CommFunc.ReadString(_lpData, _pos,19) self.UserDataLen,_pos = CommFunc.ReadWORD(_lpData, _pos) self.UserData,_pos = CommFunc.ReadString(_lpData, _pos,self.UserDataLen) return _pos @@ -7901,6 +7735,7 @@ self.ItemCount = 0 self.AddTime = "" self.BidderPrice = 0 + self.BiddingTime = "" self.UserDataLen = 0 self.UserData = "" return @@ -7913,6 +7748,7 @@ length += 2 length += 19 length += 2 + length += 19 length += 2 length += len(self.UserData) @@ -7926,6 +7762,7 @@ data = CommFunc.WriteWORD(data, self.ItemCount) data = CommFunc.WriteString(data, 19, self.AddTime) data = CommFunc.WriteWORD(data, self.BidderPrice) + data = CommFunc.WriteString(data, 19, self.BiddingTime) data = CommFunc.WriteWORD(data, self.UserDataLen) data = CommFunc.WriteString(data, self.UserDataLen, self.UserData) return data @@ -7938,6 +7775,7 @@ ItemCount:%d, AddTime:%s, BidderPrice:%d, + BiddingTime:%s, UserDataLen:%d, UserData:%s '''\ @@ -7948,6 +7786,7 @@ self.ItemCount, self.AddTime, self.BidderPrice, + self.BiddingTime, self.UserDataLen, self.UserData ) @@ -8206,6 +8045,7 @@ AddTime = "" #(char AddTime[19])//上架时间 BidderID = 0 #(DWORD BidderID)//最高竞拍玩家ID,也就是当前最高竞价玩家ID BidderPrice = 0 #(DWORD BidderPrice)//最高竞拍价格 + BiddingTime = "" #(char BiddingTime[19])//竞价时间 yyyy-MM-dd hh:mm:ss data = None def __init__(self): @@ -8219,6 +8059,7 @@ self.AddTime,_pos = CommFunc.ReadString(_lpData, _pos,19) self.BidderID,_pos = CommFunc.ReadDWORD(_lpData, _pos) self.BidderPrice,_pos = CommFunc.ReadDWORD(_lpData, _pos) + self.BiddingTime,_pos = CommFunc.ReadString(_lpData, _pos,19) return _pos def Clear(self): @@ -8227,6 +8068,7 @@ self.AddTime = "" self.BidderID = 0 self.BidderPrice = 0 + self.BiddingTime = "" return def GetLength(self): @@ -8236,6 +8078,7 @@ length += 19 length += 4 length += 4 + length += 19 return length @@ -8246,6 +8089,7 @@ data = CommFunc.WriteString(data, 19, self.AddTime) data = CommFunc.WriteDWORD(data, self.BidderID) data = CommFunc.WriteDWORD(data, self.BidderPrice) + data = CommFunc.WriteString(data, 19, self.BiddingTime) return data def OutputString(self): @@ -8254,14 +8098,16 @@ AuctionType:%d, AddTime:%s, BidderID:%d, - BidderPrice:%d + BidderPrice:%d, + BiddingTime:%s '''\ %( self.ItemGUID, self.AuctionType, self.AddTime, self.BidderID, - self.BidderPrice + self.BidderPrice, + self.BiddingTime ) return DumpString @@ -15665,126 +15511,6 @@ #------------------------------------------------------ -# A3 53 法宝特权数据 #tagMCMWPrivilegeDataInfo - -class tagMCMWPrivilegeData(Structure): - _pack_ = 1 - _fields_ = [ - ("PriID", c_int), # 特权ID - ("State", c_ubyte), #激活状态 - ("CurValue", c_int), #当前总进度 - ("GotValue", c_int), #已领取进度 - ("ItemAwardState", 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.PriID = 0 - self.State = 0 - self.CurValue = 0 - self.GotValue = 0 - self.ItemAwardState = 0 - return - - def GetLength(self): - return sizeof(tagMCMWPrivilegeData) - - def GetBuffer(self): - return string_at(addressof(self), self.GetLength()) - - def OutputString(self): - DumpString = '''// A3 53 法宝特权数据 //tagMCMWPrivilegeDataInfo: - PriID:%d, - State:%d, - CurValue:%d, - GotValue:%d, - ItemAwardState:%d - '''\ - %( - self.PriID, - self.State, - self.CurValue, - self.GotValue, - self.ItemAwardState - ) - return DumpString - - -class tagMCMWPrivilegeDataInfo(Structure): - Head = tagHead() - Count = 0 #(BYTE Count)// 信息个数 - InfoList = list() #(vector<tagMCMWPrivilegeData> InfoList)// 信息列表 - data = None - - def __init__(self): - self.Clear() - self.Head.Cmd = 0xA3 - self.Head.SubCmd = 0x53 - 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): - temInfoList = tagMCMWPrivilegeData() - _pos = temInfoList.ReadData(_lpData, _pos) - self.InfoList.append(temInfoList) - return _pos - - def Clear(self): - self.Head = tagHead() - self.Head.Clear() - self.Head.Cmd = 0xA3 - self.Head.SubCmd = 0x53 - self.Count = 0 - self.InfoList = list() - return - - def GetLength(self): - length = 0 - length += self.Head.GetLength() - length += 1 - for i in range(self.Count): - length += self.InfoList[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.InfoList[i].GetLength(), self.InfoList[i].GetBuffer()) - return data - - def OutputString(self): - DumpString = ''' - Head:%s, - Count:%d, - InfoList:%s - '''\ - %( - self.Head.OutputString(), - self.Count, - "..." - ) - return DumpString - - -m_NAtagMCMWPrivilegeDataInfo=tagMCMWPrivilegeDataInfo() -ChNetPackDict[eval("0x%02x%02x"%(m_NAtagMCMWPrivilegeDataInfo.Head.Cmd,m_NAtagMCMWPrivilegeDataInfo.Head.SubCmd))] = m_NAtagMCMWPrivilegeDataInfo - - -#------------------------------------------------------ # A3 26 NPCID已采集次数信息 #tagMCNPCIDCollectionCntInfo class tagMCNPCIDCollectionCnt(Structure): @@ -16528,6 +16254,66 @@ m_NAtagMCPrayElixirResult=tagMCPrayElixirResult() ChNetPackDict[eval("0x%02x%02x"%(m_NAtagMCPrayElixirResult.Cmd,m_NAtagMCPrayElixirResult.SubCmd))] = m_NAtagMCPrayElixirResult + + +#------------------------------------------------------ +# A3 27 境界修为池信息 #tagMCRealmExpInfo + +class tagMCRealmExpInfo(Structure): + _pack_ = 1 + _fields_ = [ + ("Cmd", c_ubyte), + ("SubCmd", c_ubyte), + ("BeginTime", c_int), #开始计时时间 + ("CurExp", c_int), #当前总经验 + ("CurExpPoint", c_int), #当前总经验点 + ] + + def __init__(self): + self.Clear() + self.Cmd = 0xA3 + 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 = 0xA3 + self.SubCmd = 0x27 + self.BeginTime = 0 + self.CurExp = 0 + self.CurExpPoint = 0 + return + + def GetLength(self): + return sizeof(tagMCRealmExpInfo) + + def GetBuffer(self): + return string_at(addressof(self), self.GetLength()) + + def OutputString(self): + DumpString = '''// A3 27 境界修为池信息 //tagMCRealmExpInfo: + Cmd:%s, + SubCmd:%s, + BeginTime:%d, + CurExp:%d, + CurExpPoint:%d + '''\ + %( + self.Cmd, + self.SubCmd, + self.BeginTime, + self.CurExp, + self.CurExpPoint + ) + return DumpString + + +m_NAtagMCRealmExpInfo=tagMCRealmExpInfo() +ChNetPackDict[eval("0x%02x%02x"%(m_NAtagMCRealmExpInfo.Cmd,m_NAtagMCRealmExpInfo.SubCmd))] = m_NAtagMCRealmExpInfo #------------------------------------------------------ @@ -17385,18 +17171,14 @@ #------------------------------------------------------ -# A3 11 通知玩家境界渡劫是否开启 #tagMCSyncRealmFBIsOpen +# A3 11 通知玩家境界信息 #tagMCSyncRealmInfo -class tagMCSyncRealmFBIsOpen(Structure): +class tagMCSyncRealmInfo(Structure): _pack_ = 1 _fields_ = [ ("Cmd", c_ubyte), ("SubCmd", c_ubyte), - ("IsOpen", c_ubyte), #是否开启 - ("SitAllTime", c_ushort), #打坐总时间秒 - ("SitRemainTime", c_int), #开始打坐前剩余时间秒 - ("SitStartTime", c_int), #开始打坐时间 - ("LastEnterTime", c_int), #上次进入渡劫副本时间 + ("IsPass", c_ubyte), #是否通关副本 ] def __init__(self): @@ -17413,43 +17195,31 @@ def Clear(self): self.Cmd = 0xA3 self.SubCmd = 0x11 - self.IsOpen = 0 - self.SitAllTime = 0 - self.SitRemainTime = 0 - self.SitStartTime = 0 - self.LastEnterTime = 0 + self.IsPass = 0 return def GetLength(self): - return sizeof(tagMCSyncRealmFBIsOpen) + return sizeof(tagMCSyncRealmInfo) def GetBuffer(self): return string_at(addressof(self), self.GetLength()) def OutputString(self): - DumpString = '''// A3 11 通知玩家境界渡劫是否开启 //tagMCSyncRealmFBIsOpen: + DumpString = '''// A3 11 通知玩家境界信息 //tagMCSyncRealmInfo: Cmd:%s, SubCmd:%s, - IsOpen:%d, - SitAllTime:%d, - SitRemainTime:%d, - SitStartTime:%d, - LastEnterTime:%d + IsPass:%d '''\ %( self.Cmd, self.SubCmd, - self.IsOpen, - self.SitAllTime, - self.SitRemainTime, - self.SitStartTime, - self.LastEnterTime + self.IsPass ) return DumpString -m_NAtagMCSyncRealmFBIsOpen=tagMCSyncRealmFBIsOpen() -ChNetPackDict[eval("0x%02x%02x"%(m_NAtagMCSyncRealmFBIsOpen.Cmd,m_NAtagMCSyncRealmFBIsOpen.SubCmd))] = m_NAtagMCSyncRealmFBIsOpen +m_NAtagMCSyncRealmInfo=tagMCSyncRealmInfo() +ChNetPackDict[eval("0x%02x%02x"%(m_NAtagMCSyncRealmInfo.Cmd,m_NAtagMCSyncRealmInfo.SubCmd))] = m_NAtagMCSyncRealmInfo #------------------------------------------------------ @@ -18352,74 +18122,6 @@ m_NAtagMCFamilyRedPacketGoldLimit=tagMCFamilyRedPacketGoldLimit() ChNetPackDict[eval("0x%02x%02x"%(m_NAtagMCFamilyRedPacketGoldLimit.Cmd,m_NAtagMCFamilyRedPacketGoldLimit.SubCmd))] = m_NAtagMCFamilyRedPacketGoldLimit - - -#------------------------------------------------------ -#A5 34 天梯竞技场状态#tagMCHighLadderState - -class tagMCHighLadderState(Structure): - _pack_ = 1 - _fields_ = [ - ("Cmd", c_ubyte), - ("SubCmd", c_ubyte), - ("Count", c_ubyte), #已挑战次数 - ("MaxCount", c_ubyte), #最大次数 - ("CDTime", c_int), #累计冷却时间 - ("IsRelCD", c_ubyte), #是否正在真实冷却状态 - ("Currency", c_int), #积分 - ] - - def __init__(self): - self.Clear() - self.Cmd = 0xA5 - self.SubCmd = 0x34 - 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 = 0xA5 - self.SubCmd = 0x34 - self.Count = 0 - self.MaxCount = 0 - self.CDTime = 0 - self.IsRelCD = 0 - self.Currency = 0 - return - - def GetLength(self): - return sizeof(tagMCHighLadderState) - - def GetBuffer(self): - return string_at(addressof(self), self.GetLength()) - - def OutputString(self): - DumpString = '''//A5 34 天梯竞技场状态//tagMCHighLadderState: - Cmd:%s, - SubCmd:%s, - Count:%d, - MaxCount:%d, - CDTime:%d, - IsRelCD:%d, - Currency:%d - '''\ - %( - self.Cmd, - self.SubCmd, - self.Count, - self.MaxCount, - self.CDTime, - self.IsRelCD, - self.Currency - ) - return DumpString - - -m_NAtagMCHighLadderState=tagMCHighLadderState() -ChNetPackDict[eval("0x%02x%02x"%(m_NAtagMCHighLadderState.Cmd,m_NAtagMCHighLadderState.SubCmd))] = m_NAtagMCHighLadderState #------------------------------------------------------ @@ -21293,126 +20995,6 @@ #------------------------------------------------------ -# A8 04 通知商店限购物品已购买次数信息 # tagMCShopItemBuyCntInfoList - -class tagMCShopItemBuyCntInfo(Structure): - _pack_ = 1 - _fields_ = [ - ("ShopID", c_int), - ("ItemShopIndex", c_ushort), - ("ItemID", c_int), - ("BuyCnt", c_int), # 个人已购买数 - ("ServerBuyCnt", c_int), # 全服已购买数 - ] - - 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.ShopID = 0 - self.ItemShopIndex = 0 - self.ItemID = 0 - self.BuyCnt = 0 - self.ServerBuyCnt = 0 - return - - def GetLength(self): - return sizeof(tagMCShopItemBuyCntInfo) - - def GetBuffer(self): - return string_at(addressof(self), self.GetLength()) - - def OutputString(self): - DumpString = '''// A8 04 通知商店限购物品已购买次数信息 // tagMCShopItemBuyCntInfoList: - ShopID:%d, - ItemShopIndex:%d, - ItemID:%d, - BuyCnt:%d, - ServerBuyCnt:%d - '''\ - %( - self.ShopID, - self.ItemShopIndex, - self.ItemID, - self.BuyCnt, - self.ServerBuyCnt - ) - return DumpString - - -class tagMCShopItemBuyCntInfoList(Structure): - Head = tagHead() - Count = 0 #(BYTE Count)//通知个数 - BuyCntList = list() #(vector<tagMCShopItemBuyCntInfo> BuyCntList) - data = None - - def __init__(self): - self.Clear() - self.Head.Cmd = 0xA8 - self.Head.SubCmd = 0x04 - 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): - temBuyCntList = tagMCShopItemBuyCntInfo() - _pos = temBuyCntList.ReadData(_lpData, _pos) - self.BuyCntList.append(temBuyCntList) - return _pos - - def Clear(self): - self.Head = tagHead() - self.Head.Clear() - self.Head.Cmd = 0xA8 - self.Head.SubCmd = 0x04 - self.Count = 0 - self.BuyCntList = list() - return - - def GetLength(self): - length = 0 - length += self.Head.GetLength() - length += 1 - for i in range(self.Count): - length += self.BuyCntList[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.BuyCntList[i].GetLength(), self.BuyCntList[i].GetBuffer()) - return data - - def OutputString(self): - DumpString = ''' - Head:%s, - Count:%d, - BuyCntList:%s - '''\ - %( - self.Head.OutputString(), - self.Count, - "..." - ) - return DumpString - - -m_NAtagMCShopItemBuyCntInfoList=tagMCShopItemBuyCntInfoList() -ChNetPackDict[eval("0x%02x%02x"%(m_NAtagMCShopItemBuyCntInfoList.Head.Cmd,m_NAtagMCShopItemBuyCntInfoList.Head.SubCmd))] = m_NAtagMCShopItemBuyCntInfoList - - -#------------------------------------------------------ # A8 02 通知NPC商店物品今日已购买次数 #tagMCShopItemDayBuyCntInfo class tagMCShopItemDayBuyCnt(Structure): @@ -21522,239 +21104,6 @@ m_NAtagMCShopItemDayBuyCntInfo=tagMCShopItemDayBuyCntInfo() ChNetPackDict[eval("0x%02x%02x"%(m_NAtagMCShopItemDayBuyCntInfo.Head.Cmd,m_NAtagMCShopItemDayBuyCntInfo.Head.SubCmd))] = m_NAtagMCShopItemDayBuyCntInfo - - -#------------------------------------------------------ -# A8 03 通知自定义商店物品信息 #tagMCShopItemInfoList - -class tagMCShopItemInfo(Structure): - ShopID = 0 #(DWORD ShopID) - ItemShopIndex = 0 #(WORD ItemShopIndex) - DataSize = 0 #(DWORD DataSize) - ItemList = "" #(String ItemList)//物品列表[[物品ID,数量,是否绑定,是否定制]] - PriceType = 0 #(BYTE PriceType) - Price = 0 #(DWORD Price) - OriginalPrice = 0 #(DWORD OriginalPrice)// 原价 - PlayerLVLimit = 0 #(WORD PlayerLVLimit)// 购买等级限制 - FamilyLVLimit = 0 #(BYTE FamilyLVLimit)// 购买战盟等级限制 - MaxBuyCnt = 0 #(DWORD MaxBuyCnt)// 个人限购数 - ServerMaxBuyCnt = 0 #(DWORD ServerMaxBuyCnt)// 全服限购数 - data = None - - def __init__(self): - self.Clear() - return - - def ReadData(self, _lpData, _pos=0, _Len=0): - self.Clear() - self.ShopID,_pos = CommFunc.ReadDWORD(_lpData, _pos) - self.ItemShopIndex,_pos = CommFunc.ReadWORD(_lpData, _pos) - self.DataSize,_pos = CommFunc.ReadDWORD(_lpData, _pos) - self.ItemList,_pos = CommFunc.ReadString(_lpData, _pos,self.DataSize) - self.PriceType,_pos = CommFunc.ReadBYTE(_lpData, _pos) - self.Price,_pos = CommFunc.ReadDWORD(_lpData, _pos) - self.OriginalPrice,_pos = CommFunc.ReadDWORD(_lpData, _pos) - self.PlayerLVLimit,_pos = CommFunc.ReadWORD(_lpData, _pos) - self.FamilyLVLimit,_pos = CommFunc.ReadBYTE(_lpData, _pos) - self.MaxBuyCnt,_pos = CommFunc.ReadDWORD(_lpData, _pos) - self.ServerMaxBuyCnt,_pos = CommFunc.ReadDWORD(_lpData, _pos) - return _pos - - def Clear(self): - self.ShopID = 0 - self.ItemShopIndex = 0 - self.DataSize = 0 - self.ItemList = "" - self.PriceType = 0 - self.Price = 0 - self.OriginalPrice = 0 - self.PlayerLVLimit = 0 - self.FamilyLVLimit = 0 - self.MaxBuyCnt = 0 - self.ServerMaxBuyCnt = 0 - return - - def GetLength(self): - length = 0 - length += 4 - length += 2 - length += 4 - length += len(self.ItemList) - length += 1 - length += 4 - length += 4 - length += 2 - length += 1 - length += 4 - length += 4 - - return length - - def GetBuffer(self): - data = '' - data = CommFunc.WriteDWORD(data, self.ShopID) - data = CommFunc.WriteWORD(data, self.ItemShopIndex) - data = CommFunc.WriteDWORD(data, self.DataSize) - data = CommFunc.WriteString(data, self.DataSize, self.ItemList) - data = CommFunc.WriteBYTE(data, self.PriceType) - data = CommFunc.WriteDWORD(data, self.Price) - data = CommFunc.WriteDWORD(data, self.OriginalPrice) - data = CommFunc.WriteWORD(data, self.PlayerLVLimit) - data = CommFunc.WriteBYTE(data, self.FamilyLVLimit) - data = CommFunc.WriteDWORD(data, self.MaxBuyCnt) - data = CommFunc.WriteDWORD(data, self.ServerMaxBuyCnt) - return data - - def OutputString(self): - DumpString = ''' - ShopID:%d, - ItemShopIndex:%d, - DataSize:%d, - ItemList:%s, - PriceType:%d, - Price:%d, - OriginalPrice:%d, - PlayerLVLimit:%d, - FamilyLVLimit:%d, - MaxBuyCnt:%d, - ServerMaxBuyCnt:%d - '''\ - %( - self.ShopID, - self.ItemShopIndex, - self.DataSize, - self.ItemList, - self.PriceType, - self.Price, - self.OriginalPrice, - self.PlayerLVLimit, - self.FamilyLVLimit, - self.MaxBuyCnt, - self.ServerMaxBuyCnt - ) - return DumpString - - -class tagMCShopItemInfoList(Structure): - Head = tagHead() - Count = 0 #(BYTE Count)//通知个数 - ShopItemList = list() #(vector<tagMCShopItemInfo> ShopItemList) - data = None - - def __init__(self): - self.Clear() - self.Head.Cmd = 0xA8 - 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): - temShopItemList = tagMCShopItemInfo() - _pos = temShopItemList.ReadData(_lpData, _pos) - self.ShopItemList.append(temShopItemList) - return _pos - - def Clear(self): - self.Head = tagHead() - self.Head.Clear() - self.Head.Cmd = 0xA8 - self.Head.SubCmd = 0x03 - self.Count = 0 - self.ShopItemList = list() - return - - def GetLength(self): - length = 0 - length += self.Head.GetLength() - length += 1 - for i in range(self.Count): - length += self.ShopItemList[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.ShopItemList[i].GetLength(), self.ShopItemList[i].GetBuffer()) - return data - - def OutputString(self): - DumpString = ''' - Head:%s, - Count:%d, - ShopItemList:%s - '''\ - %( - self.Head.OutputString(), - self.Count, - "..." - ) - return DumpString - - -m_NAtagMCShopItemInfoList=tagMCShopItemInfoList() -ChNetPackDict[eval("0x%02x%02x"%(m_NAtagMCShopItemInfoList.Head.Cmd,m_NAtagMCShopItemInfoList.Head.SubCmd))] = m_NAtagMCShopItemInfoList - - -#------------------------------------------------------ -# A8 05 通知神秘商店刷新次数 #tagMCShopRefreshCnt - -class tagMCShopRefreshCnt(Structure): - _pack_ = 1 - _fields_ = [ - ("Cmd", c_ubyte), - ("SubCmd", c_ubyte), - ("ShopID", c_int), #商店ID - ("RefreshCnt", c_ushort), #已手动刷新次数 - ] - - def __init__(self): - self.Clear() - self.Cmd = 0xA8 - self.SubCmd = 0x05 - 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 = 0xA8 - self.SubCmd = 0x05 - self.ShopID = 0 - self.RefreshCnt = 0 - return - - def GetLength(self): - return sizeof(tagMCShopRefreshCnt) - - def GetBuffer(self): - return string_at(addressof(self), self.GetLength()) - - def OutputString(self): - DumpString = '''// A8 05 通知神秘商店刷新次数 //tagMCShopRefreshCnt: - Cmd:%s, - SubCmd:%s, - ShopID:%d, - RefreshCnt:%d - '''\ - %( - self.Cmd, - self.SubCmd, - self.ShopID, - self.RefreshCnt - ) - return DumpString - - -m_NAtagMCShopRefreshCnt=tagMCShopRefreshCnt() -ChNetPackDict[eval("0x%02x%02x"%(m_NAtagMCShopRefreshCnt.Cmd,m_NAtagMCShopRefreshCnt.SubCmd))] = m_NAtagMCShopRefreshCnt #------------------------------------------------------ @@ -23202,240 +22551,6 @@ m_NAtagMCAllPeoplePartyInfo=tagMCAllPeoplePartyInfo() ChNetPackDict[eval("0x%02x%02x"%(m_NAtagMCAllPeoplePartyInfo.Head.Cmd,m_NAtagMCAllPeoplePartyInfo.Head.SubCmd))] = m_NAtagMCAllPeoplePartyInfo - - -#------------------------------------------------------ -# AA 03 升阶功能特惠奖励记录 #tagMCClassUPDayAwardRecordList - -class tagMCClassUPDayAwardRecord(Structure): - _pack_ = 1 - _fields_ = [ - ("Cmd", c_ubyte), - ("SubCmd", c_ubyte), - ("DayType", c_ubyte), # 奖励日类型 - ("Record", c_int), # 奖励记录 - ] - - def __init__(self): - self.Clear() - self.Cmd = 0xAA - self.SubCmd = 0x03 - 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 = 0x03 - self.DayType = 0 - self.Record = 0 - return - - def GetLength(self): - return sizeof(tagMCClassUPDayAwardRecord) - - def GetBuffer(self): - return string_at(addressof(self), self.GetLength()) - - def OutputString(self): - DumpString = '''// AA 03 升阶功能特惠奖励记录 //tagMCClassUPDayAwardRecordList: - Cmd:%s, - SubCmd:%s, - DayType:%d, - Record:%d - '''\ - %( - self.Cmd, - self.SubCmd, - self.DayType, - self.Record - ) - return DumpString - - -class tagMCClassUPDayAwardRecordList(Structure): - Head = tagHead() - RecordCount = 0 #(BYTE RecordCount)//记录个数 - RecordInfoList = list() #(vector<tagMCClassUPDayAwardRecord> RecordInfoList)//记录列表 - data = None - - def __init__(self): - self.Clear() - self.Head.Cmd = 0xAA - self.Head.SubCmd = 0x03 - return - - def ReadData(self, _lpData, _pos=0, _Len=0): - self.Clear() - _pos = self.Head.ReadData(_lpData, _pos) - self.RecordCount,_pos = CommFunc.ReadBYTE(_lpData, _pos) - for i in range(self.RecordCount): - temRecordInfoList = tagMCClassUPDayAwardRecord() - _pos = temRecordInfoList.ReadData(_lpData, _pos) - self.RecordInfoList.append(temRecordInfoList) - return _pos - - def Clear(self): - self.Head = tagHead() - self.Head.Clear() - self.Head.Cmd = 0xAA - self.Head.SubCmd = 0x03 - self.RecordCount = 0 - self.RecordInfoList = list() - return - - def GetLength(self): - length = 0 - length += self.Head.GetLength() - length += 1 - for i in range(self.RecordCount): - length += self.RecordInfoList[i].GetLength() - - return length - - def GetBuffer(self): - data = '' - data = CommFunc.WriteString(data, self.Head.GetLength(), self.Head.GetBuffer()) - data = CommFunc.WriteBYTE(data, self.RecordCount) - for i in range(self.RecordCount): - data = CommFunc.WriteString(data, self.RecordInfoList[i].GetLength(), self.RecordInfoList[i].GetBuffer()) - return data - - def OutputString(self): - DumpString = ''' - Head:%s, - RecordCount:%d, - RecordInfoList:%s - '''\ - %( - self.Head.OutputString(), - self.RecordCount, - "..." - ) - return DumpString - - -m_NAtagMCClassUPDayAwardRecordList=tagMCClassUPDayAwardRecordList() -ChNetPackDict[eval("0x%02x%02x"%(m_NAtagMCClassUPDayAwardRecordList.Head.Cmd,m_NAtagMCClassUPDayAwardRecordList.Head.SubCmd))] = m_NAtagMCClassUPDayAwardRecordList - - -#------------------------------------------------------ -# AA 06 消费奖励信息 #tagMCCostProfitInfo - -class tagMCCostProfitInfo(Structure): - _pack_ = 1 - _fields_ = [ - ("Cmd", c_ubyte), - ("SubCmd", c_ubyte), - ("ActionID", c_int), # 活动ID - ("TotalCost", c_int), # 总消费 - ("AwardState", c_int), # 奖励领取状态 - ] - - def __init__(self): - self.Clear() - self.Cmd = 0xAA - self.SubCmd = 0x06 - 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 = 0x06 - self.ActionID = 0 - self.TotalCost = 0 - self.AwardState = 0 - return - - def GetLength(self): - return sizeof(tagMCCostProfitInfo) - - def GetBuffer(self): - return string_at(addressof(self), self.GetLength()) - - def OutputString(self): - DumpString = '''// AA 06 消费奖励信息 //tagMCCostProfitInfo: - Cmd:%s, - SubCmd:%s, - ActionID:%d, - TotalCost:%d, - AwardState:%d - '''\ - %( - self.Cmd, - self.SubCmd, - self.ActionID, - self.TotalCost, - self.AwardState - ) - return DumpString - - -m_NAtagMCCostProfitInfo=tagMCCostProfitInfo() -ChNetPackDict[eval("0x%02x%02x"%(m_NAtagMCCostProfitInfo.Cmd,m_NAtagMCCostProfitInfo.SubCmd))] = m_NAtagMCCostProfitInfo - - -#------------------------------------------------------ -# AA 07 消费排行特惠信息 #tagMCCostRankTeHuiInfo - -class tagMCCostRankTeHuiInfo(Structure): - _pack_ = 1 - _fields_ = [ - ("Cmd", c_ubyte), - ("SubCmd", c_ubyte), - ("ActionID", c_int), # 活动ID - ("TotalCost", c_int), # 总累计消费钻石 - ] - - def __init__(self): - self.Clear() - self.Cmd = 0xAA - 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 = 0xAA - self.SubCmd = 0x07 - self.ActionID = 0 - self.TotalCost = 0 - return - - def GetLength(self): - return sizeof(tagMCCostRankTeHuiInfo) - - def GetBuffer(self): - return string_at(addressof(self), self.GetLength()) - - def OutputString(self): - DumpString = '''// AA 07 消费排行特惠信息 //tagMCCostRankTeHuiInfo: - Cmd:%s, - SubCmd:%s, - ActionID:%d, - TotalCost:%d - '''\ - %( - self.Cmd, - self.SubCmd, - self.ActionID, - self.TotalCost - ) - return DumpString - - -m_NAtagMCCostRankTeHuiInfo=tagMCCostRankTeHuiInfo() -ChNetPackDict[eval("0x%02x%02x"%(m_NAtagMCCostRankTeHuiInfo.Cmd,m_NAtagMCCostRankTeHuiInfo.SubCmd))] = m_NAtagMCCostRankTeHuiInfo #------------------------------------------------------ @@ -25637,198 +24752,6 @@ #------------------------------------------------------ -# AA 05 充值排行特惠信息 #tagMCRechargeRankTeHuiInfo - -class tagMCRechargeRankTeHuiInfo(Structure): - _pack_ = 1 - _fields_ = [ - ("Cmd", c_ubyte), - ("SubCmd", c_ubyte), - ("ActionID", c_int), # 活动ID - ("TotalGold", c_int), # 总累计充值元宝 - ] - - def __init__(self): - self.Clear() - self.Cmd = 0xAA - self.SubCmd = 0x05 - 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 = 0x05 - self.ActionID = 0 - self.TotalGold = 0 - return - - def GetLength(self): - return sizeof(tagMCRechargeRankTeHuiInfo) - - def GetBuffer(self): - return string_at(addressof(self), self.GetLength()) - - def OutputString(self): - DumpString = '''// AA 05 充值排行特惠信息 //tagMCRechargeRankTeHuiInfo: - Cmd:%s, - SubCmd:%s, - ActionID:%d, - TotalGold:%d - '''\ - %( - self.Cmd, - self.SubCmd, - self.ActionID, - self.TotalGold - ) - return DumpString - - -m_NAtagMCRechargeRankTeHuiInfo=tagMCRechargeRankTeHuiInfo() -ChNetPackDict[eval("0x%02x%02x"%(m_NAtagMCRechargeRankTeHuiInfo.Cmd,m_NAtagMCRechargeRankTeHuiInfo.SubCmd))] = m_NAtagMCRechargeRankTeHuiInfo - - -#------------------------------------------------------ -# AA 04 充值特惠信息 #tagMCRechargeTeHuiInfoList - -class tagMCRechargeTeHuiInfo(Structure): - _pack_ = 1 - _fields_ = [ - ("Cmd", c_ubyte), - ("SubCmd", c_ubyte), - ("GotCnt", c_ubyte), # 已领取次数 - ("CanGetCnt", c_ubyte), # 当前可领取次数 - ("CurTotalGold", c_int), # 当前规则累计充值元宝-仅针对累充规则 - ] - - def __init__(self): - self.Clear() - self.Cmd = 0xAA - 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 = 0xAA - self.SubCmd = 0x04 - self.GotCnt = 0 - self.CanGetCnt = 0 - self.CurTotalGold = 0 - return - - def GetLength(self): - return sizeof(tagMCRechargeTeHuiInfo) - - def GetBuffer(self): - return string_at(addressof(self), self.GetLength()) - - def OutputString(self): - DumpString = '''// AA 04 充值特惠信息 //tagMCRechargeTeHuiInfoList: - Cmd:%s, - SubCmd:%s, - GotCnt:%d, - CanGetCnt:%d, - CurTotalGold:%d - '''\ - %( - self.Cmd, - self.SubCmd, - self.GotCnt, - self.CanGetCnt, - self.CurTotalGold - ) - return DumpString - - -class tagMCRechargeTeHuiInfoList(Structure): - Head = tagHead() - ActionID = 0 #(DWORD ActionID)// 活动ID - TotalGold = 0 #(DWORD TotalGold)// 总累计充值元宝 - InfoCnt = 0 #(BYTE InfoCnt)// 信息个数 - InfoList = list() #(vector<tagMCRechargeTeHuiInfo> InfoList)// 信息列表 - data = None - - def __init__(self): - self.Clear() - self.Head.Cmd = 0xAA - self.Head.SubCmd = 0x04 - return - - def ReadData(self, _lpData, _pos=0, _Len=0): - self.Clear() - _pos = self.Head.ReadData(_lpData, _pos) - self.ActionID,_pos = CommFunc.ReadDWORD(_lpData, _pos) - self.TotalGold,_pos = CommFunc.ReadDWORD(_lpData, _pos) - self.InfoCnt,_pos = CommFunc.ReadBYTE(_lpData, _pos) - for i in range(self.InfoCnt): - temInfoList = tagMCRechargeTeHuiInfo() - _pos = temInfoList.ReadData(_lpData, _pos) - self.InfoList.append(temInfoList) - return _pos - - def Clear(self): - self.Head = tagHead() - self.Head.Clear() - self.Head.Cmd = 0xAA - self.Head.SubCmd = 0x04 - self.ActionID = 0 - self.TotalGold = 0 - self.InfoCnt = 0 - self.InfoList = list() - return - - def GetLength(self): - length = 0 - length += self.Head.GetLength() - length += 4 - length += 4 - length += 1 - for i in range(self.InfoCnt): - length += self.InfoList[i].GetLength() - - return length - - def GetBuffer(self): - data = '' - data = CommFunc.WriteString(data, self.Head.GetLength(), self.Head.GetBuffer()) - data = CommFunc.WriteDWORD(data, self.ActionID) - data = CommFunc.WriteDWORD(data, self.TotalGold) - data = CommFunc.WriteBYTE(data, self.InfoCnt) - for i in range(self.InfoCnt): - data = CommFunc.WriteString(data, self.InfoList[i].GetLength(), self.InfoList[i].GetBuffer()) - return data - - def OutputString(self): - DumpString = ''' - Head:%s, - ActionID:%d, - TotalGold:%d, - InfoCnt:%d, - InfoList:%s - '''\ - %( - self.Head.OutputString(), - self.ActionID, - self.TotalGold, - self.InfoCnt, - "..." - ) - return DumpString - - -m_NAtagMCRechargeTeHuiInfoList=tagMCRechargeTeHuiInfoList() -ChNetPackDict[eval("0x%02x%02x"%(m_NAtagMCRechargeTeHuiInfoList.Head.Cmd,m_NAtagMCRechargeTeHuiInfoList.Head.SubCmd))] = m_NAtagMCRechargeTeHuiInfoList - - -#------------------------------------------------------ # AA 11 限时特惠活动信息 #tagMCSpringSaleInfo class tagMCSpringSaleItem(Structure): @@ -27016,138 +25939,6 @@ m_NAtagMCBossRebornPlayerInfo=tagMCBossRebornPlayerInfo() ChNetPackDict[eval("0x%02x%02x"%(m_NAtagMCBossRebornPlayerInfo.Head.Cmd,m_NAtagMCBossRebornPlayerInfo.Head.SubCmd))] = m_NAtagMCBossRebornPlayerInfo - - -#------------------------------------------------------ -# AB 06 活动物品兑换次数记录 #tagMCExchangeActionItemCntRecord - -class tagMCExchangeActionItemCnt(Structure): - _pack_ = 1 - _fields_ = [ - ("Cmd", c_ubyte), - ("SubCmd", c_ubyte), - ("ItemID", c_int), - ("ExcCnt", c_int), # 已兑换次数 - ] - - def __init__(self): - self.Clear() - self.Cmd = 0xAB - self.SubCmd = 0x06 - 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 = 0xAB - self.SubCmd = 0x06 - self.ItemID = 0 - self.ExcCnt = 0 - return - - def GetLength(self): - return sizeof(tagMCExchangeActionItemCnt) - - def GetBuffer(self): - return string_at(addressof(self), self.GetLength()) - - def OutputString(self): - DumpString = '''// AB 06 活动物品兑换次数记录 //tagMCExchangeActionItemCntRecord: - Cmd:%s, - SubCmd:%s, - ItemID:%d, - ExcCnt:%d - '''\ - %( - self.Cmd, - self.SubCmd, - self.ItemID, - self.ExcCnt - ) - return DumpString - - -class tagMCExchangeActionItemCntRecord(Structure): - Head = tagHead() - ActionKeyLen = 0 #(BYTE ActionKeyLen) - ActionKey = "" #(String ActionKey) - RecordCnt = 0 #(BYTE RecordCnt) - RecordList = list() #(vector<tagMCExchangeActionItemCnt> RecordList) - data = None - - def __init__(self): - self.Clear() - self.Head.Cmd = 0xAB - self.Head.SubCmd = 0x06 - return - - def ReadData(self, _lpData, _pos=0, _Len=0): - self.Clear() - _pos = self.Head.ReadData(_lpData, _pos) - self.ActionKeyLen,_pos = CommFunc.ReadBYTE(_lpData, _pos) - self.ActionKey,_pos = CommFunc.ReadString(_lpData, _pos,self.ActionKeyLen) - self.RecordCnt,_pos = CommFunc.ReadBYTE(_lpData, _pos) - for i in range(self.RecordCnt): - temRecordList = tagMCExchangeActionItemCnt() - _pos = temRecordList.ReadData(_lpData, _pos) - self.RecordList.append(temRecordList) - return _pos - - def Clear(self): - self.Head = tagHead() - self.Head.Clear() - self.Head.Cmd = 0xAB - self.Head.SubCmd = 0x06 - self.ActionKeyLen = 0 - self.ActionKey = "" - self.RecordCnt = 0 - self.RecordList = list() - return - - def GetLength(self): - length = 0 - length += self.Head.GetLength() - length += 1 - length += len(self.ActionKey) - length += 1 - for i in range(self.RecordCnt): - length += self.RecordList[i].GetLength() - - return length - - def GetBuffer(self): - data = '' - data = CommFunc.WriteString(data, self.Head.GetLength(), self.Head.GetBuffer()) - data = CommFunc.WriteBYTE(data, self.ActionKeyLen) - data = CommFunc.WriteString(data, self.ActionKeyLen, self.ActionKey) - data = CommFunc.WriteBYTE(data, self.RecordCnt) - for i in range(self.RecordCnt): - data = CommFunc.WriteString(data, self.RecordList[i].GetLength(), self.RecordList[i].GetBuffer()) - return data - - def OutputString(self): - DumpString = ''' - Head:%s, - ActionKeyLen:%d, - ActionKey:%s, - RecordCnt:%d, - RecordList:%s - '''\ - %( - self.Head.OutputString(), - self.ActionKeyLen, - self.ActionKey, - self.RecordCnt, - "..." - ) - return DumpString - - -m_NAtagMCExchangeActionItemCntRecord=tagMCExchangeActionItemCntRecord() -ChNetPackDict[eval("0x%02x%02x"%(m_NAtagMCExchangeActionItemCntRecord.Head.Cmd,m_NAtagMCExchangeActionItemCntRecord.Head.SubCmd))] = m_NAtagMCExchangeActionItemCntRecord #------------------------------------------------------ @@ -28692,6 +27483,83 @@ #------------------------------------------------------ +# B1 07 玩家点数信息 #tagMCRolePointInfo + +class tagMCRolePointInfo(Structure): + Head = tagHead() + PointAttrIDCount = 0 #(BYTE PointAttrIDCount)// 点类型个数 + PointAttrIDList = list() #(vector<BYTE> PointAttrIDList)// 点类型列表 + PointValueList = list() #(vector<WORD> PointValueList)// 点类型对应已加自由点数列表 + data = None + + def __init__(self): + self.Clear() + self.Head.Cmd = 0xB1 + self.Head.SubCmd = 0x07 + return + + def ReadData(self, _lpData, _pos=0, _Len=0): + self.Clear() + _pos = self.Head.ReadData(_lpData, _pos) + self.PointAttrIDCount,_pos = CommFunc.ReadBYTE(_lpData, _pos) + for i in range(self.PointAttrIDCount): + value,_pos=CommFunc.ReadBYTE(_lpData,_pos) + self.PointAttrIDList.append(value) + for i in range(self.PointAttrIDCount): + value,_pos=CommFunc.ReadWORD(_lpData,_pos) + self.PointValueList.append(value) + return _pos + + def Clear(self): + self.Head = tagHead() + self.Head.Clear() + self.Head.Cmd = 0xB1 + self.Head.SubCmd = 0x07 + self.PointAttrIDCount = 0 + self.PointAttrIDList = list() + self.PointValueList = list() + return + + def GetLength(self): + length = 0 + length += self.Head.GetLength() + length += 1 + length += 1 * self.PointAttrIDCount + length += 2 * self.PointAttrIDCount + + return length + + def GetBuffer(self): + data = '' + data = CommFunc.WriteString(data, self.Head.GetLength(), self.Head.GetBuffer()) + data = CommFunc.WriteBYTE(data, self.PointAttrIDCount) + for i in range(self.PointAttrIDCount): + data = CommFunc.WriteBYTE(data, self.PointAttrIDList[i]) + for i in range(self.PointAttrIDCount): + data = CommFunc.WriteWORD(data, self.PointValueList[i]) + return data + + def OutputString(self): + DumpString = ''' + Head:%s, + PointAttrIDCount:%d, + PointAttrIDList:%s, + PointValueList:%s + '''\ + %( + self.Head.OutputString(), + self.PointAttrIDCount, + "...", + "..." + ) + return DumpString + + +m_NAtagMCRolePointInfo=tagMCRolePointInfo() +ChNetPackDict[eval("0x%02x%02x"%(m_NAtagMCRolePointInfo.Head.Cmd,m_NAtagMCRolePointInfo.Head.SubCmd))] = m_NAtagMCRolePointInfo + + +#------------------------------------------------------ # B1 01 玩家技能连击通知 #tagMCSkillCombo class tagMCSkillCombo(Structure): -- Gitblit v1.8.0