From d7f44d8d871a90c818bdb3ffe9a60af875b7100a Mon Sep 17 00:00:00 2001 From: hxp <ale99527@vip.qq.com> Date: 星期二, 30 九月 2025 10:12:23 +0800 Subject: [PATCH] 135 【挑战】战锤秘境-服务端(白骨盈野;副本基础;副本扫荡;广告奖励支持;) --- ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/ChPyNetPack.py | 961 +------------------------------------------------------- 1 files changed, 25 insertions(+), 936 deletions(-) diff --git a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/ChPyNetPack.py b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/ChPyNetPack.py index ee35ff6..27276cc 100644 --- a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/ChPyNetPack.py +++ b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/ChPyNetPack.py @@ -275,20 +275,21 @@ #------------------------------------------------------ -#A0 01 查看玩家信息通用记录 #tagViewUniversalGameRec +# A0 08 查看通用记录 #tagCSViewGameRec -class tagViewUniversalGameRec(Structure): +class tagCSViewGameRec(Structure): _pack_ = 1 _fields_ = [ ("Cmd", c_ubyte), ("SubCmd", c_ubyte), - ("ViewType", c_ubyte), #查看记录的类型 + ("RecType", c_ushort), #记录类型 + ("RecID", c_int), #自定义记录ID ] def __init__(self): self.Clear() self.Cmd = 0xA0 - self.SubCmd = 0x01 + self.SubCmd = 0x08 return def ReadData(self, stringData, _pos=0, _len=0): @@ -298,32 +299,35 @@ def Clear(self): self.Cmd = 0xA0 - self.SubCmd = 0x01 - self.ViewType = 0 + self.SubCmd = 0x08 + self.RecType = 0 + self.RecID = 0 return def GetLength(self): - return sizeof(tagViewUniversalGameRec) + return sizeof(tagCSViewGameRec) def GetBuffer(self): return string_at(addressof(self), self.GetLength()) def OutputString(self): - DumpString = '''//A0 01 查看玩家信息通用记录 //tagViewUniversalGameRec: + DumpString = '''// A0 08 查看通用记录 //tagCSViewGameRec: Cmd:%s, SubCmd:%s, - ViewType:%d + RecType:%d, + RecID:%d '''\ %( self.Cmd, self.SubCmd, - self.ViewType + self.RecType, + self.RecID ) return DumpString -m_NAtagViewUniversalGameRec=tagViewUniversalGameRec() -ChNetPackDict[eval("0x%02x%02x"%(m_NAtagViewUniversalGameRec.Cmd,m_NAtagViewUniversalGameRec.SubCmd))] = m_NAtagViewUniversalGameRec +m_NAtagCSViewGameRec=tagCSViewGameRec() +ChNetPackDict[eval("0x%02x%02x"%(m_NAtagCSViewGameRec.Cmd,m_NAtagCSViewGameRec.SubCmd))] = m_NAtagCSViewGameRec #------------------------------------------------------ @@ -1079,162 +1083,6 @@ #------------------------------------------------------ -# A2 10 清除副本CD#tagCMClearFBCD - -class tagCMClearFBCD(Structure): - _pack_ = 1 - _fields_ = [ - ("Cmd", c_ubyte), - ("SubCmd", c_ubyte), - ("MapID", c_int), - ] - - def __init__(self): - self.Clear() - self.Cmd = 0xA2 - 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 = 0xA2 - self.SubCmd = 0x10 - self.MapID = 0 - return - - def GetLength(self): - return sizeof(tagCMClearFBCD) - - def GetBuffer(self): - return string_at(addressof(self), self.GetLength()) - - def OutputString(self): - DumpString = '''// A2 10 清除副本CD//tagCMClearFBCD: - Cmd:%s, - SubCmd:%s, - MapID:%d - '''\ - %( - self.Cmd, - self.SubCmd, - self.MapID - ) - return DumpString - - -m_NAtagCMClearFBCD=tagCMClearFBCD() -ChNetPackDict[eval("0x%02x%02x"%(m_NAtagCMClearFBCD.Cmd,m_NAtagCMClearFBCD.SubCmd))] = m_NAtagCMClearFBCD - - -#------------------------------------------------------ -# A2 33 前端退出自定义场景 #tagCMClientExitCustomScene - -class tagCMClientExitCustomScene(Structure): - _pack_ = 1 - _fields_ = [ - ("Cmd", c_ubyte), - ("SubCmd", c_ubyte), - ] - - def __init__(self): - self.Clear() - self.Cmd = 0xA2 - self.SubCmd = 0x33 - 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 = 0xA2 - self.SubCmd = 0x33 - return - - def GetLength(self): - return sizeof(tagCMClientExitCustomScene) - - def GetBuffer(self): - return string_at(addressof(self), self.GetLength()) - - def OutputString(self): - DumpString = '''// A2 33 前端退出自定义场景 //tagCMClientExitCustomScene: - Cmd:%s, - SubCmd:%s - '''\ - %( - self.Cmd, - self.SubCmd - ) - return DumpString - - -m_NAtagCMClientExitCustomScene=tagCMClientExitCustomScene() -ChNetPackDict[eval("0x%02x%02x"%(m_NAtagCMClientExitCustomScene.Cmd,m_NAtagCMClientExitCustomScene.SubCmd))] = m_NAtagCMClientExitCustomScene - - -#------------------------------------------------------ -# A2 31 前端开始自定义场景 #tagCMClientStartCustomScene - -class tagCMClientStartCustomScene(Structure): - _pack_ = 1 - _fields_ = [ - ("Cmd", c_ubyte), - ("SubCmd", c_ubyte), - ("MapID", c_int), - ("FuncLineID", c_ushort), - ] - - def __init__(self): - self.Clear() - self.Cmd = 0xA2 - self.SubCmd = 0x31 - 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 = 0xA2 - self.SubCmd = 0x31 - self.MapID = 0 - self.FuncLineID = 0 - return - - def GetLength(self): - return sizeof(tagCMClientStartCustomScene) - - def GetBuffer(self): - return string_at(addressof(self), self.GetLength()) - - def OutputString(self): - DumpString = '''// A2 31 前端开始自定义场景 //tagCMClientStartCustomScene: - Cmd:%s, - SubCmd:%s, - MapID:%d, - FuncLineID:%d - '''\ - %( - self.Cmd, - self.SubCmd, - self.MapID, - self.FuncLineID - ) - return DumpString - - -m_NAtagCMClientStartCustomScene=tagCMClientStartCustomScene() -ChNetPackDict[eval("0x%02x%02x"%(m_NAtagCMClientStartCustomScene.Cmd,m_NAtagCMClientStartCustomScene.SubCmd))] = m_NAtagCMClientStartCustomScene - - -#------------------------------------------------------ # A2 24 触碰NPC #tagCMTouchNPC class tagCMTouchNPC(Structure): @@ -1284,58 +1132,6 @@ m_NAtagCMTouchNPC=tagCMTouchNPC() ChNetPackDict[eval("0x%02x%02x"%(m_NAtagCMTouchNPC.Cmd,m_NAtagCMTouchNPC.SubCmd))] = m_NAtagCMTouchNPC - - -#------------------------------------------------------ -# A2 34 自定义场景中获取采集奖励 #tagCMGetCustomSceneCollectAward - -class tagCMGetCustomSceneCollectAward(Structure): - _pack_ = 1 - _fields_ = [ - ("Cmd", c_ubyte), - ("SubCmd", c_ubyte), - ("NPCID", c_int), #采集的NPCID - ] - - def __init__(self): - self.Clear() - self.Cmd = 0xA2 - 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 = 0xA2 - self.SubCmd = 0x34 - self.NPCID = 0 - return - - def GetLength(self): - return sizeof(tagCMGetCustomSceneCollectAward) - - def GetBuffer(self): - return string_at(addressof(self), self.GetLength()) - - def OutputString(self): - DumpString = '''// A2 34 自定义场景中获取采集奖励 //tagCMGetCustomSceneCollectAward: - Cmd:%s, - SubCmd:%s, - NPCID:%d - '''\ - %( - self.Cmd, - self.SubCmd, - self.NPCID - ) - return DumpString - - -m_NAtagCMGetCustomSceneCollectAward=tagCMGetCustomSceneCollectAward() -ChNetPackDict[eval("0x%02x%02x"%(m_NAtagCMGetCustomSceneCollectAward.Cmd,m_NAtagCMGetCustomSceneCollectAward.SubCmd))] = m_NAtagCMGetCustomSceneCollectAward #------------------------------------------------------ @@ -3576,73 +3372,6 @@ #------------------------------------------------------ -# A3 12 守护拾取物品 #tagCMGuardPickupItem - -class tagCMGuardPickupItem(Structure): - Head = tagHead() - ItemCount = 0 #(WORD ItemCount) - MapItemID = list() #(vector<WORD> MapItemID)//size = ItemCount - data = None - - def __init__(self): - self.Clear() - self.Head.Cmd = 0xA3 - self.Head.SubCmd = 0x12 - return - - def ReadData(self, _lpData, _pos=0, _Len=0): - self.Clear() - _pos = self.Head.ReadData(_lpData, _pos) - self.ItemCount,_pos = CommFunc.ReadWORD(_lpData, _pos) - for i in range(self.ItemCount): - value,_pos=CommFunc.ReadWORD(_lpData,_pos) - self.MapItemID.append(value) - return _pos - - def Clear(self): - self.Head = tagHead() - self.Head.Clear() - self.Head.Cmd = 0xA3 - self.Head.SubCmd = 0x12 - self.ItemCount = 0 - self.MapItemID = list() - return - - def GetLength(self): - length = 0 - length += self.Head.GetLength() - length += 2 - length += 2 * self.ItemCount - - return length - - def GetBuffer(self): - data = '' - data = CommFunc.WriteString(data, self.Head.GetLength(), self.Head.GetBuffer()) - data = CommFunc.WriteWORD(data, self.ItemCount) - for i in range(self.ItemCount): - data = CommFunc.WriteWORD(data, self.MapItemID[i]) - return data - - def OutputString(self): - DumpString = ''' - Head:%s, - ItemCount:%d, - MapItemID:%s - '''\ - %( - self.Head.OutputString(), - self.ItemCount, - "..." - ) - return DumpString - - -m_NAtagCMGuardPickupItem=tagCMGuardPickupItem() -ChNetPackDict[eval("0x%02x%02x"%(m_NAtagCMGuardPickupItem.Head.Cmd,m_NAtagCMGuardPickupItem.Head.SubCmd))] = m_NAtagCMGuardPickupItem - - -#------------------------------------------------------ # A3 13 物品拆解 #tagCMItemDecompound class tagCMItemDecompound(Structure): @@ -5324,9 +5053,7 @@ ("MapID", c_int), ("LineID", c_ushort), ("Cnt", c_ubyte), # 扫荡次数 - ("IsFinish", c_ubyte), # 是否立即完成; 0-否;1-花钱立即完成;2-客户端自行倒计时间到后发送2代表领取扫荡完成奖励 ("DataEx", c_int), #附带信息 - ("IsLittleHelper", c_ubyte), # 是否小助手扫荡 ] def __init__(self): @@ -5346,9 +5073,7 @@ self.MapID = 0 self.LineID = 0 self.Cnt = 0 - self.IsFinish = 0 self.DataEx = 0 - self.IsLittleHelper = 0 return def GetLength(self): @@ -5364,9 +5089,7 @@ MapID:%d, LineID:%d, Cnt:%d, - IsFinish:%d, - DataEx:%d, - IsLittleHelper:%d + DataEx:%d '''\ %( self.Cmd, @@ -5374,9 +5097,7 @@ self.MapID, self.LineID, self.Cnt, - self.IsFinish, - self.DataEx, - self.IsLittleHelper + self.DataEx ) return DumpString @@ -5768,54 +5489,6 @@ m_NAtagCMBuyEnterCount=tagCMBuyEnterCount() ChNetPackDict[eval("0x%02x%02x"%(m_NAtagCMBuyEnterCount.Cmd,m_NAtagCMBuyEnterCount.SubCmd))] = m_NAtagCMBuyEnterCount - - -#------------------------------------------------------ -# A5 1B 购买挑战副本精力 #tagCMBuyFBEnergy - -class tagCMBuyFBEnergy(Structure): - _pack_ = 1 - _fields_ = [ - ("Cmd", c_ubyte), - ("SubCmd", c_ubyte), - ] - - def __init__(self): - self.Clear() - self.Cmd = 0xA5 - self.SubCmd = 0x1B - 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 = 0x1B - return - - def GetLength(self): - return sizeof(tagCMBuyFBEnergy) - - def GetBuffer(self): - return string_at(addressof(self), self.GetLength()) - - def OutputString(self): - DumpString = '''// A5 1B 购买挑战副本精力 //tagCMBuyFBEnergy: - Cmd:%s, - SubCmd:%s - '''\ - %( - self.Cmd, - self.SubCmd - ) - return DumpString - - -m_NAtagCMBuyFBEnergy=tagCMBuyFBEnergy() -ChNetPackDict[eval("0x%02x%02x"%(m_NAtagCMBuyFBEnergy.Cmd,m_NAtagCMBuyFBEnergy.SubCmd))] = m_NAtagCMBuyFBEnergy #------------------------------------------------------ @@ -8119,90 +7792,6 @@ #------------------------------------------------------ -# A5 53 资源找回 #tagCMRecoverGain - -class tagCMRecoverGain(Structure): - Head = tagHead() - Type = 0 #(BYTE Type)// 找回方式 0 仙玉 1铜钱 - Cnt = 0 #(BYTE Cnt) - IndexList = list() #(vector<BYTE> IndexList)// 找回索引列表 - RecoverCntList = list() #(vector<BYTE> RecoverCntList)// 索引对应找回次数列表 - data = None - - def __init__(self): - self.Clear() - self.Head.Cmd = 0xA5 - self.Head.SubCmd = 0x53 - return - - def ReadData(self, _lpData, _pos=0, _Len=0): - self.Clear() - _pos = self.Head.ReadData(_lpData, _pos) - self.Type,_pos = CommFunc.ReadBYTE(_lpData, _pos) - self.Cnt,_pos = CommFunc.ReadBYTE(_lpData, _pos) - for i in range(self.Cnt): - value,_pos=CommFunc.ReadBYTE(_lpData,_pos) - self.IndexList.append(value) - for i in range(self.Cnt): - value,_pos=CommFunc.ReadBYTE(_lpData,_pos) - self.RecoverCntList.append(value) - return _pos - - def Clear(self): - self.Head = tagHead() - self.Head.Clear() - self.Head.Cmd = 0xA5 - self.Head.SubCmd = 0x53 - self.Type = 0 - self.Cnt = 0 - self.IndexList = list() - self.RecoverCntList = list() - return - - def GetLength(self): - length = 0 - length += self.Head.GetLength() - length += 1 - length += 1 - length += 1 * self.Cnt - length += 1 * self.Cnt - - return length - - def GetBuffer(self): - data = '' - data = CommFunc.WriteString(data, self.Head.GetLength(), self.Head.GetBuffer()) - data = CommFunc.WriteBYTE(data, self.Type) - data = CommFunc.WriteBYTE(data, self.Cnt) - for i in range(self.Cnt): - data = CommFunc.WriteBYTE(data, self.IndexList[i]) - for i in range(self.Cnt): - data = CommFunc.WriteBYTE(data, self.RecoverCntList[i]) - return data - - def OutputString(self): - DumpString = ''' - Head:%s, - Type:%d, - Cnt:%d, - IndexList:%s, - RecoverCntList:%s - '''\ - %( - self.Head.OutputString(), - self.Type, - self.Cnt, - "...", - "..." - ) - return DumpString - - -m_NAtagCMRecoverGain=tagCMRecoverGain() -ChNetPackDict[eval("0x%02x%02x"%(m_NAtagCMRecoverGain.Head.Cmd,m_NAtagCMRecoverGain.Head.SubCmd))] = m_NAtagCMRecoverGain - - -#------------------------------------------------------ # A5 74 刷新悬赏任务 #tagCMRefreshArrestTask class tagCMRefreshArrestTask(Structure): @@ -8424,54 +8013,6 @@ m_NAtagCMRequestTreasure=tagCMRequestTreasure() ChNetPackDict[eval("0x%02x%02x"%(m_NAtagCMRequestTreasure.Cmd,m_NAtagCMRequestTreasure.SubCmd))] = m_NAtagCMRequestTreasure - - -#------------------------------------------------------ -#A5 60 重置副本挑战次数 #tagCMResetFBJoinCnt - -class tagCMResetFBJoinCnt(Structure): - _pack_ = 1 - _fields_ = [ - ("Cmd", c_ubyte), - ("SubCmd", c_ubyte), - ] - - def __init__(self): - self.Clear() - self.Cmd = 0xA5 - self.SubCmd = 0x60 - 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 = 0x60 - return - - def GetLength(self): - return sizeof(tagCMResetFBJoinCnt) - - def GetBuffer(self): - return string_at(addressof(self), self.GetLength()) - - def OutputString(self): - DumpString = '''//A5 60 重置副本挑战次数 //tagCMResetFBJoinCnt: - Cmd:%s, - SubCmd:%s - '''\ - %( - self.Cmd, - self.SubCmd - ) - return DumpString - - -m_NAtagCMResetFBJoinCnt=tagCMResetFBJoinCnt() -ChNetPackDict[eval("0x%02x%02x"%(m_NAtagCMResetFBJoinCnt.Cmd,m_NAtagCMResetFBJoinCnt.SubCmd))] = m_NAtagCMResetFBJoinCnt #------------------------------------------------------ @@ -8849,54 +8390,6 @@ m_NAtagCMTitleStarUp=tagCMTitleStarUp() ChNetPackDict[eval("0x%02x%02x"%(m_NAtagCMTitleStarUp.Cmd,m_NAtagCMTitleStarUp.SubCmd))] = m_NAtagCMTitleStarUp - - -#------------------------------------------------------ -# A5 11 试用首充武器 #tagCMTryFirstGoldItem - -class tagCMTryFirstGoldItem(Structure): - _pack_ = 1 - _fields_ = [ - ("Cmd", c_ubyte), - ("SubCmd", c_ubyte), - ] - - def __init__(self): - self.Clear() - self.Cmd = 0xA5 - 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 = 0xA5 - self.SubCmd = 0x11 - return - - def GetLength(self): - return sizeof(tagCMTryFirstGoldItem) - - def GetBuffer(self): - return string_at(addressof(self), self.GetLength()) - - def OutputString(self): - DumpString = '''// A5 11 试用首充武器 //tagCMTryFirstGoldItem: - Cmd:%s, - SubCmd:%s - '''\ - %( - self.Cmd, - self.SubCmd - ) - return DumpString - - -m_NAtagCMTryFirstGoldItem=tagCMTryFirstGoldItem() -ChNetPackDict[eval("0x%02x%02x"%(m_NAtagCMTryFirstGoldItem.Cmd,m_NAtagCMTryFirstGoldItem.SubCmd))] = m_NAtagCMTryFirstGoldItem #------------------------------------------------------ @@ -13587,174 +13080,6 @@ #------------------------------------------------------ -# B1 01 客户端副本发送结束 #tagCMClientEndFB - -class tagCMClientEndFB(Structure): - _pack_ = 1 - _fields_ = [ - ("Cmd", c_ubyte), - ("SubCmd", c_ubyte), - ("MapID", c_int), - ("LineID", c_ushort), - ("Data1", c_int), #副本数据 - ("Data2", c_int), #副本数据 - ] - - def __init__(self): - self.Clear() - self.Cmd = 0xB1 - 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 = 0xB1 - self.SubCmd = 0x01 - self.MapID = 0 - self.LineID = 0 - self.Data1 = 0 - self.Data2 = 0 - return - - def GetLength(self): - return sizeof(tagCMClientEndFB) - - def GetBuffer(self): - return string_at(addressof(self), self.GetLength()) - - def OutputString(self): - DumpString = '''// B1 01 客户端副本发送结束 //tagCMClientEndFB: - Cmd:%s, - SubCmd:%s, - MapID:%d, - LineID:%d, - Data1:%d, - Data2:%d - '''\ - %( - self.Cmd, - self.SubCmd, - self.MapID, - self.LineID, - self.Data1, - self.Data2 - ) - return DumpString - - -m_NAtagCMClientEndFB=tagCMClientEndFB() -ChNetPackDict[eval("0x%02x%02x"%(m_NAtagCMClientEndFB.Cmd,m_NAtagCMClientEndFB.SubCmd))] = m_NAtagCMClientEndFB - - -#------------------------------------------------------ -# B1 04 客户端发送开始副本 #tagCMClientStartFB - -class tagCMClientStartFB(Structure): - _pack_ = 1 - _fields_ = [ - ("Cmd", c_ubyte), - ("SubCmd", c_ubyte), - ] - - def __init__(self): - self.Clear() - self.Cmd = 0xB1 - 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 = 0xB1 - self.SubCmd = 0x04 - return - - def GetLength(self): - return sizeof(tagCMClientStartFB) - - def GetBuffer(self): - return string_at(addressof(self), self.GetLength()) - - def OutputString(self): - DumpString = '''// B1 04 客户端发送开始副本 //tagCMClientStartFB: - Cmd:%s, - SubCmd:%s - '''\ - %( - self.Cmd, - self.SubCmd - ) - return DumpString - - -m_NAtagCMClientStartFB=tagCMClientStartFB() -ChNetPackDict[eval("0x%02x%02x"%(m_NAtagCMClientStartFB.Cmd,m_NAtagCMClientStartFB.SubCmd))] = m_NAtagCMClientStartFB - - -#------------------------------------------------------ -# B1 0A 副本购买buff #tagCMFBBuyBuff - -class tagCMFBBuyBuff(Structure): - _pack_ = 1 - _fields_ = [ - ("Cmd", c_ubyte), - ("SubCmd", c_ubyte), - ("MapID", c_int), - ("MoneyCnt", c_ushort), - ] - - def __init__(self): - self.Clear() - self.Cmd = 0xB1 - self.SubCmd = 0x0A - 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 = 0xB1 - self.SubCmd = 0x0A - self.MapID = 0 - self.MoneyCnt = 0 - return - - def GetLength(self): - return sizeof(tagCMFBBuyBuff) - - def GetBuffer(self): - return string_at(addressof(self), self.GetLength()) - - def OutputString(self): - DumpString = '''// B1 0A 副本购买buff //tagCMFBBuyBuff: - Cmd:%s, - SubCmd:%s, - MapID:%d, - MoneyCnt:%d - '''\ - %( - self.Cmd, - self.SubCmd, - self.MapID, - self.MoneyCnt - ) - return DumpString - - -m_NAtagCMFBBuyBuff=tagCMFBBuyBuff() -ChNetPackDict[eval("0x%02x%02x"%(m_NAtagCMFBBuyBuff.Cmd,m_NAtagCMFBBuyBuff.SubCmd))] = m_NAtagCMFBBuyBuff - - -#------------------------------------------------------ # B1 08 快速一键过关副本 #tagCMFBQuickPass class tagCMFBQuickPass(Structure): @@ -13808,66 +13133,6 @@ m_NAtagCMFBQuickPass=tagCMFBQuickPass() ChNetPackDict[eval("0x%02x%02x"%(m_NAtagCMFBQuickPass.Cmd,m_NAtagCMFBQuickPass.SubCmd))] = m_NAtagCMFBQuickPass - - -#------------------------------------------------------ -# B1 02 领取多倍副本奖励 #tagCMGetMultiFBPrize - -class tagCMGetMultiFBPrize(Structure): - _pack_ = 1 - _fields_ = [ - ("Cmd", c_ubyte), - ("SubCmd", c_ubyte), - ("MapID", c_int), - ("LineID", c_ushort), - ("Percent", c_ushort), # 额外奖励百分比, 如50代表额外50%奖励 - ] - - def __init__(self): - self.Clear() - self.Cmd = 0xB1 - self.SubCmd = 0x02 - 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 = 0xB1 - self.SubCmd = 0x02 - self.MapID = 0 - self.LineID = 0 - self.Percent = 0 - return - - def GetLength(self): - return sizeof(tagCMGetMultiFBPrize) - - def GetBuffer(self): - return string_at(addressof(self), self.GetLength()) - - def OutputString(self): - DumpString = '''// B1 02 领取多倍副本奖励 //tagCMGetMultiFBPrize: - Cmd:%s, - SubCmd:%s, - MapID:%d, - LineID:%d, - Percent:%d - '''\ - %( - self.Cmd, - self.SubCmd, - self.MapID, - self.LineID, - self.Percent - ) - return DumpString - - -m_NAtagCMGetMultiFBPrize=tagCMGetMultiFBPrize() -ChNetPackDict[eval("0x%02x%02x"%(m_NAtagCMGetMultiFBPrize.Cmd,m_NAtagCMGetMultiFBPrize.SubCmd))] = m_NAtagCMGetMultiFBPrize #------------------------------------------------------ @@ -14015,70 +13280,14 @@ #------------------------------------------------------ -# B2 10 竞技场挑战玩家 #tagCMArenaBattle +# B2 09 演武场匹配玩家 #tagCSArenaMatch -class tagCMArenaBattle(Structure): +class tagCSArenaMatch(Structure): _pack_ = 1 _fields_ = [ ("Cmd", c_ubyte), ("SubCmd", c_ubyte), - ("TagPlayerID", c_int), # 目标玩家ID或机器人ID - ("Result", c_ubyte), # 0-进入自定义场景发送通知后端;1-胜利(后端处理,暂时不需要发送此状态);2-失败(前端被对手击杀需要发送此状态) - ] - - def __init__(self): - self.Clear() - self.Cmd = 0xB2 - 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 = 0xB2 - self.SubCmd = 0x10 - self.TagPlayerID = 0 - self.Result = 0 - return - - def GetLength(self): - return sizeof(tagCMArenaBattle) - - def GetBuffer(self): - return string_at(addressof(self), self.GetLength()) - - def OutputString(self): - DumpString = '''// B2 10 竞技场挑战玩家 //tagCMArenaBattle: - Cmd:%s, - SubCmd:%s, - TagPlayerID:%d, - Result:%d - '''\ - %( - self.Cmd, - self.SubCmd, - self.TagPlayerID, - self.Result - ) - return DumpString - - -m_NAtagCMArenaBattle=tagCMArenaBattle() -ChNetPackDict[eval("0x%02x%02x"%(m_NAtagCMArenaBattle.Cmd,m_NAtagCMArenaBattle.SubCmd))] = m_NAtagCMArenaBattle - - -#------------------------------------------------------ -# B2 09 竞技场匹配玩家 #tagCMArenaMatch - -class tagCMArenaMatch(Structure): - _pack_ = 1 - _fields_ = [ - ("Cmd", c_ubyte), - ("SubCmd", c_ubyte), - ("IsRefresh", c_ubyte), # 0-打开界面无匹配数据时时查询,1-强制刷新匹配列表 + ("IsRefresh", c_ubyte), # 0-打开界面无匹配数据时查询,1-强制刷新匹配列表 ] def __init__(self): @@ -14099,13 +13308,13 @@ return def GetLength(self): - return sizeof(tagCMArenaMatch) + return sizeof(tagCSArenaMatch) def GetBuffer(self): return string_at(addressof(self), self.GetLength()) def OutputString(self): - DumpString = '''// B2 09 竞技场匹配玩家 //tagCMArenaMatch: + DumpString = '''// B2 09 演武场匹配玩家 //tagCSArenaMatch: Cmd:%s, SubCmd:%s, IsRefresh:%d @@ -14118,8 +13327,8 @@ return DumpString -m_NAtagCMArenaMatch=tagCMArenaMatch() -ChNetPackDict[eval("0x%02x%02x"%(m_NAtagCMArenaMatch.Cmd,m_NAtagCMArenaMatch.SubCmd))] = m_NAtagCMArenaMatch +m_NAtagCSArenaMatch=tagCSArenaMatch() +ChNetPackDict[eval("0x%02x%02x"%(m_NAtagCSArenaMatch.Cmd,m_NAtagCSArenaMatch.SubCmd))] = m_NAtagCSArenaMatch #------------------------------------------------------ @@ -14722,7 +13931,6 @@ ("Cmd", c_ubyte), ("SubCmd", c_ubyte), ("HeroID", c_int), #武将ID - ("ItemIndex", c_ushort), #关联武将物品所在武将背包索引,激活时可不用发 ("BookType", c_ubyte), #图鉴激活类型: 0-初始激活;1-星级升级;2-突破等级升级 ] @@ -14741,7 +13949,6 @@ self.Cmd = 0xB2 self.SubCmd = 0x37 self.HeroID = 0 - self.ItemIndex = 0 self.BookType = 0 return @@ -14756,14 +13963,12 @@ Cmd:%s, SubCmd:%s, HeroID:%d, - ItemIndex:%d, BookType:%d '''\ %( self.Cmd, self.SubCmd, self.HeroID, - self.ItemIndex, self.BookType ) return DumpString @@ -16776,58 +15981,6 @@ #------------------------------------------------------ -# B4 0F 回收私有专属木桩怪 #tagCMRecyclePriWoodPile - -class tagCMRecyclePriWoodPile(Structure): - _pack_ = 1 - _fields_ = [ - ("Cmd", c_ubyte), - ("SubCmd", c_ubyte), - ("ObjID", c_int), - ] - - def __init__(self): - self.Clear() - self.Cmd = 0xB4 - self.SubCmd = 0x0F - 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 = 0xB4 - self.SubCmd = 0x0F - self.ObjID = 0 - return - - def GetLength(self): - return sizeof(tagCMRecyclePriWoodPile) - - def GetBuffer(self): - return string_at(addressof(self), self.GetLength()) - - def OutputString(self): - DumpString = '''// B4 0F 回收私有专属木桩怪 //tagCMRecyclePriWoodPile: - Cmd:%s, - SubCmd:%s, - ObjID:%d - '''\ - %( - self.Cmd, - self.SubCmd, - self.ObjID - ) - return DumpString - - -m_NAtagCMRecyclePriWoodPile=tagCMRecyclePriWoodPile() -ChNetPackDict[eval("0x%02x%02x"%(m_NAtagCMRecyclePriWoodPile.Cmd,m_NAtagCMRecyclePriWoodPile.SubCmd))] = m_NAtagCMRecyclePriWoodPile - - -#------------------------------------------------------ # B4 0E 玩家掉血 #tagCMRoleLostHP class tagCMRoleLostHP(Structure): @@ -16881,70 +16034,6 @@ m_NAtagCMRoleLostHP=tagCMRoleLostHP() ChNetPackDict[eval("0x%02x%02x"%(m_NAtagCMRoleLostHP.Cmd,m_NAtagCMRoleLostHP.SubCmd))] = m_NAtagCMRoleLostHP - - -#------------------------------------------------------ -# B4 0C 召唤私有专属木桩怪 #tagCMSummonPriWoodPile - -class tagCMSummonPriWoodPile(Structure): - _pack_ = 1 - _fields_ = [ - ("Cmd", c_ubyte), - ("SubCmd", c_ubyte), - ("NPCID", c_int), - ("Count", c_ubyte), #默认1个,最多5个 - ("HP", c_int), #默认0取最大值,其中一个血量数值大于0则用指定血量 - ("HPEx", c_int), #默认0取最大值,其中一个血量数值大于0则用指定血量 - ] - - def __init__(self): - self.Clear() - self.Cmd = 0xB4 - 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 = 0xB4 - self.SubCmd = 0x0C - self.NPCID = 0 - self.Count = 0 - self.HP = 0 - self.HPEx = 0 - return - - def GetLength(self): - return sizeof(tagCMSummonPriWoodPile) - - def GetBuffer(self): - return string_at(addressof(self), self.GetLength()) - - def OutputString(self): - DumpString = '''// B4 0C 召唤私有专属木桩怪 //tagCMSummonPriWoodPile: - Cmd:%s, - SubCmd:%s, - NPCID:%d, - Count:%d, - HP:%d, - HPEx:%d - '''\ - %( - self.Cmd, - self.SubCmd, - self.NPCID, - self.Count, - self.HP, - self.HPEx - ) - return DumpString - - -m_NAtagCMSummonPriWoodPile=tagCMSummonPriWoodPile() -ChNetPackDict[eval("0x%02x%02x"%(m_NAtagCMSummonPriWoodPile.Cmd,m_NAtagCMSummonPriWoodPile.SubCmd))] = m_NAtagCMSummonPriWoodPile #------------------------------------------------------ -- Gitblit v1.8.0