From 77dafa390d93545e8852c615c63e6b519ec034db Mon Sep 17 00:00:00 2001 From: hxp <ale99527@vip.qq.com> Date: 星期一, 13 十一月 2023 13:17:40 +0800 Subject: [PATCH] 9912 [BT0.1]BOSS凭证(天玄丹buff掉落支持) --- ServerPython/CoreServerGroup/GameServer/Script/ChPyNetPack.py | 580 +++++++++++++++++++++++++++++++++++++++++++++++++++------ 1 files changed, 518 insertions(+), 62 deletions(-) diff --git a/ServerPython/CoreServerGroup/GameServer/Script/ChPyNetPack.py b/ServerPython/CoreServerGroup/GameServer/Script/ChPyNetPack.py index 4a1280f..3014e24 100644 --- a/ServerPython/CoreServerGroup/GameServer/Script/ChPyNetPack.py +++ b/ServerPython/CoreServerGroup/GameServer/Script/ChPyNetPack.py @@ -706,58 +706,6 @@ #------------------------------------------------------ -# A4 05 开启家族boss副本 #tagCGOpenFamilyBossFB - -class tagCGOpenFamilyBossFB(Structure): - _pack_ = 1 - _fields_ = [ - ("Cmd", c_ubyte), - ("SubCmd", c_ubyte), - ("MapID", c_int), # 开启的副本地图ID - ] - - def __init__(self): - self.Clear() - self.Cmd = 0xA4 - 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 = 0xA4 - self.SubCmd = 0x05 - self.MapID = 0 - return - - def GetLength(self): - return sizeof(tagCGOpenFamilyBossFB) - - def GetBuffer(self): - return string_at(addressof(self), self.GetLength()) - - def OutputString(self): - DumpString = '''// A4 05 开启家族boss副本 //tagCGOpenFamilyBossFB: - Cmd:%s, - SubCmd:%s, - MapID:%d - '''\ - %( - self.Cmd, - self.SubCmd, - self.MapID - ) - return DumpString - - -m_NAtagCGOpenFamilyBossFB=tagCGOpenFamilyBossFB() -ChNetPackDict[eval("0x%02x%02x"%(m_NAtagCGOpenFamilyBossFB.Cmd,m_NAtagCGOpenFamilyBossFB.SubCmd))] = m_NAtagCGOpenFamilyBossFB - - -#------------------------------------------------------ # A4 04 创建家族 #tagCGPyCreatFamily class tagCGPyCreatFamily(Structure): @@ -4772,6 +4720,66 @@ m_NAtagCMChangeJob=tagCMChangeJob() ChNetPackDict[eval("0x%02x%02x"%(m_NAtagCMChangeJob.Cmd,m_NAtagCMChangeJob.SubCmd))] = m_NAtagCMChangeJob + + +#------------------------------------------------------ +# A1 20 货币兑换 #tagCMMoneyExchange + +class tagCMMoneyExchange(Structure): + _pack_ = 1 + _fields_ = [ + ("Cmd", c_ubyte), + ("SubCmd", c_ubyte), + ("SrcMoneyType", c_ubyte), # 源货币类型 + ("TagMoneyType", c_ubyte), # 目标货币类型 + ("ExchangeValue", c_int), # 兑换数量(消耗源货币的数量) + ] + + def __init__(self): + self.Clear() + self.Cmd = 0xA1 + self.SubCmd = 0x20 + 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 = 0x20 + self.SrcMoneyType = 0 + self.TagMoneyType = 0 + self.ExchangeValue = 0 + return + + def GetLength(self): + return sizeof(tagCMMoneyExchange) + + def GetBuffer(self): + return string_at(addressof(self), self.GetLength()) + + def OutputString(self): + DumpString = '''// A1 20 货币兑换 //tagCMMoneyExchange: + Cmd:%s, + SubCmd:%s, + SrcMoneyType:%d, + TagMoneyType:%d, + ExchangeValue:%d + '''\ + %( + self.Cmd, + self.SubCmd, + self.SrcMoneyType, + self.TagMoneyType, + self.ExchangeValue + ) + return DumpString + + +m_NAtagCMMoneyExchange=tagCMMoneyExchange() +ChNetPackDict[eval("0x%02x%02x"%(m_NAtagCMMoneyExchange.Cmd,m_NAtagCMMoneyExchange.SubCmd))] = m_NAtagCMMoneyExchange #------------------------------------------------------ @@ -11946,6 +11954,58 @@ #------------------------------------------------------ +# A5 35 坐骑升星 #tagCMHorseStarUp + +class tagCMHorseStarUp(Structure): + _pack_ = 1 + _fields_ = [ + ("Cmd", c_ubyte), + ("SubCmd", c_ubyte), + ("HorseID", c_int), #坐骑ID,对应坐骑表ID + ] + + def __init__(self): + self.Clear() + self.Cmd = 0xA5 + self.SubCmd = 0x35 + 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 = 0x35 + self.HorseID = 0 + return + + def GetLength(self): + return sizeof(tagCMHorseStarUp) + + def GetBuffer(self): + return string_at(addressof(self), self.GetLength()) + + def OutputString(self): + DumpString = '''// A5 35 坐骑升星 //tagCMHorseStarUp: + Cmd:%s, + SubCmd:%s, + HorseID:%d + '''\ + %( + self.Cmd, + self.SubCmd, + self.HorseID + ) + return DumpString + + +m_NAtagCMHorseStarUp=tagCMHorseStarUp() +ChNetPackDict[eval("0x%02x%02x"%(m_NAtagCMHorseStarUp.Cmd,m_NAtagCMHorseStarUp.SubCmd))] = m_NAtagCMHorseStarUp + + +#------------------------------------------------------ # A5 31 坐骑培养 #tagCMHorseTrain class tagCMHorseTrain(Structure): @@ -13417,6 +13477,58 @@ #------------------------------------------------------ +# A5 36 称号升星 #tagCMTitleStarUp + +class tagCMTitleStarUp(Structure): + _pack_ = 1 + _fields_ = [ + ("Cmd", c_ubyte), + ("SubCmd", c_ubyte), + ("TitleID", c_int), #称号ID + ] + + def __init__(self): + self.Clear() + self.Cmd = 0xA5 + self.SubCmd = 0x36 + 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 = 0x36 + self.TitleID = 0 + return + + def GetLength(self): + return sizeof(tagCMTitleStarUp) + + def GetBuffer(self): + return string_at(addressof(self), self.GetLength()) + + def OutputString(self): + DumpString = '''// A5 36 称号升星 //tagCMTitleStarUp: + Cmd:%s, + SubCmd:%s, + TitleID:%d + '''\ + %( + self.Cmd, + self.SubCmd, + self.TitleID + ) + return DumpString + + +m_NAtagCMTitleStarUp=tagCMTitleStarUp() +ChNetPackDict[eval("0x%02x%02x"%(m_NAtagCMTitleStarUp.Cmd,m_NAtagCMTitleStarUp.SubCmd))] = m_NAtagCMTitleStarUp + + +#------------------------------------------------------ # A5 11 试用首充武器 #tagCMTryFirstGoldItem class tagCMTryFirstGoldItem(Structure): @@ -13741,6 +13853,66 @@ #------------------------------------------------------ +# A6 15 传功操作 #tagCMChuangongOP + +class tagCMChuangongOP(Structure): + _pack_ = 1 + _fields_ = [ + ("Cmd", c_ubyte), + ("SubCmd", c_ubyte), + ("OPType", c_ubyte), # 操作类型:1-邀请;2-回应;3-领奖; + ("PlayerID", c_int), # 目标玩家ID;回应时为邀请方玩家ID + ("OPData", c_ubyte), # 操作数据,可选:回应时为是否同意 + ] + + def __init__(self): + self.Clear() + self.Cmd = 0xA6 + self.SubCmd = 0x15 + 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 = 0xA6 + self.SubCmd = 0x15 + self.OPType = 0 + self.PlayerID = 0 + self.OPData = 0 + return + + def GetLength(self): + return sizeof(tagCMChuangongOP) + + def GetBuffer(self): + return string_at(addressof(self), self.GetLength()) + + def OutputString(self): + DumpString = '''// A6 15 传功操作 //tagCMChuangongOP: + Cmd:%s, + SubCmd:%s, + OPType:%d, + PlayerID:%d, + OPData:%d + '''\ + %( + self.Cmd, + self.SubCmd, + self.OPType, + self.PlayerID, + self.OPData + ) + return DumpString + + +m_NAtagCMChuangongOP=tagCMChuangongOP() +ChNetPackDict[eval("0x%02x%02x"%(m_NAtagCMChuangongOP.Cmd,m_NAtagCMChuangongOP.SubCmd))] = m_NAtagCMChuangongOP + + +#------------------------------------------------------ # A6 11 家族改名 #tagCMRenameFamily class tagCMRenameFamily(Structure): @@ -13889,19 +14061,21 @@ #------------------------------------------------------ -# A6 05 家族捐献兽粮 #tagCMFamilyDonate +# A6 13 家族事务操作 #tagCMFamilyAffairOP -class tagCMFamilyDonate(Structure): +class tagCMFamilyAffairOP(Structure): _pack_ = 1 _fields_ = [ ("Cmd", c_ubyte), ("SubCmd", c_ubyte), + ("OPType", c_ubyte), # 操作类型:1-刷新事务;2-开始事务;3-领取事务奖励; + ("AffairID", c_ushort), # 事务ID,可选 ] def __init__(self): self.Clear() self.Cmd = 0xA6 - self.SubCmd = 0x05 + self.SubCmd = 0x13 return def ReadData(self, stringData, _pos=0, _len=0): @@ -13911,29 +14085,87 @@ def Clear(self): self.Cmd = 0xA6 - self.SubCmd = 0x05 + self.SubCmd = 0x13 + self.OPType = 0 + self.AffairID = 0 return def GetLength(self): - return sizeof(tagCMFamilyDonate) + return sizeof(tagCMFamilyAffairOP) def GetBuffer(self): return string_at(addressof(self), self.GetLength()) def OutputString(self): - DumpString = '''// A6 05 家族捐献兽粮 //tagCMFamilyDonate: + DumpString = '''// A6 13 家族事务操作 //tagCMFamilyAffairOP: Cmd:%s, - SubCmd:%s + SubCmd:%s, + OPType:%d, + AffairID:%d '''\ %( self.Cmd, - self.SubCmd + self.SubCmd, + self.OPType, + self.AffairID ) return DumpString -m_NAtagCMFamilyDonate=tagCMFamilyDonate() -ChNetPackDict[eval("0x%02x%02x"%(m_NAtagCMFamilyDonate.Cmd,m_NAtagCMFamilyDonate.SubCmd))] = m_NAtagCMFamilyDonate +m_NAtagCMFamilyAffairOP=tagCMFamilyAffairOP() +ChNetPackDict[eval("0x%02x%02x"%(m_NAtagCMFamilyAffairOP.Cmd,m_NAtagCMFamilyAffairOP.SubCmd))] = m_NAtagCMFamilyAffairOP + + +#------------------------------------------------------ +# A6 12 家族捐献货币 #tagCMFamilyMoneyDonate + +class tagCMFamilyMoneyDonate(Structure): + _pack_ = 1 + _fields_ = [ + ("Cmd", c_ubyte), + ("SubCmd", c_ubyte), + ("MoneyType", c_ubyte), # 捐献货币类型 + ] + + def __init__(self): + self.Clear() + self.Cmd = 0xA6 + self.SubCmd = 0x12 + 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 = 0xA6 + self.SubCmd = 0x12 + self.MoneyType = 0 + return + + def GetLength(self): + return sizeof(tagCMFamilyMoneyDonate) + + def GetBuffer(self): + return string_at(addressof(self), self.GetLength()) + + def OutputString(self): + DumpString = '''// A6 12 家族捐献货币 //tagCMFamilyMoneyDonate: + Cmd:%s, + SubCmd:%s, + MoneyType:%d + '''\ + %( + self.Cmd, + self.SubCmd, + self.MoneyType + ) + return DumpString + + +m_NAtagCMFamilyMoneyDonate=tagCMFamilyMoneyDonate() +ChNetPackDict[eval("0x%02x%02x"%(m_NAtagCMFamilyMoneyDonate.Cmd,m_NAtagCMFamilyMoneyDonate.SubCmd))] = m_NAtagCMFamilyMoneyDonate #------------------------------------------------------ @@ -14046,6 +14278,66 @@ m_NAtagCMFamilyStoreExchange=tagCMFamilyStoreExchange() ChNetPackDict[eval("0x%02x%02x"%(m_NAtagCMFamilyStoreExchange.Cmd,m_NAtagCMFamilyStoreExchange.SubCmd))] = m_NAtagCMFamilyStoreExchange + + +#------------------------------------------------------ +# A6 14 家族阵法升级 #tagCMFamilyZhenfaLVUP + +class tagCMFamilyZhenfaLVUP(Structure): + _pack_ = 1 + _fields_ = [ + ("Cmd", c_ubyte), + ("SubCmd", c_ubyte), + ("ZhenfaType", c_ubyte), # 阵法类型 + ("ItemID", c_int), # 消耗的物品ID + ("ItemCount", c_ushort), # 消耗个数,默认1 + ] + + def __init__(self): + self.Clear() + self.Cmd = 0xA6 + self.SubCmd = 0x14 + 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 = 0xA6 + self.SubCmd = 0x14 + self.ZhenfaType = 0 + self.ItemID = 0 + self.ItemCount = 0 + return + + def GetLength(self): + return sizeof(tagCMFamilyZhenfaLVUP) + + def GetBuffer(self): + return string_at(addressof(self), self.GetLength()) + + def OutputString(self): + DumpString = '''// A6 14 家族阵法升级 //tagCMFamilyZhenfaLVUP: + Cmd:%s, + SubCmd:%s, + ZhenfaType:%d, + ItemID:%d, + ItemCount:%d + '''\ + %( + self.Cmd, + self.SubCmd, + self.ZhenfaType, + self.ItemID, + self.ItemCount + ) + return DumpString + + +m_NAtagCMFamilyZhenfaLVUP=tagCMFamilyZhenfaLVUP() +ChNetPackDict[eval("0x%02x%02x"%(m_NAtagCMFamilyZhenfaLVUP.Cmd,m_NAtagCMFamilyZhenfaLVUP.SubCmd))] = m_NAtagCMFamilyZhenfaLVUP #------------------------------------------------------ @@ -14406,6 +14698,58 @@ #------------------------------------------------------ +# A7 06 宠物升星 #tagCMPetStarUp + +class tagCMPetStarUp(Structure): + _pack_ = 1 + _fields_ = [ + ("Cmd", c_ubyte), + ("SubCmd", c_ubyte), + ("PetItemIndex", c_ubyte), #宠物数据背包索引 + ] + + def __init__(self): + self.Clear() + self.Cmd = 0xA7 + 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 = 0xA7 + self.SubCmd = 0x06 + self.PetItemIndex = 0 + return + + def GetLength(self): + return sizeof(tagCMPetStarUp) + + def GetBuffer(self): + return string_at(addressof(self), self.GetLength()) + + def OutputString(self): + DumpString = '''// A7 06 宠物升星 //tagCMPetStarUp: + Cmd:%s, + SubCmd:%s, + PetItemIndex:%d + '''\ + %( + self.Cmd, + self.SubCmd, + self.PetItemIndex + ) + return DumpString + + +m_NAtagCMPetStarUp=tagCMPetStarUp() +ChNetPackDict[eval("0x%02x%02x"%(m_NAtagCMPetStarUp.Cmd,m_NAtagCMPetStarUp.SubCmd))] = m_NAtagCMPetStarUp + + +#------------------------------------------------------ # A7 05 宠物培养 #tagCMPetTrain class tagCMPetTrain(Structure): @@ -14718,6 +15062,118 @@ #------------------------------------------------------ +# AA 24 Boss历练领奖 #tagCMActBossTrialGetAward + +class tagCMActBossTrialGetAward(Structure): + _pack_ = 1 + _fields_ = [ + ("Cmd", c_ubyte), + ("SubCmd", c_ubyte), + ("ActNum", c_ubyte), #活动编号 + ("SubmitCount", c_ushort), #领取凭证个数对应奖励 + ] + + def __init__(self): + self.Clear() + self.Cmd = 0xAA + self.SubCmd = 0x24 + 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 = 0x24 + self.ActNum = 0 + self.SubmitCount = 0 + return + + def GetLength(self): + return sizeof(tagCMActBossTrialGetAward) + + def GetBuffer(self): + return string_at(addressof(self), self.GetLength()) + + def OutputString(self): + DumpString = '''// AA 24 Boss历练领奖 //tagCMActBossTrialGetAward: + Cmd:%s, + SubCmd:%s, + ActNum:%d, + SubmitCount:%d + '''\ + %( + self.Cmd, + self.SubCmd, + self.ActNum, + self.SubmitCount + ) + return DumpString + + +m_NAtagCMActBossTrialGetAward=tagCMActBossTrialGetAward() +ChNetPackDict[eval("0x%02x%02x"%(m_NAtagCMActBossTrialGetAward.Cmd,m_NAtagCMActBossTrialGetAward.SubCmd))] = m_NAtagCMActBossTrialGetAward + + +#------------------------------------------------------ +# AA 23 Boss历练提交凭证 #tagCMActBossTrialSubmit + +class tagCMActBossTrialSubmit(Structure): + _pack_ = 1 + _fields_ = [ + ("Cmd", c_ubyte), + ("SubCmd", c_ubyte), + ("ActNum", c_ubyte), #活动编号 + ("SubmitCount", c_ushort), #提交凭证个数 + ] + + def __init__(self): + self.Clear() + self.Cmd = 0xAA + 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 = 0xAA + self.SubCmd = 0x23 + self.ActNum = 0 + self.SubmitCount = 0 + return + + def GetLength(self): + return sizeof(tagCMActBossTrialSubmit) + + def GetBuffer(self): + return string_at(addressof(self), self.GetLength()) + + def OutputString(self): + DumpString = '''// AA 23 Boss历练提交凭证 //tagCMActBossTrialSubmit: + Cmd:%s, + SubCmd:%s, + ActNum:%d, + SubmitCount:%d + '''\ + %( + self.Cmd, + self.SubCmd, + self.ActNum, + self.SubmitCount + ) + return DumpString + + +m_NAtagCMActBossTrialSubmit=tagCMActBossTrialSubmit() +ChNetPackDict[eval("0x%02x%02x"%(m_NAtagCMActBossTrialSubmit.Cmd,m_NAtagCMActBossTrialSubmit.SubCmd))] = m_NAtagCMActBossTrialSubmit + + +#------------------------------------------------------ # AA 09 集字活动兑换 #tagCMActCollectWordsExchange class tagCMActCollectWordsExchange(Structure): -- Gitblit v1.8.0